找回密码
 立即注册

扫一扫,登录网站

首页 区块链生态 查看内容
  • 17098
  • 0
  • 分享到

分片技术成解决区块链扩容问题最佳解决方案?

2018-5-8 23:10

来源: Captain Hiro

什么是状态分片


状态分片带来了新的挑战。事实上,状态分片是迄今为止最具挑战性的分片技术提案。

继续使用我们的基于账户的模型(我们暂时不在我们的例子中引入智能合约),在一个状态分片的区块链中,一个特定的碎片只会保留一部分状态。例如,如果我们有两个碎片和两个用户帐户,分别为Alice和Bob,那么每个碎片将保留一个用户的余额。

假设Alice创建了一笔交易,她将支付Bob一笔钱。这笔交易将由第一个碎片进行处理,一旦该笔交易被验证,关于Bob的新余额的信息就必须与他所在的碎片进行共享。如果两个受欢迎的帐户由不同的碎片进行处理,那么这可能需要进行频繁的跨碎片通信和状态交换。确保跨碎片通信不会超过状态分片的性能收益仍然是一个值得公开的研究问题。

减少跨碎片通信开销的一种可能方法,是限制用户进行跨碎片交易。以我们上面的例子来说,这就意味着系统不允许Alice直接与Bob进行交易。如果Alice必须与Bob交易的话,她将不得不在那块碎片中占有一个帐户。虽然这确实消除了任何跨碎片通信,但它可能会限制平台的可用性。

状态分片的第二个挑战是数据的可用性。我们可以考虑这样一个场景,由于某种原因,一些特定的碎片遭到了攻击而导致其脱机。由于碎片并没有复制系统的全部状态,所以网络不能再验证那些依赖于脱机碎片的交易。因此,在这样的情况下区块链基本上是无法使用的。解决此问题的方法是维护存档或进行节点备份,这样就能帮助系统进行故障修复以及恢复那些不可用的数据。但是,这样就使得节点将不得不存储系统的整个状态,因此这还可能会引发一些中心化的风险。

我们在任何分片机制(当然不是特定于状态分片)中需要考虑的另一个要点是,确保碎片在抵御攻击和失败时是具有弹性的;  网络必须接受新的节点并以随机的方式将这些分配给不同的碎片。换句话说,网络必须在一段时间内进行节点的重新分配。

然而,在状态分片的情况下,重新分配节点是非常棘手的。由于每个碎片只保留了状态的一部分,所以在一次重新调整网络的过程中,在同步完成前可能会出现导致使整个系统失效的问题。为了防止系统的中断,我们必须对网络进行逐步调整,以确保每个碎片在所有节点被清空前仍有足够多的旧节点。

类似地,一旦一个新节点加入了一个碎片中,系统就必须确保该节点有足够的时间与碎片状态进行同步;否则,传入节点将完全拒绝每一笔交易。

综上所述,分片技术是区块链的一个令人兴奋的技术,他让我们看到了希望,它可以在不影响去中心化和透明度的情况下解决扩容问题。然而,毫无疑问的是,分片技术,尤其是状态分片,在设计层面和实现层面都是非常困难的。

我们应该小心的处理分片技术。此外,开发者们还需要做更多的研究来确定状态分片的可行性,因为它可能不是解决存储问题的法宝。研究人员和开发者们正在积极寻找那些可替代的解决方案。也许,答案就在我们眼前。

版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。
12345678
相关新闻
发表评论

请先 注册/登录 后参与评论

    回顶部