How can you trust that the database is really append only? Blockchain provides a way to verify the state of the database and the ordering of the transactions. Beyond that, not much benefit to be had. However, for certain situations, that is a very big benefit!
Sure! So some students of mine were working on a multiplayer video game that was started by a different group of students the previous semester. The first group of students made a design choice that, to over-simplify, basically tracked achievements and milestones on the client side and then synchronized those achievements to the server. Players could cheat the system by sending malicious packets of achievements to the server. Some achievements could only be completed by a single person in the game, so this was a big problem for the 2nd group of students to overcome. Faced with the choice of rearchitecting the game to be more authoritative on the server and less resilient to frequent disconnections, which affected some aspects of the game, or creating a logical and verifiable sequence of in-game events on the server side. The students went with the latter, and implemented a Lamport clock using a blockchain to verify the authenticity of the events, and prevent a rogue student from updating the game later to give themself a bonus. Basically, along with needing an authoritative sequence of events that is protected from user interference, it also needed to be protected from developer interference.
It was kinda similar to that situation a few years back of the EVE online developers playing the game and giving their guild members certain bonuses and special in-game items. The solution there was to fire the malicious developers, but I can’t exactly fire an entire class of students from an educational project.
EDIT: What seems to be the problem here? I was asked to name a situation where a blockchain would be useful and I did? It’s a computer data structure, there are pros and cons that are context dependent like any other data structure. It I so weird to me to receive downvotes because of the politics surrounding a data structure.
To your edit; it was a great example, but if you say anything positive about blockchain (or Apple, or capitalism, etc) you’ll likely be heavily downvoted on Lemmy.
Dude, my name literally contains “coding” you made the assumption I didn’t understand it…
Yeah banking needs to be controlled because what if something goes wrong, you can’t be this dense, stolen credit cards, stolen identity wring transaction, what if the validators disagree what is the truth ala bitcoin split?
Blockchain is woefully inadequate to manage finances…
Meaning, in a DB, the admin could change roles and modify anything.
Database triggers can have bugs, and we generally don’t let third parties log into the database directly because it’s a huge attack surface
In blockchain, without a key you’re cryptographically locked out. The only way around that is if the network as a whole changes their code to a version that allows something like that
It’s just a ledger where every entry is signed by a private key. That’s a fantastic structure for certain specific use cases…
It’s distributed so no single entity can take it down. Among many other possible benefits depending on architecture and infrastructure.
It’s far more complex than coins and NFTs. Blockchain is like a new internet. Coins and NFTs are like those shitty GIFs you used to see everywhere. Evocative of old internet, but not the internet itself.
Distributed databases have existed for decades. It’s how large healthcare systems maintain electronic health records for their patients across dozens of hospitals in real time.
Simple, it’s not. If it were, they’d have been using them for decades (blockchains were invented in the 70s).
The consensus algorithm, which is not the blockchain itself, was invented later. But banks don’t need to reach concensus with themselves. They all maintain their own data, and heavily guard it. So the only bad actor they could have is themselves. And they banks all keep watch each other.
This isn’t true: there are not-distributed blockchains.
The definition of a blockchain is a ledger where every entry is cryptographically signed with a hash of the current entry plus a previous entry. There’s no requirement that this be at all distributed. In fact, QLDB uses a non-distributed blockchain as its audit log.
Blockchain are often used in distributed systems because of the verifiability of the records; its a way of providing security of history in a fundamentally insecure environment. But there’s no requirement that they be distributed, and they add value in non-distributed environments as well - in any case you want to be able to review a history of changes and know that someone hasn’t been cooking the books, for instance.
I’ll give a real-world example. One place I worked we had databases that had data constantly streaming in from many different sources. Something that would frequently happen would be some data issue that would break applications; often, this was bad data from sources outside of our control. OPs, who’s only priority was to get the applications back up and running, would often track down and directly modify records and fix the data. The issue was that some time later, sometime days later, a customer would call and complain about data being incorrect. By then, it was impossible to figure out what had happened: did we get the wrong data from the source? Did one of the import processes mangle the data? Did someone poke around in the database and change the data? We had no way of telling, and investigations would take many hours, often from several senior people, who would frequently in the end have to shrug and say, “we don’t know.” There were lots of things that could have improved this, with varying levels of success, but a global audit log would have been the first step. A verifiable audit log would have been better, because often it’d come down to us being convinced the data a third party was giving us was bad, and it became an our word vs. their word since we shared the same client. If we’d had a blockchain layer through which every transaction was recorded, we could have rolled back in time and figure out exactly how a record came to be what it was and been able to prove it to the client.
Blockchains are awesome. People who say otherwise have their heads up their asses, and are unable to differentiate between blockchain the technology, and the sometimes questionable uses they’re put to. Iron is used to make guns and bombs; that doesn’t make iron bad.
Thank you for being in this thread. I felt like I was taking crazy pills with all these other replies. So many people think bitcoin was the first blockchain. And that the paradigm used by crypto is the only type of blockchain there is.
I will never forgive tech bros for making blockchain a buzzword tied exclusively to crypto and NFTs. The amount of lost potential is infuriating
How is the blockchain different from a read only ( write only once to be specific) DB that follows ACID?
Replication and verifiable timestamps, which you can add to regular databases too BTW
How can you trust that the database is really append only? Blockchain provides a way to verify the state of the database and the ordering of the transactions. Beyond that, not much benefit to be had. However, for certain situations, that is a very big benefit!
Name fucking one situation
Sure! So some students of mine were working on a multiplayer video game that was started by a different group of students the previous semester. The first group of students made a design choice that, to over-simplify, basically tracked achievements and milestones on the client side and then synchronized those achievements to the server. Players could cheat the system by sending malicious packets of achievements to the server. Some achievements could only be completed by a single person in the game, so this was a big problem for the 2nd group of students to overcome. Faced with the choice of rearchitecting the game to be more authoritative on the server and less resilient to frequent disconnections, which affected some aspects of the game, or creating a logical and verifiable sequence of in-game events on the server side. The students went with the latter, and implemented a Lamport clock using a blockchain to verify the authenticity of the events, and prevent a rogue student from updating the game later to give themself a bonus. Basically, along with needing an authoritative sequence of events that is protected from user interference, it also needed to be protected from developer interference.
It was kinda similar to that situation a few years back of the EVE online developers playing the game and giving their guild members certain bonuses and special in-game items. The solution there was to fire the malicious developers, but I can’t exactly fire an entire class of students from an educational project.
EDIT: What seems to be the problem here? I was asked to name a situation where a blockchain would be useful and I did? It’s a computer data structure, there are pros and cons that are context dependent like any other data structure. It I so weird to me to receive downvotes because of the politics surrounding a data structure.
To your edit; it was a great example, but if you say anything positive about blockchain (or Apple, or capitalism, etc) you’ll likely be heavily downvoted on Lemmy.
Yeah, I think that seems to be the case here. It just feels to weird me to have a politicized data structure.
“Remember kids, only coke-fiends and meth-heads use Binomial Heaps.”
Blockchains add cryptographic signing and limit actions based on those signatures.
Big words that mean nothing
To you maybe. Maybe other lemmings reading this understand them.
They mean nothing in the sense its nothing you cant do with DBs, so like I said, big words that mean nothing
Cryptography - means that only you can make changes. No database administrator. No hacker. No-one but you.
Limited actions - means the changes you make must follow rules that cannot be altered by anyone.
Both impossible to implement on a normal DB, which is why bitcoin was revolutionary.
thats not what cryptography means, and is a huge fucking downside especially for banking which us centrally controlled
It’s called triggers, user roles etc, once again you dont want this to be unalterabale for banking because what if regulations change…
Only thing bitcoin revolutionized was the speed with which scammers can dupe people out of their money.
You didn’t even know what “those big words” meant a second ago.
Banking doesn’t need to be centrally controlled. It only has been for the past few hundred years.
Why pay and trust a 3rd party control those?
You update the smart contracts
Almost true. Scams are not the only thing revolutionized.
Dude, my name literally contains “coding” you made the assumption I didn’t understand it…
Yeah banking needs to be controlled because what if something goes wrong, you can’t be this dense, stolen credit cards, stolen identity wring transaction, what if the validators disagree what is the truth ala bitcoin split?
Blockchain is woefully inadequate to manage finances…
They were saying what it meant in this context
Meaning, in a DB, the admin could change roles and modify anything.
Database triggers can have bugs, and we generally don’t let third parties log into the database directly because it’s a huge attack surface
In blockchain, without a key you’re cryptographically locked out. The only way around that is if the network as a whole changes their code to a version that allows something like that
It’s just a ledger where every entry is signed by a private key. That’s a fantastic structure for certain specific use cases…
It’s distributed so no single entity can take it down. Among many other possible benefits depending on architecture and infrastructure.
It’s far more complex than coins and NFTs. Blockchain is like a new internet. Coins and NFTs are like those shitty GIFs you used to see everywhere. Evocative of old internet, but not the internet itself.
Distributed databases have existed for decades. It’s how large healthcare systems maintain electronic health records for their patients across dozens of hospitals in real time.
How is that useful in a bank ledger?
Simple, it’s not. If it were, they’d have been using them for decades (blockchains were invented in the 70s).
The consensus algorithm, which is not the blockchain itself, was invented later. But banks don’t need to reach concensus with themselves. They all maintain their own data, and heavily guard it. So the only bad actor they could have is themselves. And they banks all keep watch each other.
Preaching to the choir here.
This isn’t true: there are not-distributed blockchains.
The definition of a blockchain is a ledger where every entry is cryptographically signed with a hash of the current entry plus a previous entry. There’s no requirement that this be at all distributed. In fact, QLDB uses a non-distributed blockchain as its audit log.
Blockchain are often used in distributed systems because of the verifiability of the records; its a way of providing security of history in a fundamentally insecure environment. But there’s no requirement that they be distributed, and they add value in non-distributed environments as well - in any case you want to be able to review a history of changes and know that someone hasn’t been cooking the books, for instance.
I’ll give a real-world example. One place I worked we had databases that had data constantly streaming in from many different sources. Something that would frequently happen would be some data issue that would break applications; often, this was bad data from sources outside of our control. OPs, who’s only priority was to get the applications back up and running, would often track down and directly modify records and fix the data. The issue was that some time later, sometime days later, a customer would call and complain about data being incorrect. By then, it was impossible to figure out what had happened: did we get the wrong data from the source? Did one of the import processes mangle the data? Did someone poke around in the database and change the data? We had no way of telling, and investigations would take many hours, often from several senior people, who would frequently in the end have to shrug and say, “we don’t know.” There were lots of things that could have improved this, with varying levels of success, but a global audit log would have been the first step. A verifiable audit log would have been better, because often it’d come down to us being convinced the data a third party was giving us was bad, and it became an our word vs. their word since we shared the same client. If we’d had a blockchain layer through which every transaction was recorded, we could have rolled back in time and figure out exactly how a record came to be what it was and been able to prove it to the client.
Blockchains are awesome. People who say otherwise have their heads up their asses, and are unable to differentiate between blockchain the technology, and the sometimes questionable uses they’re put to. Iron is used to make guns and bombs; that doesn’t make iron bad.
What do you have against bombs?!
Very interesting perspective, thanks :)
Thank you for being in this thread. I felt like I was taking crazy pills with all these other replies. So many people think bitcoin was the first blockchain. And that the paradigm used by crypto is the only type of blockchain there is.
I will never forgive tech bros for making blockchain a buzzword tied exclusively to crypto and NFTs. The amount of lost potential is infuriating
It’s become one of my pet peeves.
I have a conspiracy theory that a lot of the anti-cryptocoin stuff that gets posted is an organized disinformation campaign run by some governments and central banks who are particularly threatened by crypto, and that it extends to bad-mouthing any technology related to cryptocoins. I also believe that there are a fair number of secondary internet users who read “crypto bad” and have picked up the messaging because (a) they’re kinda pissed they didn’t get in on the ground floor, (b) they lost money playing in the markets, © because, whether they’re self-aware enough to know it or not, people love a good mob mentality, and/or_ © because crypto farms really are shitty wastes of resources and are easily villified. I guarantee, however, that not a single one of those people could describe - in even then most general terms - how a blockchain works. Not even at a programmer level, although the programmers who do this are the worst, because they should know better. And this is what infuriates me: “Blockchain is bad!” “Why?” “Because I read it on the interwebs that it causes global warming and is a pyramid scheme!”
Pet peeve.