在当前,区块链陷入了去中心化、安全性和扩展性的三重困境。这三者,要解决其中的两者必然会削弱第三者。这是一对无法调和的矛盾。那有没有一种技术能够在解决其中两者的情况下尽可能减小对第三者的削弱呢。分片可能会是一个比较好的解决办法。
简单来说,分片的就是将一个大任务拆分为多个可以并行处理的小任务,从而提升性能。
听起来可能还是有点糊涂,没关系,我们继续往下详细的来说明。
以以太坊最近在研究的分片技术举例说明。这里为了方便理解,老马自己简单的画了一张图来清晰的描述一下。
我们把以太坊的网络分为两部分,左边一部分L1为现有的以太坊主链,右边一部分L2为各个分片,他们各自是一个独立的账户空间。
每个分片有专门的节点来维护,就相当于一个个独立的区块链,每个分片将自己的记录汇总(这里指摘要)发给主链。主链收集各个分片的摘要,然后生成主链区块(N+1)。但是主链收集的是摘要而不是具体的交易细节。
这样做的好处有两点,一是通过引入独立分片来分担主链的压力,分片可以提高并行处理能力,以此来提升整个系统的吞吐能力。二是由于主链只需要保存摘要,无需保存所有的交易细节,这样可以减轻每个区块的存储空间压力。
其实仔细看一下,以太坊的分片技术实际上是集成了侧链和比特币隔离见证的思路。每个分片相当于侧链,只不过分片是在链上来完成。主链只收集摘要而不是全部交易细节,实际上也是借鉴了隔离见证的思路。
Zilliqa的分片技术跟以太坊类似,只不过Zilliqa的所有分片都是工作在主链上的,这样做的好处是在保证去中心化的前提下还能够提升系统的吞吐能力。但是由于区块要保留所有的交易细节,并没有解决区块存储空间占用过大的问题。
欢迎关注老马公众号,文章发布,微博和微信公众号同步更新
在这里,学习的是知识,收获的是财富!
领取专属 10元无门槛券
私享最新 技术干货