以太零MPOS共识机制介绍

1、共识机制介绍

共识机制是区块链技术的重要组成部分。它就像一本法典,维系着区块链世界的正常运转,让陌生人之间在没有第三方作为信用背书的情况下发生的一切交易变成可能。目前主流的区块链共识机制包括POW,POS,DPOS等。

POW,工作量证明 proof of work。就是大家熟悉的挖矿,通过计算出一个满足规则的随机数,即获得本次记账权,发出本轮需要记录的数据,全网其它节点验证后一起存储,节点可以自由进出。

POS,权益证明 proof of stake。POS简单说就是,当节点发表一条消息的时候,不用证明你的工作量,而要证明你拥有一定数量的钱。如果你作弊损害了这个系统的安全性,你的钱会贬值,这变相地让你付出了代价。目前为止,POS仍旧是一个缺乏足够实践检验的共识机制。

DPOS,股份授权证明机制,类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。EOS的21个超级节点采取了DPOS的共识算法,尽管其解决了交易低效的问题,但这种通过牺牲去中心化为代价的高效率,常常被行业指责和攻击,是一种趋向于中心化的共识机制。

2、MPOS共识算法机制

在研究了目前主流公链技术后,以太零团队提出了创新性的Masternode+PoS的共识算法,简称为MPoS,同时采用了零交易手续费,社区自治等公链发展方式。

以太坊的出块方式

目前以太坊有两种出块的方法,第一种:把所有的交易和区块从创世块开始一个接一个地连接起来,这种方式已经被证实在以太坊这种复杂的网络中非常耗费计算资源;第二种:是只有授权的机器才拥有出块权,节点之间通过投票的方式来授权或者解除授权,这些额外的投票机制被记录在了区块extra data字段中。采用这种方式降低了网络的出块难度和维护成本,节点只需下载区块头并验证它们的有效性,此后可以从网络上下载一个任意的最近的状态并检查最近的header,这套共识机制目前运行在以太坊的测试网络中,被称为Clique。

MPOS共识算法

以太坊有以Casper为基础的长期POS目标,但这是一个繁琐持久的研究,所以我们不能依靠这个来很快的解决今天网络拥堵、到账缓慢的问题。于是我们提出了MPoS共识算法。这种共识算法的特点是:采用主节点的方案,取代了EOS21个超级节点,降低了节点加入门槛,只要拥有2万个以太零和一台云服务器,便可以成为主节点并拥有自治社区的投票权。

以太零的MPoS共识算法,借鉴了以太坊的Clique共识机制,出块只能由可信签署人完成。各个节点看到的每个块都可以与可信任的见证者列表进行匹配。在实现中,采用的系统智能合约来保障维护一个可以及时更改的授权见证者列表,每一轮次的维护授权见证者列表的协议包含在区块中。同时将节点的签名放入区块头的ExtraData部分,这将允许任何获得一个区块的节点可以根据授权见证者的名单对其进行验证。 使区块头中的矿工地址的字段作废,从另外一个角度增加了主节点账户的安全。下图解释了我们的区块存储情况:

为了保证授权见证者的列表是动态随机变化的,采用了区块的Hash值来和主节点ID进行计算并根据计算结果进行排序,保证了见证者列表的不可预估和随机性,同时也保证所有节点计算结果的一致性。

授权策略

只要见证者符合上述规范,他们可以授权和分配他们认为合适的块, 通过采用以下策略减少网络流量和分叉:

  • 计算下一个块的最佳签名时间(父+ BLOCK_PERIOD)。
  • 若轮到了,等待准确的时间到达,立即签名和广播。
  • 若未轮到,则延迟 rand(SIGNER_COUNT * 500ns)的时间签名。 这个的策略将确保当前轮到的见证者对签名和传播相较外转见证者有稍微的优势。

3、面临的挑战

以太零公链目前的出块时间是1s出一个块,需要进一步考虑EVM在执行智能合约时的状态读取速度。比特币体系中,在比特币网络的交易延迟问题上从来不会考虑比特币脚本的执行时间,主要是因为比特币脚本是非图灵完备的,实现的功能单一。而以太坊是采用的账户模型,其本身是一个状态机并支持图灵完备的智能合约,比起比特币脚本来说非常强大,以太坊底层的WorldState 采用MPT(Merkle Patricia tree)记录整个状态的变迁。以太坊的EVM在执行智能合约时很大一部分耗时是花费在读取WorldState上面。

下面这张图描述了MPT状态树根散列的存储情况

 

由于这种独特的数据结构会随着记录的交易量的增加,每读取一个特定的值与底层数据库交互次数会以O(n)的次数增加,这些访问不是顺序存储,而是离散随机存储,底层leveldb在面对这样大量的读取时,性能表现十分低下。优化智能合约执行时对状态读取的整体性能,提升网络的处理速度和稳定性,也是以太零下一步的目标。

4、MPOS共识算法的优势

DPOS对去中心化的伤害太大,为了保障其出块速度,超级节点的参与者必须要付出巨大的成本,这样就隔离了大部分的用户。以太零的MPoS共识机制,从性能、去中心化、和安全性这个不可能三角中找到了一个更好的平衡点。从性能上来说,我们只用了EOS近百分之一的成本,便达到了1400+的TPS,几乎与EOS性能相当,完全能够满足目前DAPP应用的正常运行。以太零极大的降低了加入门槛,让几乎所有人都能参与到区块链的实践中来。

安全性方面,PoW共识中,算力的过度集中,让51%的算力攻击隐患加重,而在以太零网络,想要发动攻击,必须要控制整个网络51%的主节点,才能达到篡改交易的目的。随着主节点的不断增加,以太零网络的安全性也将进一步提升。

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值