The Roots of Proof-of-Work

Proof-of-Work was first mentioned by Satoshi Nakamoto as a mechanism that could combine CPU usage with voting, namely one-CPU-one-vote. The basic idea behind this is to create a protocol in which blocks are generating every X seconds. If blocks are generated faster or slower, difficulty would be altered.

For instance, let’s take the string NEO Ecosystem and convert it to a Hash256 4bf65a74b608f6b785286b5da1d39ceb36ed87b62fee6ba97a65ecd4655b7661. Now let’s take the string NEO Ecosystem+Nonce, let’s say NEO Ecosystem+1 and we would get the following Hash256 0739bcb67c6e934c669b95d65f1c98cdd67bcef0ef8ab22a7c1b4404f0e11450. Next, we will test NEO Ecosystem+12345678, resulting in 011c65a33085565814548bc2860a1a3b1c68b627581381382447147788b0240c, which has its beginning with 01, less significative than 07. Now, start to play with this nonce until you gets words that should start with 0000000000 and you are going to verify how hard this task is. Hashes are a kind of cryptographic signature for any data file, which has its basin on the classic SHA-256 algorithm that generates nearly unique fixed-size 32 bytes words. Hashes are so unidirectional that any known algorithm can revert its information, even with the assist of quantum computers.

At the early times of BTC mining, in 2009, a standard computer could produce around 1 megahash per second. Since then, mining has evolved from GPUs, FPGAs and ASICs, reaching the impressive dedicated power of generating 13 TH/s per second, around 13000000 faster than in the beginning.

If computers and knowledge dedicated in generating hashes has been evolving so drastically, why would not be the same for digital signatures and communication protocols? IoT has been a hot topic and focus of dedication of renowned researchers and industries, and its roots are related with communication and agreement between autonomous devices.

The roots of NEO dBFT are digital signatures shared by a group of nodes (autonomous agents), which were selected by the majority of all NEO holders.

Coordination x Proof-of-Stake x Voting

Notoriously, the so-called Proof-of-Stake (PoS) based algorithms have similarities with what we mentioned about MAS in the introduction.

The core idea of PoS is to leave decision making for those that have a larger financial stake in the Ecosystem, which would motivates them to keep the network running safely and efficiently. As can be noticed, if we turn this power to those that are part of the ecosystem we would have a similar PoS in which voting would be the main mechanism for selecting such nodes. The power of voting can even remove those that are acting as promised.

Summarizing this, we should see that coordination is the core for reaching agreement in decentralized scenarios. Coordination not in the sense of a centralized coordinator, but in the sense that multiple goals are considered when a decision is being taken.

Next chapter or return to contents.