这个VM中某些操作码的功能和用意很容易理解,但也有一些不太好理解,以下是一些特殊的原因:ADDMOD,MULMOD:大多数情况下,mulmod(a,b,c)=a*b%c,但在椭圆曲线算法中,使用的是32字节模数运算,直接执行a*b%c实际上是在执行((a*b)%2^256)%c,会得到完全不同的结果。在32字节的空间中执行32字节数值的a*b%c计算的共识非常困难且繁琐。SIGNEXTEND:SIGNEXTEND操作码的作用是为了方便从大的有符号整数到小的有符号整数的类型转换。小的有符号整数是很有用的,因为未来的即时编译虚拟机也许有能力检测主要处理32字节整数又长时间运行的代码块,小的有符号整数能加快处理。SHA3:在以太坊代码中,SHA3作为安全的、高强度的、不定长数据哈希映射方法,应用非常广泛。通常,在使用存储器时,需要使用Hash函数来防止恶意冲突,在验证默克尔树和类似的以太坊数据结构时也需要使用到Hash函数。重要的是,与SHA3的相似的哈希函数,如SHA256、ECRECVOR、RIPEM160,不是以操作码的形式包含在里面,而是以伪合约的形式。这样做的目的是将它们放在一个单独的类别中,如果当我们以后提出适当的“原生插件”系统时,可以添加更多这样的合约,而不需要扩展操作码。ORIGIN:ORIGIN操作码由交易的发送者提供,主要的作用是允许合约退回支付的gas。COINBASE:COINBASE的主要作用是:1)允许子货币对网络安全作出贡献;2)使矿工能够作为一个去中心化的经济体,来设置基于子共识的应用,如Schellingcoin。PREVHASH:PREVHASH可用作一个半安全的随机来源。此外,允许合约求值上一个区块的默克尔树状态证明,而不需要高度复杂的“以太坊轻客户端”递归结构。EXTCODESIZE,EXTCODECOPY:主要的作用是让合约依据模板检查其他合约的代码,甚至是在与其他合约交互前,模拟它们。见:https://lesswrong.com/lw/aq9/decision_theories_a_less_wrong_primer/JUMPDEST:当跳转目的地限制在几个索引时,JIT虚拟机实现起来更简单。于是,我们需要:1)对有效变量跳转目的地做限制;2)激励使用静态而不是动态跳转。为了达到这两个目标,我们定下了以下规则:1)紧接着push后的跳转可以跳到任何地方,而不仅是另一个jump;2)其他的jump只能跳转到JUMPDEST。对跳转的限制是必须的,这样就可通过查看代码中的前一个操作来确定当前是一个静态跳转还是动态跳转。缺乏对静态跳转的需求是激励使用它们的原因。禁止跳转进入push数据也会加快JIT虚拟机的编译和执行。LOG:LOG是事件的日志。CALLCODE:该操作码允许合约使用自己的存储项,在单独的栈空间和memory中调用其他合约的“函数”。这样可以在区块链上灵活实现标准库代码。SELFDESTRUCT:允许合约删除它自己,前提是它已经不需要存在了。SELFDESTRUCT并非立即执行,而是在交易执行完之后执行。这是因为如果允许SELFDESTRUCT在执行之后回滚,将会极大地提高缓存的复杂度,不利于高效的VM实现。PC:尽管理论上不需要PC操作码,因为所有PC操作码的实例都可以根据将push操作的索引加入实际程序计数器来代替实现,但使用PC可以创建独立代码的位置。原地址:https://eth.wiki/en/fundamentals/design-rationale作者:Vitalik翻译&校对:kim&阿剑
V神:吹嘘专利数量的行为意味着根本不懂区块链:金色财经报道,V神今早发推称:“如果你吹嘘你的国家/公司/组织拥有多少‘区块链专利’,那就代表你根本不了解区块链。”CoinGeek创始人、BSV支持者Calvin Ayre就此回复称:“事实上,你不了解区块链。你甚至无法模仿CSW。你的技术已被广泛用于山寨币ICO。历史不会是仁慈的。另一方面,专利是真实存在的。”[2020/4/24]
声音 | V神:希望比特币、莱特币采用权益证明:据AMBcrypto 消息,在ETHWaterloo 2活动中,以太坊创始人V神(Vitalik Buterin)表示,在低安全性预算方面,权益证明(proof-of-stake)比工作证明(PoW)表现得更好。权益证明很重要,希望比特币、莱特币采用权益证明。网络甚至不必是完整的权益证明,因为它仍将对网络的安全性做出更大的贡献。[2019/11/11]
声音 | 经济学家Tuur Demeester评论V神:硬叉忽视用户主权:V神转发比特币核心开发人员Luke Dashjr的推特,针对其提出的比特币网络太脆弱、易受攻击的观点,V神回复:应该训练用户在治理中发挥积极作用, 并通过更硬的分叉保持他们的软件经常更新。数字货币经济学家Tuur Demeester稍后评论该推文,称硬叉忽视了用户主权,这种做法就相当于宣称为了提高公民的参与度,我们鼓励他们推翻政府、改写宪法。[2018/9/25]
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。