bet365官方:PDX共识算法发布,能颠覆PoW、PoS吗?

发布时间:2019-06-01 19:15:10 来源:bwin线上娱乐-必赢app官网点击:36

  转过年来的币圈,明显回暖不少。消息面上,纳斯达克上线了BTC、ETH和XRP指数,摩根大通、FaceBook纷纷将发币提上日程;政策面上,美国怀俄明州颁布了13项区块链授权法律,中国两会期间,关于区块链的提案也不鲜见;行情上,从年初莱特币的大涨,到近期平台币的爆发,更是给了投资者最实质性的信心鼓励。另一方面,区块链的底层基础设施建设也并未停下步伐。今年1月底,PDX正式发布了PDX共识算法,并首创“双账本、非堵塞”共识架构。

  

  说到共识算法,这几乎是大家公认的区块链项目中最核心的部分,有分布式,就需要达成共识。

  区块链系统建立在去中心化的点对点网络基础之上,在整个系统中没有中央权威,并由共识算法实现在分散的节点间对交易的处理顺序达成一致,这是共识算法在区块链系统中起到的最主要作用。

  另外,与企业分布式系统不同,区块链系统中的共识算法还承担着区块链系统中激励模型和治理模型中的部分功能,包括每个区块中对哪些矿工进行激励发放、网络中所有交易手续费的结算和分配、区块链网络共识周期的切换等。

  但是另一方面,区块链的“不可能三角”也不得不重视。

  对于PDX而言,一个好的共识算法,应该是能够根据需要实现参数调整、自适应的共识算法,需要同时兼顾安全、公平、多数共识,又支持大规模、低延迟、高并发、高吞吐。但目前显然没有一个共识算法能够兼顾所有的指标,PoW不行,PoS不行,拜占庭容错算法也不行。

  对此,PDX创始人张建钢进一步解释到:

  “工作量证明算法(PoW: bet365Proof of Work),稳定性好、支持的规模较大,但是延迟很长、并发能力、吞吐能力很差,而且很容易被控制大量节点服务器的少数矿场把持,如果这些少数矿场共谋,就使得区块链的“可信”属性成为镜中花水中月了。

  工作量证明,偏向的是计算能力强的少数节点,权益证明算法(PoS: Proof of Stake)偏向的是拥有数字资产(通证)多的少数节点。这不但对大多数的“穷人”节点不公平,而且这事实上有违区块链的多数共识的基础。少数的“富裕”节点,更容易共谋、多数的“贫穷”节点,可以捣乱。委托权益证明(DPOS:Delegated Proof of Stake)使生成区块的权利更集中,进而更容易共谋。

  实用拜占庭容错算法(PBFT: Practical Byzantine Fault Tolerance)或者其变种,因为需要多次的N个节点到N个节点的广播,即多个N2个广播,才能实现区块共识。其延迟、吞吐、效率都不好,支持的规模同样上不去。

  区块链上的节点服务器,一般是规模部署、分布式部署,甚至是全球部署。尤其是公有链的情况下,网络延迟、节点能力、节点可达性、安全环境等,都有很大的不确定性。设计一个安全、公平、多数共识,同时又支持大规模、低延迟、高并发、高吞吐的共识算法,是非常困难的,更不要说不同的场景应用,对规模、延迟、并发、吞吐等指标的取舍可能不同,甚至大相径庭了。”

  也正是基于这一考虑,PDX决定自行研发一套共识算法。

  PDX共识算法运用了区块链的如下2个特性:

  1、一个共识节点,如果接受了区块x,那么它就隐含的接受了链上所有x块之前的区块,所以并不需要显式的接受每一个区块,高效的异步、非阻塞的累积确认成为可能。

  2、多数共识节点是诚实节点,所以开心的报文中继、报文多播的可能的,这是的大规模、低延迟、高吞吐、负载均衡的有确定性的区块传播成为可能。

  主要原理如下:

  A、双账本、非阻塞

  PDX区块链共识算法,基于上述特性引入双账本共识架构。其中,标准账本,由包含交易及状态改变的标准区块组成。标准账本, 一直往前、无需等待确认。需要回滚时。比如由于裂脑并脑处理的需要或者多数共识的要求,标准账本即时回退。

  确认账本由包含区块断言和共识成员调整的确认区块组成。确认账本,按需实现区块的累积确认。标准账本中,每隔一个确认区间(用cfi表示),触发一次累积确认。

  

  B、每块不同、不可预知、即时确定的有限矿工群

  为了防范共识节点跨块共谋,每个区块的矿工必须是事先不可预知但即时确定的。这样每一个矿工和区块的影响才能不可预知并事实上可以忽略。要做到这一点,可以有很多方法, PDX共识通过公式选择区块X的m个矿工。

  

  对于区块X,其第r个矿工在共识委员会中的索引,通过如下公式计算:

  SHA3 (

  SHA3 (

  第 x – 2*dis*cfd 区块的区块哈希, // dis 是一个距离因子,默认是100

  … …

  第 x – dis*cfd - 1区块的区块哈希,

  第 x – (dis*cfd) 区块的矿工地址,

  … …

  第 x – 2 区块的矿工地址,

  第 x – 1 区块的矿工地址

  )

  岛屿ID, // 0 表示大陆, 否则是岛内共识委员会共识节点的SHA3

  上一个确认区块的哈希值,

  视图ID, // 计算区块X的矿工列表的尝试次数。

  r, // 矿工优先级, 0

  x, // 该区块高度

  )的前32位 % 共识节点数量

  这个区块矿工选择的公司,引入了足够多的变量,而且横跨足够多的区块区间,这使得相邻区块的矿工共谋事实上不可能。一个矿工事实上也不可能通过增减区块中的交易来实现跟下游区块矿工的共谋。

  如果一个区块的m个矿工都不能成功的提议标准区块或确认区块,下一批的m个矿工会自动选择,直到所有共识节点都被遍历。基于大多数节点是诚实节点的事实,整个区块链平台会及时、自动实现异常恢复。

  如果在区块确认阶段,所有矿工都是不诚实的, 那么收到或处理的区块断言可能不足,账本会回滚到上一次确认的区块。为了确保所有m个矿工都是不诚实矿工的可能性很低,必须选择合适的m(相对于n个共识节点)。因为区块矿工的选择不可预知,假定n个共识节点中的2/3是诚实的,一个区块的所有m个矿工都是不诚实的概率,粗算如下:

  P=[(n/3) /n] * [(n/3 -1)/(n-1)] * … *[(n/3 – m+1) /(n-m+1)]

  这个概率和n及m反向关联。如果图表是P=1/n时m和n的关联关系。只要m的选择满足P

  实践中,可以选择一个更大的m来极大的降低m个矿工都是不诚实(或不可达)的概率,比如P

  如图所示,在10000个节点时,m=10,就能做到所有这m个节点作恶的可能性远远小于0bet365.0001。

  C、 O(n)的区块确认复杂度,支持大规模、高性能

  在大于99.9999%的情况下,一个区块确认平均需要的报文数量是:[(cfi+2)*m /cfi*]n ≈ m*n, 即O(n)复杂度。而且,这个复杂度,和区块确认区间基本无关!

  D、标准账本,勇往直前

  

  E、异步、非阻塞、累积确认

  

  F、自动的裂脑、并脑处理

  

  G、还有其他一些技术措施,比如自动节点资格确认、防范女巫攻击、惩恶扬善机制。

  那么,PDX共识算法能颠覆POW、POS这些老牌共识算法吗?POW、POS、PDX共识算法的比较一览:

  bet365官方


bet365 bet365官方 bet365官方