wiki icon indicating copy to clipboard operation
wiki copied to clipboard

Create 初链黄皮书解读_jid.md

Open jid007 opened this issue 6 years ago • 0 comments

1 初链介绍

初链是基于以太坊开发创新的一条公链。在黄皮书中初链的定义是高性能去中心化的公开账本。而这个所谓的高性能去中心化是怎么实现的呢?黄皮书中介绍了初链共识协议的初步设计和一些其他技术细节。其中的共识协议就保证了初链的高性能及去中心化。

2 混合共识协议

初链将一种改进版的PBFT(实用拜占庭)和POW(工作量证明)共识结合在一起,故称其为混合共识协议。混合共识机制允许其最大限度的容忍1/3对等节点的腐败。这种结合能使两种共识的优良特性得到最好的提现,从而优势互补,各取所长。

2.1 (实用拜占庭共识)PBTF

PBFT的通讯效率足以支持10000-100000的TPS能力,这个效率要比以太坊和比特币大很多了。因其极高的处理效率,PBFT在初链中承担一种具有瞬时处理高吞吐量事物,交易验证,公平交易贸易委员会的成员轮值功能的高效共识机制,以及作为一种补偿基础设施去处理不同的基础设施。

2.1.1 PBFT处理请求的步骤

image

  1. 从全网节点选举出一个主节点(Leader),新区块由主节点负责生成
  2. Pre-Prepare:每个节点把客户端发来的交易向全网广播,主节点0将从网络收集到需放在新区块内的多个交易排序后存入列表,并将该列表向全网广播,扩散至123
  3. Prepare:每个节点接收到交易列表后,根据排序模拟执行这些交易。所有交易执行完后,基于交易结果计算新区块的哈希摘要,并向全网广播,1->023,2->013,3因为宕机无法广播
  4. Commit:如果一个节点收到的2f(f为可容忍的拜占庭节点数)个其它节点发来的摘要都和自己相等,就向全网广播一条commit消息
  5. Reply:如果一个节点收到2f+1条commit消息,即可提交新区块及其交易到本地的区块链和状态数据库。

2.2 (工作量共识)POW

POW即通俗所说的挖矿。其优点是完全去中心化,节点自由进出。POW共识确保了激励和委员会的选举,从而最大可能保障委员会成员不受外围控制或袭击。但是其缺点也是显而易见的。其面临的最大问题是效率问题和可扩展性,使其不适合开发复杂的应用程序,并且造成能源的过度消耗。
在POW中,矿工的算力越大,越容易挖到矿,那么将导致矿石都被算力大的矿工挖走了,算力小的矿工基本上挖不到矿,只能白白浪费资源。并且算力大的矿工可以在挖到矿之后不上链,继续挖到更多的矿之后再通知大家上链,这样的情况会导致其他矿工在这个点上挖到的矿链将有可能被废弃掉,从而保留他当前最长的那个链。这样同样会导致很高的资源浪费,这种做法称之为自私挖矿。

2.3 水果链(FPOW)

为克服POW的弊端,初链引入水果链技术。水果是块的一部分,其挖矿难度远小于块。矿工挖到水果后,会将水果放到一个水果池(fruit pool)中,待到挖到块(block)后,便从水果池中取出水果放置在区块中,区块进入委员会进行确认,达成共识就上链。 水果存在一定的保鲜期,如果超过保鲜期还未放置到块中便会过期,这样就能有效的避免自私挖矿问题。

jid007 avatar Sep 13 '18 15:09 jid007