Intro to æternity's Smart Contracts

in #blockchain6 years ago (edited)


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:

  1. 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.
  2. 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.
  3. 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.
æternity’s smart contracts are first class objects. This means that they are integrated in the core blockchain protocol. Unlike any other blockchain oracles, names, tokens, governance mechanism and state channels are also first class objects. As such, they can interact with each other much more efficiently, securely and cheaply, significantly improving the scalability capabilities of the system and allowing for lightning fast performance in a public blockchain. Moreover, having all the important features defined as first class objects makes writing code for æternity easier.

Here are the primary smart contract goals:

  1. Contract execution should be safe.
  2. 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.

  3. Contract execution should be efficient and fit to scale.
  4. 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.

  5. Contract execution should be cheap/inexpensive.
  6. 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.

  7. There should be a simple way to migrate from Ethereum smart contracts to æternity’s smart contracts.
  8. By providing a version of the EVM it is easy to migrate EVM contracts to æternity.

There is no limit to the volume of smart contracts that can be processed per second, since they do not share status. Contracts can actually be processed in parallel. We believe that this approach to decentralized contracts will contribute to the creation of an ecosystem of applications that cannot overload æternity’s blockchain system, mitigating the risk of errors, delays and increased cost of use if millions or even billions try to use it.

The mainnet launch is scheduled for Q2, 2018.

Want to learn more or have a question? Join the community by posting it here or use one of our communication channels:

Forum | Telegram | Reddit | Bitcointalk | GitHub



Sounds really interestings. What about your numbers when we talk about txs per second, contracts per second, that your net is going to be able to handle? Comparing with Bitshares or Etherium.

Transactions will happen off chain in state channels so the transaction will be instant, also no limit on how many transactions per second.

What are the estimated limits for on chain transactions per second?

Hello, right now the speed on the æternity blockchain is around 100-120 tps. Off-chain using the state channels, the number of transactions per second is limitless :)
Best regards,
The AE Team

Congratulations @aetrnty! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

You got your First payout

Click on any badge to view your own Board of Honor on SteemitBoard.

To support your work, I also upvoted your post!
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

Upvote this notification to help all Steemit users. Learn why here!

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 66620.20
ETH 3494.63
USDT 1.00
SBD 2.72