区块链:以太坊DApp开发实战
上QQ阅读APP看书,第一时间看更新

2.1 什么是以太坊

以太坊其实就是区块链的一种应用,是一条公链,包含但不限于“区块链”所具有的技术特点。

区块链是一个整体的名词,我们可以根据区块链技术开发出很多公链或者私链,再给这些链一个名称,例如使用“以太坊”这个名称。区块链和以太坊的关系如图2-1所示。

图2-1 链的分类

公链就是最多节点所共同维护的链;私链是节点比较少的链,一般是一个节点,任何人都可以在自己的电脑上进行私链的部署,只需要下载一份公链的代码,在自己的本地机器上跑起来即可。

目前行业内将区块链应用以版本的形式进行了划分,每个版本有其对应的代表性应用,其中以太坊公链被公认代表了区块链的2.0版本,具体如下:

(1)区块链1.0,代表者是比特币公链,不具备智能合约功能,具备区块链的其他技术模块,是第一条支持电子货币转账的完整区块链公链。

(2)区块链2.0,代表者是以太坊公链,技术模块方面比比特币公链多出智能合约等创新的功能,其共识机制正在从“PoW”向“PoS”过渡,但是直到现在,以太坊最新版本的共识机制使用的依然是“PoW”,虽然和比特币一样是“PoW”,但是以太坊的性能要比比特币公链高,最主要的原因就在于“PoW”算法的改进以及最优链的判断方法不同。

(3)区块链3.0,主要目标是实现高性能、大吞吐量,代表者是“EOS”柚子公链,具备智能合约功能,共识算法是“DPoS”,现在正在向“BFT-DPoS”方向发展。

此外,还有一些区块链框架应用,它们不是公链。例如,IBM公司的“HyperLedger”开源项目就是一个具备技术模块插件化功能的区块链框架,可以使用它来自定义开发公链或联盟链应用。