Watch / An EVM-based formal Rules Language

An EVM-based formal Rules Language

  • YouTube
  • IPFS
  • Swarm
  • Details

An EVM-based formal Rules Language

Duration: 00:40:08

Speaker: Timothy McCallum, Hung Ying Tai, Michael Yuan

Type: Breakout

Expertise: Intermediate

Event: Devcon 5

Date: Oct 2019

Smart contracts are immutable programs on the blockchain. They are automatically executed based on pre-defined rules. However, complex and inferencing rules could be extremely difficult to program, test, and validate, using standard programming languages like Solidity. The long sequences of highly nested and intersecting IF / THEN statements are fragile and error-prone. The problem is compounded by the need to frequently change rules based on business requirements. Enterprise software developers have long relied on Business Rules Engines (BREs) to solve this problem. BREs allow business analysts to write transactional (state changing) programs in a specialized programming language called formal rules language, which can be generated by graphical user interfaces. BREs automatically evaluate, re-evaluate, and execute those rules. They have been proven successful in traditional financial services. The Open Source Lity project developed extensions to Solidity so that the EVM could support BRE for smart contracts. In this presentation, I will discuss the benefits and use cases of rules language and engine for smart contracts especially in the context of financial services and e-commerce applications. I will further describe how the rules language extension for Solidity, modeled after Drools,  is designed and implemented, including compiler and runtime support.
  • Related