Zilliqa—分片技术解决区块链可扩展性难题
中本聪发明的区块链,开启了交易去中心化的先河。分布式节点共识模式下的交易,让传统金融交易中心的诸多不透明操作无处遁形,这让比特币短短十年不到的时间里,从几十个比特币换一个披萨,上涨到单个比特币价格超过2万美元。这罕见的增值速度,体现了以比特币为代表的区块链技术在人类社会走向下一个革命性跃进的时代进程中,必将担当基础而颠覆的作用。比特币虽好,用的人多了,节点共识力量大了,却发现网络越来越拥堵了。时至今日的网络规模,比特币每秒能够处理完的交易已经下降到7笔,对比VASA日常每秒8千笔的及交易速度,法承载大规模商业交易运算,就无法大规模投入到现实应用。可见快速交易的问题是区块链成为更普遍的应用的主要掣肘之一。这也成为了当下大部分公链的目标。然而大部分项目的解决方案都是需要一定程度牺牲区块链网络的安全性或者去中心化性能。
ZILLIQA的目标是在在不牺牲安全性或分散性的情况下,实现延展性的区块链协议。
核心技术:
ZILLIQA的核心在于分片(Sharding)技术。在我的前一篇分析中提到过一种提高系统可扩容性的Plasma智能合约方案,该方案类似于法庭系统,其安全性依赖于与第一层根链的定期通信来保证,本质上是一种第二层的方案。而分片技术是一种层一的解决方案,在底层的通信中,将任务分片化,所有节点分组化,将分片的子任务交给不同的分组即shards,并行处理,最后将shards的处理结果组合起来,得到原始任务的处理结果。
这种思维和电信技术中的分组交换很相似,都是将任务分割成小组,然后小组逐个发送出去处理。不同之处在于,电信分组交换中,传送这些分组信息的网络总带宽是一定的,更高的处理速度受限于网络带宽。而分片技术的处理对象是任务,处理者是分组shards,因此,ZILLIQA网络在线节点数越多,就相当于电信网络带宽越大,并行处理就越快,吞吐量也越高。 这与比特币为代表的绝大部分区块链公链正好相反,把需要全网节点依次确认带来的耗时问题变成了全网节点并行干活的规模红利。
核心技术
ZILLIQA的核心在于分片(Sharding)技术。在我的前一篇分析中提到过一种提高系统可扩容性的Plasma智能合约方案,该方案类似于法庭系统,其安全性依赖于与第一层根链的定期通信来保证,本质上是一种第二层的方案。而分片技术是一种层一的解决方案,在底层的通信中,将任务分片化,所有节点分组化,将分片的子任务交给不同的分组即shards,并行处理,最后将shards的处理结果组合起来,得到原始任务的处理结果。
这种思维和电信技术中的分组交换很相似,都是将任务分割成小组,然后小组逐个发送出去处理。不同之处在于,电信分组交换中,传送这些分组信息的网络总带宽是一定的,更高的处理速度受限于网络带宽。而分片技术的处理对象是任务,处理者是分组shards,因此,ZILLIQA网络在线节点数越多,就相当于电信网络带宽越大,并行处理就越快,吞吐量也越高。 这与比特币为代表的绝大部分区块链公链正好相反,把需要全网节点依次确认带来的耗时问题变成了全网节点并行干活的规模红利。
安全机制
Zilliqa采用POW的共识机制,但该共识不是针对每一笔链上事务的共识,而是选举DS委员会的机制。此处也有减少耗能的好处暂不赘述。DS委员会是一批专门节点,负责处理节点身份验证、加入网络、和监督分片过程。DS委员会不是一成不变的,而是在一个DS周期中,根据先进先出原则,将当前网络中最快解决POW的节点引入网络,替换掉一名老成员。以此保证委员会团队的廉洁性。DS委员会确定后,便启动分片程序,网络中的所有其他节点根据另一个POW程序提交的最后几位二进制数字,被随机分配到特定的shard,该POW过程,可以防止女巫攻击。每个片区会有一个领导节点,领导节点是根据shard内节点完成任务的情况,按序每个节点来轮流担当。当前作战任务完成后,领导节点总结并汇报后,下一位领导节点当选并带领组内节点继续完成下个任务。这样来防止领导节点的长期权利带来的弊端。如果领导节点是诚实的,就可以根据实用拜占庭容错(PBFT)协议(即每轮微块通过预准备阶段、准备阶段、提交阶段,收到超过三分之二节点签名即可完成),不断推动分片中的节点就新的交易达成协议。如果领导节点是有意地延迟或丢弃来自诚实节点的消息,妨碍任务的完成。协议也会在下个DS周期,更改分片的领导节点,防止拜占庭领袖在无限期的时间内拖延共识协议。Zilliqa根据不同分片大小中至少三分之一的成员是恶意的概率, 将最小分片大小定位为600,恶意节点概率降至百万分之一。以此限制了恶意攻击者的总计算能力。
此外,Zilliqa根据交易的发送者地址的不同,将交易分到不到的片,这确保了一笔交易不会再两个shard内处理,从而规避双花交易,且不需要进行shard间的通信。
项目团队
CEO董心书(图1)大学毕业于华东师范大学,CTO贾瑶琪(图3)大学毕业于华中科技大学,二人都是新加坡国立大学博士, 导师是Zilliqa项目的首席科学顾问Prateek Saxena(图2)。国际上第一篇关于分片技术在区块链上的应用的文章,就是Prateek Saxena和团队顾问Loi Luu一同发布的。可以看出项目团队是一个科研实力和内部凝聚力都很强的团队。
发展现状
Zilliqa项目在2017年8月发布白皮书,原计划在17年12月发布公共测试网。但是不知道是什么原因,推迟了3个月,直到18年3月31日,发布了第一版驻网测试版本,代号“红虾”(Red Prawn)。依然成为了全球第一个实现分片技术的区块链公链。不过一个月后,4月30日,V神在Twitter上分享了一组12个分片模拟图像,并表示“分片将至”,同时在github上更新了技术代码。可见分片技术在业内已经得到了广泛的认可。Zilliqa团队作为该项技术的先行者,无疑具备一定的先发优势和技术储备。当然竞争者的追赶,也会给团队的应用落地时间表造成一定压力。