here’s a fair amount of confusion surrounding the Neo platform. Not surprising when you consider the project’s complicated history.
Neo began life as AntShares (ANS) in 2014. AntShares, founded by Da Hongfei and Erik Zhang, has been referred to as ‘China’s first blockchain platform’. In 2016, supposedly in response to growing interest in AntShares, and a need for blockchain solutions that meet the requirements of both government regulators and private companies, Da and Erik founded OnChain, a venture-backed company that provides blockchain-based financial services. In 2017, AntShares was rebranded as Neo.
Neo and OnChain are based in Shanghai. It’s certainly the case that Chinese regulation can have far-reaching effects on cryptocurrency markets and development. Neo is equal parts vulnerable to and well-positioned to inform and cooperate with Chinese oversight.
A Smart Economy
The Neo Cryptocurrency whitepaper is our key resource in understanding the platform. Unfortunately, aspects of Neo Cryptocurrency are still in development, and certain details are unclear. At times, the whitepaper reads more as an overview of smart contracts in general than a specific guide to Neo’s inner workings.
In concept, Neo is a smart contracts ecosystem, similar to Ethereum. It allows users to automate the storage and exchange of digital assets. In order to compete with more established smart contracts implementations, Neo takes advantage of evolving technology and cooperation with Chinese authorities towards the stated goal of a ‘smart economy’.
In 2005, China’s ‘Digital Signature Act’ allowed digital signatures to be legally binding in theory. The trouble here is that a means of digital identification that meets the requirements of this regulation has been hard to come by. In 2016, partnering with Microsoft China, OnChain founded Legal Chain with the goal of providing this means of identification. Legal Chain intends to apply the immutability and transparency of blockchain systems to meet these requirements, with the aim of integrating face and voice recognition along the way.
This concept of digital identity is a key feature in Neo’s proposed smart economy. Maintaining a trusted link between digital and physical entities means that you should be able to follow abuse of the system right back to a legally-binding identity.
Neo Crytpocurrency employs a consensus mechanism called Delegated Byzantine Fault Tolerance (dBFT). Participants in the system are able to designate certain nodes as bookkeepers. A bookkeeper node must maintain a minimum balance of NEO and meet certain performance requirements.
Bookkeepers are tasked with verifying the blocks that are written to the blockchain. If two-thirds of the nodes on the network can agree with a bookkeeper’s version of the blockchain, consensus is achieved and the proposed version of the blockchain is validated. If consensus fails, an alternate bookkeeper is called and the process is repeated.
Because this consensus only needs to be replicated across a subset of the network, it is said to be more efficient than classic Byzantine Fault Tolerance. The network as a whole consumes fewer resources and can handle higher transaction volumes.
With dBFT and some other key optimizations, Neo claims to be able to handle over 1,000 transactions per second, with a goal of optimizing to over 10,000 transactions per second. Compare that to Ethereum’s current rate of 15 transactions per second.
That’s a big advantage but it could be argued that these gains come at the cost of centralization. Digital Identification and dBFT may serve to limit control of the system to a select group.
Neo’s smart contracts are called NeoContracts. One of the big obstacles to designing smart contracts is that their results need to be reproduced reliably across a network.
If a contract is referenced on a blockchain and it yields different results on different systems, the network can’t reliably agree on what the blockchain looks like and blocks will be stalled. But a smart contract can’t perform meaningful operations without accessing some variables.
Timestamps — Maybe you want to use smart contracts to automate weekly payments to an employee or settle an account with a distributor every 30 days. Your contract will need to know what time it is. To provide consistent access to time data, Neo registers a timestamp to every new block that is generated. A new block is added every 15 seconds, so contracts can access the current time to within 15 seconds.
Randomness — Also useful is the ability to generate random numbers. But how do you provide a random number while still ensuring that the same random number is identified across the network? To provide smart contracts with access to randomness, a random number is inserted into the Nonce field of every new block. Contracts can reference this Nonce field to access this random number.
Data Storage- Data in NeoContracts can be stored privately, accessible only to the contract with which it is associated. Data may also be stored in a global context, accessible to all of the contracts on the network. External data must be transferred to the Neo blockchain and passed on to these private or public data stores in order to be referenced by contracts.
The platform involves 2 different tokens. NEO Cryptocurrency and GAS cryptocurrency are the cryptographic currencies that drive the Neo network. Both NEO and GAS are capped at 100 million tokens each.
The NEO Cryptocurrency is representative of shares in the Neo market, and cannot be divided. NEO holders get voting rights in the NEO ecosystem as well as rights to dividends in the form of GAS. 50 million NEO were distributed through initial crowd funding. The remaining 50 million tokens are fixed with a 1-year lockout period, expiring October 16, 2017.
These lockout tokens are to be managed by the NEO Council (A group of the project’s founders) to support development and maintenance of the ecosystem. Specifically, 10 million tokens are earmarked to reward core developers and members of the NEO Cryptocurrency Council, another 10 million are to be used to stimulate the Neo development ecosystem, 15 million tokens are to be retained as a ‘contingency’, and the remaining 15 million are to be cross-invested in blockchain ecosystems supporting Neo.
Neo’s alternate token, GAS, is generated at a rate of 8 GAS per block with the construction of the blockchain. The rate of production is reduced by 1 token for every 2 million blocks generated. Sometime around 2039, GAS circulation will reach 100 million and production will cease. Unlike NEO, GAS can be divided.
GAS dividends also accumulate as fees to the network. Users pay in GAS to deploy and run smart contracts. Fees are proportional to the computing resources consumed by the contract. These fees are distributed to ‘bookkeepers’ as reward for their activity on the network.
In addition to the core protocol, the Neo team champions a handful of side projects that bring various benefits to the Neo Ecosystem.
In a traditional currency exchange, orders are placed and matched in a centralized marketplace. The process is efficient but it requires that the user release control of their funds to the exchange.
By automating the placement and matching of orders across a consensus network, you can ensure that orders are matched and processed fairly and transparently, effectively creating a decentralized exchange. But this results in slow transactions as adjustments must to be validated across the network.
Neo proposes a system whereby exchange transactions are settled on the blockchain but order matching is handled off-chain by a central exchange. Neo calls these transactions ‘Superconducting Transactions’. This is intended to provide the efficiency of centralized exchanges with the security of a decentralized exchange.
NeoX allows transactions to traverse blockchains. I can’t find much in detail about this protocol. Similar protocols involve generating smart contracts that serve to lock funds on one blockchain in return for access to funds on an alternate chain.
NeoFS allows large files to be divided and distributed across the network. Users can specify the level of reliability they expect of a file. Files with low reliability requirements can be stored and retrieved at minimal cost. For a higher fee, data can be stored on more reliable nodes.