Software:æ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 |
æ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][unreliable source]
æ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][non-primary source needed] 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][unreliable source]
æ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][non-primary source needed]
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][non-primary source needed]
æ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][unreliable source]
A launch of the æternity main-net is scheduled for Q3 2018.[7][non-primary source needed]
Innovation
æternity is a new blockchain technology with features including:[8][non-primary source needed]
- Industrial-grade code base. æternity core is written in Erlang,[9][irrelevant citation] which is a highly scalable, fault-tolerant language for writing distributed systems allowing to achieve superior operational stability [10][non-primary source needed] and performance.[11][irrelevant citation][12][irrelevant citation]
- Smart contracts allow decentralized highly available, non-stop applications.
- State channels enable highly scalable, trustless transactions of value [13][irrelevant citation] 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][irrelevant citation] which are a crucial feature for most contracts, are the ability to refer to values from real-world data.[15][non-primary source needed]
- 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][non-primary source needed] which is a memory-hard mining algorithm that improves the ASIC problem.[17][irrelevant citation] 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
The state channel design [20][non-primary source needed][21][non-primary source needed] 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][unreliable source] æ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.[23][non-primary source needed] 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][non-primary source needed]
Oracles
An oracle[14][irrelevant citation] 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[24][non-primary source needed] 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 [25][non-primary source needed] (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.[26][non-primary source needed] 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.[27][non-primary source needed] The "Cuckoo Cycle" PoW is more power efficient and indirectly useful, as it encourages the development of better dynamic RAM (DRAM) chips.[28][non-primary source needed] 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.[29][non-primary source needed]
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.[30][irrelevant citation] This wider distribution of the mining incentives contributes to even wider use and adoption of æternity.[31][unreliable source]
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.[32][non-primary source needed]
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.[citation needed] 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.[citation needed]
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.[citation needed] 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.[33][irrelevant citation] 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.[who?] 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
- ↑ "Early thoughts on Aeternity – Stephan Tual’s Blog". Stephan Tual’s Blog. 2017-01-12. https://blog.stephantual.com/early-thoughts-on-aeternity-cdf65a3b334e.
- ↑ "Contract Transactions. aeternity/protocol" (in en). https://github.com/aeternity/protocol/blob/master/contracts/contract_transactions.md.
- ↑ Reitwiessner, Christian (17 February 2017). "From Smart Contracts to Courts with not so Smart Judges". https://blog.ethereum.org/2016/02/17/smart-contracts-courts-not-smart-judges/.
- ↑ 4.0 4.1 "State Channels. aeternity/protocol" (in en). https://github.com/aeternity/protocol/blob/master/channels/README.md.
- ↑ 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.+pp. 2.
- ↑ "The AEternity ICO: My experience - John Mathews" (in en). http://johnmathews.eu/aeternity-ico.html.
- ↑ "aeternity blockchain - Scalable smart contracts interfacing with real world data". https://www.aeternity.com.
- ↑ 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. pp. 1.
- ↑ Francesco, Cesarini; Thompson,, Simon (2009). Erlang Programming. O'Reilly Media. ISBN 978-0-596-80453-4.
- ↑ Zajda, Michał (29 May 2017). "Why We Use Erlang/OTP in æternity". https://blog.aeternity.com/why-we-use-erlang-otp-in-%C3%A6ternity-a4bd1232b614.
- ↑ 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.
- ↑ "Blockchains, Determinism, Monads, Agents and Functional Reactive Programming | thomasbarker.com". https://thomasbarker.com/16/03/blockchains-determinism-monads-agents-and-functional-reactive-programming.
- ↑ "What are State Channels". https://www.cryptocompare.com/coins/guides/what-are-state-channels/.
- ↑ 14.0 14.1 "Hardware Oracles: bridging the Real World to the Blockchain". Ledger. 2016-08-31. https://blog.ledger.co/hardware-oracles-bridging-the-real-world-to-the-blockchain-ca97c2fc3e6c.
- ↑ "Oracles. aeternity/protocol" (in en). https://github.com/aeternity/protocol/blob/master/oracles/oracles.md.
- ↑ Tromp, John (2014). Cuckoo Cycle: a memory-hard proof-of-work system. John Tromp.
- ↑ "Memory-hard proof-of-work: are they ASIC-resistant?". https://crypto.stackexchange.com/questions/29890/memory-hard-proof-of-work-are-they-asic-resistant.
- ↑ "Virtual Machines on the aeternity blockchain. aeternity/protocol" (in en). https://github.com/aeternity/protocol/blob/master/contracts/contract_vms.md.
- ↑ "The aeternity Ethereum Virtual Machine. aeternity/protocol" (in en). https://github.com/aeternity/protocol/blob/master/contracts/aevm.md.
- ↑ "jtremback/avocado" (in en). https://github.com/jtremback/avocado.
- ↑ "AnnaIsAWang/LedgerLabsCoops2016" (in en). https://github.com/AnnaIsAWang/LedgerLabsCoops2016/tree/master/AbstractedStateChannel.
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs named:1
- ↑ "Smart Contracts. aeternity/protocol" (in en). https://github.com/aeternity/protocol/blob/master/contracts/contracts.md.
- ↑ "Aeternity — The Oracle Machine". 2017-04-10. https://medium.com/@YuriyKudakov/aeternity-the-oracle-machine-527a56320c1b.
- ↑ Zack, Hess (2017). "aeternity - oracle_design" (in en). https://github.com/aeternity/testnet/blob/master/docs/oracle_design.md.
- ↑ "Aeternity Naming System. aeternity/protocol" (in en). https://github.com/aeternity/protocol/blob/master/AENS.md.
- ↑ 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.+pp. 5.
- ↑ Guzman, Vandres (2017-04-12). "æternity TestNet: Installation and Mining – æternity". æternity. https://blog.aeternity.com/%C3%A6ternity-testnet-install-and-mining-6f5b8e880ab1.
- ↑ "Cuckoo Cycle. tromp/cuckoo" (in en). https://github.com/tromp/cuckoo.
- ↑ Devin, Williams. Cryptocurrency Compendium: A Reference for Digital Currencies. pp. 31.
- ↑ Tromp, John (2015-09-07). "Beyond the Hashcash Proof-of-Work (there's more to mining than hashing)" (in en-US). Cryptorials. http://cryptorials.io/beyond-hashcash-proof-work-theres-mining-hashing/.
- ↑ Guzman, Vandres (2017-05-04). "Sobre gobernanza (descentralizada) – æternity". æternity. https://blog.aeternity.com/sobre-gobernanza-descentralizada-6af0b23250e5.
- ↑ Williams, Devin. Cryptocurrency Compendium: A Reference for Digital Currencies:. pp. 34.
External links