Thunderella论文阅读
文章目录
【注意】最后更新于 May 30, 2018,文中内容可能已过时,请谨慎使用。
今日终于读完了Pass和Shi发表在欧密上的论文《Thunderella: Blockchains with Optimistic Instant Confirmation》,学习了很多,但依然迷惑很多。
这篇论文中实际包含了很多知识点,比如作者之前的《Hybrid consensus: Efficient consensus in the permissionless model》,《The sleepy model of consensus》以及《Fruitchains: A fair blockchain》。当然还参考了很多前辈的思想,比如Dolev和Strong的《Authenticated algorithms for byzantine agreement》等等非常多内容。 我在这列举以上这几篇论文的主要目标是我进行后续研究的时候回首先阅读这几篇论文。 由于本人科研功力一般,而且并不是非常透彻的阅读了文章,以下想法难免存在错误,有感兴趣的欢迎和我一起探讨。 文章主要的内容是提出了Thunder和Ella俩个协议,来实现网络状况良好的时候($\frac{3}{4}$的诚信节点)来达成快速确认,否则的话就是用区块链协议来保证稳定性和安全性。
理论
文章提出了几个指标,用来表示区块链的特性,包括 1. ($T,g{0},g{1}$)-chain growth,用来表示区块的生成速度,在此处我认为是交易打包写入区块链的速度。 2. ($T,L,\mu$)-chain quality,这个的含义就是交易中的大部分都得到了诚信节点的确认 3. T-consistency,是为了保证区块一直是连续的。 4. liveness,我个人理解是区块链中诚信节点占据的比例,整个网络的安全性(活性) 5. responsiveness,就是指节点针对请求的响应速度
文章还有对交易的截取,但是这块内容还有待深入了解,暂且搁置。
场景
文章对目前的区块链的多种应用场景都进行了分析,主要包括permissioned, classical 和sleepy environment,这两种都可以理解为联盟链,但是sleepy模型会比classical模型更宽泛一些。文章还对permissionless环境进行了分析,将目前的Pow和Pos算法都应用在这个模型中,具体的结合我们下一节讨论。
结合
文章的重心就是如何结合,这块我也是看的最头大的地方,本身对混合共识理解不够深刻,也看不太明白作者的一堆术语,只能做一个大体的总结。
Thunder
Thunder协议是为了达成一致的协议,也是主要的协议部分。它主要控制交易的共识的阶段,有optimistic path,grace path ,interim path等,在这不同的阶段需要靠协议来完成切换,具体的切换方式好复杂好难理解啊! 初次之外,如果Thunder协议发现一些交易一直无法通过,就认为网络可能会存在问题,交由底层的区块链网络去达成共识。
Ella
本协议我认为相对比较简单,是Thunder的补充与辅助功能。为了让Thunder的效率更高,需要进行类似于委员会选举,领导人选择等功能。这些功能都会在Ella协议中完成。
应用
很明显,我在阅读过程中并没有看懂如何将协议和底层区块链网络联系起来的,只能知道选择股权或者最近矿工来作为委员会,对于有权限网络由于节点数目有限,就可以考虑使用随机函数进行选取。
结论
本来我考虑着看完论文进行程序仿真,但是发现论文太高深,很难理解,而作者本人主页上也表明目前的计划是实现Thunderlla,所以我还是先把其他论文内容读完在做下一步打算吧!