区块链没成规模。至少现在没有。但还有希望。
第一张比特币论文于2008年首次发行。
去中心化的数字货币,曾经只是一个遥不可及的目标,现在终于进入主流。虽然这本身就很令人兴奋,但我个人对去中心化应用的潜力感到最兴奋。金融交易所、预测市场和资产管理平台都蕴藏着巨大的潜力。
身份验证系统、智能财产、免除审查的社交平台,以及像DAOs这样的自主结构和治理模型都耐人寻味。最具颠覆性的用例可能还没有出现。
但在可预见的未来,这个仍然是一个梦想——虽然一些早期的爱好者和企业家正在尝试构建这样的应用程序,但仍然有一个很大的缺陷阻止我们看到这些应用程序的实现:可拓展性。如今,区块链的规模有限。
这并不是说永远都是这样,但今天肯定是这样。事实上,我认为这是我们今天面临的区块链技术最大的障碍之一。
为什么区块链不能扩展?
目前,所有区块链共识协议(如。比特币(Bitcoin)、以太坊(Ethereum)、瑞波 (Ripple)都有一个具有挑战性的限制:网络中每个完全参与交易的节点都必须处理每一笔交易。回想一下,区块链有一个固有的关键特征——“去中心化”——这意味着网络上的每个节点处理每个事务并维护整个状态的副本。
虽然分散化共识机制提供了一些关键的好处,比如容错、安全、政治中立和真实性的有力保证,但它是以可拓展性为代价的。区块链可以处理的事务数量永远不能超过参与网络的单个节点的数量。实际上,区块链实际上会随着更多节点被添加到其网络中而变得更弱,因为节点间延迟会随着每个节点的增加而对数地增加。
在传统的数据库系统中,可伸缩性的解决方案是添加更多的服务器(即计算能力)来处理添加的事务。在分散的区块链世界中,每个节点都需要处理和验证每个事务,它需要我们向每个节点添加更多的计算才能使网络更快。由于无法控制网络中的每个公共节点,我们就陷入困境。
因此,所有以这种分散方式运行的公共区块链共识协议都在低事务吞吐量和高度集中之间进行权衡。换句话说,随着区块链的大小增加,完全参与网络所需的存储、带宽和计算能力的需求也会增加。在某种程度上,它变得非常笨拙,以至于只对少数节点处理一个块是可行的——这导致了集中化的风险。
为了进行扩展,区块链协议必须找到一种机制来限制验证每个事务所需的参与节点的数量,同时又不丧失网络对每个事务有效的信任。它可能听起来很简单,但在技术上非常困难。为什么?
由于不允许每个节点验证每个事务,因此我们需要节点具有统计和经济手段,以确保其他块(他们没有亲自验证)是安全的。
必须有某种方法来保证数据的可用性。换句话说,即使一块看起来有效的从一个节点没有直接的角度确认块,使得数据块不可用导致网络中的情况没有其他验证器可以验证事务或产生新的块,我们最终停留在当前状态。(一个节点可能会离线的原因有几个,包括恶意攻击和断电。)
为了实现可伸缩性,需要由不同的节点并行处理事务。然而,区块链上的转换状态也有几个不可并行的(串行)部分,因此我们在平衡并行性和实用程序的同时,如何在区块链上转换状态时面临一些限制。
(未完待续......)
网友评论