zoukankan      html  css  js  c++  java
  • 区块链分片技术的设计(思考)

    分片方案的思考

    三难困境

    区块链的三难困境:去中心化、扩展性、安全性

    牺牲扩展性方案

    现在的比特币、以太坊都是通过牺牲扩展性来换取安全性的。

    因为以太坊网络上的每笔交易,需要每个节点都计算、存储和广播一次。这意味着以太坊网络的计算资源,不可能大于单个节点的计算资源。

    将节点的计算、存储、宽带等资源记作, O(c) 。将以太坊网络的计算、存储、宽带等资源记作,O(n)。不可扩展指的是,网络整体的计算能力不可能大于单个的节点的计算能力:

    O(n) < O(c)

    牺牲去中心化

    有两种简单的提高扩展方案:区块的大小、使用超级节点代替普通节点。比如比特币的 8MB 的大区块扩容。

    这类方案的特点是提高单个节点的计算、存储、宽带能力。
    因为超级节点的计算资源比普通节点的计算资源更多。
    所以网络的整体计算能力会因此而得到提高。

    将超级节点的计算、存储、宽带等资源记作, O(c`)
    将由超级节点组成以太坊网络的计算、存储、宽带等资源记作, O(n`)

    牺牲去中心化的扩方案可以记作:

    O(c) < O(c`)

    O(n) < O(n`)

    牺牲安全性

    Google 的分布式网络。节点只属于 Google,不对外开放,需用专人维护和定时上下线。

    O(c) << O(n)

    以太坊分片

    去中心化、扩展性、安全性都要。

    思路

    分片就是,将以太坊网络上的节点,分成 k 片,每片只处理 1/k 的交易。通过主网上的 validator manager contract(VMC)做统筹所有分片,具体的交易处理和账户信息保存都在分片进行,只将最后的交易结果保存主链上。

    原来以太坊网络中的计算资源,都在做一件相同的事。现在通过分片,以太坊网络中的计算资源被分成 K 份,分片之间进行分工合作,大大提高了网络整体的计算效率。因此分片使得以太坊网络计算能力,突破了单个节点计算能力的限制。

    将节点的计算、存储、宽带等资源记作, O(c)
    将以太坊网络的计算、存储、宽带等资源记作,O(n)
    可扩展指的就是网络整体的计算能力不局限于单个节点的计算能力。记作:

    O(c) < O(n)

    收益

    分片可使以太坊网络计算能力得到 100~1000 倍的提升。但是安全性会有所降低,原来双花攻击需要控制以太坊网络 51% 的节点,但是分片之后只需要控制 33% 的节点。牺牲一点安全性的,换来巨大的性能提升是非常值的。

  • 相关阅读:
    Bootstrap3入门
    Pi
    比Redis更快:Berkeley DB面面观
    搞定KMP匹配算法
    elasticsearch文档-analysis
    21本计算机数学相关的免费电子书
    [Android开发常见问题-12] Android开发中debug.keystore如何使用。
    (Java实现) 组合的输出
    (Java实现) 自然数的拆分
    (Java实现) 自然数的拆分
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13312503.html
Copyright © 2011-2022 走看看