-
Notifications
You must be signed in to change notification settings - Fork 22
[draft] MD-117: Ximen (Postconfirmations) Standards #117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 2 commits
28cda4e
036f69a
d5a1aa5
5eb7e81
f4db1a8
a771056
8aac4a5
99a0c06
3df5248
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,56 @@ | ||
| # MD-117: Ximen (Postconfirmations) Standards | ||
|
|
||
| - **Description**: Provides a set of liveness and correctness requirements for Postconfirmations protocols. | ||
| - **Authors**: [Liam Monninger](mailto:liam@movementlabs.xyz) | ||
| - **Approval**: :red-cross: | ||
| - **Etymology**: These standards were originally drafted as a planned but later alternative to the [Dongmen Standards](https://github.com/movementlabsxyz/MIP/pull/116) and so bear the name of a "younger" Taipei neighborhood, Ximen. | ||
|
|
||
| ## Overview | ||
|
|
||
| The [Dongmen Standards](https://github.com/movementlabsxyz/MIP/pull/116) (MD-116) acknowledge the inability of fully-synchronous protocols to satisfy traditional BFT assumptions. These standards accept MD-116.D2,3 but reject [MD-116.D1](https://github.com/movementlabsxyz/MIP/tree/l-monninger/dongmen-standards/MD/md-n#d1-fully-synchronous) (full synchronicity) instead proposing [MD-117.D1](#d1-partially-synchronous) (partial synchronicity) in its place. | ||
|
apenzk marked this conversation as resolved.
Outdated
|
||
|
|
||
| As a result, [MD-116.D4](https://github.com/movementlabsxyz/MIP/tree/l-monninger/dongmen-standards/MD/md-n#d4-minority-aware) (minority awareness) is no longer relevant. However, a request for a clear consideration of attacks on the indefinite nature of the agreement synchronicity is requested. | ||
|
|
||
| ## Definitions | ||
|
|
||
| - **Partially-synchronous**: A model of distributed systems in which the network may behave asynchronously for an unbounded (but finite) period of time, after which it stabilizes and messages are guaranteed to arrive within some fixed delay. This transition point, known as the *Global Stabilization Time (GST)*, is not known to the protocol. Unlike in fully-synchronous models, liveness is not guaranteed at any fixed moment, but is guaranteed eventually. | ||
|
|
||
| - **Commitment Hostage Attack**: An adversarial strategy in which a network or participant delays confirmation of a block (or decision) indefinitely by exploiting asynchrony, forcing the protocol into a state of limbo. These attacks often require post-facto reasoning or off-path resolution to identify and mitigate. | ||
|
|
||
| - **Synchronicity Attack**: A broader class of strategies in which an adversary manipulates message timing or node behavior to degrade the liveness or fairness of a consensus protocol, often without violating safety directly. | ||
|
|
||
|
|
||
|
|
||
| ## Desiderata | ||
|
|
||
| ### D1: Partially-synchronous | ||
|
|
||
| **User journey**: Consumers of Ximen Postconfirmations consensus can rely on agreement to be achieved by a know Global Stabilization Time w.r.t. to the confirming ledger. | ||
|
|
||
| **Justification**: A partially-synchronous protocol is a consensus protocol under FLP. While it does not render predictable points in time at which consensus will be known, it does prevent permanent asynchrony and unliveness. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. it is not a protocol under FLP. FLP is discussing asynchronous protocols. Do you mean BFT?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this is the same as #116 (comment). But, it's probably better to just refer to "Consensus in the Presence of Partial Synchrony."
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think there is such a thing as a partially-synchronous protocol.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We are tending towards defining a new name. for example quasi-partial synchronous. We mean that there will come a time after which "enough" voters are able to submit their votes within a bound time. This is rather similar to a partial synchronous model. Other words than quasi- are welcome. its just the first word that came to mind. |
||
|
|
||
| ### D2: Describe attacks on indefinite synchronicity | ||
|
|
||
| **User journey**: Consumers of Ximen Postconfirmations consensus can interpret a well-considered discussion of attacks on the indefinite nature of synchronicity. For a given Ximen Postconfirmation protocol, best efforts should be made to mitigate these attacks. | ||
|
|
||
| **Justification**: The Ximen Standards seek to ensure common synchronicity attacks, such as [Commitment Hostage Attacks](https://github.com/movementlabsxyz/MIP/tree/main/MD/md-3), are well-considered for an adhering protocol. Owing to the complexity and often [off-path](https://economics.stackexchange.com/questions/57998/on-and-off-equilibrium-path-game-theory) nature of these attacks, the Ximen Standards recognize that full and rigorous criteria for protections against these attacks are not practical. | ||
|
|
||
| ## Appendix | ||
|
|
||
| ### A1: Example | ||
|
|
||
| We build on the example of [MD-116.A6.3](https://github.com/movementlabsxyz/MIP/tree/l-monninger/dongmen-standards/MD/md-n#a63-revotes-single-counting-with-propagation) to build a simple example of a protocol that satisfies the desiderata above. | ||
|
|
||
| We assume the protocol progresses through epochs, which we argue in this this example is the equivalent to a view change. If the epoch changes, new voters must vote on the oldest not decided height. Voters that have been voters in the previous epoch may not have to vote again. | ||
|
|
||
| We change step 2 of the algorithm to be: | ||
|
|
||
| 1. For each undecided height $h^+ < h$ | ||
| 1. If $\sigma_{h^+}(s_h^+) > \frac{2}{3}N$ AND $t \leq t_h^+ + \Delta$, accept the tuple $(s_h^+, h^+)$. Continue processing slot $h^++1$. | ||
| 3. Else Return | ||
|
|
||
| **What can go wrong?** | ||
|
|
||
| - Liveness may get stuck for epoch lengths. The L1 synchronizes the committee at epoch boundaries, and if enough committee members are honest and live eventually the protocol will be live again. | ||
|
|
||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So overall, this sort implies that joining or leaving the set of voters must be handled carefully and requires synchronisation with the rounds on the L2?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The committee is defined on the L1 and the L2 has the synchronize with the L1 iff there are fast confirmations. The number of rounds on the L2 to L1 mapping can be deterministic, e.g. every N L2blocks we submit a commitment to L1.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @l-monninger i think we need explain more on epoch change being equal to some sort of view change more. Essentially as the epoch rollover updates the committee there may come a time (GST) when there is a committee that is live again and has the same view on the L2. |
||
| ## Changelog | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
its not rejected :)