Hacker News new | ask | show | jobs
by k__ 3153 days ago
Oh I don't think it's a hype thing, I just think I don't understand it :D

As I understood blockchains, they are basically linked lists of hashes, yes?

And the decentralization means, that every node hast this list, not just parts of it, so everyone can always check if the list is consistent.

Also, these lists are append only.

The part were every node has a copy AND the list is append only leads me to something that doesn't scale well. It will always get bigger with every action that is appended AND it will always be multiplied by every node in the network.

I'm probably missing something here, but that is my current state of blockchains, haha.

2 comments

Many people disagree about what blockchain technology is. To me, it' about the characteristics, rather than how they're implemented. I see three characteristics: decentralized, immutable, assets [1].

Under this framing, the "linked list of hashes" is one partial way to achieve immutability. And "every node has this list" is one partial way to get to decentralization is achieved. But that's only part of it. Eg you need to address: what if a node acts badly? And you want a means to create & issue assets.

> every node has a copy AND the list is append only leads me to something that doesn't scale well.

Correct. That's why there is work to scale better, e.g. via sharding by BigchainDB and by others.

[1] https://blog.bigchaindb.com/three-blockchain-benefits-ae3a2a...

Does sharding still let you know the "whole truth"?
"Truth" of course is a red herring. "Claim" is better. And, "digitally signed claim" is better yet.

Then to answer your Q: a good sharding approach should let you see all digitally signed claims (including when those claims were made) with probability --> 1.0. I'm framing this probabilistically because many sharding approaches rely on that definition. (And even non-sharded blockchains like Bitcoin itself.)

Also, I had the impression that a blockchain is a specific type of data structure.

So, what you are describing seems like a way to accomplish behavior of this kind of data structure with a different one so you may get bettee scaling out of it.

As you'll see in my other comments (and articles on it), "blockchain" is better described as a field with a set of related goals for technology artifacts, rather than a specific data structure [1]. I frame it as: it has blockchain characteristics if it's decentralized, immutable, and assets [2].

This is a much healthier framing, because it doesn't constrain the goals to a particular approach (e.g. a particular data structure).

[1] https://blog.bigchaindb.com/blockchain-as-a-field-47c9f45894...

[2] https://blog.bigchaindb.com/three-blockchain-benefits-ae3a2a...

I don't think i'm knowledgable enough to do anything other than refer you to sharding (we don't need to store the whole chain, just like in distributed computing) and the recent paper by Vitalik (Ethereum) and Joseph Poon of Lighting Networks on Plasma, which seems like MapReduce/Hadoop/Spark stuff with a blockchain

https://github.com/ethereum/wiki/wiki/Sharding-FAQ

http://plasma.io/

http://lightning.network/