We envision æternity’s public blockchain platform becoming the home of a vibrant ecosystem of decentralized applications, running on various devices, including mobile. In order to achieve this goal, three types of smart contracts will be supported:
Want to learn more or have a question? Join the community by posting it here or use one of our communication channels:
- We will be introducing a brand new, safer contract language called Sophia. Sophia is a typed functional programming language, a dialect of ML and similar to Reason. It is compiled to æternity’s high level virtual machine called FTWVM (Functional Typed Warded Virtual Machine). Sophia’s primary use will be in system level programming, or in other words – more complex applications.
- High-level smart contract language called Varna which is similar to Bitcoin’s Script language, but with no loops and a fixed gas price. It uses its own virtual machine – the HLM (High Level Machine) and its code is directly evaluated by the node software. Varna is designed to cover fast, day-to-day contracts.
- Solidity smart contracts that rely on an improved version of the EVM (Ethereum Virtual Machine). The goal here is to allow porting of Ethereum contracts to æternity, securely with ease.
- Contract execution should be safe. This means that users should be able to specify and automatically prove the properties of the contract. This is achieved by the Sophia language and the FTWVM and will allow an enterprise-grade smart-contract security in a public blockchain.
- Contract execution should be efficient and fit to scale. To facilitate efficient contract execution, æternity provides a high level language for the fast execution of simple contracts and an efficient virtual machine for (near) Turing complete contracts. The capabilities of this simple language are greatly improved by the availability of first class objects such as state channels, tokens and oracles and a new type of consensus algorithm – Bitcoin-NG.
- Contract execution should be cheap/inexpensive. The price of contract execution will be determined by miners and users. However, by providing state channels, efficient ways to execute contracts, and a simple flat-rate, high-level contract language prices should be kept low.
- There should be a simple way to migrate from Ethereum smart contracts to æternity’s smart contracts. By providing a version of the EVM it is easy to migrate EVM contracts to æternity.