Introduction to Neo (NEO)

Neo is a blockchain platform that is known as “The Ethereum of China.”

In the last several decades, China has made incredible progress in nearly all sectors, including science, technology, and manufacturing. Today, many of the Western companies realize that they can’t compete in China with their Chinese counterparts. Examples of extremely successful Chinese companies include WeChat, a messaging app, Didi, a taxi app behind the deal in which Uber left China, Huawei, a telecommunications equipment giant, Alibaba, an e-commerce platform that is catching up in size with Amazon, and more. For all these reasons, Neo has attracted a lot of attention from investors from all over the world.

In January of 2018, the Neo platform had a market value of around USD$10 billion and was one of the top cryptocurrencies in the world. NEO was founded by Da Hongfei, a self-taught software developer, as AntShares in 2014. The company has later changed its name to Neo, taking the new name from a character in the movie The Matrix. The company changed the name to avoid potential confusion with Ant Financial, a division of Jack Ma’s Alibaba Group.

Neo and Onchain

One of the reasons why Neo has become so popular so quickly was that Da Hongwei has also started another project, called Onchain. Neo and Onchain are separate entities. Onchain is a private cloud designed as an enterprise solution and Neo is a public cloud.

What Onchain and Neo have in common is that two out of five people that started Onchain have started Neo. The consortium version of Neo called Distributed Networks Architecture or DNA has the same smart contract architecture as Neo. The connection between the two projects is one of the reasons for the price of Neo tokens going up when the market learns about progress with Onchain.

Da created Onchain in 2014. It took the company over a year to start providing services to customers in the financial industry. In April of 2016, the company published a whitepaper about delegated Byzantine Fault Tolerance Protocol. In May of 2016, Onchain became a member of Hyperledger, an umbrella project by the Linux Foundation for open source blockchains. In August of 2016, Onchain created a legal blockchain in China called the Legal Chain after having partnered with Microsoft. The goal of the legal blockchain was to target the inefficiencies of the digital applications that exist in the legal system of China.

Onchain, Guizhou and China’s 13th five-year development plan

In 2017, Onchain formed a partnership with the government of the Guizhou province in southwest China for the province to start using digital identities to provide public service.

Guizhou has been one of China’s poorest provinces, yet in the first half of 2016, the province posted 10.5% growth, making Guizhou the third-fastest growing Chinese regional district. In part, it was able to accomplish such astounding results by developing human talent and computing resources aimed at working with big data. This has attracted investments from Foxconn Technology Group, the manufacturer of Apple iPhone, chipmaker Qualcomm, and local telecommunication leaders China Unicom and China Mobile.

The partnership of Onchain and Guizhou province is especially important in the light of China’s 13th five-year development plan.

State-level development plans are a key characteristic of communist and socialist economies. In such economies, the state develops and announces a plan that the entire country is supposed to follow.

The Union of Soviet Socialist Republics implemented its first five-year plan between 1928 and 1932 under Joseph Stalin. China and the Communist Party of China have implemented the first Chinese five-year plan between the years of 1953 and 1957 under the leadership of Mao Zedong. Thirteenth Five-Year Plan of China covers the development of the country for the years between 2016 and 2002. One of the goals of the plan is to have China keep developing information and communication technologies, including the Internet, cloud computing, bio-genetic engineering, and blockchain.

To comply with the plan, China’s Central Bank called the People’s Bank of China (PBOC) announced in 2016 that it will start working on the creation of its own digital currency. The bank has put a team to work on blockchain-related projects in 2014. In 2016 and 2017, PBOC has been looking at regulatory issues and possible economic impacts of launching its own digital currency. PBOC has also started working with experts from Citibank and Deloitte.

Benefits of launching a digital currency include reducing costs associated with the circulation of regular fiat currencies, an increase in transparency of financial transactions, prevention of tax evasion and money laundering, and breaking barriers between financial solutions and people who are currently not using any bank services.

Da said in one of his interviews that his goal was to create a universal framework for all kinds of blockchain-related projects, including private, government, consortium and public. DNA will have a modular design that would allow developers comply with local laws and create software according to their vision. If DNA can accomplish that, it will be able to infiltrate all kinds of industries with inefficiencies that can be removed using blockchain technology and its applications.

One of the examples of removal of such inefficiency was Onchain’s partnership with Alibaba announced in 2016. The goal of the partnership was to provide email preservation technology for Ali Cloud, the cloud computing division of the Alibaba group.

The solution by Onchain provided blockchain-based proof-of-existence for corporate emails. Email is one of the most important communication channels in today’s corporate world. For this reason, preservation of corporate emails should be a priority for every organization so that an organization could access past emails to verify information. In the past, corporate emails have been used for both legal investigations and courtroom trials, yet the way most organizations preserve their emails is through archives and backups that are subject to corruption and deletion. If a party with an agenda were to gain access to such an archive, it could successfully change the data without anybody noticing that a replacement has occurred.

This is the problem that Onchain pledged to solve for Alibaba. Onchain has provided Alibaba with a blockchain-based platform that enables employees of an organization to synchronize, encrypt and store critical communications. To use the platform, employees send a copy of an email to the blockchain as they send the email to the third party. This way, the blockchain serves as both proof-of-existence and proof-of-sending. In case of a conflict or a legal dispute, an employee can access the blockchain to find the emails and forward the emails to the counsel or authority in charge of the dispute. The authority can then verify the validity of the emails by accessing the blockchain and verifying hashes in the same way Bitcoin miners verify the validity of the blocks on the Bitcoin blockchain.

Differences between Neo and Ethereum

Neo has several important differences from the Ethereum network. While it is a blockchain network just like the Ethereum, Da believes that Neo’s main selling point is fast decision making and scalability of the network.

Da wants to build a blockchain network for the smart economy. Da’s vision for the network is trust via digital identities, which is something that the Ethereum network doesn’t currently provide.

Vitalik Buterin and other Ethereum co-founders built the platform to be application-agnostic, meaning that while it is possible to use the Ethereum platform to build any kind of application, including the ones that work with databases, identities and role levels, the Ethereum network doesn’t provide any of these features in its protocol. This is the area that both the Neo platform and the EOS platform see as an opportunity and differentiation point from the Ethereum. Da wants the Neo Platform to not only have support for smart contracts with identity functionality, but also have a quantum-resistant level of cryptography, distributed storage options, secure communications and an ability to communicate with other blockchain networks via a cross-chain protocol.

Another differentiator of the Neo platform is its transaction capacity and scalability. As of the writing of this article, the Neo blockchain can process up to 1,000 transactions per second. Bitcoin can only process between 3 and 7 transactions per second. Ethereum’s numbers are not much higher than Bitcoin’s. The trade-off for using Neo is that as of the beginning of 2018 the network is not decentralized.

With Bitcoin and Ethereum networks, anybody can become a miner, download the software and start participating in the process of transaction validation. On the Neo platform, The Neo Council decides who it is going to work with. This is why as of December of 2017 there have only been seven nodes on the Neo network, which is a long way from Bitcoin’s thousands of nodes all over the world. However, Da plans to move to a system that is similar to Bitcoin and Ethereum by as soon as January of 2019.

Finally, Neo is different from both the Bitcoin network and the Ethereum network is that NEO uses Byzantine Fault Tolerance (dBFT) consensus algorithm instead of proof of work.

One of the biggest benefits of any blockchain is that the blockchain technology makes it impossible or not economically viable to tamper with past transactions or records. This is why financial transactions become irreversible on the Bitcoin network, emails in Onchain’s application for Alibaba become impossible to tamper with and so on.

All of this happens because most blockchain networks, including Bitcoin and Ethereum, use the concept known as proof-of-work.

Miners on blockchain networks compile information into blocks of blockchain. Compilation of information, no matter what information it is, financial, textual or some other kind, is a trivial task for modern computers. This means that a hacker could also compile information easily. Proof-of-work solves this issue.

Proof-of-work is a function that introduces an economic measure to prevent service abuses of online platforms and systems. One of the simplest examples of an online service abuse is spam. Spammers scan various websites for email addresses and then use the addresses to send unwanted and potentially fraudulent advertising. An example of a system similar to proof-of-work would be a CAPTCHA, which is a test that requires a person to manually enter letters from a distorted image into an online form to complete an action such as log into a website, send an email or submit an online form. Many people argue that CAPTCHA can be hard to complete and slows down the flow of work significantly. While some of these claims are true, it is impossible to argue with the fact that CAPTCHA does work as a mechanism that prevents service abuses.

The difference between proof-of-work and CAPTCHA is that CAPTCHA is performed by humans and proof-of-work schemes are performed strictly by machines with no human participation.

Short history of proof of work algorithm

Cynthia Dwork, an American computer scientist who works for Harvard University, and Moni Naor, an Israeli computer scientist, invented the concept of proof-of-work without calling it this way in 1993. Markus Jakobsson invented the actual term “proof-of-work” in 1999. A key feature of computer proof-of-work algorithm is that coming with a proof should be hard, but possible. The proof of work should also be easy for the service provider to verify.

Hal Finney, an American computer scientist, applied the concept of proof-of-work to electronic financial transactions. In 2004, Finney introduced the concept of reusable proof of work or PROW. PROW was a major step that later led to the invention of Bitcoin. Finney himself was on the receiving end of the first-ever bitcoin transaction that has occurred in 2009. In the transaction, Finney received funds in bitcoins from the creator of bitcoin Satoshi Nakamoto.

Hashes and security algorithms in plain language

Both the Bitcoin network and the Ethereum network use proof-of-work schemes to create tamper-proof blockchains. To work, a scheme uses hashes and cryptography algorithms. A cryptography algorithm turns a large set of data into a hash, which is a short string of data. Bitcoin uses algorithm called SHA-256 and Ethereum uses Ethash.

Let’s say you have a set of numbers 1,3,4,5,6,6,7.  After you apply a cryptography algorithm, you will get just one string, which will be the hash for this set of data under the cryptography algorithm. For example, some cryptography algorithm, let’s call it SomeCryptAlg could return a hash of 00xx5 for the set of data (1, 3, 4, 5, 6, 6, 7).

An important feature of all working cryptography algorithms is that a set of data can only have one hash. This means that no matter who runs the data through the algorithm, they would always receive the same resulting hash.

Another important feature of cryptography algorithms that modern cryptocurrencies use is that hashes for very similar sets of data are not just different but very different. For example, if the set of data (1, 3, 4, 5, 6, 6, 7) had a hash of 00xx5 under the imaginary algorithm SomeCryptAlg, the set (0, 3, 4, 5, 6, 6, 7), which is identical for to the previous set except for the fact that 1 has been replaced with a 0, would have a hash of 99er2. With Bitcoin and Ethereum, miners create hashes for sets of transactions that have all kinds of data, such as receiving address, amount and so on. The principle, however, stays the same: a large set of data returns a much shorter hash. For example, block #505562 of the Bitcoin blockchain had 1852 transactions included in it. You can see all the information about all the transactions in this block on the Bitcoin blockchain explorer here: https://blockchain.info/block/0000000000000000005a699e426082b4b9047dd6963c79c1361b8cc6d8c71711

The hash for all these transactions was just one string, which was 0000000000000000005a699e426082b4b9047dd6963c79c1361b8cc6d8c71711. You can see the hash on the same page as the information about the transactions for the block.

Hashes have three more very important properties. The first property is that they are easy to verify. This means that if you have a set of data and you send a set of data to a friend, both you and your friend can run the set of data through the same cryptography algorithm and get the same hash if the data did not get corrupted during the transmission. The second important property of hashes is that they are easy to compare. You can send a very large set of data to a friend, yet to verify the validity of data later on all you’ll have to do is compare much shorter hashes, the one that you obtain after running the data through an algorithm to the one that your friend obtains running through the same algorithm. Finally, it is important to note that reconstructing the data if you only have a cryptographic hash from a secure cryptography algorithm is impossible, meaning that looking at 99er2 and 00xx5,  you will be able to tell that the sets of data you and your friend have are different, but you will not be able to reconstruct (0, 3, 4, 5, 6, 6, 7) or (1, 3, 4, 5, 6, 6, 7) just by looking at their hashes.

On both Bitcoin and Ethereum networks miners prove their work by creating a hash for the transactions they compile into blocks of blockchain.

However, simply using a cryptography algorithm to come up with a hash is also an easy task. That’s why many of the blockchains, including Bitcoin and Ethereum have a difficulty parameter. Difficulty means that not only do miners need to come up with a hash, but the hash also needs to be smaller than the hash for the previous block.

The difficulty parameter determines the degree to which the hash needs to be smaller. If a network has a lot of miners, the difficulty parameter goes up. If the number of miners on a network decreases for some reason, the difficulty goes down. Because of this, blockchain networks are able to create blocks at somewhat steady rate no matter how many miners they have. Bitcoin network, for example, adjusts the difficulty parameter every 2016 blocks.

You may be wondering how miners are able to create a smaller target hash when a cryptography algorithm returns a unique hash for every set of data, meaning that information about the same transactions would always have the same hash unless someone changes the information. To create a hash that corresponds to the difficulty parameter of the network, miners take all the data for the transactions in the block and add a number called nonce to it. Nonce is short for “number used once.” To receive a winning hash, miners randomly generate nonce numbers and then run combinations of a nonce and transaction data through the cryptography algorithm of a blockchain network.

In essence, this means that miners are playing a lottery. They are trying to guess a winning nonce in order to win the block reward and get all the fees that blockchain network members voluntarily pay to include their transactions in the blockchain. However, the system works with Bitcoin and Ethereum because the networks are decentralized and fully transparent. This means that even though mining is similar to playing a lottery, the lottery is an honest lottery with a realistic possibility of winning and you will win if you play a lot.

On the Bitcoin blockchain, a winning hash becomes a part of the block when the winning miner adds the block to the main blockchain. For example, the hash for the block #505570 was 0000000000000000005943da03721fe216d3111ae0f15777237652fc2907a38a. The miner that came up with the hash was BTC.TOP. The winning nonce that BTC.TOP came up with to get the winning hash was 3817082374. All the information about hashes, nonce and winning miners on the Bitcoin network is transparent and becomes a part of the Bitcoin blockchain. For example, you can verify all the information about block #505570 of Bitcoin blockchain by visiting https://blockchain.info/block/0000000000000000005943da03721fe216d3111ae0f15777237652fc2907a38a. You can also use the website to find this information about every and any other block on the Bitcoin blockchain.

Issues with Proof-of-work in Ethereum and Bitcoin

There are several issues with the way proof-of-work protocol works on both the Ethereum Network and the Bitcoin network.

The first issue is that proof-of-work protocol wastes a lot of energy and resources. As the Bitcoin network became very popular in 2016 and 2017, the difficulty parameter kept growing and miners needed to invest in expensive hardware and burn a lot of electricity to find winning nonces and hashes, yet in essence this work doesn’t contribute anything to the well-being of the society. It only shows that miners believe in Bitcoin.

This is the issue that Gridcoin solved by implementing proof-of-research algorithm. One of the goals of Gridcoin cryptocurrency was to provide support to the science community. On the Gridcoin blockchain, miners perform useful scientific calculations for the distributed platform called Berkeley Open Infrastructure for Network Computing.

Another issue is a lack of finality. Both Bitcoin and Ethereum are open-source networks, which means that anyone can download and use the software. It also means that if someone on the Bitcoin or Ethereum network doesn’t disagree with the direction in which the network is going, that party can download the software and stop recognizing blocks from a certain point. This is a so-called fork issue.

The two types of forks that can occur on a blockchain network are hard forks and soft forks.

A hard fork means a permanent split in the blockchain. In practical terms, a hard fork means that a party issues an upgrade to blockchain software and upgraded software will not work with the previous version of the software. Nodes on the blockchain network that are running non-upgraded software will not be able to validate the blocks created by the new software. They will also not be able to add these blocks to their copy of the blockchain unless they download and install the upgrade. This means that the blockchain will split into two: new nodes will be creating new blocks and working with each other and old nodes would be creating blocks according to old rules. The old software will be deeming blocks created by new software invalid and will not be accepting them.

A soft fork is a temporary split of a blockchain that occurs because non-upgraded nodes stop being compatible with new rules. This means that while the original blockchain contains blocks that were created according to old rules, it would also accept blocks created by the nodes running on the upgraded software.

A hard fork enables a network to change rules very quickly. Implementation of a soft fork requires the majority of the nodes on the network upgrading to the new software. If this doesn’t happen, then the soft fork will fail because the majority of the nodes will keep creating blocks according to old rules and the network will remain unchanged

Most popular Bitcoin and Ethereum forks

Bitcoin had a number of forks over the years. This is the main reason why some people use a name of Bitcoin Core to separate Bitcoin from all of its forks, the most popular one of which has been Bitcoin Cash.

Bitcoin Cash came into existence on August 1, 2017 as a result of a hard fork from Bitcoin Core. The fork was a result of the Bitcoin scalability debate. Bitcoin Cash developers have increased the size of the block of the blockchain from 1 megabyte to 8 megabytes. The last common block for both Bitcoin Core and Bitcoin Cash was block #478558. Block #478559 was the first unique Bitcoin Cash block. Bitcoin Cash had a lot of supporters in Bitcoin community, including Roger Ver and Calvin Ayre. Eventually, many of the popular cryptocurrency exchanges, including Coinbase, Bitfinex, Kraken and other started trading Bitcoin Cash next to Bitcoin Core. Bitcoin Cash is also compatible with most hardware cryptocurrency wallets such as Ledger, Trezor and KeepKey.

Bitcoin Classic was another hard fork from Bitcoin Core that was trying to solve the scalability issue of the Bitcoin Core blockchain. Bitcoin Classic launched in February of 2016 by increasing the size of the Bitcoin block from 1 megabyte to 2 megabytes. In November of 2016, the developers of Bitcoin Classic announced that the blockchain network won’t have a limit at all and the decision about block size will be in the hands of miners. The Bitcoin Classic has never gained a lot of support, which is why the project ceased to exist in November of 2017 and has announced that Bitcoin Cash was the only hope for Bitcoin to resolve its scalability issues.

Bitcoin XT was a fork from Bitcoin Core that occurred in 2015. The proposal behind Bitcoin XT was to first double the size of Bitcoin block and then increase it exponentially over time. The issue of scalability was not a pressing one in 2015, which is why the fork did not gain a lot of support.

The most popular hark fork of Ethereum has been Ethereum Classic. Ethereum classic highlights the issue with the lack of finality with proof-of-stake blockchain networks.

The fork has occurred because of a project called “The DAO” (not to be confused with a dao, which is short for a decentralized autonomous organization). At the time, The DAO has become the largest crowd sale on the Ethereum platform. However, the project had an issue with its code and hackers were able to change it in a way that would have allowed them to divert about 30% of the funds that the project collected during the sale, or about USD$50 million at the time, in 30 days. A vote has occurred on the Ethereum network and the majority has decided to introduce a smart contract to the network that would prevent the hackers from diverting the funds. However, a certain percentage of members disagreed. They believed that irreversibility of transactions was a fundamental property of blockchain networks and once things happen, they should not be changed. They also believed that modifying an error once and putting a network through a hard fork was a slippery slope because in the future it would be easily possible to find reasons to introduce changes to other contracts after the problems occur. For both those who were supporting the fork and those who were against it, the value of the Ether currency was a major concern. Volatile fluctuations of value happen with most proof-of-work blockchains during the forks because of the high degree of uncertainty that comes from the absence of finality and the advantages that availability has over finality on the open-source blockchain networks.

In June of 2017, developers behind Ethereum Classic announced that the Classic Ether Wallet has been compromised. They have later worked with CloudFlare, an Internet security services company, to warn visitors of the compromised domain and users of the wallet.

Instead of proof-of-work, the Neo platform uses Byzantine Fault Tolerance (BFT) consensus algorithm. In computer science, BFT is a tolerance of a computer network to complex failures in which there is no sufficient information to determine what exactly is happening with the failing components of the system. Such failing components may also be exhibiting different symptoms to different members of the network. The problem is complex not only because of the inability of the system to determine what exactly is happening to the failing components but also because the components that are still working properly need to find a way to agree what to do. Before they can do that, they also need to figure out which components are actually working properly and which only appear to work properly for malicious reasons. Because of all these issues, BFT problems are regarded to be the most complex class of failure scenarios of computer systems.

The name of the algorithm comes from the Byzantine Generals’ Problem. Similarly to what happens on a computer network, the generals need to agree on a solution while only having access to incomplete information. In addition to that, they also need to agree on who is a loyal general and who is a traitor.

Leslie Lamport, Robert Shostak and Marshall Pease described the problem and offered their solutions to it in their paper from 1982 called “The Byzantine Generals Problem.”

In the paper, they pointed out that to be reliable a computer system needs a mechanism to be able to handle malfunctioning components even when there is insufficient information about the nature of the problems with the components.

They also pointed out that complex computer systems often have a problem the importance of which is initially easy to ignore. The problem is that a malfunctioning component may be sending conflicting signals to different parts of the system. To part A, it may appear that the component has issue 1 and to part B it may appear that the component is malfunctioning because of the issue 2.

The authors of the paper came up with an interesting comparison for the problem. They said that the computer issue is similar to an issue of Byzantine generals after the generals have surrounded an enemy city. The goal of the generals is to decide what to do next. The generals can only communicate with each other via live messengers. Because this way of communication is imperfect, some of the messengers may be intercepted by the enemy and later deliver a wrong message.

The problem is to find a way for loyal generals to make a decision. In the paper, the authors have shown that the problem only has a solution when over 66.6% of the generals are loyal. This means that one wrong message can confuse two generals and if the number of wrong messages is one-third or more, they will confuse the entire network and the network will not be able to reach a consensus. For example, if a network consists of three generals and one of them is not loyal, then each of the remaining two loyal generals will always get two messages (one from a loyal general, one from a traitor) that will conflict each other. There is no way for such a loyal general to determine which message is which.

The plan of the generals needs to satisfy a number of conditions. The first condition is that all loyal generals agree on the same plan regardless of what traitors do to cause confusion. The second condition is that a small number of traitors can’t cause the majority of generals to accept a bad proposal. This condition is very hard to express in formal terms because it is hard to define what a “bad proposal” actually is.

It may seem that the issue of the BFT stems from the fact that the generals need to reach the exact same agreement. However, this is not true. In reality, reaching even an approximate agreement is just as complex as is reaching an exact agreement. In the paper, the authors create two algorithms. Both algorithms only work if the majority of generals are loyal. The first one is an algorithm for oral messages. The second one is an algorithm for signed messages. The difference between oral and signed messages is that oral messages can be altered by the enemy while signed messages can’t be altered. Here is how the algorithm works for the oral messages: a general A sends a message to all other generals. After receiving the message, each general sends the same message to all other generals other than himself and general A. The algorithm repeats itself until all the generals have received and sent messages. Once this happens the generals need to analyze the all the messages that they have received and choose either the majority value or the median value.

The algorithm for signed messages works in a similar way. This algorithm is the reason why the Neo platform is much more resistible to hard forks that Bitcoin or Ethereum.

Because of the BFT algorithm, the Neo network will have more roles than just users and miners. On the network, there will be ordinary nodes, bookkeeping nodes and users. Just like on other blockchain networks, users will be able to use the network without having to download a full copy of the network blockchain.

Ordinary nodes will be discovering and compiling transactions on the network. However, they will not be validating any transactions.

Bookkeeping nodes will be doing the job of transaction validation through reaching consensus and will be receiving Neo Gas as a reward for their work. The network will have a number of requirements for bookkeeping nodes. The requirements would include a minimum stake, possibly of around 1,000 Neo Gas, and certain minimum computer memory requirements. Just like with other cryptocurrencies that don’t use proof-of-work algorithms, if a bookkeeping node spends the minimum stake, it will stop functioning as a bookkeeping node. Also, bookkeeping nodes are not going to be anonymous. They will need to get consensus authority permission from the network.

Advantages of the Neo Platform

Both Bitcoin and Ethereum networks have always underlined the importance of anonymity of their users. However, anonymity comes with a number of significant limitations, including integrity of transactions and use of anonymous networks by banks and government. Neo wants to address these limitations by adding digital identity functionality to the network. Because Neo is based in China, the introduction of digital identities to the network will help Neo gain a wider adoption in the country. Beyond China, the potential of the network lies in its integration with services and business that require identity confirmation as a part of their business processes.

Another advantage of Neo is support of common programming languages.

To create smart contracts on the Ethereum network, developers need to learn and use Solidity. Gavin Wood, Yoichi Hirai and several other Ethereum developers have created the language specifically for smart contracts and the Ethereum network. Being a new programming language, Solidity lacks a lot of features of advanced research languages. As a language for smart contracts, solidity is very permissive. In its current form, it doesn’t have a lot of constraints, which is one of the reasons why the hack of “The DAO” project happened in the first place.

Neo is different from Ethereum in that it is compatible with traditional programming languages such as C++, Java, VBA, JavaScript, Python and others. Neo developers can use Visual Studio and Eclipse to create apps on the Neo Platform.

In addition to this, Neo Virtual Machine has debugging functionality at the level of the virtual machine. This means that a coder can test his or her software by setting breakpoints in the code of a contract and then debug the contract at the virtual machine level.

Neo Tokens

The Neo platform has two native tokens. They are Neo (NEO) and Gas (GAS). Some platforms list Gas as Neo Gas. The Neo token can only have 100 million tokens. Holders of the Neo token get rights to manage the Neo platform, including rights to run bookkeeping nodes, change the parameters of the network and so on.

The network does not allow for the division of Neo, which is very different from Bitcoin and Ethereum network, were tokens can be divided into many parts. (With Bitcoin, the smallest part that the network would accept is Satoshi or one hundredth of a millionth, or 0.00000001 Bitcoin. The smallest part of Ether currency is Wei or 1*10^(-18) or 0.000000000000000001 ETH). Therefore, the smallest unit of Neo currency is 1 NEO. Neo holders also have rights to receive dividends in Gas. Out of the 100 million coins, the creators of the project have sold 50 million during the Initial Coin Offering of NEO. Neo Council manages the remaining 50 million tokens. The Council has pledged to not spend more than 15 million tokens per year. Out of the 50 million tokens, 10 million will go to Neo developers and members of the Neo Council. Developers that belong to the Neo ecosystem will also receive 10 million tokens. The Council will use 15 million tokens to invest in other blockchain initiatives by the Council. The condition is that the initiatives need to be used only for projects on the Neo network. The Council will hold the remaining 15 million tokens as a contingency.

The Neo Network generates GAS currency as it creates new blocks on the Neo blockchain. The initial supply of Gas was zero. The total limit of Gas tokens is the same as the limit of Neo tokens, 100 million. The founders of the Neo network plan that the network will generate all gas tokens in about 22 years because the Neo platform adds a block to its blockchain every 15-20 seconds, meaning that the blockchain generates about 2 million new blocks annually.

The first blocks of the Neo blockchain have been generating 8 units of Gas per block. The network will be reducing this number by 1 unit of Gas per block per year. This means that the network will generate all 100 million units of gas as it reaches 44 million blocks on the Neo blockchain. After that, there will be no generation of Gas.

This means that the release curve of Gas is the following: 16% of the Gas coin will enter the circulation in the first year of Neo, 36% in the years 2-4 and 30% in years 5-12. This means that the network will have 80% of gas in the first twelve years of its existence. The distribution of the tokens will occur in correspondence with the holding ratio of the Neo token.

The Neo network will be charging its users in Gas for running smart contracts on the network, running decentralized apps, and storing digital assets. Smart contract deployment will have a one-time fees of 500 Gas in addition to implementation fees that will depend on the complexity of a specific contract. If Gas costs to implement a contract are less than 10 Gas, the network will execute the contract for free.

Download this Resource for free:


Download Now