According to the official website, Neo is “a non-profit community-based blockchain project that utilizes blockchain technology and digital identity to digitize assets, to automate the management of digital assets using smart contracts, and to realize a ‘smart economy’ with a distributed network. ” The project was initially introduced as AntShares (ANS) in February 2014 and was funded by two crowd sales. Its initial coin offering (ICO) raised over $4.5 million; the first crowd sale took place in October 2015 during which 17.5 million tokens were distributed, and the remaining 22.5 million tokens allocated for sale to early investors were distributed during the second crowd sale.
Table of contents:
The dBFT – NEO’s consensus mechanism
A Brief History
During the process of creating and improving the blockchain network, the AntShares team faced an increasingly high demand from business-to-business enterprises for solutions that incorporated the blockchain technology within a specific industry climate. The team tackled these requests as they came but, over time, they realized that providing those services should be an independent endeavor.
This realization led to the foundation of Onchain, an independent company that was envisioned to provide a universal blockchain framework. In other words, even though both projects relied on (and implemented the) open-source blockchain technology, AntShares and Onchain were two independent ventures; the former is a general purpose, public blockchain and the latter focuses on creating blockchain architecture that can be replicated to meet specific industry needs.
Following the successful ICO, the AntShares team looked for a way to appeal to traders on the global market – and they decided to rebrand the blockchain network into Neo. The rebranding happened in June 2017, after which some of the largest cryptocurrency exchanges in the world integrated support for trading NEO. Within months of the rebranding, Neo found itself among the top 10 cryptocurrencies in the world.
Thanks to Neo’s impressive growth in value in 2017, investors witnessed a return-of-investment of more than 30,000%. Neo is the first blockchain-based project backed by the Chinese government and its ranked #8 on CoinMarketCap’s Top 100 Coins by Market Capitalization at the time of writing.
China’s “Ethereum Killer”
Ethereum is a cryptocurrency well known to all. Second only to Bitcoin, it has established its status in the world of crypto with a market cap of almost $50 billion. Actually, Ethereum is more than a currency if we take into consideration the functionalities it offers; it’s a Turing-complete platform that allows users to create decentralized apps (DApps), run smart contracts, and create various tokens and organize ICOs on its blockchain. A question inevitably poses: what could possibly threaten such a versatile platform?
Well, NEO has one key advantage over Ethereum — it significantly lowers the barrier to entry for developers, thus speeding up innovation and, as a result, adoption. Namely, smart contracts and DApps on Ethereum are coded using Ethereum’s native language – Solidity, meaning that developers that wish to contribute to the community or turn a profit must first learn a whole new programming language.
This obvious setback opened up a window of opportunity for cryptocurrencies to level the playing field — and NEO took it. NEO allows for developers to code their software in many different programming languages: C#, F#, VB.NET, Kotlin, Python, Java. They plan to support C, C++, Golang and JavaScript in the future.
This crucial differentiating feature of NEO significantly changes the value of the cryptocurrency. Technology moves fast as it is, and engineers and code enthusiasts that have spent considerable time and effort mastering a programming language can now easily jump on board with smart contracts without skipping a beat.
The Team Behind NEO
NEO’s team consists of more than 100 developers all over the world, 30 of which work full-time at the project headquarters in Shanghai. The project leader is Da Hongfei, the CEO of Onchain. Hongfei’s involvement with cryptocurrencies started in 2014 when he founded AntShares, and since then he has become a leading face in the Chinese blockchain industry. Other members of the team include Erik Zhang, CTO, core developer and co-founder; Tony Tao, Secretary-General and Neo Council Secretariat; and core developer Li Jianying.
Neo’s team is not that publicized, and information on the team members is scarce. This issue of PR has proven time and time again to be a problem for cryptocurrency developers, as potential users and investors like to put a face to the name – especially when there’s money involved.
NEO’s Goal
According to their whitepaper, NEO’s design goals are to achieve a smart economy with a distributed network and self-managed digital assets using smart contracts and digital identities. In other words, as stated on their website:
Digital Assets + Digital Identity + Smart Contract = Smart Economy
Digital assets
Digital assets are exactly what they sound like: assets that exist in a digital, electronic format. The blockchain technology allows for a safe, trustful, transparent and decentralized digitization of assets, as well as their trade, registering and circulation. Digital assets can be connected to physical assets via digital identities, and assets that are registered through a validated digital identity are subject to legal protection.
NEO has two forms of digital assets:
- Global assets – assets that can be recorded in the system space and can be identified by all smart contracts and clients.
- Contract assets – assets that are recorded in the private storage area of the smart contract and require a compatible client to recognize them. Contract assets can adhere to certain standards in order to achieve compatibility with most clients.
Digital identity
Digital identity is the electronic representation of the identity information about individuals, organizations and other entities. Neo strives to take over the global market, making business and large corporations their primary target. This explains why the team is invested in introducing digital identities in the first place, as the main reason for their implementation is to simplify the way users interact with the network.
User verification is done using a set of X.509-compatible digital identity standards, facial features, fingerprint, voice, SMS, and other multi-factor authentication methods, and the Online Certificate Status Protocol (OCSP) that is used to obtain the revocation status of a X.509 digital certificate will be replaced with the blockchain. While this may seem odd at first glance, remember that Neo is a business-oriented blockchain platform, which is why issues of anonymity are replaced with issues of identity validation.
Smart contract
Smart contracts are digital, self-executing contracts written in code. They enable for transactions and agreements to be carried out automatically, without the need for a third trusted party to enforce them. The concept of smart contracts was first introduced in 1996 by Nick Szabo in his publication titled “Smart Contracts: Building Blocks for Digital Markets” and has since been recognized to be a game-changing concept that could revolutionize the way people transact over the Internet.
Neo has developed an independent smart contract system called NeoContract. As they describe it in their whitepaper: ”The NeoContract smart contract system is the biggest feature of the seamless integration of the existing developer ecosystem.
Developers do not need to learn a new programming language but use C#, Java and other mainstream programming languages in their familiar IDE environments (Visual Studio, Eclipse, etc.) for smart contract development, debugging and compilation.”
In addition to the wide range of programming languages that can be used to write them, NeoContracts come with a few other perks that developers will surely appreciate. One of them is the possibility for referring to the timestamp registered to every new block that is generated on the blockchain.
A new block is added to the blockchain every 15 seconds, which means that timestamps provide a precise time data (to within 15 seconds) that is widely applicable for writing smart contracts. Another useful addition is the random number inserted into the Nonce field of every new block, which is identifiable all across the network and can be used for different purposes when designing a smart contract.
Lastly, NeoContracts allow users to store data on the blockchain and access it in accordance with the assigned permissions; the data can be available to all contracts on the network (public), or only to those contracts with which it is associated (private).
Economic model
The Neo ecosystem has two native tokens: Neo (NEO) and NeoGas (GAS). Both have a market cap of 100 million tokens each, but differ in their role in the network.
NEO
NEO is the equity token that you can buy on an exchange, and the token that gives you network management rights like voting on major issues regarding the blockchain. Since Neo utilizes a business-oriented cryptocurrency model, NEO tokens can be compared to shares in a corporation; they’re indivisible, meaning you can’t own a portion of a single token, and holding them pays dividends in the form of GAS.
50 million NEO were distributed during the initial crowdfunding, and the remaining 50 million were distributed on October 16, 2017 following the end of the 1-year lockout period after the mainnet launch. This second batch of 50 million tokens was distributed in the following way: 10% of the shares went to the Neo developers and council members, 10% were meant for developers in the Neo ecosystem, 15% were used for investing in other Neo-based blockchain projects, and 15% were reserved as a contingency.
NeoGas
GAS is the utility token that’s used to pay for the bookkeeping services and all of the other actions that are executed on the platform, such as creating a smart contract or registering a bookkeeping node. As the name suggests, GAS tokens are the fuel of the Neo network; the network charges its users for storing tokens and operating them, and those fees are distributed among the bookkeeping nodes in the form of GAS as a reward for their activity and invested resources, serving as an economic incentive in the ecosystem. Furthermore, GAS is automatically created (issued) and distributed as a dividend to all NEO token holders proportionally. Unlike NEO, GAS is divisible and the minimum unit is 0.00000001 (one millionth) GAS.
With the creation of the platform, the GAS generation rate was set at 8 GAS/block and for every 2 million blocks generated, the rate of generation is reduced by one token. The reduction rate will come to a standstill once it reaches 1 GAS per block, and will stay that way for about 22 years. GAS production will cease once all 100 million tokens are in circulation, which is expected to happen sometime around 2040.
The dBFT – Neo’s consensus mechanism
When we talk about Neo’s network, we are talking about a distributed system, which means that its constituting elements are networked computers that communicate and coordinate their actions by passing messages. So when important decisions need to be made on the network, how does such a decentralized system composed of unrelated and untrustworthy nodes reach consensus?
This problem of reaching an agreement between multiple independent and autonomous parties is known as the Byzantine Generals’ Problem. There are already a few available solutions to it, most popular among which is the Proof of Work consensus algorithm endorsed by Satoshi Nakamoto. Although completely functional, the Proof of Work solution is not optimal. Other solutions, such as the Proof of Stake and the Delegated Proof of Stake algorithms, are well known within the community and others, like the Practical Byzantine Fault Tolerance and Neo’s Delegated Byzantine Fault Tolerance, are still rather unrenowned.
So, how does Neo’s dBFT solve the Byzantine Generals’ Problem while also improving scalability and performance?
Before we answer this question, we need to make a brief differentiation regarding the nodes on the Neo network. Namely, there are two types of nodes in the ecosystem:
- Ordinary nodes
- Represent the majority of holders;
- Do not participate in the network’s “voting” process;
- Only capable of asset transfer and exchange;
- Consensus (bookkeeping) nodes
- Represent the “delegates” that participate in block validation;
- Active participants in the voting process;
- Similar to mining nodes in the Bitcoin ecosystem;
- Require special equipment, a dedicated internet connection, and a certain amount of GAS;
With this information in mind, let’s keep the Byzantine generals analogy going; A group of 9 generals, each representing the people of a different municipality in their hometown, need to agree on whether or not they are going to attack a city. The important thing is that all generals need to agree on a decision, since both a half-hearted attack and an uncoordinated retreat will lead to failure.
The dBFT algorithm proposes that as long as ⅓ of the generals aren’t acting in a malicious way, consensus can be reached. In this analogy, that means ⅔ of the generals need to agree on the next move in order to come to a decision. The generals are reasonably distanced from each other, and because of this they do not communicate directly. Instead, all messages are conveyed through messengers. The generals discuss their options and decide to carry out the vote in the following manner:
- One of the 9 generals is elected commanding general.
- The commanding general communicates his proposed decision through a letter signed with his unforgeable signature.
- The messengers pass the letter containing the commanding general’s decision around for everyone else to agree or disagree with and sign it.
- If at least ⅔ of the generals agree to the commanding general’s proposed course of action, then that decision is accepted and the army either attacks or retreats in accordance with it. However, if at least ⅓ of the generals protest it, a new commanding general is elected and the process repeats.
Now replace “the people” with “ordinary nodes”, “generals” with “bookkeeping (consensus) nodes”, and “proposed decision” with “proposed block” — and there you have it! Basically, in each iteration one of Neo’s bookkeeping nodes proposes a block for validation and the rest of the bookkeeping nodes consult their copy of the blockchain to validate it. In case the bookkeeping nodes can’t reach a consensus, a different node is elected to propose its block for validation.
The reason why at least ⅔ of the bookkeeping nodes need to agree in order to reach a consensus is a purely algebraic matter which we won’t get into. We should also mention that even though dBFT guarantees consensus if there are traitorous generals (bookkeeping nodes that would vote in a manner that isn’t beneficial to the network), it doesn’t guarantee consensus in the event of miscommunication caused by the messengers, i.e. in the case of network failure.
Getting started with Neo
Now that we’ve been through the theoretical and technical aspects of the NEO network, it’s time to get practical. In this part of the guide we will take you through the steps required to get your first NEO: choosing a wallet, buying some NEO, and storing that NEO safely. So, without further ado:
Set up a NEO Wallet
NEO has provided its users with a list of available wallets on their official website. Most wallets are either easy-to-install or come with an installation manual of some sort, so we won’t spend time explaining the individual installation processes for each wallet. Instead, we will explain the characteristics of different wallets so that you get a sense of what it is you’ll be getting with every particular alternative. Depending on the type of wallet you want, these are your options:
Web wallet
- NEO Tracker – A web-based, third-party wallet developed by NEO Tracker. It’s an offline wallet, meaning you can log in with your private key or a keystore file (a file containing your keys in an encrypted form) but nothing is ever stored on NEO Tracker’s servers. It’s open-source and easy-to-use, and it allows sending, receiving and storing NEO and GAS, as well as claiming GAS if you’re holding NEO assets. NEO Tracker can also serve as a blockchain explorer and is currently available for Chrome and Edge only in English.
- NEO Wallet – A light, online wallet developed by PeterLinX, a member of the Neo community. It doesn’t send any data regarding your wallet to NEO Wallet servers, and allows for you to store the wallet file locally. With NEO Wallet you can send, receive and store NEO and GAS, and claim GAS for holding NEO. It’s currently available in English and Chinese, and it’s supported on Chrome and Edge browsers.
- OTCGO – Available only in Chinese, OTCGO is an online wallet that allows you to log in using your private key or a wallet file. It also works as an exchange and is currently supported only on Chrome.
Desktop wallet
- NEO-GUI – The official desktop wallet developed by Neo that comes with a graphical user interface. The NEO-GUI wallet must be fully synchronized with the blockchain before use, but luckily that process can be sped up by downloading only the additional, new blocks from the network rather than the entire blockchain every time an update is needed, as explained in the manual. It allows for users to send, receive and store NEO and GAS, and also claim GAS for holding NEO. It requires the .NetFramework 4.7.1 and VC++ 2010 Redist x64/x86, and is available for Windows 7 SP1 and later in English and Chinese.
- NEO-CLI – The official desktop wallet developed by Neo operated using a command line interpreter (CLI). This wallet client is meant for advanced users, since it doesn’t offer a graphical user interface; instead, the user accesses their wallet and other functionalities of the network by typing words and phrases (called commands) into the interpreter. Similarly to the GUI version, NEO-CLI must be synchronized with the blockchain to ensure proper functioning. However, this wallet client doesn’t have tool or framework dependencies, since all it requires to work is a command processor (usually comes with the operating system). It’s suitable for sending, receiving and storing both NEO and GAS, as well as claiming GAS. It’s available in English for Windows and Linux. For more information on how to use NEO-CLI check out the manual.
- Neon Wallet – A cross-platform client developed by City of Zion. Neon Wallet is a light wallet, meaning that it doesn’t require for a full copy of the blockchain to be kept locally. It’s a good wallet for beginners, as it offers a simple GUI and allows the user to log in using his private key. With Neon Wallet you can send, receive and store NEO and GAS, and claim GAS for holding NEO. The wallet is available in English and supported on Linux, macOS, and Windows.
- Morpheus Wallet – A light wallet suitable for use in combination with Ledger Nano S (as recommended by Neo), developed by MorpheusWallet. This wallet allows the user to log in using a private key, an encrypted private key, or a recovery file. It’s available in English and is currently supported on macOS and Windows. A mobile version of the Morpheus Wallet is in the works.
Mobile wallet
- O3 – A mobile wallet developed by O3 Labs, with native applications available for iOS and Android in English. The O3 wallet enables assets management as well as claiming GAS. The Android version (available for Android 6.0 or later versions) allows its users to top up from a cold storage wallet, and the iOS version (available for iOS 11.0 or later) is protected by TouchID and PIN code.
- NEO App – A light, mobile version of PeterLinX’s online wallet. Users can log in using a password, and the wallet file is stored locally. NEO App is currently supported on Android 5 or later in English.
Hardware wallet
- Ledger Nano S – A multi-app, multi-currency hardware wallet with a built-in OLED display and two buttons for controlling the device. Available for 79€ on LedgerWallet.com
Paper wallet
- Ansy – A simple, easy-to-use paper wallet that guarantees your private key is safe as long as this physical piece of paper doesn’t fall into the wrong hands. You can use your paper wallet to send, receive and store NEO and GAS, but you won’t be able to claim GAS. Ansy is currently available in English on Chrome and Edge.
Note: All wallets listed in our guide have been recommended on Neo’s official website. Please try to limit your choice to these wallets, as any other software that isn’t endorsed by Neo might be a scam. DO NOT use random download links or URL addresses to set up a wallet, there is a high risk of getting your funds irreversibly drained from your account!
Buy NEO
The most popular way to get NEO is through a transit cryptocurrency since there aren’t that many exchanges that support direct fiat purchasing. This entails registering on an exchange, purchasing Bitcoin, Ethereum, or even Litecoin, and transferring your funds to an exchange that allows trading that cryptocurrency for NEO. If this is your method of choice, make sure you do research on the exchange and the transit cryptocurrency regarding fees, transaction speed etc. Commonly used exchanges for purchasing BTC, ETH and/or LTC include:
Exchanges that support crypto/NEO pairs are:
The alternative is buying Neo directly with fiat money. These are the exchanges that support fiat/NEO:
- Bitfinex – USD/NEO + GAS
- Anycoindirect – EUR/NEO + GAS
If you have experience with other exchanges, please leave a comment and we will be sure to include it in our lists.
Whether you purchase NEO with fiat or a transit cryptocurrency, you’ll most likely be doing it through one or more exchanges. There are a few things you should pay attention to, most important among which are fees, transfer speed, and the right to claim your GAS.
- Binance charges 0.1% fees per trade, and no fees for deposits. Withdrawal fees depend on the individual assets; Bitcoin has a 0.001 withdrawal fee, for Ethereum and Litecoin it’s 0.01, and NEO requires no fee. These fees are relatively low for a cryptocurrency exchange, as some competitors charge up to 0.18%. Kucoin also offers a standard 0.1% fee per transaction.
- With regards to transaction speed, Ethereum has much faster transfers than Bitcoin. This is important because your buying process will be over faster, and you won’t have to wait long to have your NEO ready to spend.
- Anycoindirect will let you claim your GAS from the exchange wallet. Not all exchanges do this; some of them keep the generated GAS as an additional fee for rendered services, so make sure you take that into consideration when choosing an exchange.
While there are some objective criteria that a user-friendly exchange should satisfy, the best way to buy NEO is entirely subjective and depends on where you are, your pre-existing assets, and the amount of information you’re willing to share. Make sure you read up on cryptocommunity members’ experiences on different forums – r/NEO/ might be a good place to start. You can also check out all NEO trading pairs at every available exchange here.
Store your NEO in Your Wallet
Even though exchanges offer native wallets that are useful for on-platform trading, you should store your assets in your own wallet in order to exercise complete control over them. In order to transfer your funds from the exchange to your wallet, copy your wallet’s public address and use it as the withdrawal address on the exchange where you’re holding your Neo. The transaction may take a couple of minutes to complete, and after that you’re all set! Your funds should appear in your wallet of choice, and you will be able to use them as well as collect your GAS.
Future Improvements
As stated in the NEO whitepaper, “The NEO system will use DBFT, NeoX, NeoFS, NeoQS and many other original technologies, as the infrastructure for the intelligent economy of the future.” We’ve already explained the dBFT consensus algorithm, but what are NeoX, NeoFS, and NeoQS? The whitepaper offers a somewhat ill-defined, unclear explanation of these concepts, so we’ll give our best to bring them closer to you.
Cross-chain interoperability agreement: NeoX
Essentially, NeoX is a cross-chain protocol whose main objective is to enable blockchain interoperability. It consists of two parts:
- Cross-chain assets exchange agreement – Allows “multiple participants to exchange assets across different chains and [ensures] that all steps in the entire transaction process succeed or fail together.”
- Cross-chain distributed transaction protocol – A protocol that defines transactions in such a way that “multiple steps of a transaction are scattered across different blockchains and that the consistency of the entire transaction is ensured. […] NeoX makes it possible for cross-chain smart contracts where a smart contract can perform different parts on multiple chains either succeeding or reverting as a whole.”
NeoX aims to facilitate the integration of private, consortium, and public blockchains, thus creating the opportunity for cross-chain collaboration.
Distributed Storage Protocol: NeoFS
NeoFS (File Storage) is another promising asset developed by NEO that is intended to provide its users with a decentralized storage system. It’s based on a technology called DHT (Distributed Hash Table) that indexes data by hashing its content, rather than its file path (URI).
All file storage systems face the issue of balancing between redundancy and reliability, and NeoFS is no exception. They intend on addressing this problem by means of token incentives and backbone nodes. Users choose the reliability requirements for their files; those with low reliability can be stored and access for (almost) free, but will be less dependable in return. Files with higher reliability, on the other hand, will be provided stable and reliable services with the help of backbone nodes for a certain fee. The introduction of fees for file storing services is meant to discourage the users from irresponsible behaviour that results in redundancy and wasted storage space. With regards to file size, NeoFS will store files that are too big to fit in a single node by dividing them into fixed-size blocks, and scattering those blocks across different nodes. This protocol is also intended to expand the functionalities of smart contracts. Namely, it will enable smart contracts to store large files on the blockchain and access them in accordance with preset permissions. In addition to these use cases, the NEO team stated that in the future the NeoFS protocol will be used to store old block data so that most of the full nodes can release it, resulting in better scalability, and ensuring the safety and integrity of said historical data.
All in all, NeoFS could bring significant improvements to cloud storage and change the way our data is stored online.
Anti-quantum cryptography mechanism: NeoQS
NeoQS (Quantum Safe) is a lattice-based cryptographic mechanism that is designed to be resistant to attacks by quantum computers.
Bitcoin, Ethereum, and most cryptocurrencies rely on either ECC or RSA cryptosystems in order to secure data transmission. The encryption in these systems is based on the difficulty of the “factoring problem” – a problem of factorization of the product of two large prime numbers. And while the “factoring problem” can keep hacking attempts from common digital computers at bay, the same can’t be said for quantum computers.
This was proven in 1994 by Peter Shor, an applied mathematics professor at MIT. The professor showed that a quantum computer could solve the “factoring problem” in polynomial time, meaning the advent of quantum computers puts all cryptocurrencies relying on RSA and ECC encryption methods potentially at risk. NEO addressed this issue by introducing two post-quantum, lattice-based computational problems to their cryptography system: the SVP (Shortest Vector Problem) and the CVP (Closest Vector Problem).
In other words, NeoQS is a construction intended to provide data security against quantum computers that render existing cryptography mechanisms useless.
Conclusion
If anything, NEO is a very distinguishable project. From the very beginning, it has complied with the Chinese laws and regulations regarding the governing model, the philosophy, and the overall development. These efforts to abide by the legal framework are seen as an inevitable stage in the maturing of the blockchain industry; NEO simply made them early on in hopes to better prepare for awaiting challenges. And while NEO seems to be in the Chinese government’s good graces, it’s important to draw a line in the sand — NEO is a community-driven, community-funded project that doesn’t have direct cooperation with the Chinese government. Onchain, a private company founded by Da Hongfei, Erik Zhang, and three other co-founders, does however have close ties to NEO (as explained earlier in this text) and has firmly established communication channels with the Chinese government, with whom they even have a joint company in Guiyang. One way or another, the team behind NEO is successful in their efforts not to ruffle any government feathers, and seems to be one step ahead in drawing the bridge between the state and the free cryptocurrency markets.
NEO is augmented by quite a few technologies and algorithms, starting from Erik Zhang’s dBFT, all the way to NeoX, NeoFS and NeoQS. The project tackles multiple troubling aspects of existing cryptocurrency technology at once, and seems to do so successfully. But, there are two sides to every cryptocoin: many members of the cryptocommunity have stirred up the conversation by bringing alleged problems to the surface, some of which aren’t new. The recent FUD (fear, uncertainty and doubt) around NEO described here seems to have taken its toll on the cryptocurrency, as the price started dropping from the $140 mark around that time. Currently priced at less that $50, NEO puts its most faithful investors to the test.
Will the project withstand this crisis, or keep plummeting? On one hand, there are many serious allegations that make the team look careless and irresponsible. On the other hand, every major cryptocurrency faces issues and the important thing is to address them properly. It’s times like these when the developers need to step up and reassure their users, because as promising as this cryptocurrency is, it’s nothing without the support of its community. As of now, most of the community members seem to view this FUD as another bump in the road… only time will tell if they’re right.
To HODL, or not to HODL, that is the question. Write your answer in the comments!