NEO Wiki

Jeremy
9 min readOct 13, 2017

--

NEO (formerly known as AntShares) is an open-source, public, smart asset platform, with the design goal of creating, “A Distributed Network for the Smart Economy.” Digital assets on the blockchain, digital identity and smart contract (scripting) functionality form the cornerstone of the NEO smart asset platform.

Within this distributed network, a cryptocurrency token called “NEO”, represents the governing rights to manage the network, through an on-chain voting process. “GAS” is a separate cryptocurrency token, that fuels transactions on the platform, through allocation of scarce network resources.

(Credits: Bitcoin Magazine)

History

Origin

The NEO (originally Antshares) project was first launched in mid 2014, along with a seed-round funding, and the formation of the operating company. In June 2015, the NEO project was open-sourced on Github, making it the first open-source public blockchain in China. In September 2015, the first white paper for the NEO project was released.

Funding

NEO, is a community funded, open-sourced project. Development of the NEO project was funded by two rounds of online public crowdsale. The first crowdsale was held on October 2015, which lasted for 10 days. During the crowdsale, 17.5 million NEO tokens were sold for 2,100 BTC (550.000 USD). The second crowdsale was held on 8th August 2016, and the remaining 22.5 million NEO tokens were sold for 6,119 BTC (4.500.000 USD).

Onchain

Two of the five co-founders of Onchain are founders of the NEO project, namely Da Hongfei and Erik Zhang. Onchain and NEO, exists as separate entities. Onchain is a for-profit, venture capital backed company, with notable investors such as Fosun Group. Onchain runs a consortium version of the NEO network, Distributed Networks Architecture (DNA), with a vision to facilitate the distributed ledger adoption, among organisations and institutions. In 2016, Onchain was shortlisted as the Top 50 Fintech Company in China by KPMG .

(Credits: Onchain and its Ultimate Plan)

NEO Rebrand

In June 2017, the NEO Council organized a brand strategy conference, unveiling the rebranded name “NEO”, which replaced “Antshares”. By August 2017, the rebranding to NEO was completed, along with the launch of a new website.

(Credits: CoinRadar)

Smart economy

Digital Assets on the Blockchain

With blockchain technology, real-world assets can be digitized in a trustless and decentralized manner. These digital assets will exist in the form of programmable electronic data, which is free of intermediaries, and fully transparent to all stakeholders. In order to successfully bridge real-world assets and the digital world, digital certificates are employed to provably map connection between users, and digital data that exists on the blockchain. Users with validated digital identity, can register and trade multiple forms of digital assets, while being fully protected by law.

Digital Identity

Trusted digital identity is essential in the digitization of real-world assets. Digital identity are identity information of individuals, organizations or other entities, that exist in the form of programmable electronic data. The NEO platforms implements the X.509 digital identity standard, the most widely accepted digital certificate issuance model, based on Public Key Infrastructure. Besides this, the Web of Trust point-to-point certificate issuance mode, is supported alongside the X.509 standard. Various methods for identity verification include, the use of facial features, fingerprint, voice, SMS or other multi-factor authentication methods.

Smart Contracts

A smart contract refers to any computer program that executes the terms of its preprogrammed contract, which are a set of commitments, defined in the form of programmable electronic data. This deterministic exchange mechanism facilitates transfer of value between untrusted agents, circumventing censorship and minimizing counter-party risk. Decentralization, immutability and transparency of the blockchain, provides smart contracts with a reliable execution environment. Smart contracts are used as carriers to record state changes of data, on the distributed ledger.

Along with the NEO rebrand, NeoContract 2.0, a smart contract system built on the NEO platform, was released. High-level programming languages like C#, Java, Kotlin are directly supported in the development of smart contracts. Other high-level languages that will be integrated are C, C++, GO, Python and Javascript. With NeoContract 2.0, developers using these languages can develop smart contracts in NEO, without needing to learn another programming language.

Architecture

NEO

NEO token holders are granted governing rights to manage the network, through an on-chain voting process. Token ownership can be transferred, with the lowest unit of division being 1 NEO.

Uses of NEO:

• Voting for consensus node and protocol changes within the NEO network

• Receive network fuel, in GAS

• Obtain additional service charge from registration and changing of assets, in GAS

The supply of NEO tokens is fixed at 100 million. 50 million NEO were distributed proportionally to NEO supporters, over two public crowdsales. NEO Council manages the remaining 50 million NEO, which has a lockout period of 1 year, ending on October 16, 2017. Annual use of NEO by the NEO Council, will not exceed 15 million NEO.

Allocation of NEO:

• 10 million allocated to motivate core NEO developers, and NEO Council

• 10 million allocated to motivate external developers, in the NEO ecosystem

• 15 million allocated for cross-investing in blockchain projects launched on the NEO platform

• 15 million retained for contingency

GAS

GAS is the token that fuels network transactions, through allocation of scarce network resources.

Utility of GAS tokens:

• Service fees: This fee is incurred through the registration and changing of assets on the blockchain. The service fees will be distributed proportionally to all NEO holders, in addition to the in-built GAS generation mechanism

• Transaction fees: This fee is currently set to zero. In the future, consensus nodes have the power to introduce a small transaction fee into the network. The transaction fee will be distributed to consensus nodes only. NEO holders will not receive distribution of transaction fees.

The total supply of GAS is capped at 100 million GAS. The initial supply of GAS in the genesis block is zero. GAS is generated with each new block and distribution follows a decay algorithm that spans 22 years. GAS is distributed proportionally to NEO holders, according to the holding ratio of NEO tokens, in each address. A claim transaction can be invoked at any time by NEO holders, to claim the GAS tokens credited to the address.

GAS Inflation:

• 16% of the total supply of GAS will be generated in the first year

• 52% of the total supply of GAS will be generated in 4 years

• 80% of the total supply of GAS will be generated in 12 years

Governance

NEO token holders are granted governing rights to manage the network, through an on-chain voting process. Token ownership can be transferred, with the lowest unit of division being 1 NEO.

Off-chain governance of the NEO project is managed by the NEO Council, which consists of founding members of the NEO project. Secretary General Tony Tao leads the NEO Council, with its primary objective being the promotion and development of the NEO ecosystem, through strategic and technical decision-making.

dBFT

In April 2016, NEO activated China’s first native consensus mechanism, Delegated Byzantine Fault Tolerant (dBFT). NEO token holders can vote for the consensus node it supports, in real time, through an on-chain voting process. The selected group of consensus nodes will achieve consensus through Byzantine Fault Tolerance (BFT) algorithm, and generate new blocks. Within a system of ’n’ consensus nodes, dBFT provides a fault tolerance of f = ⌊ (n-1) / 3 ⌋, while being resistant to both general and Byzantine failures.

Using dBFT consensus mechanism, blocks are generated every 15 to 20 seconds within the NEO network. Transaction throughput have been measured up to 1,000 TPS, with a potential to reach up to 10,000 TPS, given appropriate optimization. The high level of transaction throughput will enable NEO to support large-scale commercial applications. Combining dBFT with digital identity means that the real identity of the consensus nodes will be known, be it an individual or institution. It is possible to freeze, revoke, retrieve and transfer ownership, based on judicial decisions. This facilitates the registration of traditional financial instruments on the NEO network.

Scalability

A system can theoretically achieve unlimited scaling, if programs can be executed in parallel. In blockchain systems, parallel scaling is achieved by concurrent execution of multiple smart contracts, in a non-sequential manner. Smart contracts in NEO possess a static call relationship. Each contract is required to explicitly indicate other contracts which are likely to be invoked, so its behaviour, and call relationship are fully defined before execution.

Before the execution of any smart contract, NeoContract creates a smart contract call tree through static analysis. Through this deterministic call tree, NEO nodes dynamically fragment the smart contracts, which overcomes the “jamming effect” caused by static fragmentation. Contracts that modify the same state record are executed sequentially, within a particular partition. Contracts that modify different state records, across different partitions, are executed in parallel.

NeoContract

NeoVM

Smart contracts in NEO are executed within the NEO Virtual Machine (NeoVM). It is a lightweight, general-purpose Virtual Machine (VM) that closely mirrors the high-level architecture of JVM (Java Virtual Machine) and .NET Runtime.NEO DevPack consists of a high-level language complier, and an Integrated Development Environment (IDE) plug-in. Due to similar high-level architecture, NeoVM compliers are able to compile Java bytecode and .NET MSIL into NeoVM instruction set.

NeoVM is designed to have low coupling and high cohesion with the NEO blockchain. As a result, NeoVM can be integrated with various IDEs to provide test environments that are consistent with final production environment. Java, Kotlin, C#, VB.NET and F# developers can develop and test smart contract templates directly within Visual Studio (VS), Eclipse and other IDE environments.

Interoperable Service Layer

The utility of smart contracts can be expanded, through an interoperable service layer. Advanced functionalities can be achieved by allowing smart contracts to concurrently access data outside of the NeoVM, without sacrificing overall stability and efficiency of the network. Blockchain ledger, persistent storage area, digital asset and identity can be loaded into the sandboxed VM environment. Introduction of a real-time complier(JIT) and cashing of hotspot smart contracts, increases the efficiency of VM implementation and smart contract execution. Due to the interoperable service layer, upgrades to smart contract functions can be achieved, by increasing the API of interoperable services.

Future Features

NeoX

NeoX is a protocol that implements cross-chain interoperability, through cross-chain asset exchange agreement, cross-chain distributed transactions and execution of smart contracts on different blockchains. Research and development of NeoX will begin in 2018.

NeoFS

NeoFS (File Storage) is a distributed storage protocol that utilizes Distributed Hash Table technology, indexing data through file content (Hash) rather than file path (URI). These fixed-size data blocks are distributed and stored across many different NEO nodes, without the need for a central storage server. NeoFS will be used to store digital certificates of digital identity, functioning as an in-built interoperable service. Research and development of NeoFS will begin in 2018.

NeoQS

NeoQS (Quantum Safe) is a lattice based cryptographic mechanism. The emergence of quantum computers poses a major challenge to RSA-based and ECC-based cryptographic mechanisms. Quantum computers can solve the large number of decomposition problems (RSA) and the elliptic curve discrete logarithm (ECC) in a very short time. Shortest Vector Problem (SVP) and the Closest Vector Problem (CVP) are considered to be reliable algorithms for resisting quantum computers. Research and development of NeoQS will begin in 2018.

Decentralized Applications

• Smart Fund (NEST)

• Superconducting Transactions on decentralized exchanges

• Oracle Machine / Prediction Market

• Social Networking

• AI-assisted Legal Smart Contract

• Secure Communication Protocol

• P2P Loans

• Supply Chain Finance

• Loyalty points management

Ecosystem

City of Zion

City of Zion (CoZ) is an independent group of open source developers, formed to support the NEO ecosystem. CoZ is governed by the CoZ Council, through a council-style, voting process. The NEO Council outlined a plan to fund CoZ development works, for the next 5 years.

(Credits: City of Zion Github)

This article won the Grand Prize in Lunyr Writer’s Blockchain Competition.

Lunyr is an Ethereum-based decentralized world knowledge base, with a long term vision of developing a knowledge base API that developers can use to create next generation decentralized applications in Artificial Intelligence, Virtual Reality, and Augmented Reality. Find out more here.

--

--