NEO has released an outline of planned upgrades to the NEO blockchain, dubbed “NEO 3.0”. Erik Zhang, co-founder of NEO, said in a post on the NEO blog that NEO 3.0 will be “built for large scale enterprise use cases” and will provide “higher TPS and stability, expanded APIs for smart contracts, optimized economic and pricing models, and much more.”

The changes were broken down into four categories: Protocol, Smart Contract, NeoVM and Various Improvements.

Protocol

In the Protocol category, Erik discusses adjusting the economic model for NEO, as well as the system pricing model. Whilst the dual token approach adopted by NEO has been very successful, there are also elements that can be improved. Two issues identified were the indivisibility of NEO, and the inability to divide GAS when paying system fees.

A range of suggested adjustments include:

  • An increase in the supply of GAS every year
  • Consensus node rewards
  • Making NEO divisible
  • Allowing fractional GAS to be used for system fees

An ongoing discussion regarding these approaches is being held on the NEO GitHub at the below link:
https://github.com/neo-project/neo/issues/285

Changes to the system pricing model are also in line for updates in NEO 3.0, with the cost of running and deploying a smart contract to be made “significantly cheaper.”

Smart Contract

Numerous upgrades are planned for NEO 3.0 smart contracts, including cross-platform compatibility, native contracts and new APIs.

Cross platform smart contracts would allow NEO 3.0 smart contracts to be executable on other blockchain platforms. Native contracts would enable smart contracts to run directly on the NEO blockchain, as opposed to within a Virtual Machine. In turn, this would allow for NEO and GAS to be interacted with in the same way as NEP-5 tokens.

Various other API and permission systems enhancements are also detailed.

NeoVM

Erik presents a vision of a fully decoupled NeoVM where extra work to implement stack isolation is not required, and native contracts can be easily implemented.

The current NeoVM also does not support global variables, as it is a stack based virtual machine without storage to support them. Various changes are put forward, including a new global array for the global variables and adding a new opcode, which when implemented will make it easier to compile smart contracts written in high-level languages.

Various Improvements

An obvious update in light of NEO’s 2020 goal of 100,000 transactions per second is to increase the TPS of the platform. This will be approached in a number of ways:

  • Refactoring of the code and core modules
  • Optimization of the network protocol
  • Implementing the feature manifest and permission system for NeoContract
  • Preparing for dynamic sharding
  • Detaching state persistence and block persistence

In addition, various known bugs will be fixed along with increased system stability in NEO 3.0.

Erik concludes by saying that “NEO will be reborn in 3.0 and will better serve the Smart Economy.” He also plans to “present more features of NEO 3.0, and publish a series of articles detailing technical points more in-depth.”

The current proposals for NEO 3.0 are all available on the NEO GitHub (https://github.com/neo-project/neo/milestone/1) and community discussions are welcome.

To read about the planned changes for NEO 3.0 in more detail, visit the link below:
https://neo.org/blog/details/4091