I'm seeing a few blockchain (which I define as a "merkle-tree" with some consensus algorithm, usually proof-of-work, choosing it's head) takes this Christmas Eve? (Any idea why?)

I won't say blockchain doesn't have it's place, or that everyone pushing it are misinformed. But the thing that often annoys me about blockchain proponants is that they often seem to think blockchain is the only way to decentralize.

So let me list some of the other approaches, and what they're good for!


There's direct peer-to-peer connections, for when you need to send a message to known recipient(s). Usually this requires NAT traversal today, since IPv6 adoption is so sluggish.

There's gossip networks...

DHTs allow storing small ammounts of data under a key, or where to download larger ammounts of data. If the key is a hash of it's body, I call that content-addressed storage though apparantly others call any decentralized key-value store that. Sounds more like name-addressed to me...


Any network security is inevitibly built upon the field of Cryptography, which is what the "crypto" in "cryptocurrency" stands for. That's a whole other thread!

Merkle trees use hashes to represent pointers, allowing decentralized systems like Git or SSB to verify they've correctly dereferenced them.

Proof-of-work throttles connections & deters spammers.

Federation is easier to connect to on modern systems & allows human curation.

CRDTs implement collaborative p2p editting!


P.S. The problem blockchains address: They allow enforcing chronological invariants upon a p2p database.

If the invariants you need to enforce (if any) aren't chronological, a blockchain is unnecessary. If you actually need to retrieve data from the p2p database a blockchain isn't enough, you probably want a DHT.


@alcinnz really? People misuse content addressed to mean any distributed k v store? Smh

Good thread by the way.

@teleclimber Yes, I got corrected the last time I defined content-addressed the way I did here...

Sign in to participate in the conversation

For people who care about, support, or build Free, Libre, and Open Source Software (FLOSS).