Hacker News new | ask | show | jobs
by trentmc 3147 days ago
Hi, it's Trent here, the CTO of blockchain.

> I know. I think if I read "scalable" and "blockchain" in the same sentence again I'll scream. I acknowledge the hype out there.

FYI we were working on blockchain in 2013; long before the hype. We started encountering massive scale problems in 2014 and working on it in 2015, long before the "scale + blockchain" hype. We started work on this. So we're not doing this because it's some fancy combo of buzzwords, we're doing it because we identified a problem years ago, and have been making steady progress to improve it ever since. It was a surprise to me to see BigchainDB to hit HN front page today, since we've been shipping it since Feb 2016!

> Once bitcoin can handle Visa's transaction volume (250M transactions/day) we can talk scale. We're not trying to improve Bitcoin. We're building our own thing. As we continue to improve the technology, it becomes useful to ever-wider classes of users.

Re CockroachDB: it's a cool technology. The big difference is that it's distributed but not decentralized. That is, the compute resources (in this case mainly storage) are spread across many machines; but the control is in the hands of a single entity / sysadmin. Whereas decentralized means the the control is spread across many sysadmins; and even a few rogue sysadmins won't take down the system.

1 comments

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.

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/