æternity

æternity
Developer(s) æternity team
Written in Erlang,Elixir, JavaScript, HTML, Vue.js (JavaScript library)
Operating system Linux, Ubuntu
Platform x86, ARM
Type Decentralized computing
License Multiple open-source licenses
Website www.aeternity.com

æternity is a public, open-source, blockchain-based distributed computing and digital-asset platform that builds upon decentralized cryptographic P2P technology. Real-world data can interface with smart contracts through "oracles". Scalability and trustless Turing-complete state channels set æternity apart from Blockchain 2.0 projects.[1]

æternity provides a virtual machine which can execute scripts implementing a so-called "smart contracts" using an decentralized global network of public nodes maintaining the blockchain. State channels enable smart contracts to remain private and scalable as long as there is no disagreement between the counterparties. Inherently integrated in æternity is a value token called an "æon" or "AE token", which can be transferred between participants and is used to compensate participant nodes for computations performed.[2] AE tokens are used to pay for space and computation time on the virtual machine and prevent spam on the network while allocating storage and computation time proportionally to the incentive offered by the request.

Purpose

æternity's blockchain is governed via Proof of Stake consensus mechanism implemented via delegated voting, weighted by the amount of tokens the account hold. Tokens can be transferred between parties of a smart contract through channels without storing the code of the contract on-chain. The public blockchain resolves dispute inside state channels, acting like a crypto-court.[3]

æternity can program complex relationships for large numbers of users and handle high volumes of products and information in parallel. Only the parties who participate in a state channel smart contract know of its contents. When a channel is settled on-chain, it only changes the blockchain state by changing account balances. No contract state is stored on-chain, so all channels are independent from each other. Transaction speed is limited only by bandwidth, so the æternity system can scale as well as or even better than known centralized solutions available today.[4]

Large throughput and relative privacy enables the use of æternity by enterprises, and it can be the main vector of micro-transactions needed for all internet-of-things use cases. In the same time this will make smart contracts easier to analyze and faster to process, with no substantial loss in functionality.[5]

æternity held a first contribution campaign round in which the team collected 121,212 Ethers and 324 Bitcoins, the rough equivalent of 5,400,000 USD at the time, in exchange for AE tokens.[6]

A launch of the æternity main-net is scheduled for Q3 2018.[7]

Innovation

æternity is a new blockchain technology with features including:[8]

  • Industrial-grade code base. æternity core is written in Erlang,[9] which is a highly scalable, fault-tolerant language for writing distributed systems allowing to achieve superior operational stability [10] and performance.[11][12]
  • Smart contracts allow decentralized highly available, non-stop applications.
  • State channels enable highly scalable, trustless transactions of value [13] and purely functional, easily verifiable Turing-complete smart contracts.
  • Integrated Naming Systems, which are both decentralized and secure, while still supporting human-friendly, memorable names.
  • Oracles,[14] which are a crucial feature for most contracts, are the ability to refer to values from real-world data.[15]
  • Identity Accounts, which allow for one to create and own identity on the æternity network to use on the web, in real-life, or voting systems.
  • the "Cuckoo Cycle" mining algorithm,[16] which is a memory-hard mining algorithm that improves the ASIC problem.[17] It provides great decentralization potential.

Technology

Smart Contracts

æternity allows for execution of Turing-complete smart contracts that allow the execution of a credible transactions without third trusted parties. The design and implementation of the æternity smart contracts focuses on making the execution of smart contracts safe, efficient and cheap. æternity supports multiple virtual machines: The High Level Machine (HLM) that allows for blindingly fast and cheap contracts written in Varna language with a known cost to be executed; The Functional Typed Warded VM (FTWVM) that is used to efficiently and safely execute contracts written in functional language Sophia - OCaml based scripting language, Sophia, which can be formally verified; æternity Ethereum VM (AEVM), which is a ported to Erlang Ethereum VM, that can execute smart contracts written in Sophia, as well as in Solidity, thus providing a simple way to migrate from Ethereum.[18][19]

State Channels

State channels[20][21] are a new development of æternity's blockchain technology.[4] They are based on the idea of payment channels.[22] State channels come from the realization that, for most purposes, only the actors involved in a smart contract are required to know about it. Two or more actors lock a state and a contract on the blockchain and then perform signed transactions between themselves, off of the public network (or off-chain). The final state is then written to the blockchain. If the end result is disputed, the series of signed off-chain transactions can be uploaded to the blockchain for verification or dispute resolution.[23]

The state channel design [24][25] enables off-chain verification of data and smart contracts. This permits a high transactional throughput and parallel processing of smart contracts by allowing for their independence from the network.[22] æternity's strengths lie in programming complex relationships for many users and the parallel handling of high volumes of products and information. State channels allow for increased privacy because parties participating in a smart contract know about the contents of that smart contract.[26] When a channel is settled on-chain, the only information being put onto the Blockchain is the end result of the transactional value that was exchanged. No contract state is stored on-chain, so all channels are independent of each other. Transaction speed is limited only by bandwidth, so æternity's scalable smart contract systems improves upon all the centralized and de-centralized scaling solutions that are available today.[4]

Oracles

An oracle[14] is a mechanism that tells the blockchain facts about the real-world we live in (e.g. the weather, the closing price of Apple shares on a particular date, sports events, or human deaths). æternity's oracle system[27] uses the same governance mechanism as the æternity blockchain itself, it does not require a separate governance layer on top of the æternity main-net [28] (as with Augur on top of Ethereum).

æternity oracles are implemented as primitives on the blockchain and provide a well-defined way for smart contracts to interface with data from the outside world. Data-feeds from individuals or institutions can directly interface with the blockchain and provide data for smart contracts.

Naming Systems

aeternity's Naming Systems makes it possible to use user-friendly identities for addressing blockchain entities, such as user accounts, oracles, contracts, etc.[29] Entities native to most blockchain systems are addressed or identified by their hashes, which are generally n bit numbers displayed in a hex or base64/base58 notation, all of which are somewhat unfriendly to the humans trying to use these systems. Making the identities and addresses user-friendly improves the usability, reduces chances of an identity being misspelled and increases the adoption of the platform.

Mining and Governance

Proof-Of-Work Mining

The validation of blocks on the æternity blockchain is done by a Proof-of-Work consensus mechanism, leveraging the "Cuckoo Cycle" Algorithm.[30] The "Cuckoo Cycle" PoW is more power efficient and indirectly useful, as it encourages the development of better dynamic RAM (DRAM) chips.[31] The algorithm is designed to be resistant to single-chip application-specific integrated circuits (ASICs). Even low-power devices already equipped with sufficient memory, augmented with a tiny cuckoo ASICs, could make for a cost effective mining platform and efficiently mine new tokens.[32]

As such, æternity mining is designed to be more egalitarian and inclusive compared to crypto-currencies where mining is dominated by large mining pools, which are often built of ASIC chips designed specifically to take advantage of a particular PoW algorithm.[33] This wider distribution of the mining incentives contributes to even wider use and adoption of æternity.[34]

Proof-Of-Stake Governance

Any AE token user can participate in the governance on aeternity blockchain via (delegated) voting, weighted by the amount of tokens the account holds. This governance can be used to update variables of the blockchain (e.g. blocksize) and in extreme cases also to overwrite faulty state, e.g., because of a buggy smart contract or because of a corrupted oracle.

Via participating in voting markets the users can express their opinion on events (e.g., hardfork). On-chain voting could be the solution to public blockchain governance and allow for a novel way of organizing society and global economic interactions.[35]

Uses cases and possible applications

Supply Chain Management

The supply chain management can be trusted to a smart contract that is constantly interfacing with the oracle on æternity. The demand for any product can be fed to the smart contract through the oracle. That will trigger the contract to send procurement orders to suppliers, and raw materials providers, taking into consideration the normal delays of each item in procurement. In the meantime, the smart contract's information being fed through the oracle can be regulated to increase or decrease the quantity of the orders in real-time, thus eliminating waste of overstocking of storage facilities.

Toll API

Today most websites' and servers' APIs are either publicly available to call or secured with a username-password-scheme or unique access tokens. The æternity payment channels allow for a third kind of API, where the requesting user has to pay a micro transaction for every call to the API, possibly every HTTP-request. Paying to access an API solves the DDoS attack problem, by providing a counter-incentive to sending large amounts of requests to overload servers. This makes it easier to build APIs that are always available for a small fee. API responses that require a payment are fundamental for the creation of as-of-yet impossible types of businesses and can play an important role in the emergence of the decentralized economy, the Internet-of-things and the Internet-of-value. Payment also creates strong incentives for information technology owners to make otherwise private data publicly available.

Insured crowdfunding

Crowdfunding can be made trustless and more transparent by using dominant assurance contracts.[36] These are smart contracts that are used to raise money for a public good or other commercial project. Part of the funds can be locked for development and other parts of the fund are locked to provide an ROI for investors.

The release of funds can be set on several milestones. Once a milestone is cleared and approved, the contract will release the funds allocated to that specific milestone. Several methods can be used to verify the completion, including oracles. If an oracle concludes that the milestone is not reached, investors get their investments with interests back.

Dominant assurance contracts differ from traditional assurance contracts like Kickstarter, in that they make it a dominant strategy to participate. If the good is produced, all participants get their æons back plus interest, so they are insured against reducing their liquidity without receiving the good. Using an oracle, we can ensure that the provider of the good or service only gets paid if he or she provides the goods as promised. This enables a leap of transparency and trustless investment opportunities in ICOs and startups, where the investors' funds are safe from mismanagement or fraud by the project's founders. This can be implemented on any other exchange of services between multiple parties, thus decentralizing the freelancing and business-to-business sectors.

Cross-chain atomic swaps

æternity's blockchain architecture can enable cross-chain "atomic" swaps to allow for trustless exchange of æons for bitcoins or any other crypto-currencies. These can be implemented using a zero-knowledge-contingent payment hashlock that locks the transactions on both blockchains under the same value. This makes the cross-chain exchange of currencies decentralized, without having the single point of failure of the current exchanges.

Assets and portfolio replication

æternity's smart contracts can be used to program synthetic assets that stay at nearly the same price as a real-world asset does. For example, an asset can follow the price as gold. Synthetic derivatives are created created in equal and opposite pairs; for one user to have an asset that moves up with gold, a different user will have to have an asset that moves inversely to gold. This enables the "blockchainization" of all the real-world assets (or financial derivatives) and their exchange in a decentralized stock market. For example, Alice can make a contract with Bob so that Alice owns 1 gram of gold. Out of the money in the contract, 1 gram of gold's worth in æons will go to Alice, and the leftover money goes to Bob. The contract has an expiration date, at which point the price of gold will be remeasured and the funds are distributed to Alice and Bob accordingly.

References

  1. "Early thoughts on Aeternity – Stephan Tual's Blog". Stephan Tual’s Blog. 2017-01-12. Retrieved 2017-05-22.
  2. "Contract Transactions. aeternity/protocol". GitHub. Retrieved 2018-06-20.
  3. Reitwiessner, Christian (17 February 2017). "From Smart Contracts to Courts with not so Smart Judges".
  4. 1 2 3 "State Channels. aeternity/protocol". GitHub. Retrieved 2018-06-20.
  5. Hess, Zackary; Malahov, Yanislav; Pettersson, Jack (2017). aeternity blockchain - The trustless, decentralized and purely functional oracle machine. https://blockchain.aeternity.com/%C3%A6ternity-blockchain-whitepaper.pdf. p. 2.
  6. "The AEternity ICO: My experience - John Mathews". johnmathews.eu. Retrieved 2017-05-23.
  7. "aeternity blockchain - Scalable smart contracts interfacing with real world data". www.aeternity.com. Retrieved 2018-06-20.
  8. Hess, Zackary; Malahov, Yanislav; Pettersson, Jack (2017). "Introduction". aeternity blockchain - The trustless, decentralized and purely functional oracle machine. http://blockchain.aeternity.com/%C3%A6ternity-blockchain-whitepaper.pdf: aeternity foundation. p. 1.
  9. Francesco, Cesarini; Thompson,, Simon (2009). Erlang Programming. O'Reilly Media. ISBN 978-0-596-80453-4.
  10. Zajda, Michał (29 May 2017). "Why We Use Erlang/OTP in æternity".
  11. Armstrong, Joe (2003). Making reliable distributed systems in the presence of software errors. http://erlang.org/download/armstrong_thesis_2003.pdf: Swedish Institute of Computer Science - Department of Microelectronics and Information Technology. pp. 76–77, 78–79.
  12. "Blockchains, Determinism, Monads, Agents and Functional Reactive Programming | thomasbarker.com". thomasbarker.com. Retrieved 2017-05-22.
  13. "What are State Channels". CryptoCompare. Retrieved 2017-05-22.
  14. 1 2 "Hardware Oracles: bridging the Real World to the Blockchain". Ledger. 2016-08-31. Retrieved 2017-05-22.
  15. "Oracles. aeternity/protocol". GitHub. Retrieved 2018-06-20.
  16. Tromp, John (2014). Cuckoo Cycle: a memory-hard proof-of-work system. John Tromp.
  17. "Memory-hard proof-of-work: are they ASIC-resistant?". crypto.stackexchange.com. Retrieved 2017-05-22.
  18. "Virtual Machines on the aeternity blockchain. aeternity/protocol". GitHub. Retrieved 2018-06-20.
  19. "The aeternity Ethereum Virtual Machine. aeternity/protocol". GitHub. Retrieved 2018-06-20.
  20. "What are State Channels? – Stephan Tual's Blog". Stephan Tual’s Blog. 2017-01-04. Retrieved 2017-05-22.
  21. "State Channels - an explanation". Jeff Coleman. 2015-11-06. Retrieved 2017-05-22.
  22. 1 2 "What are State Channels and use case/code examples?". ethereum.stackexchange.com. Retrieved 2017-05-22.
  23. Hess, Zackary; Malahov, Yanislav; Pettersson, Jack (2007). "B". aeternity blockchain - The trustless, decentralized and purely functional oracle machine. http://blockchain.aeternity.com/%C3%A6ternity-blockchain-whitepaper.pdf. p. 3.
  24. "jtremback/avocado". GitHub. Retrieved 2017-05-22.
  25. "AnnaIsAWang/LedgerLabsCoops2016". GitHub. Retrieved 2017-05-22.
  26. "Smart Contracts. aeternity/protocol". GitHub. Retrieved 2018-06-20.
  27. "Aeternity — The Oracle Machine". Yuriy Kudakov. 2017-04-10. Retrieved 2017-05-22.
  28. Zack, Hess (2017). "aeternity - oracle_design". GitHub. Retrieved 2017-05-22.
  29. "Aeternity Naming System. aeternity/protocol". GitHub. Retrieved 2018-06-20.
  30. Hess, Zackary; Malahov, Yanislav; Pettersson, Jack (2017). "C". aeternity blockchain - The trustless, decentralized and purely functional oracle machine. http://blockchain.aeternity.com/%C3%A6ternity-blockchain-whitepaper.pdf. p. 5.
  31. Guzman, Vandres (2017-04-12). "æternity TestNet: Installation and Mining – æternity". æternity. Retrieved 2017-05-24.
  32. "Cuckoo Cycle. tromp/cuckoo". GitHub. Retrieved 2018-06-20.
  33. Devin, Williams. Cryptocurrency Compendium: A Reference for Digital Currencies. p. 31.
  34. Tromp, John (2015-09-07). "Beyond the Hashcash Proof-of-Work (there's more to mining than hashing)". Cryptorials. Retrieved 2017-05-24.
  35. Guzman, Vandres (2017-05-04). "Sobre gobernanza (descentralizada) – æternity". æternity. Retrieved 2017-05-24.
  36. Williams, Devin. Cryptocurrency Compendium: A Reference for Digital Currencies:. p. 34.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.