decentralized

From IndieWeb
(Redirected from decentralization)


decentralized is an adjective used to describe a system (often a network) where central authority is diminished, delegated, or possibly even eliminated (in that last case also known as fully decentralized or distributed). The system or network can be any connected group: computers, people, governments. It is often misunderstood and misapplied.

Real World Misuse

The term is often used by monoculture social network (web or other) projects to at best inaccurately describe themselves (monoculture projects are centralized by definition, having a single point of failure of their particular implementation). When such mislabeled projects fail (e.g. Tent.io), they have the unintended consequence of teaching the market to expect anything labeled decentralized to fail.

Academic Definition

In a fully decentralized topology there is no one, true canonical definition of a concept. It is up to the individual node to determine what is and what is not "true".

Rohit Khare

Khare wrote in his thesis summary section 2.4 Definitions:

  • A centralized variable requires simultaneous agreement between a leader and all of its followers.
  • A distributed variable is determined by applying a shared decision function over all participants' inputs.
  • An estimated variable is in simultaneous agreement only a fraction of the time.
  • A decentralized variable is determined by applying a private assessment function over other trusted participants' variables (or estimates of those variables)

Khare wrote in his thesis Extending the REpresentational State Transfer (REST) Architectural Style for Decentralized Systems (2003) section 2.3.4 Decentralized:

Decentralization is fundamentally different from either centralization or distribution because it permits multiple, distinct, simultaneously valid outcomes for the same decision. It also differs significantly from estimation, since several independent agents with their own estimates of a centralized or distributed variable can end up using multiple, distinct values at the same time, they are all attempting to recover a single outcome for the shared decision. In a consensus-free system, each agency’s updates merely represent its own opinion — and comparing more opinions from other, trusted agencies can increase the accuracy of one’s own opinion. The statistical premise behind this is that the errors of each agency are independent: they can’t all conspire against you. Thus, a hallmark of decentralization is its specific emphasis on agency conflicts — a shift from matters of fact to matters of opinion.

Example Chat Topologies

INDIEWEB = //indieweb.org
OFFICIAL_CHAT = //chat.indieweb.org/indieweb
ALICE_CHAT = //alice.example/chat/indieweb
BOB_CHAT = //bob.example/chat/indieweb

Centralized

Alice signs in to INDIEWEB and posts a message to OFFICIAL_CHAT. Copies can be backfed to her own site ALICE_CHAT.

Distributed

OFFICIAL_CHAT is the canonical resource for the "IndieWeb primary chat channel". Alice may reference this resource on her own ALICE_CHAT using rel=canonical. This would imply that her channel is a non-canonical alternate for the true IndieWeb's version. She posts to her own site ALICE_CHAT, publishes them to OFFICIAL_CHAT and from there her message is relayed to all other participants, all of whom respect the message as true and correct (author, content, timestamp). Bob renders Alice's message on his own BOB_CHAT.

Estimated

Take the distributed example above but instead of relaying through OFFICIAL_CHAT Alice delivers the message directly to each participant directly. Bob checks OFFICIAL_CHAT to see if ALICE_CHAT is listed before accepting and rendering her message on his own chat BOB_CHAT (80% certainty). If this is the first time Bob sees Alice he may grey her text for the first hour until she's proven a trustworthy participant (95% certainty).

Note that in this public case a fair estimation can be made easily and the risks of failure are low. Consider alternatively a private chat where you risk revealing sensitive information with Alice before fully trusting her.

Decentralized

In this case you can remove OFFICIAL_CHAT completely. Alice posts to her own site ALICE_CHAT. Bob joins the channel by posting to his own site BOB_CHAT and publishing to Alice directly. It is entirely up to Alice to determine if Bob is a trusted participant of the channel. If she decides that Bob is not to be trusted, she can squelch his publishes. When Carol joins she chooses who to trust.

Note that Tina from the IndieWeb can share trust information on new participants allowing for some degree of centralized trust in an otherwise decentralized topology.

Note that it is a certainty that a chat channel with tens, let alone thousands or millions, of participants will diverge over time as a consequence.

Decentralization and the web

Criticism

Focus may make things worse

  • Thread: https://twitter.com/pfrazee/status/1348415859707023362
    • "Yo, decentralizers. If our projects are ONLY about censorship resistance and NOT about better algorithms for elevating truth, and NOT about creating constrained but real powers of moderation, then we're making things worse. 1/n" @pfrazee January 10, 2021

Distraction from user-problems

Tantek Çelik: "Decentralization" is describes a type of architecture rather than any actual user problems being solved. As such, "decentralization" as a focus can be a techno-centric distraction from solving actual user problems.

  • 2018-07-17 Don Norman in Fast Company: Why bad technology dominates our lives, according to Don Norman

    We must change our mind-set from being technology-centric to become people-centric. Instead of starting with the technology and attempting to make it easy to understand and use, let us take human capabilities, and use the technology to expand our abilities. We need to return to one of the core properties of human-centered design: solve the fundamental issues in people’s lives.

Abstract Jargon

Tantek Çelik: The term "decentralization" is abstract jargon and has very little meaning to people who are not actively working in or following technology.

Vulnerable to hype sales

Tantek Çelik: As an abstract term, "decentralization" is vulnerable to a two-step sales manipulation of:

  1. Hype the abstract word/concept/label to create emotional desire & attachment to it;
  2. Brand your project, plumbing, startup with that word/concept, perhaps even as "the" example of it, to get people to promote/buy/invest in it.

Negative framing

Tantek Çelik: The very term "decentralization" is a negative framing, it is about not being centralized. Such a negative framing is more focused on tearing something down, than it is about building something useful.

Misdirections

Relation to cryptocurrency

Main article: cryptocurrency

Dismantling fake decentralization

Brainstorming

Plumbing vs Architecture vs Use-cases

Which is more effective? Focusing on

  1. plumbing (any specific technology) or
  2. architecture ("decentralized" is a particular architectural approach) or
  3. solving use-cases and actual user-problems (e.g. can I collaborate with a small group in-person without an internet connection?)

Tantek Çelik: Any time someone brings up "decentralization" or "decentralized" as an adjective, we should ask what actual user problems are being solved, and refocus the discussion accordingly, per the make what you need principle.

Local autonomy

Tantek Çelik: I prefer the phrase "local autonomy" as an improvement that’s closer to user problems (e.g. "local collaborative editing"). It also lends itself to naturally talking about specific approaches such as local first.

See Also

https://tantek.com/t5491" @t December 19, 2019