Overview

NEO is a blockchain “platform” that rents out its underlying tech stack, enabling the development of digital assets and smart contracts on top of its own infrastructure. Generally speaking, NEO’s value proposition is similar to that of Ethereum’s. While the latter markets itself as a more abstract tool with which to build arbitrarily complex decentralized applications (“dApps”), the former is more focused on digital asset recordkeeping with e-contracts, including for currently “fiat” or “real-world” assets.

According to its whitepaper, NEO offers a “decentralized and distributed ledger protocol that digitalizes realworld assets into digital ones, enabling registration, depository, transfer, trading, clearing and settlement via a peer-to-peer network.”

Relative to Ethereum, the NEO platform is in even earlier innings of development, but there appears to be sizeable support from its community. Further, the platform has gained a noteworthy following in certain regions in Asia, and has been labeled as “China’s Ethereum”.

Network Throughput

In its current state, the NEO blockchain appends a new block every 15–20 seconds, with demonstrated transaction throughput of ~1,000 transactions per second (“tps”) and a theoretical transaction throughput of 7,500–10,000 tps (per their Reddit AMA and other sources). 1,000 tps puts NEO among the fastest across its peer group and an optimized 10,000 tps makes a case to support commercial applications of scale, pitting it against incumbent centralized solutions. These throughput levels substantially dwarf Ethereum’s current ~15 tps (~30 tps theoretical), though Ethereum’s near-term pipeline of scaling solutions (which we plan to cover in a future blog post) should bridge a meaningful portion of this current gap. The relative efficiency of NEO’s blockchain is further detailed in several points below (e.g. consensus mechanism, Virtual Machine build).

Consensus Mechanism

NEO utilizes a Delegated Byzantine Fault Tolerance (“dBFT”) consensus mechanism, which is a large driver of its elevated network throughput. dBFT is closer to a Proof of Stake (“PoS”) system than a Proof of Work (“PoW”) system, and shares several of its benefits.

While a detailed discussion of PoS vs. PoW is beyond the scope of this article, PoS has several advantages over PoW (e.g. electricity/hardware scalability, faster/greater transaction finality and higher network throughput, etc.). However, PoS involves numerous validators perpetually connected to the internet staking coins, increasing the attack surface for potential hacks. Additionally, like PoW, PoS is still prone to forks if consensus were to break. While in reality, most blockchains (PoW and PoS) fork fairly frequently before converging back to a single chain shortly thereafter (i.e. uncle and orphan blocks), this poses a conflict for NEO’s vision of widespread digitization of real-world assets. A blockchain securing traditionally fiat securities cannot afford to diverge into two versions and wait out inconsistencies until one is declared a winner (i.e. delayed finality on a regular basis). Lastly, while an order of magnitude more scalable than PoW systems, current PoS research has only demonstrated network throughput in the several hundreds of tps (compared to Visa’s 50,000+ tps capacity).

Taking a step back, “Byzantine Fault Tolerance” is a classic computer science problem that is especially fundamental to any distributed system. In essence, it poses the question: How does a system of anonymous, distributed actors who receive data at different times and in a different order, converge to consensus? A system that addresses this issue can guarantee that digital assets are moved in the correct order and recognized consistently by every node in the system.

In the NEO network, there are several types of actors, spanning several distinct categories:

Ordinary Nodes — function as both as a client interface and server; store complete historical data as well as detect and relay transactions, but do not participate in block validation Bookkeeping Nodes — trusted nodes that must reach consensus to confirm every block; receive GAS transaction fees for validating blocks Users — clients via web browser or dApps, who not required to download the blockchain’s complete history

In NEO’s dBFT construct, the network enables large-scale participation in consensus through proxy voting. This process is simplified as follows:

Ordinary nodes vote for a bookkeeping node (a delegate) it supports:

Note that there are certain requirements (e.g. minimum RAM/internet speed, minimum stake of ~1,000 GAS) that must be met in order to be granted bookkeeping responsibilities

Bookkeeping nodes can redeem their staked GAS at any time, but lose status as a bookkeeper upon withdrawal

Bookkeeping nodes are not anonymous as they are required to get consensus authority certificates, potentially even revealing their real-world names

2. The selected group of bookkeepers, through a BFT algorithm, reach consensus and generate new blocks

A bookkeeping node (randomly assigned from the pool of bookkeepers) broadcasts its version of the blockchain to the network

If 2/3 of the other bookkeeping nodes agree with the information, consensus is achieved. If less than 2/3 of these bookkeeping nodes approve this, a different bookkeeping node is appointed to broadcast its blockchain version, with this cycle repeating until 2/3 consensus is achieved

3. Voting in NEO continues in real time, rather than in accordance with a fixed term (e.g. Ethereum’s CASPER PoS system has a “bonding period”, which appears to have a minimum of several months)

A more fulsome explanation of this can be found here. http://docs.neo.org/en-us/node/consensus.html

Hyperledger uses a similar “Practical Byzantine Fault Tolerance” approach, and have posted a few diagrams to illustrate their BFT algorithm in slides 13–16 here: https://www.slideshare.net/ericcattoir/anatomy-of-ahyperledger-application

The NEO developers suggest that their dBFT system mitigates several PoS concerns. By limiting block validation work to a limited number of “professional” bookkeeping nodes, it achieves a higher network tps (faster synchronization times) and minimizes the network’s attack surface (as well as hold malicious bookkeepers liable given their lack of anonymity). Further, the voting process outlined above mitigates the risk of forks or alternative blockchain records, regardless of a prospective attacker’s amount of computing power or token holdings. Because bookkeeping nodes must internally reach consensus before any block is actually added to the chain, the likelihood of network latency / bad actors manipulating different parts of the network to work on different versions of the blockchain is significantly reduced.

The trade-off here is a somewhat less decentralized decision-making model, and the requirement for ordinary nodes to trust the bookkeeping nodes enough to believe that at least 2/3 of them are not malicious. Further, there may be a “nothing at stake” concern, as dBFT does not have a codified slashing protocol such as that used in Ethereum’s CASPER PoS algorithm. Some of these issues may be alleviated by the lack of anonymity (i.e. requirement for consensus authority certificates) and so bad actors can be held accountable for their actions. NEO’s leadership has stated that it is possible to freeze, revoke, inherit, retrieve, and effect judicial decisions on bookkeeping nodes through the network’s implementation of digital identity.

In the end, while NEO adopted the dBFT mechanism given its belief that such a system should theoretically scale and perform better relative to similar platforms, dBFT is largely untested (practically speaking) given the early-stage nature of NEO, and there may be unknown nuances or uncontemplated non-normative scenarios involving dBFT that have yet to surface.

Tokenomics

The NEO blockchain has two native tokens, NEO (“NEO”) and NeoGas (“GAS”).

NEO

NEO is capped at 100 million tokens, and grants holders with the right to manage the NEO network. Such rights include voting for bookkeeping nodes, overall network parameter changes, etc. NEO can only be traded in integer denominations and cannot be subdivided.

Right to vote for bookkeeping notes

Right to receive GAS dividends — but can only be generated by holding coins in a compatible wallet or exchange (e.g. NEON wallet, Binance, Kucoin)

Right to receive “recycled” GAS fees from new asset registrations

Right to vote over major governance/strategic decisions for the NEO blockchain

Out of the 100 million NEO cap, 50 million tokens have been distributed via the NEO ICO. The remaining 50 million NEO is managed by the NEO Council, and will be deployed to support the platform’s ongoing operations. The NEO council has indicated that they will not spend more than 15 million NEO per year, earmarking these funds as follows:

10 million NEO for NEO core developers and NEO Council

10 million NEO for other developers in the NEO ecosystem

15 million NEO for investments in other blockchain projects related to or launched on NEO

15 million reserve pool

GAS

GAS is the crypto-fuel for the NEO blockchain, and the method by which the system allocates scarce computing resources. Like the NEO token, GAS has a cap of 100 million tokens. GAS is charged for the operation and storage of digital assets and smart contracts, thus developing economic incentives to ensure that network participants do not abuse common resources.

1. Used to pay for computing power on the NEO blockchain (i.e. service fees)

Smart contract deployment (one-time fixed fee of 500 GAS)

Implementation fees — execution of smart contracts and digital asset transactions, with fees based on the computational complexity. Like in Ethereum, if implementation fails due to lack of GAS, the cost of consumption will not be returned to caller

Most simple contracts can be executed for free if GAS costs are under 10

2. Used as bookkeeper node deposits

100 million GAS will accrue to NEO holders under a decay algorithm in which the last GAS unit will be produced in the year 2038. Newly minted GAS will be distributed proportionally to NEO owners who are holding NEO in compatible wallets (e.g. NEON).

Based on this schedule, 16% of GAS has been created in the first year of NEO’s inception, 52% of GAS will be created in the first four years, and 80% of the GAS will be created in the first 12 years. Note that GAS generation is linked to block generation rates, as GAS is distributed upon the addition of a new block to the blockchain.

NEO/GAS Ratio

As a reminder, our analysis around this topic is more illustrative than it is instructive. From our research, it appears that some retail investors are unaware that GAS is the actual utility token of NEO’s blockchain, rather than NEO (confusing marketing and terminology on NEO’s part). As such, GAS may theoretically be more valuable than NEO in the long term given that it is the scarce economic unit that will be used to purchase computing power on the blockchain. NEO is a governance token that will stop generating newly minted (“genesis”) GAS in 21 years, but may accrue recycled GAS from one-time fees as referenced above. In the short term however, the NEO token may justifiably trade at a premium as a result of higher liquidity (listed on more exchanges, more easily accepted as store of value / medium of exchange / means of speculation), branding (association with the NEO platform), actionable use case (ICO funding), genesis GAS dividend entitlements (albeit temporary and diminishing), and a portion of recycled GAS dividends (but limited to “one-time” type fees).

One can argue that the NEO may lose several of these value drivers relative to GAS. For instance, GAS may achieve greater liquidity on subsequent exchange listings, its utility valued more broadly and acknowledged through community education or near-term catalysts that bid up GAS demand (e.g. the NEO council’s 1Q18 concession of bookkeeping nodes), and NEO ICOs may start accepting GAS or other tokens, with increased cross-chain interoperability. At present, recycled GAS dividends may not represent a large enough offset to the aforementioned factors in order to justify a NEO/GAS premium. Per the article here (https://medium.com/@MalcolmLerider/clarification-on-neo-gas-and-consensus-nodes-aa94d4f4b09), recycled GAS fees associated with new asset registrations accrue to NEO holders, but general transaction fees accrue to the bookkeeper nodes, who are not necessarily holders of NEO. We take the conservatized view (though this could shift quickly given the lack of data in the platform’s early innings) that registration fees would be one-time fees for the most part, with new registration volume plateauing over time, resulting in diminishing marginal returns similar to that of NEO’s GAS dividend schedule. Transaction fees, despite their lower ticket sizes, would represent a steadier stream of GAS demand and at larger volumes.

If one believes this is the case, then the right to genesis GAS dividends is the primary underlying value driver for NEO, discounted on a time value basis given the delayed distribution schedule. In the long-term, as genesis GAS rewards decrease and the GAS use case is developed through transaction fees and staking deposits, the GAS token value could surpass that of NEO, with NEO having relatively lower terminal value past 21 years. This is not to say that NEO has no “terminal value”, but rather, that buying GAS today (at relatively lower prices, given the nascence of its use case) represents a better risk/reward than buying NEO in the hopes of generating proportionally less GAS in the future.

Our analysis below illustrates the thesis of a GAS premium, where investors may be better off buying GAS as opposed to NEO as a GAS generator. We assume a discount rate of 10–30%. 30%, while relatively high in traditional standards, may be more modest relative to the crypto space. At such levels, NEO generates an NPV of 0.35 GAS (or 0.22, excl. 2017 which has largely passed), implying a GAS/NEO ratio of 2.9x (or 4.5x excl. 2017). The lower bound of 10% assumes that investors ascribe value to NEO outside genesis GAS dividend rights as posited above, so are willing to take a lower return rate using this framework. Here, NEO generates an NPV of 0.60 GAS (or 0.46 excl. 2017), implying a GAS/NEO ratio of 1.7x (or 2.2x excl. 2017). Again, while NEO may justifiably trade at a short-term premium, we expect a larger proportion of the network’s value to accrue to GAS in the years to come.

As seen in the charts above, the current NEO to GAS price relationship is has increasingly tempered downwards (~1.5x as of November 2017). Note that GAS supply is currently very limited (~8 million circulating out of 100 million cap).