There is currently a lot of hype around Blockchain – it’s got the banks afire with over 40 of them joining hands at R3CEV collectively spending millions to figure out a way to tap into Blockchain technology without Bitcoin. And they are not alone… health, music, TV, insurance, capital markets and many others are honing in on Blockchain and trying to take a very complex technology and figure out how they can reap the benefits and reduce the chance of being crushed by the next Blockchain version of Uber or Airbnb. Or better yet, being part of building the first Blockchain unicorn.
There are major bridges to cross for everyone looking at the Blockchain arena – it’s a highly complicated technology. Perhaps one of the most challenging issues is simply translating the problem that needs to be solved into a Blockchain solution. In the case of smart contracts, this means translating legal contract languages (legalese) from the lawyers into computer code.
For those not familiar with smart contracts they are contracts written as computer code which can be stored on the Blockchain – rather than in legal language on a printed document. This code can define strict rules and consequences in the same way that a traditional legal document would, stating the obligations, benefits and penalties which may be due to either party in various different circumstances. But unlike a traditional contract it can also take information as an input, process that information through the rules set out in the contract, and take any actions required of it as a result.
The main purpose of designing smart contracts is to enable people to trade and do business with those they don’t know, usually over the internet, without the need for a large centralized authority site to act as a middleman. And in a smart contract, many kinds of contractual clauses can be built to be partially or fully self-executing, self-enforcing, or both. Smart contracts aim to provide security superior to traditional contract law and to reduce other transaction costs associated with contracting.
“The biggest problem is that smart contracts are written in code and not in legal languages,” said Berco Beute, co-founder of Media2B in Groningen, Netherlands.
“This is an instance of the general problem that software systems are designed and implemented by programmers. Meaning there will always be a gap of interpretation between the one that has the problem and the one that has to build the system to solve it. This is a deep and fundamental issue in our current IT driven world, and since we increasingly depend on these systems (with our lives) the stakes are getting higher.”
“Blockchains are only, potentially, part of the puzzle. But even with Blockchains you have to ask yourself whether the current implementation is up to the responsibility some dream it will have in the near future. We think that crucial aspects are missing,” he added.
Beute has a Ph.D. in distributed systems and an M.Sc. in Artificial Intelligence and M.Sc. in Communication Science and working on solving this particular issue.
“And that’s one of the problems we aim to solve that is crucial if you want to build better systems, you want to move the job of designing and implementing systems one level up, into the realm of the ones that have the problem that needs to be solved.”
Company founders Berco Beute and Henk Doornbos hail from Groningen, one of the three most innovative cities in Europe in 2014 according to the European Commission. With a population of 200,000, it is by far the largest city in the north of the Netherlands and inhabited on average by about 50,000 students which makes up 25 per cent of the population. The university of Groningen is the Netherlands’ second oldest university, founded in 1614 (two decades before Harvard University) and in the top 75 universities in the world.
“The happiness score in Groningen is one of the highest in the world, and for good reason, which means it’s a perfect place to freely and happily work on the future. Groningen attracts the brightest and most ambitious minds with her unique combination of youth, world class science & culture and hands-on mentality” said Beute.
From their offices in Groningen, in a recent interview with Blockchain News, the two explained their new compiler called ACE – the beginnings of what they see as a larger solution.
“We have developed a domain specific system that compiles English legal language to protocols, data models and a framework to build smart contracts that developers can compile into working systems,” said Beute.
Doornbos added that Smart Contracts are not something programmers should need to write, but rather implement.
Essentially they have built a compiler that can take Legal English and compiles/translates it into a data structure and an application skeleton that developers build upon. Software engineers can also test with the ACE tool.
“We basically generate a skeleton that can be used on Ethereum,” said Doornbos. “And it has the capability to not only do Smart Contracts but also Mixed Contracts.“
Mixed contracts have elements that exist both within the Blockchain and in the Real World which are part smart and part traditional and enable a smooth transition from the old style contract world towards a smart contract future.
They also have built in exception handling which is something that Ethereum has not really addressed according to the duo. They say this principle is at the moment is only present in a very rudimentary way in Ethereum. You can think of the court system as exception handling for real-world contracts and without it, smart contracts will not be able to deal with highly complex contractual language.
“Every contract should always have exception handlers. That’s how they work. And that’s what people depend on.
Even for the smallest contract people realise that if something goes wrong there will always be an exception handler… someone or something to fall back on. Smart contracts must have these as well.
ACE took only a few months to put together according to Doornbos, but that was due to:
“… compiler tech being very good at the moment and rather than build from scratch is was more a tech consolidation play then a totally fresh build.”
“This would have taken years in the old days,” said Doornbos.
And when he talks about the old days, he means it. Doornbos did his Ph.D. in computer science under one of the creators of compiling systems – legendary Dutch computer scientist, Edsger Dijkstra. Both Beute and Doornbos are well over 40 and have been working in advanced computer science theory for over 20 years. These guys are not millennials cracking away with four years of university recently behind them – they are Generation X’ers who are pre-Internet computer scientists with Ph.D.s who have been thinking about these opportunities and technical hurdles for a very long time. Decades.
Doornbos explains at length how he see it:
“In the field of computer programming we have too many programmers who are operating at a low abstraction level, they are too close to the machine and too far away from problem areas outside the core of computing.”
“The real problem we need to face as computer scientists is the fact we still lack good conceptual and semantic programming languages for ‘business’ issues.”
“And this is what surely needs to be, and more importantly, can be done… because computer scientists have already explored this enigma in the problem area of translator building such as Lex (developed by Google CEO Eric Schmidt in 1975) and yacc which are great and early examples of semantic languages.
With these you can describe the problem in terms of the domain problem (with grammars and abstract machine descriptions) and the final product (the compiler) is generated to a larger extent. Grammars and abstract machine descriptions are part of the problem domain here. The problem domain is technical and not business like.”
“So we know the next evolutionary step can be achieved… it’s possible to design good conceptual and semantic programming languages for more abstract problem domains than those of the programmers themselves.”
“If so many of the great thinkers and builders of the field would not have left, this battle could have been achieved 20 years ago… if we would have continued from where we started so well in the 80’s. Who knows what future fourth-generation languages we could have crafted… and even fifth-generation languages were in the pipeline.“
Fifth-generation languages as they see it (there is no rigorous definition of the term) are purely declarative. These languages can express what needs to be done and there is no need to express how it must be done. But these languages are not designed to be readable by domain experts. They usually are still rather computer ‘science-ish’ and mathematical in nature and therefore only be readable by programmers.
“You would have been able to say what needed to be done not how it had to be done. But then came the Internet and we are seemingly moving backwards – to everything being written in third generation languages again.”
“At Contracts11 we are working to improve this now and we are working on sixth-generation programming languages (6GL). What does this look like? Imagine computing where you only have to say what needs to be done, in the language of the problem area, not in the language of code.”
Though there is also no standard view about sixth-generation programming languages Doornbos’ view is they are declarative like the previous generation but they are designed additionally to be understandable by domain experts. Their meaning (semantics) is clear for people who know the problem to be solved but are not programmers. They are related to, but not quite the same as, domain specific languages (DSL). DSL’s are not understandable by non-programmers and are often not even of the fifth-generation because they are not necessarily declarative.
“At Contracts11 we call such (sixth-generation) languages ‘semantic languages’ and also introduced semantic programming (which is the same as semantic analysis and design because of the declarative nature of these languages).
And semantic languages can indeed be like (structured) natural language. However, sometimes more graphical languages can be useful too.”
They have designed and implemented various such languages and proof of concept compilers for them:
- OLE a language that can be used to express data models in a natural language.
- A partially graphical language to express business processes.
- A language to express smart contracts which is again natural and designed to be understandable by lawyers.
Of these OLE is the most mature and they currently are using it successfully in production.
The contract language is in Alpha stage but there is already a compiler (ACE) that can translate it to skeleton Ethereum contracts. And at the moment, a programmer still has to fill in the details – but during that process bugs can not be introduced as the compiler also generates test code. The test code can be used to check that the working Ethereum contract implementation conforms to the intended contract.
Beute was CTO and a co-owner at Paylogic while Doombos was Head of Tech and Senior Software Architect. Doombos picked us his Ph.D. in Computer Science at the renowned Eindhoven University of Technology.
Kunnis Manifesto and Building a Better Web
The work they are doing on Blockchain, smart contracts and improvements to the field of software engineering are aimed at one thing:
“Everything we do fits our ultimate dream of building a better web”, Beute said.
Nigel Tufnel: What we do is, if we need that extra push over the cliff, you know what we do?
Marty DiBergi: Put [the volume] up to eleven.
Nigel Tufnel: Eleven. Exactly. One louder.
The new company’s ethos comes down to a portmanteau heading followed by a short, simple manifesto.
The word ‘Kunnis’ is a combination of the Dutch words ‘kunnen’ (ability/functionality) and ‘kennis’ (knowledge/data) and stands for more than the sum of its constituents.
And for their Dutch startup Media2B this word Kunnis is defined by the following:
“We are unlocking digital resources by enabling their providers to easily and safely transact, while avoiding power centralization and we do this by developing software for resources to connect, negotiate, commit, and exchange value.”
Beute goes on to explain Kunnis more in detail:
“Our goal is to unlock the Kunnis of this world, but the current tools, methods and attitude towards building networked software systems are insufficient. Still, there is an increasing demand for such systems – the IoT trend being a prime example.
Problems are already increasing since the industry is already unlocking the kunnis with insufficient tools. And these are real problems. Sensitive data stolen, every connected device hacked (from baby phones to nuclear power plants), etc. Continuing on this road will certainly lead to disaster.
The difficulty is… that getting out of this dead-end requires a holistic approach towards building connected software. An approach that includes innovation in different areas and at many abstraction levels.
Media2B is the centre of a hub of companies Beute and Doornbos have set up to work on building a new web they call Web11, an open source community effort to build a decentralised internet. Building smart contracts is the starting point for Media2B in the journey to improve their software engineering methodologies and tools to make the next step.
Past technologies led to an internet that depends on an ever shrinking number of centralised, power-hungry authorities. This had a number of seriously negative consequences with regards to security, privacy, transparency, dependency, scalability and maintainability.
It takes a decentralized network to tap into the collective value of the smallest connections and unleash its emergent power on large scales.
Recent technological developments make this possible. Benefits that used to require central authorities are now achievable in peer to peer networks without relying on third parties.
Decentralised trust, accountability, identification, allow for transactions that cannot be accommodated centrally because of privacy concerns, latency issues, large-volume but low-value or complex one-of-a-kind transactions, etc.
The result is a (re)decentralized internet consisting of autonomous entities that can securely transact in a peer to peer fashion. That is what we call Web11.
Contracts11 enables businesses to formulate their processes/data needs in a language that business people understand and their methods and tools and they have developed tools that start with a process and data model that can be understood by non-technical domain experts. Process-oriented development is their main focus and they create smart contracts that can take preventive measures to deal with potential violations of its own contract..
B11 builds better, autonomous supply and demand systems using advanced online marketing technologies. which starts where most digital marketing companies stop due to their non-technical nature.
XIThing helps companies lower costs and explore new opportunities through the application of Internet of Things technologies. Through our extensive experience and network of partners we are able to create any product and guide it from prototype to production street. We differentiate ourselves through our unique knowledge of intelligent data processing and security, and the application of the latest in (wireless) technologies, such as LoRa and the blockchain.
In terms of Blockchain, Contracts11 is currently working with a major Dutch insurance company on smart contracts and have a few projects in the pipeline. If interested please contact Berco Beute or Henk Doornbos here by email.