Categories
Musings

What is IELE and why does it matter?

We are entering the next phase of money when it becomes programmable. This in a nutshell is the promise of Smart Contracts, and has the potential to be a major revolution similar in impact to the invention of the printing press.

But there are challenges to making Smart contracts reliable and secure so that you can be absolutely confident that the contract will execute in the way expected. Years of work in the security space have shown that programming and building secure systems is hard (we have long experience of this).

You may have caught an update from Professor Grigore Rosu, President and CEO of start-up Runtime Verification (RV) in the recent Cardano 360 which explored the work IOHK are doing with RV to solve this problem. The goal is to deliver a more secure and verifiable approach to writing and executing Smart contracts than current blockchains like Ethereum which have dominated in this space to date.

RV specialise in translating from any language to intermediate virtual machines (IELE in this case) to allow the language to be formally verified (K framework) and executed on any target system. In this case the target will be Plutus, the smart contracts environment on Cardano which is written in Haskell.

From the recent IOHK blogpost by Alex Hamilton:

IELE (named after a faerie-like creature of Romanian myth) is a virtual machine that executes smart contracts, and also provides a human-readable language for blockchain developers. IELE was designed with formal methods in mind to address security and correctness concerns inherent in writing Solidity smart contracts targeting Ethereum, easing the path to heightened levels of security, scalability, and programmability.

https://iohk.io/en/blog/posts/2021/05/10/runtime-verification-iele-from-interoperability-to-universality/

The benefits are considerable.

  • Contracts can ultimately be written in any language, allowing developers to access smart contracts who may not have experience in a specific language like ethereum’s solidity language.
  • Existing contracts can be ported to Cardano where they can run with faster execution and lower fees.
  • Lastly formal verification gives a high level of assurance contracts will execute as expected.

Complex but worth a read. This capability is going to be one of the major differentiators for Cardano in the coming years.