织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 区块链

V神设计理念公布 细数以太坊潜在的优缺点(12)

时间:2021-07-13 10:43来源:未知 作者:admin 点击:
如果值不是零,操作码 CALL(以及 CALLCODE)会额外消耗 9000 gas。这是因为任何值传输都会引起归档节点的历史存储显著增大。请注意,操作的 实际消耗 是

  •   如果值不是零,操作码 CALL(以及 CALLCODE)会额外消耗 9000 gas。这是因为任何值传输都会引起归档节点的历史存储显著增大。请注意,操作的 实际消耗 是 6700;但是此基础上,我们强制增加了一个自动给予接收者的 gas 值,这个值最小 2300。这样做是为了让接受交易的钱包至少有足够的 gas 来生成 log。(校对注:见《值得考虑删除的 EVM 功能》)

  •   Gas 机制的另一个重要部分是 gas 价格本身体现出的经济学原理。比特币中,默认的方法是采取纯粹自愿的收费方式,矿工扮演守门人的角色并且动态设置收费的最小值。以太坊中允许交易发送者设置任意数目的 gas。这种方式在比特币社区非常受欢迎,因为它是 “市场经济” 的体现:允许矿工和交易者之间依据供需关系来决定价格。然而,这种方式的问题是,交易处理并不遵循市场原则。尽管可以将交易处理看作是矿工向发送者提供的服务(这听起来很直观),但实际上矿工所处理的每个交易都必须由网络中的每个节点处理,所以交易处理的大部分成本都由第三方机构承担,而不是决定是否处理它的矿工。因此,“公地悲剧” 问题很有可能发生。

      当前,因为缺乏矿工在实际中的行为的明确信息,所以我们将采取一个非常简单公平的方法:投票系统,来设定单个区块可消耗的 gas 总额。矿工有权将在最新区块的 gas 上限基础上变更 0.0975% (1/1024),作为当前区块的 gas 上限。所以最终的 gas 上限应该是矿工们设置的中间值。我们希望将来能够采用软分叉的方法来使用更加精确的算法。

      虚拟机

      以太坊虚拟机是执行交易代码的引擎,也是以太坊与其他系统的核心区别。请注意,虚拟机应该同 “合约与消息模型” 分开考虑。例如,SIGNEXTEND 操作码是虚拟机的一个功能,但实际上 “某个合约可以调用其他合约并指定子调用的 gas 限定值” 是 “合约与消息模型” 的一部分。

      EVM的设计目标如下:

    •   简单:操作码尽可能的少并且低级;数据类型尽可能少;虚拟机的结构尽可能少;

    •   结果明确:在 VM 规范中,没有任何可能产生歧义的空间,结果应该是完全确定的。此外,计算步骤应该是精确的,以便可以测量 gas 的消耗量;

    •   节约空间:EVM 组件应尽可能紧凑;

    •   为预期用途而特化:在 VM 上构建的应用应能处理 20 字节的地址,以及 32 位的自定义加密值,拥有用于自定义加密的模数运算、读取区块和交易数据与状态交互等能力;

    •   简单安全:为了让 VM 不被利用,应该能够容易地让建立一套 gas 消耗成本模型的操作; (责任编辑:admin)

    织梦二维码生成器
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线----------------------------
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    表情:
    用户名: 验证码:点击我更换图片
    栏目列表
    推荐内容