1.以太坊
以太坊技术最早起源于比特币,作为第二代可编程的区块链体系,聚集大量开发者,以太坊生态也日益扩大稳健。以太坊在2013年底首次提出,在2014年由比特币杂志联合创始人之一的Vitalik
Buterin发布了以太坊的白皮书。
![以太坊 以太坊](//ziboxinyan.com/FileUpload/ueditor_s/upload/2022-9/30/63800147793804.jpg)
2.以太坊基本要素
以太坊要素由节点、矿工、账户、交易四部分构成。
(1)节点:顾名思义,即构成以太坊的基本单位。以太坊中含有大量节点,通过节点可以对区块链数据进行读取和写入。根据节点参与度大小和使用情况又划分为两种:公有链和私有链。公有链类似
CPU 出厂的正式版本,用于上线最终版本的以太坊相关开发。私有链类似 CPU 的 ES 版本(Engineering
Sample,即不上市仅供测试的工程样品),用以测试即将要上线到公有链中的开发。在公有链中,每一个节点均具有同等的地位和操作权限,同时可以自由加入以太坊中进行数据读取写入。节点间依靠
POW 机制保证其数据交换的无差性和可靠性。
(2)矿工:网络中节点用来不停进行哈希运算来满足 POW 机制规定。一个节点可以包含若干矿工,通过
CPU、GPU、专用矿机进行运算哈希数学难题碰撞得出答案,算力越大的矿工有较大几率求得难题的答案,将计算结果保存到新的区块当中并向全网广播。当结果被确认后,新生成的区块将奖励以太币(ETH)发送到矿工所属的节点账号中。
(3)账户:以太坊账户上存在两种账户:外部账户和合约账户。外部账户通过公私钥对及进行控制,合约账户表示在区块链上指向了一个智能合约。合约账户无法主动发起交易,但是外部账户可以进行交易。
(4)交易:以太坊交易中,若干节点进行数字资产的转移。首先由以太坊检查交易是否有效,并计算交易所需费用设定所需的 gas
值。外部账户通过创建和签名交易进行信息的发送。因外部账户并没有代码,此时需要合约账户。在合约账户收到消息后,启动合约的代码对其内部存储进行读写,交易在以太坊上进行到其代码运行为止或
gas 消耗完毕。
3.以太坊共识机制
以太坊有四个版本,前沿、家园、大都会和宁静。从以太坊的规划来看,前三个版本使用共识机制POW,到宁静时,再转为POS。
(1)PoW(工作量证明)
比特币采用的共识机制也是PoW,矿工通过把网络尚未记录的现有交易打包到一个区块,然后不断遍历尝试来寻找一个随机数,使得新区块和随机数的哈希值满足一定的难度条件,例如前面10位是零。
找到满足条件的随机数,就相当于确定了区块链最新的一个区块,也相当于获得了区块链的本轮记账权。
矿工把满足挖矿难度条件的区块在网络中广播出去,全网其他节点在验证该区块满足挖矿难度条件,同时区块里的交易数据符合协议规范后,将各自把该区块链接到自己本地的区块链上,从而在全网形成对当前网络状态的共识。
工作量证明算法的意义在于,要找到这样一个随机数,没有比列举可能性更好的策略,而解决方案的验证又非常简单。由于输出有均匀分布(是散表功能应用的结果),我们可以保证,平均而言,需要找到这样一个随机数的时间取决于难度阈值。这使得只通过操纵难度来控制找到新区块的时间成为可能。
这种共识算法挖矿造成大量的资源浪费;挖矿的激励机制也造成矿池算力的高度集中,背离了当初去中心化设计的初衷。更大的问题是PoW机制的共识达成的周期较长,每秒最多只能做7笔交易,不适合商业应用。
(2)PoS权益证明
以太坊目前处于第二阶段,也就是家园阶段,100%采用PoW挖矿。从家园到宁静,从PoW到PoS,这个过程中,以太坊通过难度炸弹的调节来避免以太坊被分成两条链,引导大家平稳过渡到PoS。关于难度炸弹的详细解释,下节课会介绍。
PoS要求节点提供一定数量的代币证明来竞争区块链记账权。但是如果单纯依靠代币余额来决定记账者必然使得富有者胜出,导致记账权的中心化,降低共识的公正性,因此不同的PoS机制在权益证明的基础上,采用不同方式来增加记账权的随机性来避免中心化。
例如根据你持有货币的量和时间来竞争记账权,比如你持有100个币,总共持有了30天,那么,此时你的币龄就为3000,这个时候,如果你发现了一个PoS区块,你的币龄就会被清空为0。你每被清空365币龄,你将会从区块中获得0.05个币的利息(可理解为年利率5%)。比如你有365个币,如果年利率是1%,那每天你得到的利息就是0.001个币。
以太坊计划采用基于保证金的经济激励共识协议,我们称它为Casper。协议中的节点,作为“锁定保证金的验证人(bonded
validators)”,必须先缴纳保证金才可以参与出块和共识。Casper共识协议通过对这些保证金的直接控制来约束验证人的行为。具体来说就是,如果一个验证人作出了任何Casper认为“无效”的事情,他的保证金将被罚没,出块和参与共识的权利也会被取消。保证金的引入解决了'nothing
at stake',也就是经典POS协议中做坏事代价很低的问题。现在有了代价,而且被客观证明做错事的验证人将会付出这个代价。
以太坊PoS的共识机制还在商讨中,所以到宁静阶段,PoS的具体细节可能才能完全敲定。
4.以太坊为什么需要共识机制?
分布式系统中,多个主机通过异步通信方式组成网络集群。在这样的一个异步系统中,需要主机之间进行状态复制,以保证每个主机达成一致的状态共识。在运行过程中,可能出现主机故障,导致无法通信,也有可能主机性能下降,网络拥塞,这些都可能导致错误信息在系统内传播。因此需要在不可靠的异步网络中定义容错协议,以确保各主机达成安全可靠的状态共识。
以太坊,一个基于去中心化的分布式账本,也需要解决在不可靠的网络中如何保障账本数据一致性和正确性的问题,这就是共识机制。
以上梳理了以太坊的起源、基本要素及共识机制,希望对你有所帮助,如果你想了解更多相关内容,敬请关注三个皮匠报告的行业知识栏目。
推荐阅读:
区块链行业以太坊生态之Layer2:技术融合应用为王-220907(25页).pdf
区块链行业:大转换以太坊合并从显卡跌价说起-220525(32页).pdf
区块链行业以太坊Layer2:区块链应用的钥匙元宇宙创新之基石-211104(15页).pdf