区块链容错率详解:33%和51%攻击有什么区别
区块链容错率是多少
要说简单一点,区块链的容错率并非有着固定不变的值,它是由所采用的共识机制来决定的。最经常被提到的容错率为33%,意思就是能够容忍不超过三分之一数量的恶意节点。这个数字来源于经典的拜占庭容错理论,它是确保系统安全性以及活性的关键阈值。然而,像比特币、以太坊所采用的工作量证明,其容错率的逻辑又是不一样的。理解这个数值,能够帮助你更好地去判断不同区块链网络的安全底线。
为什么容错率是三分之一
这个来自分布式系统“拜占庭将军问题”的三分之一,在一个存在 n 个节点的系统里,若恶意节点数量是 f ,那么要让系统达成共识,就得确保在任何情形之中,诚实节点彼此关联沟通都能够构建多数派。经数学推导得出,只有当 N 大于等于 3f 加上 1 时,系统才能够安全运作。也就是说,最多允许 f 等于 (N 减 1) 除以 3 个节点去作恶,所以容错率就是 f 除以 N ,大约等于 33%。一旦恶意节点超出这个比例,它们就有可能联合起来欺骗诚实节点,去篡改交易历史。
51%攻击和容错率什么关系
有不少人会将33%容错跟51%攻击弄混,实际上,33%容错主要是针对节点数量而言的,常被应用于权益证明或者联盟链。然而,51%攻击专门指的是工作量证明区块链,其针对的是算力。在比特币当中,只要攻击者把控了全网超出50%的算力,便能够达成双花攻击。这里容错的是“算力”,并非“节点数”。你能够理解成,在比特币的世界范围里,系统所能容忍的恶意算力上限是49%,一旦突破50%,安全模型就会失效。
不同区块链容错率一样吗
联盟链如Hyperledger Fabric这类,常运用PBFT类共识,其容错率严格维持在33%。而比特币、以太坊(PoW阶段)的容错率理论值是50%(算力)。不过以太坊转PoS后,其Casper共识又把容错逻辑拉回到节点层面,惩罚机制更严格,理论上对作恶行为的容忍度更低,这是不一样的。另外存在像EOS这类运用DPoS的情况,仅仅是由21个超级节点去生产区块,万一大部分超级节点出现恶行违背规则的状况,那么系统就会产生问题,它的容错概率是取决于节点选拔的治理质量的,并非是那种固定不变的数学计算公式。
当你处于选择去使用或者投资一个区块链项目的状况时,会更加侧重于它那33%的节点容错情况,还是50%的算力容错情形呢?欢迎于评论区去分享你自身的观点,点个赞以便让更多的人能够看清区块链的安全真相。