Decentralisation & System Design

in Project HOPE5 years ago (edited)

One good thing about recent DPoS drama is that everyone on the Steem Blockchain community and elsewhere on the Twitter atleast heard the word decentralization. Beyond the economic aspects like mining and tokens, decentralization is an interesting system design concept.

System Design

In very simple terms we can think of an office where multiple people sit and work or a resturant as a system. Lets take the restaurant and it has many "components", well people working together in an organized fashion. We have Chefs, Suppliers, Cashiers, Sometimes greeters, Home Delivery staff and each person has often a set of well defined tasks and they interact with each other. Though these interactions may not be written down in a manual there will be an established order and manner of different people interacting and working together as a unified group or entity work towards a result. A restaurant where a set of people with a loosely defined rules and guidelines work together for a common objective of providing healthy, tasty food and beverages to patrons. The system also ensures the sustainability by employing a cashier and getting paid.

In the world of Computer Science, this is a system comprising of components interacting and performing predefined tasks to achieve a definite and desired output. The means by which we ensure the system to work has to be established by strict rules and guidelines. A strict rule should be that the Chef should be Cooking the signature dish and a cashier should not be preparing the signature dish. A guideline could say, anyone who happen to be the entrance should attempt greet the guests. Such a set of rules formed aka designed and this can be seen as the process of System Design.

Governance

The application of rules in system design to ensure the co-existence and collaboration of system-components can be thought of as governance.

This is to state that the Chef should be making the signature dish and not the cashier.

A floor manager or a restaurant manager can be seen of someone enforcing the rules and ensuring quality.

Decentralize the restaurant

image.png

In the movie Soul Kitchen (https://www.imdb.com/title/tt1244668/mediaviewer/rm1250956800 ), we the story of a restaurant becoming a huge success. The essence was the mix of a great Chef, music and companionship. The rules of engagement was defined by love, friendship and music. The result was each individual character playing their rules to the fullest, sincerely and without supervision.

The Chef, bound by the intangible rules of friendship performed not just his duties but went beyond and over it. So is everyone else. I would see this as an unsupervised, but yet bound by principles to work towards a common goal.

Rather than any traditional example of programmable decentralized systems, the examples of a successful garage music band or the restaurant in the movie Soul kitchen would be the best example of an autonomous, self governed, well orchestrated decentralized system.

Decentralization

The public ledger or the Distributed Ledger Technology (DLT) made mainstream by Bitcoin Paper and sample implementation is the best example of system designed to perform in an autonomous manner. This was the first time that human kind could implement decision making in a transparent, unbiased and unconditional manner.

The decision making in the Bitcoin network is decentralized - means the nodes, a definite number of them takes the decisions collectively. The decisions are automatically and strictly imposed by the code or programs running in the nodes. Bitcoin also imposes a huge cost on pretty much any "decision" and thus it costs a fortune to derail a collective design. The Proof-of-Work (PoW) concept was designed and those who engage in the decision was paid in coins.

Why move away from PoW ?

Cost and damage to the environment would be what I would like to cite as reasons to investigate different mechanisms to make collective decisions. The computational cost and thus the cost of equipment, electricity and labour to ensure smooth decision making on the Bitcoin Public Ledge system made many people look for alternate consensus algorithms. Different iterations of PoW like the Etherium's EVM which uses the computational power of the decision making systems to make alternate uses as well. Many has still seen it as costly and indirectly linked the cost with initial investment.

The simple way to differentiate POS and PoW would be high operational cost vs high capital cost.


Proof of Work is OPEX intensive while Proof of Stake variants are CAPEX intensive


The Proof of Stake variants increased the initial capital investment : The secenario we are seeing now with Steem blockchain is that of someone with a very high capital able to veto all the decisions by less financially capable individuals.

Decentralized systems with human interaction

The system design of a blockchain like Steem is very complex. Unlike the Bitcoin public ledger which is literally working on a fixed set of inputs, most of the POS variants and even for that matter Etherium-PoW is dealing with a large number of inputs. Etherium for example becomes susceptible to attacks and exploits as its EVM is nothing but a mini-computer that can be used to run programs. The practically infinite number of programs running on the EVM nodes results in an extremely complex but yet limited set of scenarios. A chain like Steem blockchain which is literally a chain of emotions on the other hand has to deal with infinite number of possible scenarios. While its possible to perform attacks on blockchains like Bitcoin or Etherium they have a limited attack surface. (Attack here is not necessarily malicious but a challenge on the status quo)

We are seeing numerous applications of blockchain technology in areas like Supply chain, Electronic Voting machines, Encrypted Communication mechanisms etc. Each of these systems brings practically unfathomable number of scenarios for a system design to consider. I have also seen strange projects like Crime-Database on a private-blockchain ( for fun and profit!). Underlying all these use cases is system design. A supply chain scenario easily becomes a "system of systems" interacting with humans.

To Err is Human & Summary !

Decentralized, autonomous decision making systems can one day ensure human interference failing system design ?
(no, I am not talking about dawn of machines here)

Automatic to increase throughput and arguably reduce errors in certain areas is common practise. Such cases involve decision making. The decentralization paradigm is exploring ways to make decisions in a better fashion. The approaches being explores in the blockchain technology space and consensus is ensuring that we understand the decision making and thus governance in a better manner. Since we use governance to accomplish much the explorations in decentralization is a huge boon to system design as a whole.

Sort:  

Hello there and welcome to Project.Hope :D

Decentralization is one of the three fundamental points of the blockchain trilemma. And it is what allows the system to be autonomous and self-governing. But is there really a decentralization in the blockchain systems? In both PoW and PoS scenarios, the control of the system can be taken over by malicious entities.

I don't know if there was a decentralization within the Steem blockchain before Justin or not, but like many people, I didn't agree with the last fork made (50/50) and it was implemented anyway. So I think our voice was not heard either.

Unfortunately, decentralization systems or models are vulnerable as I mentioned before. It's ironic to think that all these models were born out of battle strategies.

Thanks for sharing

thank you :)

Honestly I don't think there is much of a decentralization is most projects. Its like better and worse decentralization I think ;-)

That's right, it's better this pseudo-decentralization than none at all :)

Hello dear friend @bobinson, a great piece of reading, very good explanation starting from the restaurant analogy.

In my opinion, blockchain sold very well as a decentralized system, however, in practice it is very difficult to really define what the level of decentralization that each chain has and in steem it is shown that there is no such decentralization.

Also, I don't know to what extent total decentralization is really good.

Thank you for sharing my friend and welcome to the Project Hope family.

thank you ...

In my opinion, blockchain sold very well as a decentralized system, however, in practice it is very difficult to really define what the level of decentralization that each chain has and in steem it is shown that there is no such decentralization.

Yes, its very difficult to achieve and even verify the claims of decentralization with current cosensus mechanisms.

 5 years ago 

Wow, definitely an excellent explanation is already on my blog for my friends to read this wonderful explanation of a decentralization of the blockchain and what is happening with our platform.

I tell you that this sentence summarizes something great.

A chain like Steem blockchain which is literally a chain of emotions,

on the other hand, has to deal with an infinite number of possible scenarios. While it's possible to perform attacks on blockchains like Bitcoin or Etherium they have a limited attack surface. (Attack here is not necessarily malicious but a challenge on the status quo)

That status quo is in a war and we don't know what will happen to our platform.

I will quote your analogy, the invisible rules in the restaurant are there and everyone somehow follows them, but now another actor entered and is a new owner, one who recently bought the restaurant because he liked his food, but has made mistakes, the main mistakes It was that I do not investigate well how the restaurant works and now it comes to change the rules that have worked. I am not saying that you cannot be clear that you can change the rules, but before doing so you must make a consensus.

I am not opposed to rule changes, in many cases changes are good and we must always be evolved, but hostile changes do not bring anything good in any type of system.


Greetings from Venezuela.

Thank you for reading and commenting. Most doesn't do that :)

I am not saying that you cannot be clear that you can change the rules, but before doing so you must make a consensus.

From a human or people perspective yes. But I was trying to look at the scenario from the code/logic/blockchain/governance system-design perspective. Its arguable whether the changes that we are seeing is good or bad, but one thing remains clear - the system-design failed to incorporate these factors. A new system or changes to the system design is needed to address these new scenarios. How the new design will approach will be as you said depending upon the community's design choices.

 5 years ago 

I'm glad to see how responsive you are @bobinson :)

Thank you for reading and commenting. Most doesn't do that :)

Welcome within our little community :) I'm trying to support with strong upvotes content of those who are active within community, which is encouraging people to be engaging. And I have a strong feeling that you will become very valuable part of our team :)

Cheers, Piotr

Hi @bobinson

Thank you for choosing project.hope hive to post your article.

I resteemed it already (will get you some valuable traffic - I hope to see you replying to comments). And solid upvote is on the way :)

Please spare few minutes and read how project.hope is organized and learn about our economy.

That would help you understand more our goals and how are we trying to achieve them. Hopefully you will join our community and become strong part of it :)

Join our discord sever: https://discord.gg/TaRq7c

Yours,
@crypto.piotr

@tipu curate

Congratulations @bobinson! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You distributed more than 27000 upvotes. Your next target is to reach 28000 upvotes.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Vote for @Steemitboard as a witness to get one more award and increased upvotes!