在分布式领域,有个著名的CAP定理:分布式系统无法同时确保一致性(Consistency)、可用性(Availability)和分区容忍性(Partition),设计中需要弱化对某个特性的需求。
CAP原理认为,分布式系统最多只能保证三项特性中的两项特性。
区块链本质上是一个去中心化的分布式账本数据库,它也存在"不可能三角"。今天,我们就来讲讲"不可能三角"在区块链世界是如何权衡和妥协的。
01
区块链中的"不可能三角"
去中心化、安全和高性能构成了区块链的"不可能三角",在设计中无法将三个特性同时达成,只能符合其中两个。
去中心化是拥有大量参与区块生产和验证的节点,一般节点的数量越多,去中心化程度越高。
安全性是获得网络控制权需要花费的成本,通常在共识机制的设计中锚定现实世界的资产,例如工作量证明机制(PoW)锚定的是算力。
交易性能就是每秒处理交易的笔数(TPS)。造成区块链性能低下的主要原因是每笔交易都要在所有节点上达成一致。
02
面对"不可能三角",主流项目是如何妥协的
主流区块链比特币、以太坊、EOS都在"不可能三角"的某个特性上做了妥协。
比特币牺牲了性能特性,满足了去中心化和安全的设计需求。目前攻击比特币所需的代价是所有PoW公链中最高的。随着ASIC矿机自身的更新换代和新矿机持续地加入,均能不断提高全网算力。
以太坊2.0将采用权益证明(PoS)共识机制。在以太坊网络上,不但可以转账,还可以运行智能合约,应用场景更复杂,但目前以太坊性能低下,更容易发生拥堵。
EOS作为区块链应用平台,经常被外界指责有中心化的嫌疑。EOS采用的是代理权益证明(DPoS)共识机制,21个超级节点负责记账、出块,现在EOS主网TPS最多可达到四千多。因为节点数量少,所以在三大公链的"去中心化"方面,最容易被外界质疑。
03
小结
实际上,区块链的"不可能三角"并不是经过严格论证而得出的结论,它只是对各公链实际运行状况作出的总结。
希望随着区块链技术的进步,可以将"不可能三角"变为可能。
你觉得"不可能三角"有可能变成可能吗?