CAP问题说区块链试图拥有三个属性,常规情况下,只能得到这三个中的两个。这三个属性是:
可扩展性:该链可以处理比单个常规节点(想想:消费者笔记本电脑)可以验证的交易更多的交易。去中心化:链可以运行,而无需依赖一小组大型中心化参与者。这通常被解释为意味着不应该有任何信任(或什至诚实多数假设)您无法仅使用消费笔记本电脑加入的一组节点。安全性:链可以抵抗很大比例的参与节点试图对其进行攻击(理想情况下为 50%;任何高于 25% 的都可以,5% 绝对不行)。对于以上三个问题,目前的解决方案如下:
传统区块链- 包括比特币、PoS 前/分片以太坊、莱特币和其他类似链。它们依赖于运行完整节点的每个参与者来验证每笔交易,因此它们具有去中心化和安全性,但没有可扩展性。高 TPS 链- 包括 DPoS 系列以及许多其他链。这些依赖于少数节点(通常是 10-100 个)在它们之间保持共识,用户必须信任这些节点中的大多数。这是可扩展和安全的(使用上面的定义),但它不是分散的。多链生态系统——这是指通过让不同的应用程序存在于不同的链上并使用跨链通信协议在它们之间进行通信来“横向扩展”的一般概念。这是去中心化和可扩展的,但它不安全,因为攻击者只需要在众多链之一(通常<整个生态系统的 1%)中获得多数共识节点即可破坏该链并可能引起连锁反应,从而导致对其他链中的应用程序造成极大损害。 分片介绍 基本理论为了更好地同时满足以上三个需求,以太坊2.0采用了分片技术。“分片”这个名词来源于数据库研究,就是将一个大的数据库切分为许多部分,而一个分片就是一个部分。
区块链中的分片区块链就相当于一个数据库,每一个节点都相当于一个独立的服务器。 正常情况下,这些节点每次只有一个节点能获得记账出块的权利,剩下没获得出块权的节点相当于做了「无用功」,白白浪费了算力。
如果将分片技术运用到区块链中,就相当于将区块链网络里的所有待处理任务(比如确认交易、运行 DApp 等)进行分解,全网的节点也进行分组,每一组同时处理一个分解后的任务(比如 150 笔待确认交易),这样就从原先单一节点处理全网的所有任务变成了多组节点同时并行处理。
如果采用分片技术,将8,000个节点分成100组,每组80个节点,这15,000笔待确认交易分成100个分区,每个分区150笔,那么,每组节点(80个)可以并行处理各自分区里的待确认交易(150笔),这样最快10秒钟就可以全部处理完那15,000笔待确认交易。
潜在风险 分片后的通信问题分片后的通讯,会要增加跨分区的通讯机制(类似跨链),这会增加区块链的复杂性,开发难度也会提高。
安全风险由于每个分片的节点数下降,造成51%算力攻击会更加容易。通过随机分配节点可以避免恶意节点的聚集,但单个节点权重过高的问题仍会出现。
参考科普 | 作為以太坊可擴展性未來,分片 (Sharding) 是什麽?有沒有潛在風險? (blocktempo.com)
以太坊分片技术原理 - vitalik (jdon.com)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)