In April 2019, NEO founder, Erik Zhang, published the initial roadmap for NEO3 development. Among the many improvements slated for the upgraded blockchain was the complete decoupling of the NeoVM from NEO to allow it to become a “pure virtual machine.”
Zhang posited various benefits for this architectural change, including:
Coelho’s article notes that this decoupling was achieved in pull request 149 on the NEO GitHub. This PR removed the CHECKSIG and CHECKMULTISIG opcodes from NeoVM and moved them to NEO’s interoperability layer, and also removed the “IScriptContainer ScriptContainer” field from the VM execution engine.
Coelho explains:
“[The “IScriptContainer ScriptContainer” field] was used to implicitly pass current Transaction of Neo Blockchain, which contained the execution script, to the script itself. When verifying a signature, a common pattern is to verify it against the signed hash of Transaction header (also happens on Bitcoin network), but this tightly couples the relation of NeoVM with Neo Blockchain. NeoVM is not meant to be exclusive part of Neo… So, PR 149 brightly fixed this issue[.]”
The article goes on to further explain some of the benefits of the decoupling, including the ability to execute the NeoVM in other blockchains, simplification and efficiency, and the potential to support cryptographic standards beyond SHA256 and ECC secp256r1.
The full article can be read at the below link:https://medium.com/neo-smart-economy/behind-pr-149-a-bright-future-for-neovm-and-neo-3-3b779e8749c4
Article comments