Hacker News new | past | comments | ask | show | jobs | submit login

I'm still flummoxed why people use blockchains for any kind of data or computation. Fundamentally isn't blockchain a tech stack built on a linked list with mandatory network calls in every operation? It seems purposefully inefficient. At least in theory it had a point (decentralized control). In practice, however...



The only purpose of a blockchain is to decentralize the storage and validation of data. It only makes sense if the decentralization is worth the loss in efficiency. Using a blockchain just to store data and perform computations when you have no reason to decentralize will only result in a crappy, slow database.


I agree completely, and I am disappointed that so many projects start which have no benefit from the computation redundancy (yet will have to pay for it).


People won't use it for traditional number crunching.

Way I see it, the idea is to get your data, code, and capital into the big global ball of state by consensus where it can coexist with other code. The point is being able to co-operate with others by writing arbitrary programmable incentive mechanisms.

The tech isn't there yet though. It still needs higher throughput (sharding, layer 2s), better visibility into the mechanics, and probably some kind of privacy layer.


Bitcoin doesn't even use linked lists (it's merkle trees). Similar with other coins.


I thought the transactions within a block are stored in a Merkle tree, but the blocks themselves are stored as a linked list. So if you wanted to find a particular transaction you'd still have to traverse all the blocks (O(length)) and then inspect each block (O(log(depth))). I have no idea what dominates in verifying a Bitcoin transaction, so maybe in practice the cost of finding a particular block is amortized because you're spending most of your time within a block.

But from the original bitcoin paper[1] I got the impression that to verify any particular transaction you need to traverse the whole list of blocks.

[1]: https://bitcoin.org/bitcoin.pdf


In practice you can look up a tx by its hash from the transaction index (implemented with a Merkle tree)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: