之前我们说过,中本聪在创造
比特币并没有预料到比特币今天的火热,将区块大小限制在 1MB。这一点导致了比特币网络理论上每秒最多可以处理 7 笔交易。而现在,每秒7笔交易的处理速度已经明显无法满足用户需求,扩容问题引爆了整个比特币社区,甚至还导致了社区的分裂。
为了解决扩容问题,全世界
区块链技术人员提出了众多解决方案。扩容问题的核心是,理想状态下,区块链设计者希望区块链(尤其是公有链)有着与比特币和
以太坊相近或更好的安全性,但同时又不希望网络里每个节点都要处理超过一定比例的交易。换句话说,我们需要一种机制,来限制验证交易的节点数量以提高吞吐量,同时又保证网络里的每笔交易都是合法可信的。这听起来很容易,但在技术上非常困难。
目前较为流行的方案包括此前我们讲过的链下交易(Off Chain)、分片(Sharding)、链下计算(off-chain computation)、有向无环图(DAG)等。今天为大家介绍分片技术。
分片(Sharing)其实是一种传统数据库的技术,它将大型数据库分成更小、更快、更容易管理的部分。在区块链网络中,分片是将网络中的每个区块变为一个子区块链(100个),子区块链中可以容纳交易数据,并最终组成一个在主链上区块。用V神的话说,“每个分片都像是个独立的银河:它具有自己的账户空间,交易需要指定它们自己应该被发布到哪个分片中,并且分片间的通信是受限的。”
这样,每个区块的交易容量就大概扩大了100倍;而且这种设计还有利于未来的继续扩展,整个扩展计划目前也被大致分为4个阶段:在进行第一阶段的分片之后,
第二阶段为two-way pegging,即双向限定;
第三阶段,选项a :将collation header作为uncle加入,而不是交易;
第三阶段,选项b :将collation header加入一个数组,数组中的元素必须为分片的collation header或者空字符串,并且额外的数据必须为这个数组的哈希(软分叉);
第四阶段(tight coupling,即紧耦合):如果区块指向无效或不可用的collation,那么区块也将变为无效;增加数据可用性证明。
总体来说,分片的思想是把区块链的整体状态分割成不同的“片”,每部分状态都由不同的节点存储和处理。每个分片都只处理整体状态的一小部分,因此可以做到并行处理。区块链分片就像传统数据库的分片一样,但还需额外考虑如何在去中心化的节点集合里维持安全性和合法性。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。