NEO is a platform, similar to the Ethereum, with its own cryptocurrency, and fee token, having an open-source code, for its community to use to create decentralized applications. NEO strives to be part of and optimise the future world. So, more specifically, What is NEO and how does it work?
What is NEO? How does the NEO platform work?
As the NEO official website states:
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.”
Digital Assets + Digital Identity + Smart Contract = Smart Economy.
Read more on Digital Assets.
|Original authors||Da Hongfei, Erik Zhang|
|Initial release||February 2014as AntShares|
|Code repository||NEO Github|
|Block time||15-25 seconds|
|Circulating supply||c. 65.0 million (as of 6 March 2018)|
|Supply limit||100 million|
When was the NEO platform born?
The project was launched in 2014 and it was known as AntShares. The development programs were provided by founder Da Hongfei and Erik Zhang. They also set Onchain to provide blockchain consulting suppliers. In 2016, Onchain was listed in the Very Best 50 Fintech Company in China by KPMG. In June 2017, the organization was rebranded as NEO.
Back in March 2018, parent company Onchain dispersed 1 ontology (ONT) token for every 5 NEO held in a wallet that’s used to vote system upgrades, identity verification, and other governance issues within the NEO platform.
The Neo Project has been funded by two crowdsales. In the next crowdsale, the remaining 22.5 million NEO tokens were provided for about $ 4.5 million.
NEO Blockchain and Digital Assets
What is a digital asset? A digital asset is anything which exists in binary format which has the right to be utilized, transferred, exchanged or sold.
It’s crucial for a digital asset to have this “right to use”, because that’s what it classifies it as a digital asset, among other electronic entities.
Having a blockchain in place, it has become much safer to possess digital assets. The blockchain technology makes these digital assets decentralized, secure, reliable, and totally free of a third party.
There are two forms of digital assets that one can use in NEO:
- Global Assets.
- Contract Assets.
Global assets are understood by the entire system and could be recognized by most smart contracts and customers.
Contract assets are resources which are only recognized within their particular contracts and cannot be utilized in other contracts. Eg. GNT that the golem token may be utilised in Golem but it can’t be utilized in Bancor.
NEO Blockchain and Digital Identity
This is how Wikipedia defines Digital Identity:
A digital identity is information on an entity used by computer systems to represent an external agent. That agent may be a person, organisation, application, or device. ISO/IEC 24760-1 defines identity as “set of attributes related to an entity.”
For the digitization of resources to operate, it’s essential to own reliable digital identities.
The NEO platforms utilize the X.509 digital identity standard, the most frequently accepted digital certificate issuance model, based on Public Key Infrastructure. Together with all the X.509 standard, the Web of Trust point-to-point certificate issuance way, is encouraged too.
Identity confirmation in NEO will likely be performed by:
- Facial features
- Other multi-factor methods.
Smart Contract on the NEO platform
Smart contracts are automatic contracts. They’re self-executing with particular instructions written on its own code that gets executed when specific conditions are created.
We spoke about smart contracts at the Ethereum article.
What are the desired properties that we need within our smart contract?
Whatever runs on a blockchain has to be immutable and has to be able to operate through various nodes without compromising on its own integrity. Because of that, smart contract performance needs to be:
Smart Contracts Feature #1: Deterministic
A program is deterministic if it provides the specific same output into a predetermined input each and every minute. So each time an app provides precisely the specific same output into the specific same set of inputs from a variety of computers, the program is called deterministic.
There are various moments when a program can act in an un-deterministic manner:
- Calling un-deterministic program works: When a developer requires an un-deterministic function within their own program.
- Un-deterministic data sources: When a program acquires information during runtime and data origin is un-deterministic then the app gets un-deterministic. Eg. Guess a program that gets the top 10 google searches of a specific query. The list might keep changing.
- Dynamic Calls: When a program calls a second program it’s called dynamic calling. Considering that the call target is decided only during execution, it’s un-deterministic in nature.
Smart Contracts Feature #2: Terminable
Considering that the phone target is determined only during execution, it is un-deterministic in personality.
In mathematical logic, we have got a mistake known as “halting problem”. Basically, it states that there is an inability to find out whether a specified program can perform its function within a time limit. In 1936, Alan Turing cautioned, together with Cantor’s Diagonal Problem, there is no way to know whether a given program may finish in a time limit or not.
That’s an issue with smart contracts because, contracts definition, should be able to complete in a specific time limit. There are some actions required to be certain that there’s a method to “kill” the contract rather than to enter into an infinite loop.
Hence they cannot enter an infinite loop.
- Turing Incompleteness: A Turing Incomplete blockchain may have limited performance and not be capable of making jumps and/or loops. Hence they can’t enter an endless loop.
- Measure and Fee Meter: A program can merely keep an eye on the amount”measures” it’s obtained, i.e. how many directions it’s implemented, then terminate after a specific measure count was implemented. Another process is the charge meter. Here the contracts have been implemented with a prepaid fee. Every instruction execution demands a specific quantity of fee. In case the fee spent surpasses the prepaid fee then the contract has been terminated.
- Timer: A predetermined timer is stored. If the contract implementation exceeds the time-limit, then it’s externally aborted.
Smart Contracts Feature #3: Isolated
In a blockchain, anyone and everyone is able to upload a smart contract. But due to this, the contracts can, knowingly and unknowingly contain bugs and virus. In the event the contract isn’t isolated, then this can hamper the entire system. Consequently, it’s crucial for a contract to be kept isolated in a sandbox to conserve the whole ecosystem out of any unwanted outcomes.
Now that we’ve seen these attributes, it’s crucial that you understand how they’re implemented. Normally, the smart contracts are conducted with one of those two systems:
- Docker: Fabric utilizes this.
- Virtual Machines: Ethereum and Neo use this
Let us compare both of these and determine which one would be a better ecosystem. To make it simpler, we will compare Ethereum (Virtual Machine) to Fabric (Docker).
Virtual Machines supply better Deterministic, terminable and isolated surroundings for the intelligent contracts. But, dockers have one distinct advantage. They supply programming language flexibility.
At a Virtual Machine (VM) such as Ethereum, one ought to learn a completely new terminology (solidity) to make smart contracts.
What the Neo programmers aimed to do, would be to make a Virtual Machine that can give all of the benefits of a VM and give the code-flexibility of a docker.
Neo’s alternative was Smart Contract 2.0 system that makes it incredibly alluring and in-demand.
The similarities between NEO and Ethereum
How are NEO and Ethereum similar?
- Both of these offer a platform for programmers to make dAPPS and assorted ICOs on a blockchain.
- Everything in the blockchain runs through the market of a crypto-asset. Ether in the case of Ethereum and GAS in Neo’s case. A machine which can “compute anything” given there’s infinite memory space available is known as “Turing Complete”. So essentially the machine which drives these two jobs EVM and NeoVM could address any problem since it’s sufficient memory space.
When there is no doubt, what makes Neo intriguing are its attributes which make it distinct from Ethereum.
- Both are Turing complete. A machine which can “calculate anything” given there is infinite memory space available is known as “Turing Complete”. So basically the machine which drives both these jobs EVM and NeoVM can address any problem given it’s enough memory space.
Without a doubt, NEO’s attributes are what differentiates it from the Ethereum platform.
The NEO platform has two tokens: NEO vs GAS
The Neo ecosystem has two tokens:
- NEO – formerly known as Antshares (ANS).
- GAS – formerly known as Antcoins (ANC).
NEO includes a total of 100 million tokens.
Ownership of NEO provides the holder rights to manage and make decisions for your own community. These rights include accounting, NEO system parameter modifications etc.
The NEO token cannot be subdivided into decimals
The first part of 50 million tokens was dispersed throughout their ICO.
The other 50 million have been locked up for a year (until October 16, 2017) and will be utilized for the long-term rise of NEO jobs and for its long term improvement, performance, and upkeep of the NEO ecosystem. The strategies for these 50 million tokens is provided below:
- 10 million tokens will be employed to inspire NEO programmers and members of their NEO Council
- 10 million exemptions will be employed to inspire developers in the NEO ecosystem]
- 15 million exemptions will be employed to cross-invest in additional blockchain jobs, which can be possessed by the NEO Council and are utilized just for NEO jobs
- 15 million will be retained as a contingency
The yearly usage of NEO in principle will not exceed 15 million exemptions.
- NEO has a total of 100 million tokens.
It’s, as the title says the fuel of this system. GAS is exactly what will be traded as money within the ecosystem and it’s going to efficiently incentivize the many different projects happening within it.
Quite like NEO, it’s an entire limit of 100 million tokens, but unlike NEO, it’s divisible.
There’s another significant point of difference between them both.
The 100 million GAS hasn’t yet been created. They’ll be created corresponding to the 100 million NEO by means of a rust algorithm in roughly 22 years’ period into the speech holding the NEO.
2 million cubes will be generated annually using a downtime of approximately 15-20 minutes between successive blocks. The first GAS production will be 8 GAS per cube which will decrease by 1 GAS annually or one GAS per two million cubes till just 1 GAS is created each cube. In the 44 millionth block, the entire GAS created will hit 100 million and after that no more GAS will be created.
Based on this algorithm:
- 16% of the GAS is going to be generated from the very first year.
- 52% is going to be generated in the first four years.
- 80% of GAS is going to be generated in the first 12 years.
The GAS is going to be published proportionally in compliance with the NEO holding ratio into the corresponding addresses. If you’d like a tool that will compute how much GAS you’re qualified to in accordance with the sum of NEO you hold then it is possible to take advantage of this.
To be able to make a better consumer experience, the NEO system will vote and specify a threshold to exempt GAS by a particular quantity of transfer trades and smart contract operations.
If a high number of junk trades does happen, users with NeoID can obtain their trades and smart contract prioritized on others. If, however, you do not have a NeoID, then it is possible to prioritize your trades by paying additional GAS.