æternity is the answer to current challenges in blockchain technology.
The introduction of Ethereum was made in 2014 and there has been great interest in decentralized trustless applications (smart contracts) after the evolution of ETH. Consequently, many have tried to implement applications with real world data on top of a blockchain. Aeternity team believes that storing the application’s state and code on-chain is wrong for several reasons.
Aeternity team present a highly scalable blockchain architecture with a consensus mechanism which is also used to check the oracle. This makes the oracle very efficient, because it avoids layering one consensus mechanism on top of another. State channels are integrated to increase privacy and scalability. Tokens in channels can be transferred using purely functional smart contracts that can access oracle answers. By not storing contract code or state on-chain, we are able to make smart contracts easier to analyze and faster to process, with no substantial loss in de facto functionality.
What is state Channels?
One of the most interesting developments in the blockchain space lately is that of state channels. They operate on the basic principle that in most cases, only the people affected by a transaction need to know about it.
On Æternity, the only state update that can be settled on the blockchain is a transfer of aeon, and the only aeon that can be transferred are the ones that the transacting parties already deposited into the channel. This makes all channels independent from each other, which has the immediate benefit that any transactions related to channels can be processed in parallel, greatly improving transaction throughput.
Advantages of the oracle machine
A crucial feature for most contracts, whether encoded as text or as code, is the ability to refer to values from the environment, such as the prices of different goods or whether a certain event occurred or not. A smart contract system without this ability is essentially a closed system and arguably not very useful. This is a generally accepted fact and there are already several projects that attempt to bring external data into the blockchain in decentralized way . However, to decide whether a supplied fact is true or not, these essentially require the implementation of a new consensus mechanism on top of the consensus mechanism.
Running two consensus mechanisms on top of each other is as expensive as running both separately. Additionally, it doesn’t increase security, because the least secure one can still be attacked and made to produce “false” values. Thus, we propose to conflate the two consensus mechanisms into one, essentially reusing the mechanism that we use to agree on the state of the system, to also agree on the state of the outside world. The way that this works is as follows. Any aeon-holder can launch an oracle by committing to answering a yes/noquestion. When doing so, they also need to specify the timeframe during which the question can be answered, which can start now or some time in the future. The user that launches the oracle is required to deposit aeon in proportion to the length of the timeframe, which will be returned if the user supplies an answer that gets accepted as truth, otherwise it is burned. The blockchain generates a unique identifier for the oracle that can be used to retrieve the answer once it is available. Once the time comes for the question to be answered, the user who launched the oracle can supply an answer for free. Once the oracle launcher has supplied an answer or until a certain amount of time has passed, any other users can submit counter-claims by depositing the same amount of aeon. If no counter-claims have been submitted by the end of the timeframe, the answer supplied by the user that launched the oracle is accepted as truth, and the deposit is returned. If any counter-claims are submitted, then the consensus mechanism for blocks will be used to answer the oracle. This is more expensive, but since we know we can take at least one of the two safety deposits, we can use it.
Proof of Work with John Tromp’s Cuckoo Cycle
Æternity uses a hybrid Proof-of-Work and Proof-of-Stake consensus mechanism. The block-order will be determined via Proof-of-Work. Certain system variables will be determined via on-chain prediction market system, which allows the users to participate and bring in their knowledge. For the PoW algorithm we currently favor a variant of Tromp’s Cuckoo Cycle, one which is memory bound, and also is an ”indirectly useful Proof-of-Work”, as it requires less electricity to run, but instead has another limiting factor, the one of memory latency availability. This also makes it feasible to mine with a smart phone.
Tromp writes about his work:
Cuckoo Cycle is an instantly verifiable memory bound PoW that is unique in being dominated by latency rather than computation. In that sense, mining Cuckoo Cycle is a form of ASIC mining where DRAM chips serve the application of randomly reading and writing billions of bits. When even phones charging overnight can mine without orders of magnitude loss in efficiency, not with a mindset of profitability but of playing the lottery, the mining hardware landscape will see vast expansion, benefiting adoption as well as decentralization.
æpps that will be enabled with æternity
The stateless nature of the Æternity smart contracts makes it easy to build the following applications on Æternity’s blockchain. It is especially suitable for high-volume usecases.
A. Blockchain essentials
Blockchain essentials are necessary primitives like aeon, wallets, names and related concepts. They modularize reusable components which can be used as application foundations and can be improved on.
- Proof of existence
B. State channel applications
Smart contracts in state channels are perfect for microservices on the web that require a high transaction throughput.
- Toll API
- Insured crowdfunding
- Cross-chain atomic swaps
- Stable value assets and portfolio replication
- Event contracts
- Prediction markets
- Market with batch trading at a single price
Meet Aeternity Team
Be in touch with Aeternity Team
Website : http://www.aeternity.com/
Contact CryptoNepal.Com at bitcointalk : https://bitcointalk.org/index.php?action=profile;u=977316