This is a summary of the content presented by IOHK’s project manager, Gerard Moroney in: https://www.youtube.com/watch?v=EUw7VSFwf7M

Project Goguen Update August 2018

1. Project overview

Goal: deliver smart-contract capabilities for Cardano Computational Layer.

Architecture: sidechains, chimeric ledgers, multi-currency.

Virtual machines: Plutus and Marlow (UTxO), KEVM and IELE (Accounts).

User experience: independent developers are able to produce software on top of Cardano.

Output: new computational layer, tools, training and documentation.

2. Project activity last month

Sidechains, chimeric ledgers and multi-currency: finalizing research, formal methods, the start of modeling and prototyping based on the research. Which basically means the second most important part of the R&D cycle after research — specification. Engineers along with scientists are creating formal documents about how the research should be transitioned into actual code.

Plutus: core library is finished, which is the central execution module for the language (read/write, typecheck, and execute code). Now in testing. Plutus is actually a multi-layered project itself, consisting of concise small core language (which also can be used as a compilation target for other languages) and higher-level richer language which should be easier and nicer for people to use. So the work on the core part seems to be coming to finish.

Marlowe: formalization in Coq (formal proofs) is almost finished. This will provide a path to proving properties of smart-contracts written in Marlowe. Because of the specifics of main use-cases for Marlowe (financial smart-contracts) — there are great requirements for its safety properties. Because the language is very simplistic, having formal proofs and methods for the language model itself will allow to build tools that can reason about contracts written in it.

KEVM / IELE: new LLVM backend is created which will provide significant performance improvements over current existing implementations. Some very initial work is done on Plutus-to-IELE compiler, so Plutus contracts can also be executed on IELE VM. Some work is done on semantics-based compilation, which could allow to translate code between different languages if they have formalized semantics (like JS or Python to IELE compilers).

End-users and external development: product manager Marc is now engaging with the developer community on Telegram, gathering feedback and proposals.

Integration: technical workshop in Edinburgh (UK) on August 27–31 2018. Scientists and engineers got together along with the management to discuss the Goguen project, and how exactly to turn all the research into a complete code and integrate it into the main project, in a timely manner.

Technical documentation and education: planning education and content development for Plutus and Marlowe. Reference implementations, examples, courses, etc. Having proper educational materials is crucial for growing the developers’ community.

Quality assurance: test suite enhancements including automation and performance. Especially making sure to test performance almost on every build.

Marketing and external communications: questions from users about IELE gas model.

3. Project activity this month

Architecture and integration: as the result of the Edinburgh meetup, multiple possible strategies for actual implementation and integration of the Cardano-CL were developed. Currently, the work on selecting the best approach is in progress. More details on this topic will be provided in the next update at the beginning of the October. Because of the complex nature of the planned two-layered system of blockchains — the process of setting all of it in motion is extremely non-trivial, given the fact that Cardano-SL is live and operational. Gentle introduction of the computational layer into the system is like building a giant freight ship right over a small boat that’s already in the open sea and have some people on it — requires some thought.

Advancing Marlowe and Plutus development: for Marlowe — main work is now put into the integration plan, e.g., how exactly the language will be built into Cardano-SL/CL. For Plutus — main work was put into the library testing and higher-level language compiler infrastructure.

Research: still continues on multiple topics including sidechains.

4. Important dates

May 28, 2018 — KEVM testnet is released

July 14, 2018 — Marlowe paper is accepted for ISOLA conference

July 30, 2018 — IELE testnet is released

September 13–14, 2018 — Ubpit 2018, South Korea (where Gerard will be presenting a talk “Smart Contracts on the Blockchain & Cardano”)

Author: Ruslan Dudin / Vantuz Subhuman