4月7日,V神的网站更新了一篇名为《分片为何如此出色:揭开技术属性的神秘面纱》的文章,其中提到:分片是以太坊可扩展性的未来,它将是帮助生态系统每秒支持数千笔交易,并允许世界上大部分地区以可承受的成本定期使用该平台的关键。
你或许也知道,限制目前区块链技术大规模落地应用的一个很重要因素就是性能,这也是为什么很多传统互联网从业者不太看好区块链技术的一个原因。那么,如何解决区块链的性能问题呢?其中的一个解决方案就是分片技术(Sharding)。
什么是分片?
分片是数据库分区的一种形式,也称为水平分区,即将一个大的数据库切分成很多小的、可处理的部分,从而提高性能,缩短响应时间。
V神提出跨Rollup扩展方案以实现L2项目相互通信:3月3日消息,近日V神于社区论坛提出了一种针对特定类型的跨Rollup扩展的解决方案,以连接第二层扩展项目。根据该方案,虽然目前有许多项目已经部署了第二层Rollup方案,但问题在于各种二层项目不能直接在L2上实现相互通信。V神提议使用Rollup在两个支持智能合约的协议之间进行传输。假设一个rollup可以处理简单的事务,而另一个则具有完全的智能合约支持特性。为确保未来交易的安全,智能合约将被编程为接受“备忘录”,其中包括任何人向它发送的额外数据。事务将创建一个连接层,在所有这些隔离的合约中保存存款,允许rollup A通过该层发送到rollup B。针对该方案,Alon Muroch表示该方案就像银行之间的交易清算一样。将资产批量分配到单独的“账户”中可能会有限制,但两端都设置一个大池,并按比例分摊费用可以是一种解决方案。(Cointelegraph)[2021/3/3 18:10:05]
分片并不是一个新的概念,早在 90 年代后期就出现在了传统的中心化数据库管理中。这个概念的流行,要归功于一个多玩家同时在线玩的角色扮演游戏 Ultima Online。
V神提出以太坊信标链第一个硬分叉提案“HF1”:以太坊创始人V神刚刚在推特上提出了以太坊信标链第一个硬分叉(暂定名为“HF1”)提案。V神称,HF1添加了轻客户端支持,简化了规范,提高了效率,并引入了惩罚性较小的不活动泄漏机制。[2021/2/16 19:51:07]
在这个游戏中,开发者将玩家分配到不同的服务器来缓解流量压力(这意味着有很多个平行的“游戏世界”)。商业上,一个普遍的分片案例就是将用户信息的数据库按照地理位置划分,同一个区域的用户信息放在一起,存到单独的服务器中。
什么是区块链领域里的分片?
V神提议支持以太坊网络支付功能:据ethereumworldnews消息,V神认为人们应该支持以太坊网络的支付功能,支持了ETH,也能为支持其他ERC20代币打开一扇大门,比如MKR、UNI、WBTC和稳定币。至于转账费用与速度,他表示已经在主网layer-2部署了一些扩展性解决方案。[2020/10/3]
区块链就相当于一个数据库,每一个节点都相当于一个独立的服务器。正常情况下,这些节点每次只有一个节点能获得记账出块的权利,剩下没获得出块权的节点相当于做了“无用功”,白白浪费了算力。
动态 | V神提出一个无需委员会的可扩展数据链模型:以太坊创始人V神今日在Ethereum研究论坛上主持了一场讨论,在这场讨论中,他通过无欺诈证明的数据可用性证明概述了一个无需委员会的可扩展数据链模型。根据V神的说法,无欺诈证明的数据可用性检查方案保留了传统非切分区块链的更多特性。他还提出了一种可能的设计,其中包括一个现有的基础链,“类似于以太坊式不可伸缩的区块链,任何人都可以将交易发布到该区块链。”在这里,用户将能够支付费用并发送包含数据承诺的一种特殊类型的事务,区块提议者/矿工随后可以在该事务上进行数据可用性检查,以验证数据是否可用。V神还扩展了如何仅接受通过每个可用性检查的块,以及数据可用性采样将“完全且绝对出于安全性”的依据。(AMBCrypto)[2020/1/6]
如果将分片技术运用到区块链中,就相当于将区块链网络里的所有待处理任务(比如确认交易、运行 DApp 等)进行分解,全网的节点也进行分组,每一组同时处理一个分解后的任务(比如 150 笔待确认交易),这样就从原先单一节点处理全网的所有任务变成了多组节点同时并行处理。
举个例子,假设目前以太坊上有 8,000 个节点(矿工),全网待确认的交易是 15,000 笔。以太坊每秒能处理 7-15 笔交易,正常情况下至少需要 1000 秒才能处理完这些待确认的交易,当然处理的过程中又会有新的待确认交易产生。
如果采用分片技术,将 8,000 个节点分成 100 组,每组 80 个节点,这 15,000 笔待确认交易分成 100 个分区,每个分区 150 笔,那么,每组节点(80 个)可以并行处理各自分区里的待确认交易(150 笔),这样最快 10 秒钟就可以全部处理完那 15,000 笔待确认交易。
从这个例子中,我们可以看到,分片技术可以大幅提高区块链的性能。
分片技术潜在的风险
那么,分片技术有没有缺陷呢?答案是肯定的。
分片技术虽然能在一定程度上解决区块链的性能问题,让区块链更具有可扩展性,但也存在两个缺陷。
一个是分区后,不同区的通信问题。上面的例子,将以太坊网络分成 100 个分区,每个分区都是独立的,相当于有 100 条独立的、平行的以太坊区块链,每条都由一组矿工(80 个节点)维护和确认交易。
这 100 条独立的以太坊区块链并不能相互通信,如果要通信,势必要增加跨分区的通信机制(类似垮链),这会增加区块链的复杂性,开发难度也会提高。
第二个是区块链的安全性。还是上面的例子,在未分片之前,以太坊网络是 8,000 个节点组成的算力,分成 100 个分区后,每个分区相当于一条独立的以太坊区块链,算力下降到 80 个节点组成的算力。
此时,对其中一个分区进行 51% 算力攻击就容易很多。控制了一个分区,攻击者就可以在这个分区内做恶,篡改交易。
以太坊基金会计划将分片技术作为以太坊 2.0 的升级内容之一。以太坊如何解决分片技术的上述 2 个缺陷,我们拭目以待。
除了性能问题,你觉得目前的区块链技术还存在哪些问题?欢迎在留言区分享。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。