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.

Making CRDTs Byzantine Fault Tolerant [pdf]

266 pointsby g0xA52A2Aabout 3 years ago

10 comments

almogabout 3 years ago
I recently finished a 2nd reading of DDIA and while listening to a podcast featuring an interview with Martin Kleppmann, I got so thrilled when he mentioned that he plans to release another book in the coming years.<p>DDIA is so good that I feel the same kind of anticipation I have as when waiting for a next in a series fantasy book to take me back to a parallel world with characters I&#x27;ve come to love and miss like one misses a good friend they haven&#x27;t seen for a while.
评论 #30561933 未加载
评论 #30567872 未加载
评论 #30561446 未加载
评论 #30563050 未加载
davidrusuabout 3 years ago
Really nice to see BFT starting to be taken seriously in CRDT research. I had done some research in this area last year and came to a lot of the same solutions (i.e. BRB protected CRDTs when dealing with VClock based CRDTs):<p><a href="https:&#x2F;&#x2F;github.com&#x2F;davidrusu&#x2F;bft-crdts" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;davidrusu&#x2F;bft-crdts</a><p>We ended up moving away from VClock crdts entirely for our work and going with grow-only hash-graph CRDTs as they have don&#x27;t need the BRB overhead (as Martin has found in his research as well).
hecturchiabout 3 years ago
The idea of DAG-embedded CRDTs is far from new and was introduced here:<p><a href="https:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;2004.00107" rel="nofollow">https:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;2004.00107</a> (I&#x27;m among the authors)<p>Unfortunately, the verification that the author proposes (not accepting new updates until the dag below is verified) will need a lot of caveats for real world usage.<p>Currently we use these CRDTs for a key value database of 40M+ keys in a deployment of ipfs-cluster, which uses <a href="https:&#x2F;&#x2F;github.com&#x2F;ipfs&#x2F;go-ds-crdt" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ipfs&#x2F;go-ds-crdt</a> .
评论 #30568269 未加载
评论 #30565954 未加载
评论 #30568187 未加载
narushabout 3 years ago
Woah. This paper looks freaking awesome - and surprising! “The proposed scheme can tolerate any num- ber of Byzantine nodes (making it immune to Sybil attacks)” - this is really intriguing because of the strong impossibility results in consensus algorithms around how many faulty nodes can be tolerated. I’m looking forward to reading more than just the abstract tho (confession).<p>Martin - thanks for all your cool work!
评论 #30563936 未加载
sbazerqueabout 3 years ago
Hyper Hyper Space [1] is a library for modeling distributed data structures that uses operational CRDTs represented over a Merkle-DAG (using the partial order defined by causal relationships, like the paper describes).<p>It is also designed to work in a Byzantine environment (it can run inside a browser, using WebCrypto, WebRTC, etc. to connect to untrusted peers over the open internet).<p>[1] <a href="https:&#x2F;&#x2F;www.hyperhyperspace.org" rel="nofollow">https:&#x2F;&#x2F;www.hyperhyperspace.org</a>
somezeroabout 3 years ago
&gt; The 3f + 1 assumption means these protocols cannot be deployed in open peer-to-peer systems, since they would be vulnerable to Sybil attacks. In contrast, my approach makes no assumption about the number of Byzantine nodes.<p>I&#x27;m confused - probably because I haven&#x27;t finished reading the paper.<p>1. Sybil-proof-ness requires a CA [1]. It&#x27;s orthogonal to whether or not a protocol is BFT. Specifically, the classical BFT protocols &quot;assume&quot; there exist a CA, and then prove their protocols to be BFT.<p>2. I won&#x27;t comment whether 3f+1 protocols cannot be deployed in open P2P systems (they can), but &quot;makes no assumption about the number of Byzantine nodes&quot; is weird. This result is valid in a particular system&#x2F;time model eg. With PKI, in synchronous setting, for any `f` one can achieve consensus in `f+1` rounds using Dolev-Strong. This means you make no assumption about `n`, but the protocol is impractical for variety of reasons eg. large `n`, strong synchrony etc.<p>[1] <a href="https:&#x2F;&#x2F;www.microsoft.com&#x2F;en-us&#x2F;research&#x2F;wp-content&#x2F;uploads&#x2F;2002&#x2F;01&#x2F;IPTPS2002.pdf" rel="nofollow">https:&#x2F;&#x2F;www.microsoft.com&#x2F;en-us&#x2F;research&#x2F;wp-content&#x2F;uploads&#x2F;...</a>
评论 #30561968 未加载
评论 #30566398 未加载
posharmaabout 3 years ago
Martin&#x27;s writing and explanation style is truly awesome! I read his book DDIA (Designing data intensive applications) and listened to his distributed systems class lectures [1]. It was a joy learning. I wish I had him or someone like him in graduate school. I would&#x27;ve probably taken all his courses :-).<p>[1] <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=UEAMfLPZZhE&amp;list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=UEAMfLPZZhE&amp;list=PLeKd45zvjc...</a>
评论 #30561137 未加载
mactavish88about 3 years ago
&gt; Further work is required to demonstrate whether the techniques presented here are indeed effective in the context of particular CRDT algorithms, to prove their correctness in the face of Byzantine nodes, and to measure the performance impact of Byzantine fault tolerance.<p>This paper is super interesting, but it&#x27;d be even more interesting when we see this future work is completed.
omezeabout 3 years ago
This is pretty interesting! Skiff (<a href="https:&#x2F;&#x2F;www.skiff.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.skiff.org&#x2F;</a>) also uses private, encrypted CRDTs for their collaborative docs, but not in a BFT manner (the updates are encrypted but still sent to a central server AFAIK).
评论 #30562750 未加载
9wzYQbTYsAIcabout 3 years ago
Is Byzantine Fault Tolerance starting to pick up steam in interest?<p>Any other related news anyone knows of off the top of their head?