Skip to content

Commit 439c89d

Browse files
authored
update cip blog post (#302)
1 parent 8d37500 commit 439c89d

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

public/papers/MIT-LCS-TM-394.pdf

2.79 MB
Binary file not shown.

src/app/blog/consensus-is-impossible/page.mdx

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,37 @@ export const metadata = {
2828

2929
export default (props) => <BlogPostLayout article={post} {...props} />
3030

31+
Our latest video covers a proof paper by Nancy Lynch that shows that 100% certainty of consensus is impossible in a distributed system with even one faulty node. The paper is very comprensive, and we thought picking one to dramatize would be a great way to introduce impossibility proofs!
32+
3133
<iframe width="560" height="315" src="https://www.youtube.com/embed/_VAAC9Rt6H0?si=IWXKlPvoJ2qe6r9R" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
34+
35+
<Note>
36+
We're using this post to add details that weren't covered in the video. We'll update this post with more info as comments & questions roll in!
37+
</Note>
38+
39+
## Can I haz paper link?
40+
41+
[of course!](/papers/LIT-LCS-TM-394.pdf)
42+
43+
## Do you use this in iroh?
44+
45+
Indirectly, yes! All iroh protocols run up against these laws of distributed systems "physics". Some examples:
46+
* strictly speaking, [iroh docs](/proto/iroh-docs) isn't a consensus protocol, it's a "sync" protocol. Here even the word sync is a bit of a misnomer, because there is no such thing as asynchronus synchronization, but we digress. Instead the garuntee iroh docs focuses on is that all nodes will _eventually_ have the same data, once we all have the same entries in our namespace, not that they will all agree on the same data at the same time.
47+
* [iroh blobs](/proto/iroh-blobs) is content-addressed (refer by hash) specifically to get around the potential of byzantine faults, assuming you trust the hash you're asking for in the first place.
48+
49+
## The extra `t` is for buggy nodes
50+
51+
In the video, one fix to address the fault is to transition from requiring `2t + 1` to `3t + 1`. The detail we _don't_ cover in the video: the extra `t` describes that you're accounting for buggy/malicious nodes as well as down/delayed nodes. The down/delayed nodes would be covered by the `2t` part of the equation.
52+
53+
## This is not the most interesting proof in the paper!
54+
55+
That honor goes to the [FLP impossibility proof](https://en.wikipedia.org/wiki/Consensus_(computer_science)#Solvability_results_for_some_agreement_problems), for which the authors won a Dijkstra prize. Nancy Lynch was a co-author on that paper as well, and it's a great read if you're interested in the topic!
56+
57+
## Join our discord & nerd out
58+
59+
Come tell us what we missed! We'll update here!
60+
61+
<Button href="/discord">Join Discord</Button>
62+
<br />
63+
<br />
64+
<br />

0 commit comments

Comments
 (0)