4 ms·
Pretty cool. This is the first time I looked at the blockchain and his explanation was immediately understandable. Having said that, he mentioned that everyone
by starik36 10y ago
Pretty cool. This is the first time I looked at the blockchain and his explanation was immediately understandable.
Having said that, he mentioned that everyone has a copy of the blockchain. So, is that really true? Wouldn't "everyone" be overwhelmed by the number of blocks?
Is there a specific example where blockchain is used, other than bitcoin?
- antocv 10y agoNot everyone, just people who like to run a full node, the others run "light clients" or other variants of light clients, like Electrum, but eventually, if nobody run full nodes it wouldnt work at all. The bitcoin database size is more than 100GB now in 2017. Blockchain is used by all altcoins and Namecoin for distributed DNS like system.
- 6nf 10y agoAll the miners run full nodes of course so there's always a bunch of full nodes around.
- moxious 10y agoWhat's the rate of growth on the size of the block chain? How big would it be for example after 5 years if 1/100th of economic activity was in BTC?
- antocv 10y agoThe rate of growth depends on the amount and size of each transaction people are doing on it. There are methods of pruning or discarding spent transactions, but someone somewhere would have to keep it all. The amount of transactions people are willing to do depends on the value each does, so some people think if bitcoin transactions are almost free some other people would "spam" the network with their "worthless" transactions, thus increasing/growing the size needlessly. So these people claim high fees should ensure only really valuable transactions happen on the network, and not for buying coffe/payment-processing. So your other question, astronomical, completely otterly astronomical. Which is why people invent https://byteball.org https://byteball.org and others to solve these problems.
- reddytowns 10y agoWhy would someone need to keep the all? I would think that only the hash would be needed for blocks without UTXO's
- RationPhantoms 10y agoThat actually brings up the idea of sharding which is to assign a node a specific set of transactions and discard the rest. This allows us not to all need an entire record of the blockchain but implementing that into Bitcoin isn't exactly the easiest.
- Taek 10y agoThere's no method for sharding the blockchain today which is considered secure, but it is an active area of research.
- Taek 10y agoYou can also run a pruned node, basically you download everything and verify it as you go, but once you've computed the utxo set at a given block, you can throw that block away. Pruned nodes I think are like 2 GB right now? Something in that ballpark.
- rocho 10y agoHow is it possible then to know your balance? Do you have to go through all the blocks just to find those transactions that involve the public key of your wallet? This sounds extremely impractical, because the majority of the transactions would not involve yourself. I assume then that there's a way to "query" the blockchain? How does Electrum do it?
- DiThi 10y agoThe hash of each block is actually the hash of the header. That means you only need to store the headers to validate their hashes (not the transactions, that's a different matter). The header includes the root hash of all the transactions. Specifically, a Merkle tree, a hash three where you only need a few extra hashes to confirm a specific transaction was part of a block.
- Taek 10y agoWhile true, this only works if you are assuming that the block is valid. To verify that the block is valid, you actually need the entire history of the blockchain, including processing yourself every single transaction that has ever been made over the blockchain. What you describe is SPV verification, which basically says "if a miner decided to spend $10,000 in electricity mining this block, they probably verified the transactions first, so I probably don't need to verify it myself". Of course, if everyone makes this assumption, it's very easy for the miners to start slipping in illegal transactions without anyone noticing. So, some of the network running SPV is okay, but too much is a great systemic risk.
- DiThi 10y agoYep, that's why I say "(not the transactions, that's a different matter)". A block is only truly valid when its transactions are. But if there are months of blocks after it and enough percentage of nodes are full nodes, you can safely assume it was indeed verified.
- Taek 10y agoWell, yes. This is why blockchains are often called expensive. Every single full node on the network has the entire blockchain. And when you make a transaction, that transaction gets processed by every single node on the entire network. Needless to say, there are some scalability problems here. And there are a lot of solutions to the scalability problems (such as the lightning network), but generally speaking scalability is probably the biggest and most heated topic in the blockchain space.