Tardigrade Thursday thread: Meaning of Decentralization

Hey ya! It is Thursday. I recorded a really great podcast episode today with JJ Jacks, of Open Core Summit. And one of the topics we covered in brief is this post from Vitalik Buterin on the Meaning of Decentralization. Has anyone here read it?

2 Likes

From my point of view:

image

Type “a” and “b” still have a weakness, if you destroy his “coordination center” all communications will down. But structure “с” does not have “coordination canters” it like a mesh network if you destroy 1-2-10-15 “stations” nothing happened… because “stations” always have an “another way” to another “station”. Only this structure has an extraordinary ability to survive, Tardigrade should learn this structure more detailed :wink:
…and doesn’t matter how we name this “structure” only the mechanism of its work matters.

1 Like

Yeah, “decentralized” may work for torrents, where if one tracker goes down, I can download the same file using another tracker. But here I cannot really have copies my data on all satellites etc.

A file, uploaded by a customer, is dependant on the existance of the central point - the satellite. It does not matter if the data itself is distributed to 10k nodes or is instead on a server in a datacenter somewhere.

Something bad happens to the satellite (software bug, hardware problem, people with guns) and say bye to your data. Exactly the same as if it was stored on Amazon or in some other “centralized” service.

The only thing, IMO, that the current Storj structure has is that by distributing the data to mane less-reliable nodes it can be made cheaper than storing the same amount of data in a datacenter, on reliable datacenter hardware with backups etc.

EDIT: Also, wouldn’t Storj structure fit the “centralized” example better, with the satellite at the center? Nodes do not coordinate anything with each other, neither do uplinks. Nodes and uplinks do talk to each other, but only after setting it up with the satelite.

1 Like

Also, I would lite to update the old picture from the old book :wink:

Here are modern models:

As I said before: “doesn’t matter how we name this “structure” only the mechanism of its work matters”

11 posts were split to a new topic: How to achieve a “Full decentralization” (distribution) without slow down

And now we can return to the topic: you pointed out to the “full decentralization” (distribution) of metadata only.

No, Let’s me explain what mean “full-decentralization”:

  1. No single point of failure (for example you can hit all “coordinators” and half of the network but your data will be accessible)
  2. Data and metadata are distributed across all network

The data is already distributed across the network (nodes). The metadata is distributed only across clusters but not the network of storage nodes.

But who is the owner of these clusters? and who are the owners of these storage nodes?

Clusters belongs to satellite operator. Each node belongs to node operator.
So, to operators.

Let’s look deeper:
storage nodes owners - multiple independent owners.
clusters (satellites) - single owner.

You can own the satellite cluster too. And anyone, right now.

So, back to the topic.
What is full decentralization are you meaning?

P.S. I would like to suggest to read an article of Vitalik again, it’s deeply dive into decentralization in almost all aspects, include politic.

Here is the answer and here is the model “per-to-per”

image

How many independent satellite ownes we have rigth now?

I have no idea, it’s open source.

But widely known StorjLabs and Stefan

I see only Storj Labs as an owner and Stefan satellite was decommissioned.
So right now we have (look into trust-cache.json):

{
  "entries": {
    "https://tardigrade.io/trusted-satellites": [
      {
        "SatelliteURL": {
          "id": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S",
          "host": "us-central-1.tardigrade.io",
          "port": 7777
        },
        "authoritative": true
      },
      {
        "SatelliteURL": {
          "id": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs",
          "host": "europe-west-1.tardigrade.io",
          "port": 7777
        },
        "authoritative": true
      },
      {
        "SatelliteURL": {
          "id": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6",
          "host": "asia-east-1.tardigrade.io",
          "port": 7777
        },
        "authoritative": true
      },
      {
        "SatelliteURL": {
          "id": "118UWpMCHzs6CvSgWd9BfFVjw5K9pZbJjkfZJexMtSkmKxvvAW",
          "host": "satellite.stefan-benten.de",
          "port": 7777
        },
        "authoritative": false
      },
      {
        "SatelliteURL": {
          "id": "1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE",
          "host": "saltlake.tardigrade.io",
          "port": 7777
        },
        "authoritative": true
      },
      {
        "SatelliteURL": {
          "id": "12rfG3sh9NCWiX3ivPjq2HtdLmbqCrvHVEzJubnzFzosMuawymB",
          "host": "europe-north-1.tardigrade.io",
          "port": 7777
        },
        "authoritative": true
      }
    ]
  }
}

5 working satellites with one owner. This is single point of failure.

It’s how you see it, but not what it is mean.
This model means the slow distributed network with hard coordination between peers, they must to have a consensus - see How to achieve a "Full decentralization" (distribution) without slow down again.
So, better to explain what you mean by this picture in reality.
We already have

Now we seems need to add “more peer owners”. How much is enough?

That does not change the fact that it would be a separate network.
Let’s say a client uploaded some files using satellite A, which belongs to company X.
Company X goes out of business/is hacked/is bombed/etc.

The client cannot download his file using satellite B, belonging to company Y. While the data is still stored in the nodes, it is now impossible to access it.

It probably would be impossible to access data, uploaded using Tardigrade satellite europe-west if that satellite suffered a catastrophic failure. Even though Tardigrade operates other satellites.

So, probably the only real way to achieve independence with the current system would be for each client to run his own satellite. That, however, would be such a hassle compared to just storing the data on own servers.

1 Like

If satellites would use an own distributed network and would exchange with data, will it become more decentralized?

I would say it would be not acceptable for customers. Do you want to operate a full node to access your data? If you simply need to restore your backup right now on that fresh server?

Why you take care of “slow” when we talk about “Meaning of Decentralization”?
What do you mean by “slow” and how it impacts decentralization?