以太坊的细微变化是什么

加文的早期贡献由两个方面。首先,你可能注意到在初始设计中的合约调用模型是异步的:尽管合约 A 可以创建一笔内部交易给合约 B (「内部交易」是以太坊的行话:最初它们仅被称作「交易」,随后又被称为「消息调用」或者「调用」)。在第一笔交易的执行完全完成以前,内部交易的执行不会开始。这意味着交易不能使用内部交易作为从其他合约获取信息的途径;想从其他合约获取信息,只能使用 EXTRO 操作码(有点像你用来读取其他合约存储的 SLOAD),但这个操作码随后在加文和其他人的支持下移除了。

 

在实现我最初的规范时,加文很自然地同步实现了内部交易功能,他甚至没有意识到两者意图的偏差——也就是说,在加文的实现中,当一个合约调用另一个合约时,内部交易会立即得到执行。一旦该执行完成,虚拟机将返回创建内部交易的合约,并继续执行下一个操作码。对于我俩,这种方法似乎更加出色,因为我们决定把它作为规范的一部分。

 

其次,是我和他之间的一次讨论(发生在旧金山的一次散步中,因此准确的细节将要永远地消失在历史的洪流中,但也有可能会存在于 NSA 的深层档案内的一两份副本中)引发了对交易费用模型的重构,从合约支付方式转向发送方支付方式,并且转换到燃料架构。比起最初在每个独立的交易步骤执行后立刻消耗一些以太币,在这一版本中,交易发起者支付一定的费用并被分配一定量的燃料(大致是一个计算步骤的计数器)。与此同时,计算步骤取决于燃料的限额。如果一笔交易花费了所有的燃料,那么这些燃料就被花费了,但整个执行过程将被还原。这似乎是最安全的做法,因为它移除了合约先前需要担心的所有部分执行攻击类型。当一笔交易执行完成时,任何未被使用的燃料所收取的费用将被退还。

 

加文在很大程度上使以太坊的愿景发生了十分微妙的变化:从一个用于构建可编程货币的平台——平台拥有基于区块链的合约,合约能够持有数字资产并且按照预先设置的规则进行转账——到一个通用的计算平台。这种变化从以太坊的着重点和术语的细微变化开始,后来随着我们对 Web 3 集成(它将以太坊视为去中心化技术套件的一部分,另外两部分是耳语协议和蜂群协议,图 1)的日益强调,这一影响也在不断地增强。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值