以太坊可扩展性挑战:状态数据

2020-07-04 15:43 栏目:经验之谈 来源:网络整理 查看()

以太坊可扩展性挑战:状态数据

虽然以太网中的数据块气体可用性的上限已经增加,但是数据块(数据量)的大小没有太大变化,因为以太网中的事务量和数据量之间没有完全的正相关。

不久前,以太网达到了最大容量,但其交易量仅为历史最高水平的一半。我们可以从中获得很多启示。

从上图可以看出,以太网上的块数据大小和块气体的上限之间有一定的关系。如果是折线图,也将显示上升趋势。然而,两者之间的关系有点复杂。

以太网中的气体是一个抽象单元,用来衡量执行一个操作需要消耗多少计算资源。

由于契约是图灵完成的,您可以在事务中包含无数的循环结构。(为了避免陷入无限循环)以太网为单个区块的可用天然气设定了上限,目前为1200万。

以太坊可扩展性挑战:状态数据

尽管天然气区块上限提高了50%,但以太网的交易量仍低于历史最高水平。这是因为大多数天然气用于象征性交易或智能合同交易。

执行一个简单的代币交易需要80000加币,执行一个无形的转账交易需要20000加币。执行dapp事务取决于具体情况,但其气体消耗通常高于令牌事务(译者注:令牌事务比例的变化导致处理的事务数量低于历史最高值,即使阻塞气体上限提高)。

相比之下,比特币要简单得多,一个基本的交易只有250个字节(一个交易只有250个字节,或者可以是基数,然后每个交易是20个字节,我们不能理解句子的后半部分。

以太网中没有这样的协议级事务压缩,因为它使用一个帐户系统。

为了便于帐户管理,以太网的状态将在添加每个新块后更新。以太博物馆基金会的格里芬伊奇巴霍奇基斯说:

“完整的以太网‘状态’是指所有账户和余额的当前状态,以及在EVM部署和运行的所有智能合同的‘内存’(以太网虚拟机)。在区块链以太网上,每个最终确定的块都已经并且只有一个整个网络达到了一致状态。每当一个新的块被添加到链中时,状态将会改变和更新。”

最简单的比较是:比特币状态指的是UTXO(无支出的有效交易产出)。无论是以太网国家还是比特币国家,这都是一个难以理解的概念。简而言之,它是网络的内存(ram)或快照。因此,合同中包含的帐户余额和代码函数都是公开可见的。

如果您从创建块开始同步以太网,您需要遍历4亿个“节点”(翻译者注意:这应该是指状态树上存储状态的节点;状态树本身是默克尔树的形式),这需要大约一周的时间。

每次生成一个块时,以太网的10,000多个完整节点(运行以太网客户端并保存所有以太网区块链块的计算机)应该在本地同步更新,并且应该更新大约3,000个状态树“节点”。

这意味着每隔15秒,您的计算机的内存应该与一个块同步,并且磁盘应该总是对每个块中的以太网进行读写更改。

因此,变化越多,计算机的内存和磁盘就越忙。当资源达到上限后,将无法同步整个网络的进度。

无法保持同步意味着事务处理不能与整个网络同时完成,而不能下载历史记录。

此外,去年的一篇论文指出,对于程序员来说,构建一个数学模型来准确地将“执行成本(Gas)与所使用的资源量(如CPU和内存)联系起来并不是一个简单的问题。

本文还提到:“我们发现了度量模型中的一些差异,例如,订单定价中的显著不一致。我们设计了一个遗传算法,它可以生成比普通合同慢200倍的合同。之后,我们证明了所有主要的以太网客户端实现都是脆弱的。如果它们运行在消费类硬件上,一旦受到攻击,它们将无法与网络保持同步。”

同样,在比特币系统中,如果攻击者生成难以验证的数据块,甚至可能导致您的计算机挖掘系统瘫痪。然而,如果有人这样做,它很可能失去6.25 BTC的块奖励;如果矿池这样做,它可能会失去所有的矿工。

然而,在以太网系统中,攻击者只损失了发布合同的成本,这与攻击的影响并不成正比。

如果我们想在现有以太网的基础上扩展容量,让每个人都继续运行以太网节点(例如,我们的Trustnode想继续我们的区块链分析),这是一个非常复杂和耗时的任务。

当然,我们可以通过云服务提供商Infura运行节点。以太网上的大多数操作都是由Infura上的节点完成的。

以太网孵化器委员会的创始人约瑟夫鲁本表示,该委员会最近与AMD联合成立了W3BCLOUD,旨在创造“下一代分散计算、存储和带宽”。

然而,目前,真正的解决办法是在合同层面上分割区块链。

以太坊可扩展性挑战:状态数据

右边的三个扩展方案有独立的网络环境和区块链,并与以太网建立了通信。然而,目前,这些网络并不相互通信。

如果历史重演,第一步可能是连接许多独立的世界计算机,这样每个人都可以互相交流。

首先,如果您有一台笔记本电脑,您只能访问这台笔记本电脑中的数据。后来,随着技术的突破,不同的笔记本电脑被连接起来(最初是通过电缆),你可以访问邻居笔记本电脑中的数据。

因为这些计算机可以建立通信,我们可以允许每个人访问我们的数据,但是每个人都不需要存储我们的数据,除非他们想这样做。

只有那些负责共享数据的人需要存储数据。我们只需要和别人的电脑建立联系,这样我们就可以看到彼此的数据。

也就是说,我们需要实现OMG和ZK之间的通信。我们无法在比特币和以太网之间建立通信,因为它们是不同的协议。但仍有一些项目试图将两者联系起来。

如果我们让这些数据集群相互通信,只要它们都运行在相同的协议上,可伸缩性就不再受到限制。

意识到这一点需要很多时间。如果我们从这个角度来看,我们会发现中本聪和格雷戈里麦克斯韦都是对的,因为他们从不同的时间层次来考虑这个问题。

中本聪可能正在考虑比特币技术的整体发展。在他的声明中,他明确相信比特币技术将像互联网一样发展(作为一个全球分布式系统)。

然而,麦克斯韦正在思考现在。他说得很对,如果你工作不够努力,你就不能取得进步。

换句话说,我们正在发展,也许最困难的任务已经完成。在现阶段,我们不妨耐心地享受这一升级过程。酿造需要时间。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发