To have a better understanding of this article, it is recommended to have a basic knowledge about and . If you have not introduced yourself in these topics and have a few additional minutes, you may want to use another 10 minutes to get up to date with those concepts following the links.
is a platform that allows the creation of Software applications under a decentralized peer-to-peer global network. It is an open source project based on technology which facilitates the persistence of verifiable data.
Applications developed with , called dApps for “Decentralized Applications”, do not depend on a server or central authority for its creation or execution. The cost for its use is limited to low taxes for the computational expense of the network, which is operated by voluntary users that are part of the ecosystem.
Origin
was originally proposed in a paper by a programmer called Vitalik Buterin at the end of 2013. In 2014 the development of the platform began while raising more than USD 18M during the same year. In the , its creator describes that “ aims to provide a along with a programming language that can be used to allow users to create any type of system.”
How does it work?
The network is composed of two types of nodes called full nodes and light nodes. The full nodes contain the complete history of from the Genesis block. They are in charge of maintaining the integrity of the network and therefore are responsible for verifying all transactions and . On the other hand, light nodes only contain a subset of transactions and are used mostly as wallets. These nodes do not verify the transactions and are helped by the full-nodes to obtain data that they may need.
Within each of these nodes runs a software called Virtual Machine (EVM). This virtual machine is responsible for keeping data synchronized and also provides the environment for the execution of the code of user applications.
Smart contracts
The code that is developed, initially in a high level language and then executed in the EVM, is called Smart Contract. In general, a contract is an agreement between two or more participants that is usually fulfilled by law. If we take this written contract and translate it into a program, we obtain digital contracts.
These contracts are not only digitally represented but it is also possible to make them act based on certain events, that is why they are “smart”. Having these contracts as part of the ensures that the code can not be modified and that the agreed conditions will inevitably be executed. This prevents participants from having to trust each other.
Let’s consider a simple example. We have an application to raise funds for projects where, in case of reaching the established goal then the amount will be sent to the creator of the project, otherwise the money will be returned to the investors. An Smart Contract can solve this easily. The implemented code will have the necessary logic to send the money to the corresponding actor according to whether the objective is reached or not. This contract will be fulfilled without external interventions or modifications.
Cryptocurrency
Typically, a public is used along with an associated currency. is not the exception. The of the ecosystem is the Ether, which can be exchanged between users of the network through electronic wallets in the same way as in . In addition, Ether is used to buy Gas, which is the exchange unit to pay for the computing power for the processing of transactions, as well as for the execution of contract code. The monetary cost of executing for a contract is proportional to the complexity of the contract, that is why performance is a very important aspect.
Other uses of Ethereum
is also used as a platform to create other . This is achieved by a standard definition for called ERC20. With this definition, other developers can model their own versions of the and for instance raise funds through an Initial Coin Offering (ICO) process. In this fundraising strategy, the creators of define a quantity, promote it to the public and receive Ethers in exchange. Billions of dollars have been raised to date in this way.
Another standard is the so-called ERC721 that allows the traceability of unique digital goods. Meaning in other works that unlike money they represent indivisible elements and are not interchangeable by a copy. The largest use case for those is given in collectibles to give proof of ownership over things.
The DAO event
In 2016, an anonymous organization developed a set of smart contracts on the platform. After collecting a millionaire sum, a vulnerability in the code of these contracts allowed the theft of a large part of the ethers by hackers. A part of the community of developers of decided to fork the to cancel the transactions involved in the theft.
Both networks are still active at the moment, being the one that made the fork and Classic the that maintained the same history of blocks. This bifurcation in the brought a rivalry in the network of developers. While some argue that the exploitation of the defect in the contracts should be corrected, others believe that the fork goes against the principle where the transactions and blocks are incorruptible.
Comparison to bitcoin
In the same way as , is a public network. Although there are several technical differences in terms of implementation, the most important is the purpose of each one. offers a particular application: money exchange system, focused on the traceability of currency property (bitcoins). On the other hand, focuses on the execution of the programming code of any application in a decentralized manner.
Regarding the process and consensus for new blocks, uses the solution called Proof of Work as well as . Potentially, is expected to switch to a Proof of Stake strategy that helps regulate the huge computational processing costs. To mine a block, the expected time is between 10 and 19 seconds, a much faster time compared to the 10 minutes of . This means that transactions can be processed much more quickly.
Other more specific differences include for example that transaction charges are much lower than in . As for accounting, uses a system where securities are debited from some accounts and credited to others similar to how it works in a banking system, which differs from the UTXO process in .
This and other posts are part of my blog . All take at most 5 minutes of lecture. Thanks for reading!
Published at Mon, 27 May 2019 04:19:47 +0000