-
Notifications
You must be signed in to change notification settings - Fork 22
[draft] MIP-40: NB-FFS Decoupled #40
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 7 commits
6e6e8ab
e2585c8
f86cdf9
63d953d
387073a
84b0b6d
8e0d8a4
28bad1a
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,83 @@ | ||||||||||||||||||
| # MIP-40: *AB-FFS Decoupled* | ||||||||||||||||||
| - **Description**: Introduces architectural guide for ***AB-FFS Decoupled***. | ||||||||||||||||||
| - **Authors**: [Liam Monninger](mailto:liam@movementlabs.xyz) | ||||||||||||||||||
| - **Reviewer**: [Andreas Penzkofer](mailto:andreas.penzkofer@movementlabs.xyz) | ||||||||||||||||||
| - **Desiderata**: [MD-38](https://github.com/movementlabsxyz/MIP/pull/38) | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Abstract | ||||||||||||||||||
|
|
||||||||||||||||||
| This MIP introduces the architectural guide for implementing ***AB-FFS Decoupled***, a means of using the Atomic Bridge and Fast-finality Settlement with a fixed supply of token. This decoupled approach relies on burning gas on the L2 into an L2 pool and issuing rewards in an LP token on the L1. Details of the L2 pool recirculation and the L1 LP token issuance are largely left to follow-on MIPs, however we do specify general constraints and guidelines. | ||||||||||||||||||
|
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.
Suggested change
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. in brackets, say what the abbreviation LP stands for. you have not defined it.
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. fixed supply of token where? on L1, on L2 or on the combined L1+L2 token supply?
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 seems weird to call this burned. are you sure this is the correct expression? burn is afaik related to an address that is not accessible anymore (hence burn). possibly "paying gas fees into L2 pool" is the more correct term?
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. burning gas = which token?
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. "Paying gas into L2 pool" is fine by me.
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.
Requirement is both.
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 have implemented this in the suggestion above. please click accept if its ok
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 bridge and FFS should not be coupled.
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. The point of this, MD-38, and subsequent proposals is that we have a supply issue which needs to be resolved to maintain a fixed supply.
The reason it is called decoupled is because none of these systems are forced to rely on each other in this arrangement. I don't need to relay burned gas to reward the operators in FFS. I don't need |
||||||||||||||||||
|
|
||||||||||||||||||
| We also propose the usage of intermediary tokens for bridging to fully decouple the L1 and L2 systems. This allows for the L2 pool to be recirculated without the need for a direct bridge to the L1 and exposure to fallibility of the bridge on either side. | ||||||||||||||||||
|
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 do not need intermediary tokens.
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.
|
||||||||||||||||||
|
|
||||||||||||||||||
| Without the usage of intermediary tokens, we refer to this system as ***AB-FFS Partially Decoupled***, for which we do not intend a separate MIP. | ||||||||||||||||||
|
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. this MIP is approached by providing a complex solution too early and then reducing it to a lesser more compact solution .. it would be better if the partial decoupled system is defined first. the partial system should explain what it solves and where the problems lie. Then, the decoupled system should be defined as an extension, which resolves the open problems. in the current way the approach is hard to understand whether it really solves well what it intends to solve. |
||||||||||||||||||
|
|
||||||||||||||||||
|
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 number of involved tokens confuses the reading. A section "## Definitions" that lists the different token types should be added before the #Motovation section.
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.
Suggested change
|
||||||||||||||||||
| ## Motivation | ||||||||||||||||||
|
|
||||||||||||||||||
| The *AB-FFS Decoupled* system is intended to address [MD-38](https://github.com/movementlabsxyz/MIP/pull/38). That is, *AB-FFS Decoupled* provides a means for using the Atomic Bridge and Fast-finality Settlement with a fixed supply of token. | ||||||||||||||||||
|
|
||||||||||||||||||
| Fundamentally, *AB-FFS Decoupled* contends with the fallibility of the Atomic Bridge by (a) removing any need for its involvement in returning funds to the L1 and (b) using intermediary tokens to avoid any locking, minting, burning, or other operations that would potentially modify the total supply of either the L1 staking token or the L2 staking token. | ||||||||||||||||||
|
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 should be explained why there is an L2 staking token.
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. This is a typo.
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 how many different tokens do we have now?
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. Under this proposal, validators stake the L1 staking token (L1MOVE) and get an LP token (not named). How are you going to ensure the fixed supply we are now required to maintain? If the bridge fails, the supply can increase or decrease.
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.
this solution does not solve this problem
This is the same for a direct bridge L1MOVE <> L2MOVE, if we can implement a mint restriction that checks the total supply on L2 (similar for L1) Hence this protocol does not seem to solve the problem it attempts to solve. |
||||||||||||||||||
|
|
||||||||||||||||||
| *AB-FFS Partially Decoupled* still removes the need for the Atomic Bridge to return funds to the L1, but does not protect the total supply from all bridge failures. Hence *AB-FFS Partially Decoupled* is not a sound solution for [MD-38](https://github.com/movementlabsxyz/MIP/pull/38). | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Specification | ||||||||||||||||||
|
|
||||||||||||||||||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 and RFC 8174. | ||||||||||||||||||
|
|
||||||||||||||||||
|
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. there is a DEX in the figure. but there is no mention of DEX in this document. The DEX should be either removed from the figure or explained and linked.
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. if there is a DEX, what it is doing? What are the pairs that are traded on the DEX?
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. See MIP-41 for one proposal |
||||||||||||||||||
|  | ||||||||||||||||||
|
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 figure is missing the connection to this MIP
L1 and L2 are not clear enough differentiated
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. if i understood correct there is a constant restriction on the total supply .. can the figure display this.. maybe through an enveloping square or similar? |
||||||||||||||||||
|
|
||||||||||||||||||
| An *AB-FFS Decoupled* system is defined by the following requirements: | ||||||||||||||||||
|
|
||||||||||||||||||
| 1. The L1 staking token MUST be a unique token issued in a fixed supply. | ||||||||||||||||||
| 2. The L2 gas token MUST be a unique token issued in a fixed supply. | ||||||||||||||||||
| 3. Rewards issued via FFS MUST NOT be issued in the L1 staking token, but instead in an LP token on the L1. | ||||||||||||||||||
| 4. The LP Token MAY elect to maintain a supply or value correlated with the L1 staking token or the L2 gas token. But, this supply or value correlation MUST NOT rely on special capabilities of the LP token or trusted third parties. | ||||||||||||||||||
|
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 L1 staking token is fixed. hence there cannot be a correlation on supply (only that LP token supply it is constant which is not a correlation)
without an explanation of why you require this it should not be mentioned. or otherwise it should be explained why this requirement is needed.
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.
By correlating here, I mean that it in some way takes a parameter of the L1 or L2 token to parameterize itself. For example, if you take the AB-FFS Decoupled Grant approach and lock 1 billion L1 staking token in the voucher contract, you can decided to mint 1 billion LP token which can be redeemed for it. |
||||||||||||||||||
| 5. The L2 staking token MUST be burned on the L2 to deposit gas into an L2 pool. | ||||||||||||||||||
|
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. this seems to use incorrectly industry-terminology. if the L2 token is used as gas and moved into an L2 pool that can be recirculated this should not be called burning. how about calling it "recycled", "recaptured", "retained" ? |
||||||||||||||||||
|
|
||||||||||||||||||
| If the LP Token supply is not fixed, the AB-FFS solution implemented is referred to as *AB-FFS Decoupled* Demurrage. [MIP-n](todo) provides a more complete specification for *AB-FFS Decoupled* Demurrage. | ||||||||||||||||||
|
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.
Suggested change
|
||||||||||||||||||
|
|
||||||||||||||||||
| Otherwise, the AB-FFS solution implemented implemented is referred to as *AB-FFS Decoupled* Grant. [MIP-n](todo) provides a more complete specification for *AB-FFS Decoupled* Grant. | ||||||||||||||||||
|
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.
Suggested change
|
||||||||||||||||||
|
|
||||||||||||||||||
| ### L1 LP Token | ||||||||||||||||||
| 1. The L1 LP Token MUST NOT enshrine any special capabilities to mint or otherwise unlock the L1 staking token. That is, the L1 LP token must be independent of the L1 staking token and only effectively be used to purchase the L1 staking token. | ||||||||||||||||||
|
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. special capabilities is too vague. an MIP should not support ambiguousness. do you mean "MUST NOT enshrine the option to mint or unlock ..."
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. The idea is to preclude any kind of capabilities which would allow minting or unlocking token, at all, as any form of side-effect.
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.
Suggested change
how about this?
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.
Suggested change
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.
not clear. do you mean
need to clarify what "independent" means
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 outdated. |
||||||||||||||||||
| 2. The governing system MAY provide vouchers or other means of redeeming the L1 LP token for the L1 staking token from a dedicate allocation. The object of these vouchers SHOULD be to peg the value of the L1 LP token to the L1 staking token. | ||||||||||||||||||
|
|
||||||||||||||||||
| A more complete proposal for the usage L1 LP tokens with FFS is provided in [MIP-n](todo). | ||||||||||||||||||
|
|
||||||||||||||||||
| ### L2 Token Pool (Gas Pool) | ||||||||||||||||||
| 1. Burning gas an amount of gas $\alpha$ on the L2 MUST result in depositing that same amount of gas $\alpha$ into an L2 pool. | ||||||||||||||||||
|
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. sentence errors
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. what is the gas token, is it L2MOVE? |
||||||||||||||||||
| 2. The L2 pool MUST be recirculated to the L2 users in a manner that is not specified in this MIP. Generally, this means the L2 pool must either be used to issue rewards or otherwise be a reliable means of purchasing gas token 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.
Suggested change
|
||||||||||||||||||
|
|
||||||||||||||||||
| A system adhering to these requirements is referred to as a Gas Pool. A more complete proposal for the usage of Gas Pools is provided in [MIP-n](todo). | ||||||||||||||||||
|
|
||||||||||||||||||
| ### Intermediary Tokens | ||||||||||||||||||
| 1. A complete implementation of *AB-FFS Decoupled* SHOULD use intermediary tokens to bridge the L1 and L2 systems. An implementation not using intermediary tokens is referred to as *AB-FFS Partially Decoupled*. | ||||||||||||||||||
|
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. a figure also for AB-FFS Partially Decoupled should be shown, to ilustrate the implications better |
||||||||||||||||||
| 2. The intermediary tokens MAY manage their own exchange rates, markets, and fees between each other, the L1 staking token, the L2 staking token, and the L1 LP token. | ||||||||||||||||||
|
|
||||||||||||||||||
| A more complete proposal for the usage of intermediary tokens is provided in [MIP-n](todo). | ||||||||||||||||||
|
|
||||||||||||||||||
| ### Genesis | ||||||||||||||||||
| [MD-38](https://github.com/movementlabsxyz/MIP/pull/38) requests provisions for genesis for any system addressing its desiderata. The genesis for *AB-FFS Decoupled* is not fully specified in this MIP and such full specification is provided under [MIP-n](todo). However, generally, there are two strategies for genesis: | ||||||||||||||||||
|
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.
what is missing: either list it here, or point towards where does it say in this file what is missing.
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.
requires to be more specific. what does this mean in this context in one sentence?
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.
MD-38.D4 requests that the any document proposing against its desiderata also specify a means for initializing the system. |
||||||||||||||||||
|
|
||||||||||||||||||
| 1. **Separate Mints**: mint the L1 staking token and the L2 gas token simultaneously in fixed supplies amounting to the intended total supply. | ||||||||||||||||||
|
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 don't need one token per usage, for gas or staking.
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 need you to explain how this is unsafe precisely. It's the difference of bridging one token or the other. As I have argued before, I don't see how requiring a swap for the gas token can be more dangerous than having the token be generally tradable. There will be other swaps.
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. Some dangers w.r.t. attempting to peg L1 and L2 tokens are described in MIP-41. |
||||||||||||||||||
| 2. **Genesis Bridge Transfer**: mint the L1 staking or L2 gas token in a fixed supply and transfer the other token from the L1 to the L2 s.t. a successful bridge transfer occurs before the system is operational. | ||||||||||||||||||
|
|
||||||||||||||||||
| ### On the Nature of the Tokens | ||||||||||||||||||
| Fundamentally, the L1 staking and L2 gas token in an *AB-FFS Decoupled* system are independent, i.e., not constituting a representation of the same token redeemable on different chains. The comprise two closed token systems where assets cannot be lost or gained. | ||||||||||||||||||
|
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. sentence not clear. do you mean that this results in two separate closed token systems, where the total token supply accross both systems remains fixed?
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. The total supply in each remains fixed, which implies the supply across both remains fixed.
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. ok i actually have a more fundamental issue here: the LP token has to have a value that is related to the cost of running
but why would |
||||||||||||||||||
|
|
||||||||||||||||||
| The usage of *AB-FFS Decoupled* is then suitable for systems wherein the governing body wishes to prioritize the security of the total supply of the staking tokens. To the extent the governing body wishes for the economics of the L1 staking token and L2 gas token to remain correlated, the governing body shall make efforts to peg the value of the L1 LP token to the L1 staking token. | ||||||||||||||||||
|
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 think what would be very helpful for the sake of reading this document is to use
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. This change was made. |
||||||||||||||||||
|
|
||||||||||||||||||
| In the case that *AB-FFS Decoupled* Grant is implemented, FFS shall require a new token generation event at some point determined by the size of the grant. Thus, FFS has a lifespan w.r.t. to the L1 staking token. This lifespan is further detailed in [MIP-n](todo). | ||||||||||||||||||
|
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.
Suggested change
|
||||||||||||||||||
|
|
||||||||||||||||||
| In the case that *AB-FFS Decoupled* Demurrage is implemented, the value of L1 LP Token shall tend to zero over time. This may also be remedies by new token generation events. This phenomenon is further detailed in [MIP-n](todo). | ||||||||||||||||||
|
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.
Suggested change
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. There are several battle-tested bridge designs. None of them have this issue of supply tending to zero.
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.
Burning tokens on the L2 as gas without minting certainly means your will tend towards zero. We don't have an infinite supply unless we are allowed to make something else our gas token.
I've explained why we can't guarantee this.
Yes, but we don't have an architecture which supports doing this while having a fixed supply, secure settlement, and sybil resistant gas. |
||||||||||||||||||
|
|
||||||||||||||||||
| ## Reference Implementation | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Verification | ||||||||||||||||||
|
|
||||||||||||||||||
|
|
||||||||||||||||||
|
|
||||||||||||||||||
| ## Errata | ||||||||||||||||||
|
|
||||||||||||||||||
|
|
||||||||||||||||||
| ## Appendix | ||||||||||||||||||
Uh oh!
There was an error while loading. Please reload this page.
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.
this is not FFS. It is Postconfirmation (MCR is an instantiation of postconfirmation)
FFS = Postconfirmation AND L2-confirmation, which are potentially two different protocols.
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.
see #37
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.
https://github.com/movementlabsxyz/MIP/blob/4ac00e0f8fc2b06ba544fd2e6cdc0d14bcd52a91/MIP/mip-34/README.md?plain=1#L69
Above are you referring to the title? This is a shorthand for referring to a system that uses both the Atomic Bridge and Fast Finality Settlement.
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.
Yeh imo this should be postconfirmation not FFS. The AB-FFS does not address L2-confirmations