每个操作都必须有 “成本”,以防止滥用(因为所有节点运行所有交易) 每个操作都必须是确定性的(因为所有节点都必须在交易执行后就状态达成一致) 我们需要区块链特有的概念(如智能合约、交易) 一些复杂的操作必须是原语(如密码学) 交易必须沙盒化,没有I/O或外部状态访问 EVM是第一个图灵完整的区块链虚拟机,于2015年发布。它有一些设计上的局限性,但其巨大的先发优势和随后的广泛采用为以太坊创造了巨大的独特性——它是迄今为止整个领域中最经得起考验的智能合约基础设施。 由于以太坊的主导地位,许多后来的区块链都直接采用了这个运行时环境。例如,Polygon和BNBChain是以太坊的直接分叉,因此使用EVM作为其运行时间。值得注意的是,EVM并不是一成不变的,在EIP1559等升级中经常被修改。由于其他区块链需要时间来更新,或者在一些地方与以太坊有分歧,它们往往运行的是一个稍微过时的EVM版本,并且可能难以跟上变化——这一事实会让以太坊的核心开发者感到沮丧。 以太坊兼容性 然而,人们所说的 “EVM链 ”通常不仅仅是反映这个运行时环境。以下是一些始于以太坊的标准,它们已成为事实上的全球标准: Solidity(一种高级语言,可编译成EVM字节码) 以太坊的JSON-RPC客户端API(用于与以太坊节点交互) ERC20/ERC721(Ethereum代币标准) ethers.js(一个与以太坊交互的网络库) 以太坊的密码学(例如,keccak256作为哈希函数,secp256k1上的ECDSA签名) 从技术上讲,你的链可以有EVM运行时间,而不支持上述的一些或全部。然而,遵守这些标准使得在你的新链上使用以太坊工具变得非常容易。一个很好的例子是Polygon,它除了使用上述所有工具外,还能够运行分叉版本的Etherscan(Polygonscan),使用Hardhat等以太坊开发者工具,并在Metamask等钱包中被支持为不同的以太坊 “网络”。Nansen和Dune等工具最初都是针对以太坊的,因此增加对新的EVM区块链的支持很简单。新的钱包,新的NFT市场——如果以太坊的界面和你的链的界面之间的唯一区别是链的ID,你很可能会成为第一个且最容易添加的。话虽如此,这些工具是为以太坊打造的——只要你开始修改你的区块链(例如更大的区块,更快的区块时间),你就面临破坏它们的风险。没有完美的兼容性这回事。 尽管如此,针对以太坊标准的工具和应用程序的数量为新的区块链创造了巨大的动力,使其只是反映以太坊标准。任何不支持上述标准的区块链在涉及开发者工具时都会自动落后,并有可能随着EVM生态系统的发展而进一步落后。 (责任编辑:admin) |