Wednesday, October 17, 2018

ReadMe #4 - NOOSPHERE

As the Noosphere Ecosystem is designed to serve businesses and offer cloud services such as cloud computing or storage options, it needs to be protected against the possible attacks, which are getting more and more common in the blockchain industry. The most dangers are vulnerabilities of different consensus protocols. While Bitcoin offers PoW protocol, which proves to be quite safe, the world today needs much faster solutions with the same level of security. Based on the mentioned needs experts created several ways to reach consensus without losing in transaction speed.

Understanding consensus:

Consensus algorithms are based on the vote of nodes,. that has two rounds of voting: first time election of Stem node and second — approving the new block in blockchain. According to the BangBit Technologies, a consensus algorithm is based on three features, which decide whether it is efficient or not (by checking this information you can judge yourself on the efficiency of Noosphere solutions):

Types of consensus algorithms, according to Hackernoon:

Source: BangBit Technologies

  1. Proof-of-Work (PoW) — : miners solve hard, useless problems to create blocks;
  2. Proof-of-Stake (PoS) — nodes bet their tokens to validation of blocks;
  3. Delegated Proof-of-Stake (SPoS) — voters choose «representatives» to perform PoS;
  4. Proof-of-Authority (PoA) — voters are only those chosen, trusted, and appreciated;
  5. Proof-of-Weight (PoWeight) — similar to PoS, but instead of token, the probability of becoming a validator is measured in something else — data, for instance.

A word about Byzantine Fault Tolerance:

The long story of BFT starts with an unsolvable problem published in 1975, where two generals have to agree on the time of attacking their enemy. One general had to send a messenger to his ally, and ally had to send another messenger with confirmation of the order. The problem was that the both messengers had to go through the enemy camp, and can be captured resulting in not reaching generals. Byzantine Generals problem was an ‘upgraded’ version of the previous problem, where more than two generals were presented: commanders had to agree on the time of the attack, while some of the voters could be traitors. In this scenario, the consensus is reached when the majority agrees on the chosen timing. The same principle is applied to consensus algorithms in blockchain: in order to avoid being compromised by the traitor’s nodes processing and damaging the network, 51%+ of voters need to agree on a decision.

Source: Lisk Academy

Noosphere offers two types of consensus algorithms designed to guarantee the speed and security if one fails. Consensus algorithms applied to the Noosphere Ecosystem:

Convolutional Byzantine Fault Tolerance (CBFT), where nodes are chosen randomly within those who fit the following criteria:

- Computing power;

- Internet connection power;

- Coins in the deposit.

Why CBFT and not other algorithms?

Noosphere supports decentralization, security, speed, and efficiency. While SPoS, PoA, PoW, and even PoS have some sort of centralization and vulnerability, Twig nodes in the platform are all equal for the system. Moreover, compared to traditional BFT consensus, the speed of data transfer is increased due to the absence of the need to send the whole block to every member (all nodes exchange meta-information about transactions instead) via UDP protocol.

CBFT as a x100 faster solution:

Source: Oodle Technologies

Implementation of this transfer protocol allowed us to shorten data amounts thus resulting in speed increase by the x100 rate. Compared to the traditional TCP, which is used as a communication protocol in blockchain, UPD does not check or resend lost packets. Considering that in common BFT algorithm nodes have to exchange copy of the blockchain to validate, it results in significant speed reduction of data transfer. Developers at Noosphere Technologies created a solution which addressed this problem. Nodes exchange compressed meta information defined as datagram, so they do not have to receive whole blocks.

More about validation

Noosphere ecosystem introduces two types of nodes: Stem node and Twig node. Stem node assigns Twig nodes tasks of blocks forming. To avoid double-spending, Stem node chooses a validator from available Twig nodes (nodes responsible for transactions validation, and can be chosen after filing necessary applications). Twig node has 1.5 seconds to form the block formed and assigned by the Stem node, and, if it fails, the block is surpassed to another Twig node. The new one has to form the block from the begging while the old one was disbanded. In case if the node fails to validate the block several times, it is deleted from the list of Twig Nodes.

Hybrid SGX-CBFT:

This option is suitable for endangered networks to minimize risks. Apart from actual CBFT, SGX technology can be applied to verify other nodes. SGX is a technology created by Intel, which provides code protection on CPU level.

At present, Noosphere Technologies did find a solution to provide a safe, fast, and truly decentralized solution which is required by the industry.



No comments:

Post a Comment