主页 > imtoken testflight下载 > 智能合约中的并发和并行:为什么以太坊这么慢?

智能合约中的并发和并行:为什么以太坊这么慢?

imtoken testflight下载 2023-03-15 07:37:48

以太坊现在挖出来多少了_以太坊现在可以买吗_以太坊现在有多少枚

以太坊很慢——非常慢。 最近验证一个简单的USDC审批交易,大概需要3个小时。 这是一个更具启发性的统计数据:以太坊平均每 10-20 秒发布一个区块。 每个区块包含少于 350 笔交易。 所有这些大致相当于每秒 30 笔交易。 Visa 的 2000 tps 在批评以太坊的缓慢时经常被提及。 也许这是一个不公平的比较,因为以太坊仍在开发中。 然而,以太坊似乎不太可能在短期内主导数字金融。

以太坊现在挖出来多少了_以太坊现在可以买吗_以太坊现在有多少枚

以太坊现在可以买吗_以太坊现在挖出来多少了_以太坊现在有多少枚

以太坊的低吞吐量是一个根本问题。 以太坊是一个基于账户的区块链:账本状态被定义为从账户地址到数据的键值映射。 一次简单的ETH交易(价值转移)即可实现账户对ETH余额数据的增减。 同样,更复杂的交易(合约调用)将更改指定账户的数据。 在这种情况下,以太坊交易是全球账本状态的转换函数。 这就是使以太坊虚拟机 (EVM) 图灵完备并允许智能合约的原因; 以太坊智能合约本质上是一个交互式账户数据。

以太坊现在有多少枚_以太坊现在挖出来多少了_以太坊现在可以买吗

现在让我们看看 EVM 如何处理或验证这些交易。 并行处理所有交易是不合理的。 按照设计,所有事务都试图改变整个全局状态。 如果事务并行运行,EVM 将容易出现竞争条件:两个程序(在本例中为事务)尝试并行递增一个 uint 变量。 因为两个程序同时访问变量,所以变量只递增一次而不是两次。 为了解决此类并发性 bug,以太坊选择了一个一个地处理交易。 换句话说,EVM 是一个单线程状态机。 因此,以太坊实现的是Concurrency(并发),而不是Parallelism(并行)。

以太坊现在有多少枚_以太坊现在挖出来多少了_以太坊现在可以买吗

以太坊类似于只有一个出纳员的票队列,处理时间不一致。 排队的人是等待验证的交易,而唯一的柜员是虚拟机。 当我们考虑天然气成本时,事情变得更加复杂。 现在,任何人都可以额外付费排队。 排长队意味着那些无力支付更好座位费用的人将不得不等待过多的时间来处理他们的机票。

以太坊现在挖出来多少了_以太坊现在有多少枚_以太坊现在可以买吗

以太坊的低吞吐量是一个问题,尤其是从 web3.0 的角度来看。 以太坊确实已经成为所有网络应用程序的媒介。 如果它当前的吞吐量继续下去,像在 Reddit 上发帖这样微不足道的任务可能需要两个多小时才能处理。 我们生活在一个速度就是一切的时代,而以太坊太慢了。

以太坊现在有多少枚_以太坊现在挖出来多少了_以太坊现在可以买吗

有人可能会问,为什么不选择性地应用并发呢? 更详细地说,为什么不将并发应用于冲突交易——例如,将价值转移到同一个账户——并并行处理其余交易。 不幸的是以太坊现在可以买吗,Saraph 和 Herlihy 向我们展示了实现的加速最多是适度的。

已经提出了许多解决方案来加速以太坊并增加其可扩展性。 最近的 EIP-1559——伦敦硬分叉——不会直接影响以太坊的交易速度,但理论上应该通过减少普通用户在交易处理波动之前必须等待的潜在块数来稳定它在大量交易高峰期。 然后是 L2 rollup,它应该会直接影响以太坊的吞吐量,而不会破坏区块链宝贵的去信任性。

与此同时,其他模拟通用虚拟机的区块链正在积极开发中。 有些已成功并行化,吞吐量远高于以太坊的 30 tps。 特别关注 Algorand、Solana 和 Cardano以太坊现在可以买吗,以及它们在智能合约中实现并行化的独特方法。