TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

immudb – world’s fastest immutable database, built on a zero trust model

226 pointsby dragonshover 3 years ago

22 comments

spookylukeyover 3 years ago
I find it very strange to have claims about the database being tamper-evident etc without a clear description of the threat/trust model, and how/for whom it works. For example, what data does the client need to store to be sure no tampering has occurred?
评论 #29708576 未加载
评论 #29712857 未加载
willciprianoover 3 years ago
&gt; You can add new versions of existing records, but never change or delete records. This lets you store critical data without fear of it being tampered.<p>&gt; immudb can be used as a key-value store or relational data structure and supports both transactions and blobs, so there are no limits to the use cases.<p>This is game changing. Use it for say a secondary data store for high value audit logs. I&#x27;ll consider using it in the future.
评论 #29707392 未加载
评论 #29712210 未加载
评论 #29705965 未加载
评论 #29710948 未加载
ShamelessCover 3 years ago
&gt; Data stored in immudb is cryptographically coherent and verifiable. Unlike blockchains, immudb can handle millions of transactions per second, and can be used both as a lightweight service or embedded in your application as a library. immudb runs everywhere, on an IoT device, your notebook, a server, on-premise or in the cloud.<p>Seems pretty useful actually. Can anyone with a relevant background comment on when this would be a bad idea to use?
评论 #29705026 未加载
评论 #29705911 未加载
评论 #29704980 未加载
评论 #29706444 未加载
newtonappleover 3 years ago
Has anyone tried immudb in production? What are some of immudb&#x27;s performance characteristics? It&#x27;d be nice to know how it performs under various conditions: query per sec, database &#x2F; table sizes, SQL join performance etc.<p>Also, what are the system requirements for immudb? What kind of machine would I need to run a medium to large website (say, 1TB of data, 5-25K qps, e.g. Wikipedia)?<p>It mentioned in the documentation that it can use S3 as its storage? Are there performance implications if you do this?
timdaubover 3 years ago
I went on their website and tried to understand how immutability is enforced but I couldn&#x27;t find anything.<p>I&#x27;m sceptical, but particularly because they make a deliberate comparison to blockchain that I doubt they&#x27;ll be able to deliver.<p>The PoW immutability of e.g. BTC and ETH is strong as it yields the following guarantees for stored data:<p>- Immutability of the BTC blockchain is protected through all cummulative work that has happened on a specific branch of the chain. Even if someone replayed BTC, it&#x27;d take millenias to recompute the work on an average machine<p>- The immutability isn&#x27;t enforced on a file level, as I suspect it is with immudb. Immutability is enforced through the network that has additionally shown to have conservative political views too. You can go, sync a BTC node and change the underlying level db. Still that won&#x27;t change the network state. Immutability on a single system is physically impossible if e.g you consider deleting the file as mutation.<p>- immudb says &quot;it&#x27;s immutable like a blockchain but less complicated&quot;, but Bitcoin isn&#x27;t more complicated than some sophisticated enterprise db solution.<p>- I think immudb should be maximally upfront what they mean by immutability: It seems they want to communicate that they&#x27;re doing event sourcing - that&#x27;s different from immutability<p>Finally there&#x27;s a rather esotheric argument. If you run an immutable database as an organizatiom where one individual node cannot alter the network state but you have (in)direct control over all nodes: Isn&#x27;t it always mutable as you could e.g. choose to swap out consensus?<p>So from a philosophical perspective, then immutability can truly only occur if mutability is out of an individual&#x27;s control.<p>Why do I have the authority to say this? Because I too have once worked for a database with blockchain characteristics called <a href="https:&#x2F;&#x2F;www.bigchaindb.com" rel="nofollow">https:&#x2F;&#x2F;www.bigchaindb.com</a><p>Edit: The best solution that also has a theoretically unlimited throughput is this toy project: <a href="https:&#x2F;&#x2F;github.com&#x2F;hoytech&#x2F;quadrable" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;hoytech&#x2F;quadrable</a><p>Conceptually, it computes a merkle tree over all data and regularly commits to Ethereum. Through this commitment the data may still change locally: But then at least would be provably tampered. So I guess for databases, the artibute we can really implement is &quot;tamper-proof&quot;.
评论 #29707964 未加载
评论 #29706325 未加载
评论 #29708432 未加载
tarr11over 3 years ago
Previous HN thread about immutable databases:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=23290769" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=23290769</a>
pharmakomover 3 years ago
Is it possible to delete data for compliance reasons? Not as a frequent operation, but say on a monthly batch?
评论 #29707268 未加载
artemonsterover 3 years ago
Can someone ELI5 how immutability applies to databases and which advantages it brings. Thank you!
评论 #29706086 未加载
评论 #29705192 未加载
yencabulatorover 3 years ago
They talk about performance a lot, but their benchmarks seem to always explicitly batch the inserts. I&#x27;m seeing &lt;700 inserts per second in a simple loop. Quietly reporting batched inserts is a subtle lie.
评论 #29717883 未加载
vyrotekover 3 years ago
Is this comparable or different than these &quot;cryptographically verifiable&quot; ledger DB services?<p><a href="https:&#x2F;&#x2F;docs.microsoft.com&#x2F;en-us&#x2F;azure&#x2F;azure-sql&#x2F;database&#x2F;ledger-overview" rel="nofollow">https:&#x2F;&#x2F;docs.microsoft.com&#x2F;en-us&#x2F;azure&#x2F;azure-sql&#x2F;database&#x2F;le...</a><p><a href="https:&#x2F;&#x2F;aws.amazon.com&#x2F;qldb&#x2F;" rel="nofollow">https:&#x2F;&#x2F;aws.amazon.com&#x2F;qldb&#x2F;</a>
chalcolithicover 3 years ago
&gt;millions of transactions per second I wonder if I wanted to survey a landscape of all databases that claim such numbers how could I possibly find them?
ledgerdevover 3 years ago
Does this have, or are there any plans for a change-feed? Has anyone used this as an event sourcing db?
YogurtFiendover 3 years ago
I&#x27;m not sure that this is a _useful_ tool. Let&#x27;s talk about the threat model or the attacks that this defends against.<p>If a Client is malicious, they might try to manipulate the data in the database in an untoward way. In a &quot;normal&quot; database, this might cause data loss, if the database isn&#x27;t being continuously backed up. But immudb does continuous backups (effectively, since it&#x27;s immutable) so, if a malicious client has been detected, it&#x27;s possible to restore an older version of the database. The real problem is how would you know that a client has tampered with your database? Well, because this database is &quot;tamper-proof,&quot; duh! But the issue lies in the definition of tamper-proof. From my reading of the source code and documentation, the &quot;proof that no tampering has occurred&quot; is a proof that the current state of the database can be reached by applying some database operations to a previous state. As a result, a malicious client could simply ask the database to &quot;delete everything and insert this new data,&quot; to make the database look like whatever it wanted. This is a valid way to transition the state of the database from its old state to the new state, and so shouldn&#x27;t be rejected by the tamper detection mechanism.<p>&quot;Ah,&quot; but you say, &quot;it would look super sus [as the kids say] to just delete the entire database. We&#x27;d know that something was up!&quot; The problem with this solution is how are you going to automate &quot;looking super sus?&quot; You could enact a policy to flag any update that updates more than N records at a time, but that&#x27;s not really a solution. The &quot;right&quot; solution is to trace the provenance of database updates. Rather than allowing arbitrary database updates, you want to allow your database to be changed only by updates that are sensible for your application. The _actual_ statement you want to prove is that &quot;the current state of the database is a known past state of the database updated by operations that my application ought to have issued.&quot; Of course what are &quot;operations that my application ought to have issued?&quot; Well, it depends how deep you want to go with your threat model. A simple thing you could do is have a list of all the queries that your application issues, and check to make sure all operations come from that list. This still allows other attacks through, and you could go even more in depth if you wanted to.<p>Importantly, immudb doesn&#x27;t appear to contend with any of this. They claim that their database is &quot;tamper-proof,&quot; when in reality you&#x27;d need a complicated external auditing system to make it meaningfully tamper-proof for your application. (Again, a threat model ought to include a precise definition of &quot;tamper-proof,&quot; which would help clear up these issues.)<p>It&#x27;s also worth comparing this to <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Certificate_Transparency" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Certificate_Transparency</a>, which is an append-only database. Compared to immudb, the _exposed data model_ for certificate transparency logs is an append-only set, which means that it doesn&#x27;t have any of these same problems. The problem with immudb is that the data model it exposes is more complicated, but it&#x27;s built-in verification tools haven&#x27;t been upgraded to match.<p>(Also, for context, I&#x27;ve tried to obtain a copy of their white paper, but after an hour the email with the link to it never arrived.)
评论 #29707932 未加载
renewiltordover 3 years ago
If I drop the trust requirement, what&#x27;s the absolutely fastest blazing fast thing I can use that is network readable&#x2F;writable and fault-tolerant?
cabalamatover 3 years ago
Would it be possible to have something like this that works by writing to a PROM? That would make it immutable at the hardware level.
yencabulatorover 3 years ago
Note: no `ALTER TABLE` in their SQL.<p>Sounds like maintaining this over longer term with evolving data would be quite painful.
评论 #29717556 未加载
throwaway81523over 3 years ago
This sort of reminds me of happstack, though the design and implementation are much different.
infogulchover 3 years ago
I&#x27;m interested in how they intend to implement data pruning from the roadmap.
furstenheimover 3 years ago
GDPR compliance will be tricky. How does one delete data?
评论 #29705376 未加载
评论 #29705878 未加载
评论 #29707338 未加载
评论 #29705858 未加载
评论 #29704985 未加载
评论 #29704937 未加载
1cvmaskover 3 years ago
Words like immutable make me allergic
评论 #29707017 未加载
gigatexalover 3 years ago
So is this a useful alternative to blockchains or just hype?
throwaway984393over 3 years ago
<p><pre><code> Don&#x27;t forget to star this repo if you like immudb! </code></pre> I didn&#x27;t realize GitHub had &quot;Like and subscribe&quot; culture now. : &#x2F;