Hacker News new | past | comments | ask | show | jobs | submit login

Your solution wouldn't handle the case of row deletion.

It's a little harder than you might think to make a database with tamper resistance.




Oh I'm sure - but without delving into philosophy, how would you know that something was deleted and tampered with vs. Immudb (for example) being compromised and turns out it's possible to delete something without you knowing vs. it never existed to begin with?

In my mind the only way to guarantee is to maintain a copy yourself and check against the "original", but if you're going to do that, then what I described is sufficient, no?

I only mention this because the project mentions that the history is protected by clients, which I imagine is similar to what I'm describing, e.g. copying and checking against the original.


> In my mind the only way to guarantee is to maintain a copy yourself and check against the "original", but if you're going to do that, then what I described is sufficient, no?

The attacker in that case could update your copy. But you have somewhat started to fix the issue.

To cover the case where a bad admin has access to the DB and any copies, you need to send a hash every so often to an outside source. In this case they use clients (I'm not sure exactly how they do this).

In fact you need a list of hashes one for every 100 rows for example. Re-generated the hashes and checking against an external source should detect a tamper.

In the case of Bitcoin (which is extremely tamper resistant) every node operator is a validator. The hashes are stored in a merkle tree.


According to its own description, this database does not support deletion at all.

"You can [...] never change or delete records."


Aha, can one take the nodes offline or if I have PBs of data, it all has to stay online, always?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: