区块链智能合约中的并发性和并行性
以太坊很慢——极其缓慢。
最近做一个简单的USDC审批交易,大概花了3个小时进行验证。
这里有一个更有启发性的统计数据:以太坊平均每10~20秒发布一个区块。每个区块包含少于350个交易。所有这些大致转换为每秒30个交易。
当批评以太坊的缓慢时,Visa的2000 tps经常被提起。也许这是一个不公平的比较,因为以太坊仍处于开发阶段。
然而,以太坊似乎不太可能在短期内主宰数字金融。
以太坊的低吞吐量是一个基础性问题。
以太坊是一个基于账户的区块链:账本状态被定义为一个从账户地址到一段数据的键值映射。
简单的ETH交易(价值转移)可以实现账户对ETH余额数据的增减。同样,更复杂的交易(合约调用)将改变指定帐户的数据。
在这种情况下,以太坊交易是全球账本状态的转换函数。这就是让以太坊虚拟机(EVM)图灵完成并允许智能合约成为可能的原因;以太坊智能合约本质上是一个可交互的账户数据。
现在让我们看看EVM如何处理或验证这些交易。并行处理所有交易是不合理的。按照设计,所有交易都试图改变整个全局状态。
如果交易并行运行,EVM将偏向于竞态条件:两个程序(在本例中是交易)尝试并行地增加uint变量。因为两个程序同时访问变量,所以变量只增加一次而不是两次。
为了解决此类并发bug,以太坊选择逐个处理交易。换句话说,EVM是一个单线程状态机。
因此,以太坊实现了Concurrency(并发),而不是Parallelism(并行)。
以太坊类似于只有一个出纳员的票务队列,其处理时间不一致。排队的人是等待验证的交易,唯一的出纳员是虚拟机。当我们考虑到gas费用时,事情就变得更加复杂了。现在,任何人都可以额外付费插队。超长的队伍意味着那些不能花钱买到更好位置的人将不得不等待过多的时间来处理他们的票。
以太坊的低吞吐量是个问题,尤其是从web3.0的角度来看。以太坊确实成为了所有web应用程序的媒介。如果它目前的吞吐量持续下去,像为Reddit上的一篇帖子加赞这样微不足道的任务可能需要超过两个小时的时间来处理。我们生活在一个速度决定一切的时代,以太坊太慢了。
可能会问,为什么不选择性地应用并发性呢?
更详细地说,为什么不将并发应用到冲突的交易上——例如,将价值转移到同一个帐户上——并并行处理其余的交易。不幸的是,Saraph和Herlihy已经向我们表明,所实现的加速充其量是适度的。
已经提出了许多加速以太坊并提高其可扩展性的解决方案。最近的EIP-1559——伦敦硬分叉——并不直接影响以太坊的交易速度,但理论上应该通过减少普通用户在交易处理前必须等待的潜在区块数量来稳定其在大规模交易峰值上的波动。然后是L2的rollup,这应该会直接影响以太坊的吞吐量,而不会破坏区块链宝贵的去信任。
与此同时,其他模拟通用虚拟机的区块链也在积极开发中。有些已经成功实现了并行,承诺吞吐量远高于以太坊的30 tps。特别关注Algorand、Solana和Cardano,以及他们在智能合约中实现并行化的独特方法。
以上就是区块链智能合约中的并发性和并行性的详细内容,更多关于智能合约中的并发性和并行性的资料请关注脚本之家其它相关文章!
你可能感兴趣的文章
-
一文弄懂区块链和以太坊智能合约的由来和运行原理
这篇文章主要介绍了一文弄懂区块链和以太坊智能合约的由来和运行原理的相关资料,希望这篇关于区块链和智能合约的文章,让大家能够深入的了解区块链和以太坊智能合约的由来…
2021-11-08 -
以太坊智能合约是什么?以太坊的智能合约有什么用
这篇文章主要介绍了以太坊智能合约是什么?以太坊的智能合约有什么用,下面小编W为大家整理一篇比较详细的教程,希望能帮助到投资君!…
2021-11-03 -
智能合约地址什么意思?智能合约安全吗?
这篇文章主要介绍了智能合约地址什么意思?智能合约安全吗?的相关资料,智能合约是表示为一段代码的合约,旨在执行一组指令。很多人不知道是智能合约地址什么意思,下面小编…
2021-08-23 -
科普:以太坊智能合约,以及大部分Token都在用的ERC标准是什么?
这篇文章主要介绍了以太坊智能合约,以及大部分Token都在用的ERC标准是什么?ERC表示以太坊版的意见征求稿,ERC中包含技术和组织等注意事项及标准。在现实生活当中,我们经…
2021-05-06 -
区块链科普:加密货币的来历,演变历史
这篇文章主要介绍了区块链科普:加密货币的来历,演变历史,学习加密货币时要知道的最重要的一件事是它们的最初目的。第二件最重要的事情是什么不是加密货币。如果投资者朋友…
2021-05-05 -
科普:什么是智能合约及其运作方式,智能合约有哪些优缺点?
这篇文章主要介绍了科普:什么是智能合约及其运作方式,智能合约有哪些优缺点?很多投资者还不知道,本文详细讲解了其定义和优缺点,需要的朋友可以参考一下,下面一起来看看…
2021-04-15 -
一张图理解EOS是什么及EOS的智能合约
这篇文章主要介绍了一张图理解EOS是什么及EOS的智能合约,从比特币到以太坊,再到 EOS,它们背后的组织渐趋复杂。EOS包括三个部分:EOSIO 软件,EOS 币(EOS 通证),EOS 主…
2021-04-02 -
区块链科普:什么是智能合约?智能合约有哪些特点?
这篇文章主要介绍了什么是智能合约?智能合约有哪些特点?如果有一种合约,事先确定了规则,一旦触发相关条款,合约将自动执行,无需人为干涉,也不用担心有人抵赖。是否存…
2021-03-27 -
eos智能合约是什么意思?eos智能合约有什么用
这篇文章主要介绍了eos智能合约是什么意思?eos智能合约有什么用?eos智能合约是通过信息库和公共内存数据库来进行彼此之间通讯的,而步通信导致的spam问题将由资源限制算…
2021-03-17