Rangers Protocol Virtual Machine Technology Pt.1
Blockchain Virtualization — The Undiscovered Frontier
Virtualization in blockchain systems represents an essential phase in developing and migrating services from public chains to enterprise logic. Most of the ongoing blockchain use-cases are using the existing public ledgers. However, there is a need for custom-tailored solutions to ensure flexibility and security for business products and services.
The verification mechanism of blockchain technology requires miners to verify the data in various blocks. The decentralized database in Bitcoin is often referred to as the “ledger.” In this network, all miners must verify the transaction details in the “ledger” and the results presented in each address.
Whereas in the Ethereum network, due to smart contracts and verifying the Ethereum ledger, miners also need to verify the smart contract calculation results based on the smart contract code. The code of these smart contracts needs a system to run it, and this system is called “the virtual machine.” As virtual machines are becoming popular, the blockchain space has begun to move from the Bitcoin account consensus to the age of smart contract process consensus. The Ethereum smart contract calculator is the Ethereum Virtual Machine (EVM).
Since there are few blockchains on the market — the Bitcoin network was the only public chain before Ethereum. Hence, Ethereum naturally has prominent technical characteristics of the Bitcoin blockchain. At this point, the Ethereum virtual machine (EVM) is only one way to implement smart contracts out of many. Although EVM is now generally recognized by the industry, other ways to run smart contracts also exist objectively and maybe a better option as the Ethereum network is not based on virtual machine-centric blockchain technology. It makes its architecture relatively simple and inefficient. Let us explain why.
Since virtual machine technology is challenging for implementation, the current EVM operating efficiency is relatively lower than traditional virtual machines. The EVM leaves many features and critical components of its execution model unhandled, forcing language designers to implement them manually. The EVM abandons the defining characteristics of standard VMs, such as dispatch, code introspection, and the provision of a standard library, which causes the execution environment to be expensive, slow, and unsafe.
Since Bitcoin was the prominent blockchain when Ethereum arrived, the Bitcoin network was used to build Ethereum from the beginning. Hence, Ethereum naturally has prominent technical characteristics of the Bitcoin blockchain. Accordingly, the Ethereum network was not based on virtual machine-centric blockchain technology, making the EVM architecture relatively naive and inefficient.
Apparently, this is not only one of the issues Ethereum virtual machine faces. EVM also has the absence of standard library support and a proper toolset. Nonetheless, this article primarily focuses on the EVM design framework and what solution Rangers Protocol can offer.
The flaws in the EVM design framework of lead to its low efficiency in running smart contracts. When the hardware runs the code, it needs to gradually convert the code in the text format into a binary code that the hardware can understand.
The length of the machine code used by the EVM is 32 bytes. Compared with the 4–8-bytes Java Virtual Machine, the machine code of 32-bytes EVM will run relatively slow. EVM does not support decimal point calculation, making it have low accuracy in calculation and impossible to implement the functions that need more exactness. EVM uses Harvard computer structure, which means whenever the virtual machine verifies the result of a smart contract, it must temporarily retrieve the smart contract code in the block and the data used for calculation before starting the operation.
What if there can be a memory-like space to store the code of the smart contract. In that case, the virtual machine will not need to repeatedly request and read data before each operation, significantly improving the efficiency of the virtual machine.
Rangers Protocol is eager to optimize the existing blockchain virtual machines’ performance to decrease the difficulty of writing smart contracts and computing power.
For instance, Rangers Protocol is already fully compatible with the Solidity language of EVM. Solidity has now become the de facto standard for blockchain programming languages. Many excellent FT (Fungible Tokens), NFT (Non-Fungible Tokens), DeFi (Decentralized Finance), and other related contracts are all developed based on EVM smart contracts. Of course, Rangers Protocol should inherit these high-quality genes of blockchain technology.
In Rangers Protocol, we believe that application-level compatibility includes two aspects:
1. code compatibility
2. data compatibility
Code compatibility means that current developers won’t need to learn more new programming knowledge. Instead, they can use existing codebases, including existing smart contracts and front-end application codes, deployed to Rangers Protocol.
Data compatibility means that the data in the contract that is already running on Ethereum (ERC20 and ERC-721 standards) can migrate to Rangers Protocol. Compatibility work is almost complete and will be realized through the Rangers Protocol’s cross-chain solution as soon as the third quarter of the year.
Another thing that raises Rangers Protocol and EVM’s compatibility to an entirely new level is the Rangers Engine VM (REVM). It allows the original Ethereum contract to directly migrate to Rangers Protocol for use without recompilation. Like the Ethereum development toolchain, Rangers Protocol also provides toolchains such as Remix — an in-browser editor for developing, debugging, deploying Solidity contracts, — and MetaMask, a software cryptocurrency wallet used to interact with the Ethereum blockchain, to support the development, compilation, and deployment of smart contracts.
While compatible with EVM, REVM abstracts operations such as cross-chain and NFT protocols into new smart contract keywords. It introduces Rangers Protocol custom keywords to complete Rangers Protocol features such as cross-chain and NFT protocols with one sentence. Developers who use these keywords in smart contracts can enjoy the unique composability and operability brought by Rangers Protocol.
REVM shall compile contracts that use these keywords to generate usable bytecode. The Rangers Protocol smart contract transfer is still based on the transactions and ABI (Application Binary Interface) system that defines how data structures or computational routines are accessed in machine code. Besides, in Rangers Protocol, the gas required to execute smart contracts can be paid by multiple channels: either the invoker or the contract issuer.
In fact, many of the factors resulting in an unsafe and inefficient user experience in the EVM cannot be resolved quickly, as they come from severe architectural problems in the EVM’s design. Compared with the Ethereum experience, Rangers Protocol is eager to provide users and developers with a faster and safer experience.
Rangers Protocol is a blockchain infrastructure that, while fully compatible with the Solidity language of EVM, also abstracts cross-chain and NFT protocols into new smart contract keywords for better composability and operability.
However, because it inherits the Solidity language, it is not easy to avoid introducing its defects, such as the lack of standard library support, inside Rangers Protocol. In the following article, we will introduce how REVM solves the problems caused by Solidity.
About Rangers Protocol
Rangers Protocol is the backbone of a Web3 Engine for creating immersive Web3 applications. It minimizes the development difficulty for Web3 developers and maximizes the user experience of its Web3 applications. Rangers Protocol provides comprehensive infrastructures for efficient complex-app development, successful cross-chain and mass distribution, diverse in-app NFT and DeFi features, and more. Through its full EVM-compatibility, strategic industry partnerships and its curated all-in-one IDE, Rangers Protocol supports AAA and indie developers to succeed in the Web3 world.