Zencode: How to Write Smart Contracts Using Natural Language
IRL participation only. No streaming. Free admission. Registration required.
The number of participants is limited. Participants will be selected on the basis of a motivational statement.
Minimum knowledge required: basic programming concepts.
Zencode is a project inspired by the discourse on data commons and technological sovereignty. The established goal is that of improving people’s awareness of how their data is processed by algorithms, as well as facilitating the work of developers to create applications that follow privacy by design principles.
The main use case taken in consideration is that of distributed computing, capable of processing untrusted code and executing advanced cryptographic functions. For instance, it can be used with (but not limited to) any distributed ledger (blockchain) implemented as an interpreter of smart contracts.
The Zencode language makes it easy and less error prone to write portable scripts implementing end-to-end encryption with operations executed inside an isolated environment (the Zenroom VM) that can be easily ported to any platform, embedded in any language and made interoperable with any blockchain.
The implementation of Zencode is heavily inspired by modern research in language-theoretical security and uses Lua as a direct syntax parser to build a non-Turing complete domain-specific language enforcing coarse-grained computations and data recognition before processing.
Its interpreter, the Zenroom VM, supports secure isolation, protects its hosts from errors, and has no access to the calling process, the network, the underlying operating system or the filesystem.
Zenroom VM is a process virtual machine: a restricted execution environment designed to safely process any – even malicious – Zencode instructions. Upon any failure during the phases of interpretation of code, validation of data or execution of operations, Zenroom doesn’t report any meaningful error messages that would help programmers assess what problem had occurred.
Zencode language scenarios follow a declarative approach and provide functional tools for efficiently manipulating even complex data structures.
Topics: data commons, technological sovereignty, algorithms, data processing awareness, privacy by design.
Organised by Ljudmila.
IRL participation only. No streaming. Free admission. Registration required.
The number of participants is limited. Participants will be selected on the basis of a motivational statement.
Minimum knowledge required: basic programming concepts.
