this post was submitted on 28 Mar 2025
227 points (98.3% liked)
Programmer Humor
22140 readers
2409 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Can't wait to hear how the blockchain will factor into this redesign.
I mean, technically SSA data might be a legitimate use of the blockchain. I am one of the biggest opponents of the whole mess, but there are use cases for a persistent immutable data record, and social security numbers would be one of them.
The not-bullshit version of this already exists.
Many know it as MySQL, Postgres, etc.
Databases don't need Blockchains.
Damn why doesn't git just use sql instead of Merkle trees I guess that's just stupid tell Linus to get to using SQLite asap!!!
But no, you're wrong. Cryptographically verifiable merkle trees are a valuable way to store changing data. Unlike your recommendations, they don't satisfy the needs of verification, which is literally a great use-case for ssns. Now I'll admit that the SSN db doesn't need to be distributed, which is the only thing a blockchain adds to that equation. But you are just flat out wrong for suggesting a sql db 😂
You can store the Merkle trees inside of a SQLite database as extra columns attached to the data.
That way you get the benefits of a high-level query language and a robust storage layer as well as the cryptographic verification.
In fact, there is a version control system called Fossil which does exactly that:
https://fossil-scm.org/home/doc/trunk/www/fossil-v-git.wiki
Or you know, trusted timestamps and cryptographic signatures via normal PKI. A Merkle tree isn’t worth shit legally if you can’t verify it against a trust outside of the tree.
All of the blockchain bullshit miss that part - you can create a cryptographic representation of money or contracts, but you can’t actually enforce, verify or trust anything in the real world without intermediaries. On the other hand, I can trust a certificate from a CA because there are verifiable actual real-world consequences for someone if that CA breaks legal agreements.
I’ll use a folder of actual papers, signed using a pen. Have some witnesses, make sure they have a legal stake and consequences, and you are golden.
Blockchain is three things, not just a merkle tree.
Git isn’t a blockchain. Blockchain requires mistrust, else it’s just previous technology that existed decades before.
Distributed blockchains are useful when all of the below are fulfilled:
Here, we have a single peer creating entries in a ledger. We can get away with a copy of the ledger and one or more trusted timestamping authorities.
I didn't say distributed. You are absolutely correct though. I was more observing that of all the BS tech bro babble that our Oligarch in Chief could spew into the universe, blockchain would be one that could be implemented reasonably.
If your blockchain isn’t distributed, it doesn’t need to be a blockchain, because then you already have trust established.
There are actually other comments on this thread that provide other benefits besides trust, like modification tracing. There is more to it than just trust.
You mean a transparency log? Just sign and publish. Or if it’s confidential, have a timestamp authority sign it, but what’s the point of a confidential blockchain? Sure, we han have a string of hashes chained together á la git, but that’s just an implementation detail. Where does the trust come from, who does the audit? That’s the interesting part.
My heart breaks for cool ideas that got taken by scammers and are now forever associated with financial predators and will probably never see legitimate use.
Except that the numbers are also prone to change, like if it's been stolen. They're technically not supposed to be an identification code anyhow.
Right, but you can have entries in a block chain that indicate previous entries are no longer valid, or have modifications. Calculating a final state by walking through all the blocks in the chain. ( A bit like a CQRS based system can have a particular state at a point in time by replaying all events up to that point)
Doing it in such a way also makes auditing what's happened much easier since changes are inherently reflected in the chain. You want to know when (or by who if you keep that information) a record changes, it's right their in the chain.