4 ms·
Yes - establishing provenance of digital assets for one example. In a democracy, it is critical that legislators have access to verified sources. Most legislat
by parksy 6y ago
Yes - establishing provenance of digital assets for one example.
In a democracy, it is critical that legislators have access to verified sources. Most legislative assemblies in non-corrupt democracies don't allow representatives simply waving documents around to make a point if they aren't "tabled" - which is an entire verification process with a full chain of custody so that if as a result of some kind of negligence or nefarious intent certain "facts" which ultimately encourage an outcome that favours a particular agenda prove to be inaccurate (whether or not the legislators are aware of this at the time), the source of the inaccuracy can be traced, the cause investigated, and the situation remedied.
Current processes used by the less corrupt governments around the world ostensibly work, but they are labour intensive. Think carefully scheduled vans of printed documents moving between supreme courts where laws are passed, and humidity controlled vaults adjoining parliaments and senates with layers of approvals and security at each step.
These documents have been reviewed, verified, signed, stamped, approved, classified and filed.
These exact documents, that is, those specific printed copies. If a document or collection is lost, damaged, or otherwise tampered with, they must be resourced and re-validated. This manual and physical re-validation occurs whenever the contents of the document changes in any way.
Think about the EU parliament which moves from Brussels to Strasbourg every month, which costs €114m per year. A big portion of this cost is transporting the physical documents back and forth. They can't just print new copies at both ends, because you can't trust the version you're printing at one side or the other is the same document you think you're printing.
A digital solution could be more efficient but then you worry about the security of your database. All it would take if you have a single postgres instance is a single breach and every document in your system would be in question - you wouldn't know what to trust. The physical process currently used has that major selling point - if someone steals a box or a document at least you don't have to burn every document in the country and start over.
So what you could do is have all the documents in digital form in a single PostGres database, and stick that on a thumb drive. Now instead of trucking tons of printed material back and forth you only have to move a single thumbdrive. Or by this point, why not forget about the thumb drive and just email the copy to the destination. Or, why not just upload it to a server.
But how can you be certain that the database that ends up at the destination is the same database that came from the origin? How can you be certain that whoever emailed, drove, or uploaded the database didn't pull a switcheroo before they even sent it?
What you could do is, every time the database changes, you log who changed it, what they changed, and when exactly they changed it. Then both sides can compare their logs and if they differ, you know something is afoot. Then all you'd need to do is get the real, verified change log which starts from scratch, and replay all the changes to reconstitute the correct and verified data set right?
Ah, but where are the logs stored? Are they stored in the same or a separate database? Do we still need to go through a process of printing and verifying the logs through umpteen different government staff wherever the database needs to be used? I can't trust your version of the change logs is the real version and you can't trust that my version is the real version, so now what do we do?
Well, we know that if we just keep a log of changes that we can replay them. What we need is a consensus on which changes are actually official and which changes are nefarious or erroneous.
How can we build a consensus agreement?
With oversight.
So rather than having one PostGres database, we can install PostGres on 10, 100, 1000 computers, and every time someone logs a change, every one of those "nodes" verifies that the change is acceptable. But how would the nodes know if an incoming change is acceptable? How would the person making a real, official change know which node to send their changes to? If there's still just one central authority node, then you still have a single point of failure.
Thankfully we have cryptographic key pairs that can already be used to verify our identity. I can use my master key to encrypt my update to the nearest database. We can write some code that will use my public key to verify that I am who I say I am, and the other nodes in the network can then individually pick up my change, and if they agree that I am who I say I am, add my record to their log of changes too.
But how will they know who is who?
Each would individually need to be aware of the key pairs of every authorised person who is allowed to update the database. We can't have a central key register because again that's a single point of failure, so we need a method of securely distributing the authorised users list without relying on a centralised automated server, which could be compromised if someone honeytraps the system administrator. So, perhaps we just have a process that involves layers of government staff that verify keys, cross reference and double check, distribute globally via armed courier etc. More efficient than the current paper-based system, but still reliant on human processes that are slow (what if some corrupt official is fired, it still takes a week for the process to remove them...)
So what you could do is also have the access list shared. Not only is the information replicated automatically by all of the PostGres databases, but the authorised users list is as well. You'd have to write a ton of code, and ultimately blockchain or not there would still be a super-duper level of access to manage the keys, but you would eventually have a distributed, self-healing network of databases that can reject unauthorised changes.
Or, you can use a private blockchain with smart contracts, because they already do all of this stuff. You wouldn't have to necessarily store the digital assets in the blockchain itself, just reasonably collision-resistant hashes of them, but you could quickly verify whether or not a particular digital asset was legitimate at the click of a button. Corrupt officials could be expelled instantly and all of their updates immediately queried for further investigation.
I am skeptical of many of the "schemes" that crop up in the world of "distributed ledgers" but I think this is a valid usecase of blockchain and its derivatives worth further investigation.
- ForHackernews 6y agoThis is an almost comical example given the current US government's relationship with alternative facts. Meanwhile, one EU member state has recently completed its transition to autocracy. The EU with its boxes of expensively-verified documents did nothing. You genuinely believe anyone is going to care about some hashes in distributed ledgers somewhere? Nobody can be fucked to digitally sign an email.
- parksy 6y agoI am talking about mechanical systems that can be created and that will operate in automated ways. No one would have to push any buttons. Mathematics and physics doesn't care about our feelings. Your point on EU states politics isn't relevant to the technology. I never made any claim about what I believe, or what I expect other people to believe. If you have an actual point on the actual use case of blockchain I would be happy to have a conversation about it, but it seems you didn't comprehend anything I wrote. Edit: and to drive home my point, sure, as you say, the boxes of documents driving back and forth didn't fix politics, but that was never my argument.
- wslyvh 6y agoCouldn't have said this better. Thanks! And I agree that healthy skepticism is good, while we continue to explore such technologies
- parksy 6y agoI don't think enough people yet understand distributed ledger tech. They are still seeing it through the lens of a currency, or a secured database. I haven't had anyone yet dismiss my digital provenance use case for any technical reason, just the usual political pearl clutching and strawmen. Someone tell me why it's technically a worse idea than ad hoc custom built database driven applications.