共识算法
文章平均质量分 92
TurkeyCock
这个作者很懒,什么都没留下…
展开
-
Algorand抽签算法详解
Algorand是图灵奖得主Micali教授提出的一种新的共识算法,论文地址: https://people.csail.mit.edu/nickolai/papers/gilad-algorand.pdf 和目前流行的DPOS+BFT共识相比,最主要的创新是将proposer和validator的选举随机化: proposer:根据随机数选出26个左右的proposer,从...原创 2018-07-31 16:42:57 · 5688 阅读 · 2 评论 -
PBFT实用拜占庭容错算法深入详解
PBFT即实用拜占庭容错算法,由Miguel Castro和Barbara Liskov在1999年提出,可以在作恶节点少于三分之一的情况下,保证系统的正确性(避免分叉)。与原始的BFT算法相比,算法复杂度从指数级降低到了多项式级,从而使得BFT算法的实际应用成为可能。实际上,Tenermint就是PBFT的一个简化版本的实现。基本概念首先了解一下几个基本概念:(从区块链的视角)...原创 2018-08-14 19:12:23 · 13235 阅读 · 9 评论 -
V神的99%容错共识算法详解
最近V神发了一篇博客,提出了一种能99%容错的共识算法,引发了大家的广泛思考。原文地址: https://vitalik.ca/general/2018/08/07/99_fault_tolerant.html 众所周知,在同步网络中,容错率可以达到50%(这就是51%攻击的来源)。而在异步网络中,容错率则下降到33%(如PBFT要求拜占庭节点比例小于1/3)。V神提出的这一共识算法容错率...原创 2018-08-22 14:37:44 · 2250 阅读 · 0 评论 -
同步系统和异步系统容错率的思考
经常听到有文章引用下面这句话:在同步系统中容错率可以达到50%,而在异步系统中容错率下降到33%。 那么问题来了,到底什么是同步系统,什么是异步系统?同步系统(Synchronous System)援引《Introduction to Reliable and Secure Distributed Programming》第46页中的权威定义: 1. Synchronous com...原创 2018-08-17 17:33:14 · 2241 阅读 · 0 评论 -
发现Tendermint一个价值5000美金的BUG
这段时间在研究Tendermint的共识机制,偶然发现了其中一个BUG,proposer在创建区块时先进行了分片,然后才把拜占庭节点作恶的证据添加进区块: 分片是为了把大区块分成多个64KB的小块,便于网络传输。而拜占庭节点作恶证据则是上层app对作恶节点进行惩罚的凭证。如果没有这种惩罚机制,节点作恶就没有任何成本,可以通过发起大量冲突投票使得网络瘫痪。 我根据git日志中的信息给Tend...原创 2018-09-05 18:13:38 · 755 阅读 · 7 评论 -
Snowflake to Avalanche:一种新型的亚稳态共识协议族
该论文于2018年5月首次披露,提出了一种基于亚稳态机制(metastable)的共识协议族。作者是一个神秘团队Team Rocket(火箭队?)。所谓亚稳态,是指系统在某段时间内处于稳定状态,但在另外一段时间内可能是不稳定的。稳态代表了系统的最低能量点,而亚稳态则是一个局部的而非全局的最低能量点。以下图中的小球为例,如果用比较小的力推小球,则会停留在位置1这个亚稳态上,而如果用比较大的力...原创 2018-09-05 18:24:54 · 2213 阅读 · 8 评论