How to achieve a "Full decentralization" (distribution) without slow down

“Full decentralization” (p2p) in your remark will require coordination = slow down network and data transfer.
There is no final solution for that problem.
Fast inexpensive “full decentralized”. Choose any two.
You can read more in the whitepaper, section 2.10 Coordination avoidance and blog

I would like to see examples how to solve the coordination problem without slow down the network.
Also, how to avoid using a full node on my cell phone to upload data to such network

Thanks, I read every blog post :slight_smile:

But this topic is “Meaning of Decentralization” and we talk about the right model, compare the performance of different models will be a good point for another topic :wink:

The right model - the model which allow me to upload and download files with physical available speed of my channel without need to run a huge full node.
I would agree to run a full node on my home server though, if avoid it is impossible. But I would be not happy to do so on my smartphone.

Of course - end-to-end client side encrypted and distributed or “fully decentralized”.

This is the right model for your case, but someone needs to make sure that can access their file when the “coordinator” goes down.

1 Like

It’s still possible in both cases. However, it’s requires coordination. No one solution have that solved.
So, I would want to see options.

My personal opinion: we can’t find the right model for all use cases (here is no silver bullet).
Each model is perfect for different use cases.

I would like to see options on the Sattelite, for example, for each dataset :wink:
Some data have sensitive for durability and accessible in any situation (I can sacrifice speed and latency for it)
But some data have sensitive for thruput (I can sacrifice distribution for it)
Another type of data is sensitive to latency, (I can sacrifice thruput and distribution for it)

As you can see, different use cases need different models.

PS. I pay your attention again to the topic.

You will not sacrifice the distribution of your data.
Perhaps you talking about metadata (encrypted address book for your data and billing information).

Can I ask you to move posts about “Compare problems of each distribution model” starting of this post to another topic and no more make “offtopic” on this thread?

Yes, I agree to move some to a separate thread, but we need to leave here details, what is the decentralization we are talking about.
I split the logic in separate comments on purpose, they are topic related. At the end we should come to conclusion, what the decentralization we all meaning.


Thanks, I also agree with your position and in our case, we need a “coordinator” but I would like to talk about in on another thread and keep it clean as much as possible.

Thanks again for move, so let’s talk about how we can achive full decentralization and not slowdown the network.
I agree, we need a coordinator, why we need a coordinator is well explained on blog post and Tardigrade whitepaper and I compleately agree with it. But we have a space of improvment:
Here is my thinking:
The current situation on Tardigrade network, data is distributed across storage nodes, but metadata located on satellite (“coordinator”). Coordinatior is potential single poit of failure, if metadate is not accesible the client can’t access theis file.

OK, let’s accept it as is and summarize:
Data - is distributed across storage nodes (multiple independent owners). Status for full-decentralization - OK
Metadata - is a potential single point of failure of the satellite (single owner). Status for full-decentralization - NOT OK

So, here is my proposition to solve this problem:

  1. Distribute satellites between multiple independent owners
  2. Distribute metadata between independent satellite owners across the globe
  3. Distribute payment system (out of this topic)

I would add - we still need to have an easy access to the network.
I should not be forced to use my own satellite to access my data. Because I already can do it. But the satellite operation not what I want to manage.

I am all ears how you want to solve those three problems. We appreciate any blue-print/design document for it. :slight_smile:

making stroj completely blockchain based would solve the problems of reliability and trust but would add significant overhead for each node. Uploads to the network might slow down considerably as metadata and payment has to go through the blockchain first.
Downloads from the network however would still be rather fast because a client could contact 20 nodes to see where his data is being stored, however payment for downloads would need to go through the blockchain so it would be slow again…
I can’t think of any solution to those problems so I’m curious if Odmin has some better ideas.

So while storj is not fully decentralized as we would like to see it, it appears that storjlabs has chosen the best possible approach to achieve reliability and speed.


There are several different kinds of blockchains. Proof of Work is slow… but proof of authority of delegated authority can be very fast.

The Steem blockchain has a 3 second block time

The blockchain would only be processing payments and node choice decisions. So, implementing a decentralized decision maker wouldn’t actual affect the upload and download speeds.

A 3 seconds delay would affect upload and download speeds unless you have a system where client and node first negotiate a token or smart contract or idk, then the upload/download happens and the node puts the order onto the blockchain. Then clients will be almost unaffected but in either case I’m not quite sure how you proof that an upload/download was successfull before/after payment (e.g. if client and node negiotiate a token but the node just doesn’t deliver the piece, the client wouldn’t need to pay but the node could still just submit the token) but there might be solutions.

why sattelites just cant syncronize needed metadata. Each sattelite has own db and other sattelites db and clients can access with own account tonearest sattelite.

1 Like

That would only work for satellites of a single owner.
You can’t sync between satellites of different owners because you can’t trust the data somebody else sends you. He could just be spamming your satellite with false data to keep it busy like a DDOS attack. And if every satellite has to verify the synced data first, it would be an immense overhead and cost.
And that’s just the technical side. What happens if I’m a tardigrade customer but tardigrade is offline and I download the files using a 3rd party satellite? If I still pay tardigrade, why would a 3rd party satellite want to provide a service to me?

3rd party sattelites is 3rd party problem. I meant only tardegate, as today we have only it, and how to make them better.