edicted Blog Banner

edicted

Decentralizing Block Distribution

learn-blockchain.png

In light of Steemit being on the verge of bankruptcy many members of our community have stepped forward and pointed out that we need more full nodes. These nodes are a clear bottleneck. Many developers rely on them to acquire information from the blockchain. Even if Steemit doesn't go under we're still going to need better access to the blockchain.

What would happen if a million different apps were constantly pinging the Steemit server for data? Every server has its limit. Countless corporations have learned this the hard way.

However, unlike a private corporation, our blockchain is transparent. We aren't trying to hide any of this information from the world. In the long run, this little fact will give us a significant advantage in the future as we attempt to scale up.

micro torrent.png

Even though Justin Sun is a dumpster fire, I remain positive about Tron due to their acquisition of Bittorrent (and focus on gaming). This 140 million dollar buy is probably going to end up being well worth it. The peer to peer nature of torrenting is decentralized at its core. I believe the logistics used by Tron will be copied by many other blockchains in the future.

However, we shouldn't reactively wait around for other blockchains to show us the way. Where is our decentralized data distribution solution? Why haven't we created a torrent that lets anyone download and help distribute Steem blocks?

No matter how many full nodes we have, the concept of them remains a centralized one. Full nodes are an expense. If we want decentralization then we have to reward good behavior, not expect that people will do the right thing altruistically.

log n.png

Power of Log(n)

We could set up a torrent for Steem blocks where each person in the network uploads two blocks for each block they download. This is an example of a problem with a complexity of log base 2. It is the opposite of exponential difficulty. A balanced binary tree with 30 levels has 2^30 nodes. That's a billion nodes. This means in the time it takes to upload 30 blocks sequentially a billion people could theoretically download that block with a torrent.

Each level doubles the number of nodes. 31 levels would double to over two billion.

Lack of incentive

This "solution" still leaves us with the same problem. We have to hope users seed the torrent out of the kindness of their hearts. Honestly I don't think this would be a problem. There are plenty of people on Steem willing to seed Steem blocks. However, Tron is currently in the process of solving this good Samaritan reliance issue.

By charging leeches a tiny amount and giving it to seeders, a real solution will be in effect soon™. This system promotes equilibrium. In general, coins will never exchange hands, but when it's worth the cost of leechers to buy bandwidth instead of uploading to others then a system is created where the seeders support the leeches for a competitive fee.

Conclusion

I'm not going to pretend that I know the in's and outs of how the Steem blockchain works, but clearly the way we are doing things now is not how we will be doing it in 5 years. In my opinion, peer-2-peer solutions are the decentralized future of blockchain success.


Return from Decentralizing Block Distribution to edicted's Web3 Blog

Decentralizing Block Distribution was published on and last updated on 11 Dec 2018.