Updated: Sep 6, 2021
Based on the last Insight, DLTs - Networked Computers Come To An Agreement we received a lot of positive feedback, but also questions. We want to answer some of them within this blog post.
These elements will be part of our use case „Using DLTs for tamperproof documents“ within our series about DLTs. We let you know as soon if the Insight is available.
This article is available in German as well. See here https://www.siticom.online/post/konsens-im-dlt
TOKENIZATION AS AN ESSENTIAL PART OF DIGITALIZATION
Tokenization as a next important step for digital assets got the potential to change the global finance markets.
Token: Digitalized assets based on a distributed ledgers are named token. A token can have a specific function or value, which enables various use cases.
Tokenization: It is about the digital copy of a value or an asset including the according rights and responsibilities, as well the possibility to transfer the ownership.
Tokenizing „real world assets“ enable to digitize and to integrate them easy, tamperproof and cost efficient within digital processes. Real world assets connected directly to the digital world will unfold unused potentials.
CORE FUNCTIONALITY OF A DLT
What is the core functionality of a DLT?
DLTs store information tamper-proof and reliable.
It is important to understand that the technological implementation of this main task can take place in different ways. However, it doesn’t change the users experiences in working with the DLT.
A first possible approach is the implementation as known from the Bitcoin network, as a so called Blockchain. A second possible approach is the implementation as a Directed Acyclic Graph.
Both variants have similar challenges, storing information tamper-proof and unchangeable.
Compared to a typical centralized application like PayPal, DLT’s act decentralized. This approach promises higher security aspects as we know it from typical centralized applications today.
Why is this approach more secure?
Let us draw a simple everyday scenario.
Imagine you transmit your yearly energy-consumption digitally to he website of your local energy provider. Imagine your provider is attacked by a ransomware (as it happens too often nowadays).
How can you proof the authenticity of your submitted data?
In a centralized environment:
You can’t proof your data or be certain, that the system isn’t corrupted.
Within a decentralized system:
51% of the distributed active nodes would need to provide a
wrong value to declare this as valid.
Compared to a centralized system attacking a decentralized network is by far more complex and difficult to accomplish.
Decentralized systems have their own challenges though. How can you proof that a participant tells the truth in a decentralized network without a single entity which controls the network?
BYZANTIN GENERALS PROBLEM - CONSENSUS
Finding consensus within a dynamic environment isn’t easy for humans nor machines. It requires decisions to find consensus, for example “yes” or “no”, “valid” or “not valid” or to decide for an opinion if there are multiple options.
And if you think about the decision process, it’s always a matter of trust.
Which opinion to trust? Who says the truth? Which participant is the right one to ask?
A summary of one of the dilemmas, you can find within this YouTube video. Those who don’t like videos can go directly to the following chapter, where we wrote a summary for you.
Let’s have a look at the issue itself, first.
If we assume, that we have a flat and equal network where all nodes have the same information and get all the same new information. If this is the case, we have no issues. If everybody plays the game according to the rules, there’s no problem.
To be a fully decentralized network, it is important all nodes are equal, and the network is flat. If this isn’t the case and one node have a predefined higher weight than the others by delegation, this is not decentralized anymore.
But what will happen within a fully decentralized network, if one node has different information? First, it must be sure, the information is valid and follows the rules of the network. If this is true, the information must be shared within the network and the network must accept the information as true as well.
If one node tries to cheat by sending different information to various nodes for example, how can this be controlled, how to trust the information within the network?
First, the nodes must talk to each other and must ask the other nodes for their opinion or better said received information. If the nodes within the network talk to each other, they will find the node which is sending different information to the nodes easily. If the nodes realize now that one node sent different information to the others, they can identify this node and ignore it finding the correct answer. This can be done until only three participants are left within a consensus process. And now if there is one malicious node left within the three, we reach a tie situation. At the end if there’s a tie situation, a predefined solution will be chosen, and the information will be dropped as invalid which keeps the data structure clean.
As a conclusion you can say, if you control 51% of a decentralized network, you can control the network. But this is more difficult than taking over just one centralized unit.
How to avoid someone take over 51% of the network?
There are many approaches to avoid someone taking over the network and further methods are still under development.
Two of the most common methods we will explain today.
PROOF OF STAKE
One variant of finding a secure consensus is the so called “Proof of Stake” (PoS).
A random mechanism decides which nodes are allowed to produce the next block and decide which transactions are included. The new block will be verified from randomly chosen and trustworthy nodes.
To get a trustworthy node within a PoS network, a predefined amount of token needs to be stored for each node.
Additionally, a random mechanism chooses between the token secured nodes, to make it more difficult to say which nodes are included within the consensus process. The chosen nodes are allowed to participate within consensus and one of the nodes can build the new block.
The reward for doing so are some new tokens, which are shared between the people which locked their tokens to secure the node.
Locking token within a node is called „staking“, this is where the name comes from.
The basic idea behind is, those who invest money and bind this to a node, are not interested in doing harm to the network. They are interested in a node which work according to the rules of the network, to get the rewards and to proof the reliability of the system.
Another variant of the so called PoS-consensus mechanism is the so called „delegated Proof of Stake“ (dPoS), where nodes, which can become staking nodes, need to be elected by all token owners, the so-called community. If the community don’t trust the node provider, they can’t participate and will not get rewards. This is another hurdle a malicious node provider would have to take, but this also leads to a more centralized network.
PROOF OF WORK
Talking about ensuring consensus algorithms, we must mention the first and still most common one. It is used within the Bitcoin network and is often controversy discussed. Not because it is insecure, but the amount of energy it requires.
The Bitcoin network uses a so-called PROOF OF WORK (PoW) mechanism to secure the consensus.
Simply explained, those who add blocks and participate within the consensus, have to participate within a battle about calculation power. To participate within this battle and to get rewards, you must invest in special hardware and energy. The more calculation power you provide, the bigger your chance to get more block rewards.
Proof of work requires solving a cryptographic riddle from the participants with processing power which is getting more difficult the more calculation power is within the network. Without trying to solve the riddle, you can’t participate within the consensus process or getting elected generating a new block.
Those who do the work and try to solve the riddle, are so called „MINER’s“, they mine for the reward.
As we know it from PoS, there is a reward for sharing the processing power with the network. The so-called block rewards are generated out of nothing and added to the network. Beside the block rewards the transaction fees, paid for every transaction, will be shared between the miners as well. The new generated bitcoins for each new block and the paid fees keep the network alive. This explains why the Bitcoin network requires as much energy. Solving the more and more difficult riddles requires processing power and this consumes energy.
Beside the already mentioned examples like “Proof of Stake” and “Proof of Work” other methods in finding consensus exist. As another example we want to name the „Fast Probabilistic Consensus with Weighted Votes“, which doesn’t require any staking or miners. At the end, the method of finding consensus need to fit the use case.
Below you will find additional information and examples for consensus mechanism: https://writings.stephenwolfram.com/2021/05/the-problem-of-distributed-consensus/ https://emurgo.io/en/blog/explain-proof-of-stake-pos-dpos https://learn.bybit.com/blockchain/what-is-proof-of-work-in-blockchain/ Fast probablistic consensus: https://arxiv.org/pdf/2006.00928.pdf
We want to give credit to „Schmucklos“, who provides an excellent source for information on his webpage https://iota-einsteiger-guide.de/. However, this is only available in German.