61782
![]() Editor's note: This article was first published in Jianshu. EthFans reprints with permission from the author.
What is Ethereum?Ethereum is an open blockchain platform that allows anyone to create and use decentralized applications based on blockchain technology. Like Bitcoin, no one controls or owns Ethereum, it is an open source project created by many people around the world. Unlike Bitcoin, Ethereum is designed to be flexible and can be modified according to needs. It is easy to create applications on the Ethereum platform, and with this version of Homestead, these applications are already safe for everyone to use. The next generation of blockchainBlockchain technology is the basic technology of Bitcoin and was first described in the white paper "Bitcoin: A Peer-to-Peer Electronic Cash System" published by the mysterious author Satoshi Nakamoto in 2008. Although the general nature of blockchain technology was mentioned in this initial paper, it would be several years before blockchain emerged as a general term. Blockchain is a distributed computing architecture. Each network node executes and records the same transaction flow. These flow data are organized into so-called blocks. Only one block can be added to the blockchain at a time ; Each block contains a mathematical proof that it was created after all the blocks before it. In this way, the "distributed database" of the blockchain reaches consensus across the entire network. The interaction between users and the ledger (transaction flow) ensures its security through strong encryption. Nodes responsible for maintaining and verifying the state of the entire network will receive rewards calculated based on an economic reward algorithm encoded into the protocol. For Bitcoin, the distributed database is envisioned as a collection of account settlement sheets, ledgers, and transaction flows that make trustless finance among individual users possible through the transfer of Bitcoin tokens between accounts. But as Bitcoin attracts more and more developers and technical experts, some novel projects are beginning to use the Bitcoin network to do more than transfer token value. Some of these projects have adopted the "alt coins" model, forming their own cryptocurrencies by improving upon the original Bitcoin protocol, thereby decoupling the blockchain to add new features and functionality. At the end of 2013, Vitalik Buterin, the inventor of Ethereum, formally proposed an idea. This is a single blockchain with reprogrammability that can be used to perform arbitrarily complex calculations, and many other projects can be included in it. In 2014, the founders of Ethereum, Vitalik Buterin, Gavin Wood and Jeffrey Wilcke, began working on building the next generation of blockchain technology to achieve a universal, fully trustless smart contract platform. Ethereum Virtual MachineEthereum is a programmable blockchain. Ethereum allows users to create arbitrarily complex operations according to their own imagination, instead of only giving users some preset operations (such as Bitcoin's transaction operations). In this way, it becomes a platform that supports many different types of decentralized blockchain applications, including but not limited to cryptocurrencies. In a narrow sense, Ethereum is a set of protocols that defines a decentralized application platform. Its core is the Ethereum Virtual Machine (EVM, which will be introduced in more detail in subsequent serials, translator's note) that can run any complex computing code. In computer science terms, Ethereum is “Turing complete.” Developers can create applications on the EVM using friendly programming languages, such as JavaScript or Python. Like any other blockchain, Ethereum also contains a P2P (peer-to-peer) network protocol. The Ethereum blockchain database is maintained and updated by the numerous nodes connected to the network. Each node will run the EVM and perform the same sequence of operations. Therefore, Ethereum is sometimes described vividly as a "world computer". This ultra-large-scale parallel computing across the entire Ethereum network does not make computing more efficient. In fact, this process makes ordinary calculations performed on Ethereum far slower and more expensive than using traditional "computers". However, since each Ethereum node will run the EVM to reach consensus on the blockchain, this decentralized consensus also gives Ethereum ultimate fault tolerance, zero downtime, making the data stored on the blockchain forever unchangeable and censorship-resistant (that is, not afraid of censorship, because the data is always real and cannot be tampered with, translator's note). The Ethereum platform itself is featureless or value-agnostic. As with programming languages, it's the entrepreneurs and developers who decide what it should be used for. However, depending on the capabilities of Ethereum itself, certain applications will clearly benefit more than others. Specifically, Ethereum is suitable for applications that aim to solve direct point-to-point interactions or group collaboration problems across networks. For example, specific peer-to-peer trading market applications, or automated complex financial contract applications, etc. Bitcoin allows individuals to conduct currency transactions without the introduction of any intermediaries, such as financial institutions, banks or governments. The impact of Ethereum will be even more profound. In theory, financial interactions or exchanges of any complexity can be automated and reliably implemented using code on Ethereum. In addition to financial applications, any occasion that focuses on trust, security, and durability, such as asset registration, voting, jurisdiction, and the Internet of Things, can be widely embedded in the Ethereum platform. How does Ethereum work?Ethereum contains many features and technologies that are familiar to Bitcoin users, but it also introduces many modifications and innovations. Different from the simple transaction flow in the Bitcoin blockchain, the basic unit in the Ethereum blockchain is an account (account, which will be introduced in more detail in a subsequent series, translator's note). The Ethereum blockchain tracks the status of each account ; All state transitions on the Ethereum blockchain are transfers of value or information between accounts. There are two types of accounts in Ethereum:
For most users, the most basic difference between them is that people control EOA, because people can control the behavior on EOA through private keys.; Contract accounts are managed by their internal code. For contract accounts, we can also say that they are "controlled" by someone, because they are programmed to be controlled by an EOA with a specific address, and this EOA is controlled by the "person" who holds their private key. When a transaction is sent to the contract account, specific codes in the contract account will be triggered and executed. These codes are "smart contracts" in the usual sense. Users can publish code on the blockchain to create new contracts. Only when the contract account receives an EOA instruction, it will perform an operation. Therefore, it is impossible for a contract account to perform some spontaneous operations, such as generating random numbers or calling APIs, unless designated by EOA to do so. This is because nodes in Ethereum require a strictly deterministic execution confirmation to authenticate external computational requests. Like Bitcoin, users pay a small transaction fee to the network in order to complete a transaction. This mechanism is used to protect the Ethereum network from being affected by worthless or malicious computing tasks, such as DDoS attacks or infinite loops. The sender of a transaction must pay a fee for each step of the "program" they activate, including computation and storage. These fees are represented by a certain amount of Ethereum’s native token, Ethereum. These transaction fees are charged by nodes that verify the entire network. These nodes in the Ethereum network that accept, disseminate, verify and execute transactions are the so-called "miners". All transaction information containing changes in the "status" of accounts in the Ethereum blockchain is collected into "blocks" by miners, who then begin competing with each other to make their own block the next block in the blockchain. Every time a miner successfully digs a mine (that is, adds a block generated by himself to the blockchain, translator's note), he will receive a reward. This is a financial incentive for those who contribute hardware and computing power to the Ethereum network. Like the Bitcoin network, miners need to solve a complex mathematical problem if they want to successfully "mine" a block. This is known as "Proof of Work". Any computational problem in which the resources consumed to solve the problem through an algorithm are greater than the resources consumed to verify the results is a good choice for workload proof. In order to weaken the centralization trend brought about by the use of specific hardware (such as ASICs, a kind of integrated circuit hardware specially used for computing, translator's note) in the Bitcoin network, Ethereum chose a memory-hard computing problem. If solving a problem requires memory just like a CPU, the hardware that can support it will be closer to a normal computer. This makes Ethereum’s proof-of-work “ASIC resistant”” ; And compared with Bitcoin’s mining process, which may be subject to specific hardware, this proof of work is more conducive to the security of decentralized distribution (that is, to a certain extent, avoiding the centralization trend caused by too many blocks being generated by a small number of nodes with very strong computing power, translator’s note). to be continued. Translator: Feng Jinghu Wenping You might also like: 1. Popular science | Vitalik: Get to know Ethereum in 25 minutes (Part 1) 2. What is mining and Ethash algorithm? : http://ethfans.org/bob/articles/226 3. Popular science | Introduction to blockchain for non-technical geeks: 3. Smart contracts |