On April 29th, NEO co-founder and core developer Erik Zhang published a roadmap documenting the development plan for NEO 3.0. Planned for launch in Q2 2020, NEO 3.0 is an optimized version of the current NEO 2.x protocol that aims to introduce new functionality and allow the blockchain to support large-scale commercial applications.
It should be noted that although NEO 3.0 will begin as a new blockchain from its own genesis block, the majority of new functionality will first be deployed to NEO 2.x. Both iterations will be developed in parallel until a point is reached where new implementations are not backwards compatible with the existing blockchain.
On-chain governance and economic model
Before introducing the features and refinements planned as part of NEO 3.0 development, Zhang re-affirmed the importance of governance in the “evolution of a blockchain as the common good collectively owned by stakeholders and more broadly the entire surrounding communities.”
Zhang noted that during 2019, NEO will collaborate with experts from academia, industry and the community to explore potential governance mechanisms and their corresponding economic models. If a suitable system is found, following “extensive research and simulation” it can be published as a NEP (NEO Enhancement Proposal).
The first additional feature of NEO 3.0 is dBFT 2.0, an updated version of NEO’s original consensus mechanism, which is due to launch on NEO 2.x following the conclusion of its testing on TestNet.
dBFT requires a majority of consensus nodes to agree on a new block before it is committed to the blockchain, guaranteeing single block finality and preventing forks. For the user, this means that transactions will never be dropped or reversed after appearing on the blockchain. As soon as the transaction can be publicly witnessed in a block, the transfer has been fully settled.
The update also includes a recovery mechanism, improving the stability of the NEO blockchain by allowing nodes that fail due to hardware or network errors to be quickly reconnected and ready to participate in consensus again automatically.
Internet Resource Access
Referring to a built-in oracle implementation for NEO 3.0, Internet resource access allows smart contracts to read data from external sources on the Internet during execution. This feature is made possible by the design of dBFT 2.0, which allows consensus nodes to resolve any inconsistency in this external data.
By allowing developers to access data from the Internet, NEO contracts will be able to serve an extended variety of use cases.
NeoFS is an integrated, decentralized file storage platform built on NEO. It will be primarily used by dApps as data storage infrastructure, in addition to acting as a Content Delivery Network.
The current NeoFS candidate is the decentralized distributed storage platform by NEO St. Petersburg Competence Center, which will use smart contracts to control reward distribution and accounting, a scalable data placement method and a novel zero-knowledge data validation method based on homomorphic hashing.
With NeoFS, NEO users will be able to rent out unused hard drive space in return for GAS or pay GAS to leverage the storage services.
NEO SPCC aims to launch its platform beta on NEO 2.x in Q3 2019.
A decentralized identity protocol built on NEO, NeoID will support the issuance of decentralized identifiers in addition to being compatible with the X.509 level certificate issuance model, a widely used international standard.
The basis of NeoID is formed by the combination of three models:
- Trust Model – Describes the rules of trust in the network
- Privacy Model – Describes how user data is protected
- Game Model – Outlines the benefits and penalties of actions in the network
The use of decentralized identities is hoped to “empower users and organizations to have better control of their identities” and provide users of the smart economy with a more secure and trustworthy experience.
In order to address the high deployment and operational costs of smart contracts on NEO, Zhang announced that “significant reductions” in these costs will occur in the future. This is hoped to encourage developers to deploy dApps on NEO, leading to an increase in the consumption of GAS.
As the pricing model will likely only be updated as part of the changes tied to NEO 3.0, high deployment costs may still act as a barrier to entry in the interim. To address this, the NEO Foundation claims that it will provide grants to credible projects that will cover contract deployment costs.
NEO smart contracts are executed by NeoVM, a lightweight virtual machine that can support multiple programming languages. NeoVM will be completely decoupled from the blockchain in NEO 3.0, which is intended to offer several benefits including the support of non-blockchain applications, easy contract debugging without needing blockchain data, and new functionality.
One example of new functionality is support for native contracts; code that runs directly on the blockchain instead of being executed by NeoVM. These contracts could be leveraged for numerous applications, such as being responsible for handling the voting mechanism or native assets such as NEO and GAS.
Decoupling NeoVM from the blockchain also allows it to be cleanly integrated into IDEs (integrated development environments) to allow developers to create NEO smart contracts with support from the tools used in their daily workflow.
As part of the changes for NEO 3.0, Zhang reported that the peer-to-peer protocol will be improved through the addition of support for UDP and compression. These changes are hoped to improve NEO’s TPS and stability by speeding up communication between nodes.
Zhang also reaffirmed planned architectural changes for NEO, including the abolition of UTXO assets such as NEO and GAS. As part of NEO 3.0, these assets will also be implemented through smart contracts.
Without UTXO assets, NEO can then remove defunct transaction types and consolidate the existing 9 transaction types into a single one. The only transaction type that will be needed is one that allows smart contracts to be executed, with the logic required for different application scenarios being defined within different contracts.
Alongside these changes, NEO 3.0 will also feature a simplified validation model with the goal of greatly improving the time it takes for transactions to be verified, and to allow the validations to happen in parallel.
These changes cannot be implemented on the current NEO 2.x blockchain without breaking existing functionality or making old blocks invalid, so they will only be rolled out to NEO 3.0. They are intended to increase the performance of NEO 3.0’s base layer substantially.
Development Plan and Migration
NEO 3.0 development is expected to be completed in Q2 of 2020, though with security in mind, a rigorous quality insurance phase will be conducted and could result in delays as long as several months. A new NEO 3.0 TestNet will be launched in Q2 2019, which will serve as a testbed for new features and provide an environment for developers to test their dApps.
Zhang also noted that following the NEO 3.0 MainNet launch, NEO Foundation and NEO Global Development will provide funding and technical support respectively to any developers that need to migrate their dApps from NEO 2.x.
In the post, Zhang confirmed that migration from NEO 2.x to NEO 3.0 will need to occur, though due to the number of moving parts in development, a comprehensive migration plan has not yet been devised. However, Zhang shared the defining principles that the finalized migration plan will follow:
- All data and transaction records from the NEO 2.x blockchain will be preserved.
- The migration process will be simulated on the NEO TestNet.
- All costs incurred during migration by developers (such as contract redeployment or testing) will be reimbursed by the NEO Foundation.
- NEO Global Development will provide comprehensive technical support for dApp migration.
- Token holders will need to swap tokens for NEO 3.0 versions.
- Exchange users will be unaffected by the migration.
- An early adopter incentive plan designed to encourage users and dApps to migrate is being planned.
The original article may be read at the link below: