You are viewing a single comment's thread from:

RE: "Download Blockchain" Button

in #steemdev3 years ago (edited)

You are trying to solve a problem that is not there or already solved.
I guess you also have to re-think that "downloading" the steem DB (or the BTC blocks) pre-verified via a torrent exactly is NOT decentralization.

Many blockchains offer the a pre-verified blocks db snapshot via https/torrent/rsync/ftp for convenience, but if you did not sync the blocks yourself, you have to trust the source of this snapshot to give you a geniune one.
On the other hand, syncing from multiple peers starting at genesis, you can be sure to have a clean and trustworthy blocks database, because your own node applied consensus verification on all blocks itself.
Syncing/requesting blocks from multiple peers is fast and decentralized, most blockchains implement a DHT for that. So "syncing" is like torrent - but better.

Sort:  

It's a bit arrogant to assume the problem is solved when 99% of the people here have no idea how to do it or what the requirements are.

Quick! I want to download the most recent 10,000 blocks and tinker with them using a database. Doesn't even matter if the blocks are bad (which they aren't). How does one do that without being a programmer? Impossible right now.

Even your lack of commitment in saying

a problem that is not there or already solved.

is extremely telling. Which is it? It should be obvious.

if you did not sync the blocks yourself, you have to trust the source of this snapshot to give you a geniune one.

So what happens when every witness and every node verifies the snapshot? Can we trust it then?

What happens when we don't really care if we can trust the snapshot? There are plenty of situations where entire applications could be developed using invalid blocks.

Trust doesn't always matter. In fact, the foundation of DPOS, and many other scaling solutions like Sharding, involves sacrificing trust for efficiency. I'm just pointing out we need to bring that concept to the next level.

If you want the last 10000 blocks... ask a node!
The node will give them to you. Of course you need to speak to the node in its language, its API.

If you want the whole steem blockchain as a regular DB, follow this guy's howto and use his snapshot.
https://steemit.com/hivemind/@emrebeyler/steps-to-restore-a-hivemind-database-snapshot

Call me arrogant if you like, but

How does one do that without being a programmer? Impossible right now.
if you are not a programmer, why on earth would you like to download blocks?
If you are not a programmer, use a shiny frontend trusting its vendor ;-)
Or if you can at least do some basic coding, use the many frameworks like beem to interact with the blockchain.