|
|
|
|
|
by jeroiraz
1639 days ago
|
|
I'll find detailed information in the research paper: https://immudb.io/ Basically a hash value denotes the entire state of the database (including the entire history). This hash may be cryptographically signed and exported from the server.
immudb SDKs keeps track of the last verified state, each time a new one is received, it's cryptographically validated. Whenever a particular entry or transaction is verified, the latest validated hash also used. If the entry was tampered in, hashes won't match. |
|
> Basically a hash value denotes the entire state of the database (including the entire history). This hash may be cryptographically signed and exported from the server. immudb SDKs keeps track of the last verified state, each time a new one is received, it's cryptographically validated.
Okay, but how do you persist that hash across eg. client restarts? You obviously can't store it in the database. And this does not sound like "zero trust" to me - that's a much higher bar to meet, and would allow for eg. untrusted writers.
As I understand it right now, immudb works more or less the same way that Git does; it's a DAG of database (instead of file) mutations, and you can persist the latest commit hash to ensure that someone hasn't messed with what a branch points to.
Which can be useful, don't get me wrong, but it's not "zero trust" and it's certainly a fairly niche security feature.
Edit: To be clear, I'm very much in favour of what immudb seem to be trying to do - getting enterprises away from ultimately dysfunctional "blockchains" by providing something more sound with nominally the same features/appeal. But it's always important to be very clear about what your tech does or doesn't provide, blockchain or not.