Snowflake to Avalanche:一种新型的亚稳态共识协议族

阅读更多

 

共识协议的发展

分布式网络系统在处理交易或者是存储数据时,最重要的一点就是网络中的节点对共识结果的达成。图灵奖的牛人Leslie Lamport早在1982年发表了“The Byzantine Generals' Problem”,提出了在分布式网络不可信任的环境下在达成共识,得需要三分之二的节点达成共识才能保障系统的可用。而后Leslie提出了经典共识协议来提高整个网络的交易速度,这在当时有着跨时代的意义。但是经典共识协议有两个明显缺点

1、整个网络中的节点数量不能超过1000个,因为节点越多通信成本越高,基本上是节点数量的二次方。

2、节点之间必须得互相知道其他人是谁。

再后来到了2008年,中本聪提出了全新的共识协议。在中本聪共识协议中分布化与自由度得到了极大的提升。在这个网络中,任何节点都可以随时加入随时离开。任何人都可以成为矿工提交区块。但是中本聪也深知网络的无权限接入会导致网络的不安全性和危险性大幅增加。所以在交易生成验证上采用了工作量证明。在某种意义上是实打实的把现实的资源与能源转换为了比特币的价值。所以在达成共识这一块比特币确实是做到了,通过非人为因素的计算结果来使得全网节点达到统一,不过缺点也是明显的,那就是交易速度过慢,成本过高。而雪崩协议结合了前两者的优点,在全球范围内结算只需要大约2秒钟。每秒可处理1000–10,000个交易。整个网络无需就节点参与者是谁达成一致。最重要的是协议是绿色环保的,它不会浪费任何能量,并且没有特殊的矿工生态系统。

核心理念:亚稳态

“亚稳态是Avalanche协议的一个主要原理,它是通过传递“信任阈值”来达成共识。这种信任阈值通过网络传播,结构化和验证信息。亚稳态通常在高可用性数据库中可以看到达到共识结果的法定人数,其中还包含有助于系统快速达成共识的其他结构信息。为了有效地在网络上传播信息,单个节点将信息x传播到n个节点的网络中的法定数量k个节点,然后又将x传播到另一个法定数量k个节点。在分散系统中,对于接受和验证信息x是会存在相反意见的,人们希望协议的信任阈值的大小值是整个K节点中有超过2/3k的多数节点。因此,与传统的基于八卦的共识协议的显着区别在于亚稳态通过法定节点数量传播信息,而不是通过单个节点之间互相传播信息,从而保持整体较低的通信成本”。-------以上的话是出自perlin的白皮书中关于亚稳态诠释片段,我选择了一些简要部分综合而成。其实perlin中也是对这一机制做了简要阐述而已,真正的全部原理诠释在今年五月份Gun教授与匿名团队Team Rocket(还以为是神奇宝贝的火箭队)合作发表的文献中“Snowflake to Avalanche: A Novel Metastable Consensus Protocol Family
for Cryptocurrencies”。可能你对于刚才上面的话不是特别能够理解,好在我在瑞士洛桑联邦理工学院毕业的Mohammed ElSeidy博士个人博客中找到关于Avalanche的一篇文章,里面简单解释了亚稳态信息传递达成共识的过程。那么我们在下面尽量用简单的话语去诠释这个机制。

Snowflake to Avalanche:一种新型的亚稳态共识协议族_第1张图片


上图就是一个基于Avalanche协议的公共网络,一个节点随机向5个节点传递一个指令信息。而这5个节点就是上述的法定数量k节点。这5个节点收到的指令是在两个颜色(红蓝)中选择一个。

Snowflake to Avalanche:一种新型的亚稳态共识协议族_第2张图片Snowflake to Avalanche:一种新型的亚稳态共识协议族_第3张图片

5个节点随机表示自己的结果,在发送信息节点的角度上来看,它所看到的5个节点共识结果肯定是非红即蓝。所以在这个规定数量节点k(5)中,发送信息的节点所达成的共识结果就是红色。结果选择之后的节点在后续的过程不再改变。

 

然后整个网络的节点一直重复此过程,这有点像是一个采样过程。该协议的核心思想就是在达成共识过程中一直重复这个采样过程。

在两轮或者三轮之后网络节点的共识结果可能还是红蓝各一半,数量相差不大。但是这样打平手的几率会以指数方式衰减。因为整个过程是对于统一结果的倾向性越来越高,网络会自动感知颜色变为另一种颜色。并且这一结果变化将会在传递后期变化越来越快,直到整个网络颜色达成一致。

 

https://zhuanlan.zhihu.com/p/40110917

 

+

论文细节介绍详见

https://blog.csdn.net/TurkeyCock/article/details/82428552

你可能感兴趣的:(Snowflake,to)