Steem Power and Governance, Part 1: Centralization and Decentralization

in #steem8 years ago (edited)

In this multi-part series, titled Steem Power and Governance, I will explain in detail how the distribution of Steem Power (often referred to as vesting shares, or vests) influences the Steem system of government. I will describe the ideals behind this relationship and elucidate how Steem deviates from these ideals by examining the actual distribution and application of governing power in the Steem network (which I will often refer to as the steemosphere). I will explore positive and negative consequences of the current situation of governance as I perceive them, then further suggest remedies to the problems I identify. Finally, I will give predictions for the future of Steem governance under several different models for power diffusion, relating these models to the potential for Steem's continued success.

Centralization and Decentralization

Whales are the Most Visible Steem Power Players

Nearly everyone reading this article likely stumbled on it by navigating the website at steemit.com. This website is a social media sharing portal where authors post articles such as this one. Authors also get paid for posting based on the popularity of the article where popularity is determined by user voting. Steemit.com is unique in that the rewards for a given post can reach into the thousands of dollars in value. This value is shared between the author and voters in an uneven split in favor of the author. Because of this incentive system, the quality of the most visible posts has increased quickly as new authors have joined to share in the competition and rewards.

By now it is obvious to most steemit.com users, called Steemians, that some individuals have extraordinary influence on the popularity of posts, dramatically effecting their payouts. These individuals are called whales, a term that can have both negative and positive connotations depending on context. To appreciate the power of whales in the Steemosphere, consider that at the time of writing this article, a vote from a single Steem whale can bump the value of a post from nothing to several hundred USD. Some whale votes can even propel a post's reward into the thousands of dollars depending on the size of the whale and how frequently the whale votes.

Upon learning about whales, most readers have a few questions. First who are these whales and how did they get so much power? Second, how is this power represented such that rewards are faithfully distributed according to the power of the votes? Third, who apportions this power and why don't they redistribute it more equitably?

Before tackling these questions, I will first describe the relationships between the website steemit.com, the protocol called Steem, and the currency called steem that has the trading symbol STEEM.

The Steem Decentralized Database

The steemit.com website is powered by a database of user content. This database, or rather the computer protocol that describes the database's format and operation, is called Steem. The Steem protocol underlies a special kind of database that exists as identical copies in many computers (called nodes) at once, and for which there exists no single master copy. This type of database is known as a decentralized database because it lacks a central controlling authority. To be synchronized, all nodes must agree on the precise contents of the database at any given time. This state of agreement is called consensus.

Figure 1: Degrees of Centralization

Three different types of centralization are illustrated in Figure 1, and can be distinguished by how consensus information is propagated between nodes. In a centralized system, consensus information originates at a single node and is passed to each lower node, which has no option but to accept the consensus information without dispute. In a decentralized system, nodes exchange consensus information in an egalitarian manner. Each node has the option to accept or reject the information they receive, formulate its own consensus, and propagate its interpretation to its neighbors, or peers. In a quasi-decentralized system, consensus information originates from a small number of top-level nodes (called witnesses herein), and this information is then disseminated to lower-level nodes without an opportunity for conflict.

Functionally, these different types of centralization are distinguished primarily by their relative efficiency. A centralized system reaches consensus very quickly because it offers no opportunity for conflict, meaning that the system does not waste resources resolving disagreements. A decentralized system is much less efficient because each transfer of information provides an opportunity for conflict and the network must expend resources to resolve these conflicts. In a quasi-decentralized system, only a few highly collaborative nodes, called witnesses, participate in consensus building. This system allows for stringent rules of collaboration between witnesses, and those nodes who do not follow these rules risk permanent loss of their witness privileges, which may include generous compensation.

The biggest technical challenge of a decentralized database is to ensure that all copies stay synchronized, a term meaning that all nodes store the same content at the same time. Synchronization would be trivial with a master copy: each database could just update its contents regularly or when prompted, copying faithfully any new changes to the master copy.

Without centralization, the task of synchronization becomes more difficult because of potential disagreements. However, the principal advantage of decentralization is that power is diffused, leading to fewer and smaller opportunities for centralized authorities to corrupt the database for personal gain.

It is critical to underscore that the primary worry is manipulation and corruption of the data in the database, and not how power is distributed among or exploited by those who use the database. The former is a matter of the integrity and viability of the entire system, while the latter effects the secondary, though highly important, component of fairness.

In the next part of this series, I will discuss the importance of data integrity and describe how the network of Steem nodes reach consensus.

Sort:  

I can't wait for part II and this series in general, very nicely and easily explained; hopefully you can do the same job when it starts to get a bit more technical! :-)

Cg

Here's where I have trouble. So if the 20 witnesses decided they wanted for any reason to cooperate with each other, to the detriment of the system as it is today, What's in place to prevent that? As I understand from earlier readings they have to earn their spot, can be rejected, and are well compensated. What is in place to prevent collusion of these 20 witnesses in their own self interest? You talk about decentralization leading to fewer and smaller opportunities for centralized authorities and I fail to see how 20 masternodes (for lack of a better term) does this.

I am more than happy to admit to some ignorance on the matter, but how I read what was written is "Centralized is faster, so we kind of do that just a little bit."

EDIT: Reread the whitepaper as it pertains to witnesses and their role and how it is implemented. Leaving the question up as it's good for people to find their own answers and not wait for them. I don't understand every aspect of what I have read.... but I am satisfied it's not very likely at all.

The trouble is that decentralization is a direction, not a destination. At what point is a thing "decentralized"? Steem is far more decentralized than Bitcoin, as Steem entrusts 19 regular witnesses, one random witness, and one miner witness, with block production whereas Bitcoin entrusts just a few Chinese mining orgs with block production. Interestingly, this combats the idea that "Centralized is faster, so we do that just a little bit" since Bitcoin is both far more centralized and also far slower than Steem.

An attack on the network would require many of the 19 regular witnesses to collude. These witnesses are well compensated, and collusion would jeopardize that revenue stream, which is one incentive to behave. Also, those 19 spots are highly coveted, and those prospective witnesses who are just outside the 19 elected witnesses have a strong incentive to monitor the 19 for misbehavior. Finally, witnesses are rather limited in what they can do even if they do collude. They can't print new Steem, they can't change history (the network will reject a rewrite of history of more than a few minutes without manual intervention)... They can censor posts or transfers (but they'll be quickly caught and replaced, as they can't do this covertly), and they can denial of service the chain by simply refusing to produce blocks (but again, they'll be quickly replaced). So there's little incentive for mischief anyways.

For these reasons, it's considered unlikely that witnesses will collude, and even if they do, it's highly unlikely they'll be able to do anything significant without being quickly caught and replaced.

The trouble is that decentralization is a direction, not a destination

That is a beautiful answer. The rest of the message was also great and explained what I was reading in white paper without the engineer speak, but that line there really spoke to me. I thank you for this great answer!

Interesting, but cannot agree with "quasi" based on its definition. To help draw inference on where Steem falls next to others I would like to see a compare and contrast to other blockchains consensus models.

You are probably referring to the frist definition of "quasi", which means "not genuine". I intend the usage according to the second definition, which roughly means "partial".

Is this based on the assumption that the number of possible witnesses is limited?

Hi, thanks for posting; it was quite informative. I do have a clarification question, though. You said steemit.com is a decentralized database. Then you went on to describe how quasi-decentralized systems have top-level nodes called "witnesses" and you only referred to witnesses when talking about quasi-decentralized systems. My three-part question is If steemit.com is decentralized, why does it have witnesses? What purpose do these witnesses serve? And in what ways are steemit's witnesses different from those in a quasi-decentralized system?"

First of all, it is important to distinguish between steemit.com, the website, and the Steem protocol. The Steem protocol specifies, strictly speaking, a quasi-decentralized database. The witnesses achieve some semblance of decentralization and contribute mostly to the robustness of the system. With 20 witnesses, many must be incapacitated at once in order to significantly disrupt the system, where disruption generally means slower block times or persistent forks that render the state of the database ambiguous. I will get to all of these questions as we go along, but the Steem witness system is quasi-decentralized, which can be thought of as a type of decentralized system in that consensus among the witnesses is decentralized but subject to a strict set of rules to establish consensus.

Thank you for taking the time to reply, I look forward to your answers in future posts.

When I go to https://steemit.com/~witnesses, I see you're currently listed as witness number 13. I also notice there's an option where I can cast a vote for a witness, which makes me think I should know something about their relevancy. Whether it's here in this comment thread or in a future post, can you please answer this question as well: As a steemit.com user, what do I need to know about witnesses, if anything?

The job of the witnesses is to produce blocks. Because Steem is build on a blockchain, somebody has to do it. Steem uses delegated proof of stake (DPOS) toproduce blocks.

Steem Power holders can vote for those people/organizations who they want to see as witnesses (preferably the most reliable ones of the candidates).

This was my exact question. And I'll also give my shoutout to @steemed for writing such an informative piece. I look forward to the upcoming installments in the series.

I spent quite a bit of time in the last few months studying computer networking technologies, and I think that the principles that operate in the function of switching and routing algorithms for routing traffic are very applicable to this subject.

The process of achieving consensus in a network is called 'convergence'. Switches are simpler devices than routers, and only operate within local area networks (LANs). The topology of local area networks can include multiple redundant paths, and to eliminate the very serious problem of routing loops, they use the Spanning Tree Protocol and its' successor, I forget its name just now. These switches can take up to a minute to set up path tables that prevent these loops from occurring and causing 'broadcast storms', a problem that came up a lot in the early days of ethernet star topology networks with multiple possible paths, which the decentralised network diagram above shows examples of.

Then there is routers, which do the job of setting up routing in between local area networks and across multiple, usually also redundant paths between LANs across, usually, point-to-point WAN (wide area networks, long range connections). There is the Shortest Path First algorithm and other methods of finding efficient paths between nodes.

These systems by their nature cannot depend on logical centralised maps because this would slow down the process very badly when links go down or new paths are brought online. Instead each router communicates with other routers to tell each other about these changes, about which networks each router has connections to and when they change these changes are advertised.

Convergence (consensus of the map) happens very quickly, and does not require a central map to do this. Border Gateway Protocol, Open Shortest Path First, IS-IS and several other protocols are used in larger networks spanning between LANs and none of them operate by centralised databases.

This is part of the reason why the decenttralised database systems of which Steem and Bitcoin and other blockchains have emerged. Client-Server pathways and authoritative central databases may converge faster than collaborative, peer to peer data distribution systems, but if you want to take down a network, you only need to cut off the head and everyone is disconnected. The model of centralised, top down network authority and its single points of failure is the issue for which these systems aims to eliminate. It applies equally well to financial databases as it does to political systems. They all fail in the same way and are subject to the same 'fast convergence' and 'single point of failure'.

The Steem network, and indeed Dash and its' Masternodes mix the two topologies together. The network has two tiers, effectively, but the head of the network is not fully centralised, there is still a consensus building approach at the head and the head of the network is decentralised within its boundaries as well.

The logical topology as exists within the hierarchy of Steem accounts, the Whales, Minnows and Dolphins, is more fluid than the underlying structure of the system I mentioned above. The redistribution of steem power is designed so that these big players are forced to redistribute their power or their ability to influence the hierarchy of users degrades over time.

It is not intended that there is any final state to this part of the network, it needs to be fluid and change according to the way that people vote, and for there to not be one single node in the network who can change the whole network according to its' opinions, or the crabs will jump out of the bucket.

I still don't quite understand why such an excellent post on a prominetly displayed article does not get you any reward. I enjoy the comment almost as much as the actual posts. They are the best quality check. I upvote every comment I like, even if some machine might be able to "manage" my voting power more efficiently. Thank you and upvoted! (1 Cent, yay, I feel the power!)

I'd never even heard of quasi-decentralized before. This is quite interesting.
Does this mean that steemit would be easier to hardfork, As It would require less people to vote on such a situation, Or have I missunderstood?

I'd never heard it described like that either but it makes sense. Because of mining pools even Bitcoin could be described that way, although Bitcoin does not have the benefits of a quasi-decentralized system, only the negative aspects.

Steem is as you suspect very easy to hardfork and we've had 13 hardfork since launch, the latest was this Monday.

Upvote my - and I upvote back .
Roll my log and I will roll yours.
It must be so:
like - Vote . not like it - do not vote
Image of Photo
the rep system

We must build a temple and worship the god of steem, it's a sign, and what is his name, I think he said Brian... yes lets build a temple to Brian

This posting give a little enligtment about centralized and decentralized..... :)

Or stumbled upon this if I am following you .... =)

At teh beginning i thought it was going to be another typical introduction to the system post, but its much more in depth and fairly easy to understand.

I begin now to understand the difficult job of the witnesses and the data storage and syncronization.

Can it be possible for a few witnesses to disagree and to release their own data, seperate of the system (a fork)?

Or is it possible for a witness to influence another to change data?

It is not possible for any witness to deviate from consensus in any way.

Is it possible for them to release a fork if they wish since they have the database?

Yes, the chain can be forked, but lots of factors will work against any fork but the "official" fork being adopted. I'll get to these factors as the series progresses.

Great post steemed. I believe that because decentralized nature of the Steemit network, that we'll eventually see the distribution that many seek. I also completely agree that firstly and most importantly we need to worry about manipulation and corruption of the code right now rather than the actors within the code. Look forward to the next part of the series.

Good explanation Steemed, I like the visuals. Looking forward to the next installment.

we want decentralization of steem power

The decentralization is really key here, isn't it? It keeps the larger players in true competition, even as they continue to maximize their potential. We see the various personalities too, which seems to help keep balance overall.

This is one of the many facets of Steemit that I still do not really get, as I am not a tech guy by any means. All in all I LOVE Steemit and am investing all my online time and curation of valuable content HERE on Steemit.
What I can say is that the many complex and technical aspects of Steemit are one of the big barriers to "mainstream" integration. Part of what I feel I can do is be a bridge from this platform to a mainstream platform and am doing the best I can so far with my articles to inform people that are not yet on Steemit why its so awesome but have not addressed the real technical aspects because I do not yet fully comprehend. I feel it is imperative for me to be an "expert" before I try and curate on that topic or I am just simply sharing less than ideal comprehension and in a way not bringing real value at all. I am sure to be "sure" before I write and post about something.
If you know of any articles or videos that address the technical aspects of how this platform runs I am trying to learn as much as possible so as to easily share it with non technical people so they to can benefit from this cutting edge community!
Thanks for all you do. I am following you and contributing as much as I can!

@steemed- thank you for the very informative and well written piece, I learnt something about the steem ecosystem. I am looking forward to your next pieces in this series. I have one question right now if I may- you mentioned that steem is quasi-decentralized- what were the reasons for the designers to think about this structure over fully decentralized? Was it the short block times and relative efficiency and engineering trade -offs?

I'm looking forward to this series - and hopefully a discussion amongst whales and dolphins if time permits ;-)

Very interesting and informative post. Thank you.

Thank you @steemed this is a very informative post that paints the bigger picture of decentralization which little people overlook and a must read for little people.

It is very pleasant to read,
Thank you!

@foxkoit

I ask the question : can it be decentralized.

Then I ask: can it be decentralized more.

The questions answer is always YES

Excellent post, thank you. I think this will be a great series for this who want to dig a little deeper into "What is Steem?" but aren't willing to read the (now outdated) white paper just yet. Following.

it's just an introduction. What is intersting is how you will answer your own questions about whales and use of steem power.

I translated the text into german. I am no tech or code expert, so if anything got lost, bitte contact me.
https://steemit.com/deutsch/@fabio/steem-power-und-governance-teil-1-zentralisierung-und-dezentralisierung

Great information, thanks for sharing @steemed!

I guess the second part never came?

very easily explained, thank you

Extremely helpful, answered a lot of questions for me.

Have the 2nd part posted in steem. Can't wait to ...

thank you. i am new here. very helpful

Honestly, I worry about the platform because of the gaming if the system that goes on. It may be decentralized in practice, and I know it's a work in progress, but all the tips and tricks to gain rewards, especially using Discord to form little tribes, works against it in the long run, in my opinion.

I'm amassing knowledge. Thanks

all nodes were suppose to be store though at the same content and at the same time in the first place, that is how processing content functions

A very informative piece thank you. I am too new to understand it all and yet have enough of an idea of how it works, this just clarifies things. I like your attempt to bring more order into the governance, very much my beef when it comes to knowledge management. I'm hot on Ethics and wonder with the huge variety of comments how it all seems to work so far. As long as there is the opportunity to praise (upvote) and flag bad usage, Steemit is doing right.

Awesome post

great info, upvote and resteemd it, and even vote for witness, greetings from belguim

As you are a witness...I had a question. Why the steemit chat option not there in the same window

Greetings!

I found you because I am investing a lot here in the form of technical knowledge, time, creativity and tech hardware as I am now a witness for Steem and I noticed that you are voting for @picokernel - but that picokernel's witness server is offline and of no use to Steem (for quite a long time as far as I can tell).
I would really appreciate if you would support me with a vote to give me a chance to show what I can do for Steem and Steemit. I have a long background in software engineering and also in running social networks.

My witness application post is here.

Cheers!

Great explaination! Thanks alot!!
Functionally, these different types of centralization are distinguished primarily by their relative efficiency. A centralized system reaches consensus very quickly because it offers no opportunity for conflict, meaning that the system does not waste resources resolving disagreements. A decentralized system is much less efficient because each transfer of information provides an opportunity for conflict and the network must expend resources to resolve these conflicts. In a quasi-decentralized system, only a few highly collaborative nodes, called witnesses, participate in consensus building. This system allows for stringent rules of collaboration between witnesses, and those nodes who do not follow these rules risk permanent loss of their witness privileges, which may include generous compensation.

I agree with you
please like have me

Very informative

Message bien reçu gage d'une information capitale dans la cryptomonnaie

Very interesting friends

@steemed
Can power player like my any post and comment
@gonewithwind