-
Notifications
You must be signed in to change notification settings - Fork 44
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
CIP: Add ICA Host #39
Conversation
Co-authored-by: Aidan Salzmann <[email protected]>
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.
i need you to update permissions so i can assign a CIP number to this PR. please grant me edit permissions on your PR.
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.
I would advocate that when a CIP calls for the adoption of a feature as a dependency that we avoid dumping the entire spec and instead write a high level summary of the introduced functionality, how the specific integration would look and the parameters that may need to be chosen and then for the rest, just include a link to the detailed specification if people want to read more.
cips/cip-draft_ica.md
Outdated
## Backwards Compatibility | ||
|
||
No backward compatibility issues found |
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 a state machine breaking change. There is no backwards compatibility. The feature must be introduced in a major version only
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.
updated
@YazzyYaz just gave you edit access! |
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.
I'd also second @cmwaters comments, but mostly LGTM
cips/cip-draft_ica.md
Outdated
|
||
While ICAs are flexible and enable numerous use cases, they’ve mainly been used for liquid staking. Liquid staking has high product market fit in crypto, evidenced by Lido on Ethereum, which holds the highest TVL of any DeFi protocol. Its popularity stems from key advantages over native staking for many users: it gives users liquidity on their stake, while still accumulating staking rewards and decreases the DeFi hurdle rate (e.g. you can lend your stake to earn additional yield). | ||
|
||
It’s necessary to implement liquid staking in a way that’s as safe and aligned as possible, since it’s close to the metal of PoS networks. LSPs can accumulate a large share of stake and impact the decentralization of the network, depending on how validators are selected. Given the high market demand for liquid staked TIA and impact LSPs can have on network decentralization, Celestia’s LSPs should align with Celestia’s core values: decentralization, trust minimization, and community governance. The current market offerings for liquid staking, while functional, fall short of these core principles by adding additional layers of trust and centralization risk (~$10M has been liquid staked on Celestia so far, custodied by a multisig). Multisig custody is suboptimal for a few reasons: custodians have arbitrary protocol ugprade powers, key management is complex ($1B+ has been stolen from multisig protocols due to key compromises), and custodians aren’t slashable. However, the main risk is that the market doesn’t care; recently defi projects using multisig custody have attracted over $1B. |
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.
since it’s close to the metal of PoS networks
do you mind elaborating in this thread what close to metal means? if we can, avoiding idioms could maximize clarity for all readers in the future.
safe and aligned as possible
ideally, I think it would be beneficial to attempt to be as objective as possible. I think its sufficient to just say that ICA enables the use of a tendermint based chain instead of a multisig.
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.
do you mind elaborating in this thread what close to metal means?
It just means that it sits lower in the stack than a typical application - since it's quite close to the staking module which is a fundamental part of a proof of stake chain. Naturally, changes to the lower level can be a bit more invasive.
Agreed though that it's best to not use idioms! Just pulled it out
it would be beneficial to attempt to be as objective as possible...
Agreed, updated!
[commit]
cips/cip-draft_ica.md
Outdated
|
||
ICA is secure, minimal, and battle-tested. Secure: ICA one of a few core apps implemented by the ibc go team. The ICA implementation has been audited by Informal Systems. Minimal: Adding ICA to a chain is around 100 LoC, and the controller module itself is lightweight. Battle-tested: ICA modules have been used in production on most large IBC enabled chains for more than a year, and ICAs currently hold hundreds of millions of dollars. | ||
|
||
While ICAs are flexible and enable numerous use cases, they’ve mainly been used for liquid staking. Liquid staking has high product market fit in crypto, evidenced by Lido on Ethereum, which holds the highest TVL of any DeFi protocol. Its popularity stems from key advantages over native staking for many users: it gives users liquidity on their stake, while still accumulating staking rewards and decreases the DeFi hurdle rate (e.g. you can lend your stake to earn additional yield). |
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.
it gives users liquidity on their stake, while still accumulating staking rewards and decreases the DeFi hurdle rate (e.g. you can lend your stake to earn additional yield).
in an effort to be objective, it might be beneficial to also disclose any known downsides as well
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.
good call! added here
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.
Great work @sampocs ! I thought this was really well written.
cips/cip-draft_ica.md
Outdated
|
||
## Backwards Compatibility | ||
|
||
This proposal is backwards-incompatible because it is state-machine breaking. The feature must be released introduced in a new major version. |
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.
[nit] released and introduces seems duplicative
This proposal is backwards-incompatible because it is state-machine breaking. The feature must be released introduced in a new major version. | |
This proposal is backwards-incompatible because it is state-machine breaking. The feature must be introduced in a new major version. |
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.
[done]
cips/cip-draft_ica.md
Outdated
|
||
### General design | ||
|
||
A chain can utilize one or both parts of the interchain accounts protocol (*controlling* and *hosting*). A controller chain that registers accounts on other host chains (that support interchain accounts) does not necessarily have to allow other controller chains to register accounts on its chain, and vice versa. |
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.
[question] does this proposal recommend enabling one or both parts?
- The controlling portion of interchain accounts
- The hosting portion of interchain accounts
- The controlling and hosting portion of interchain accounts
I think it's either 2 or 3 but think it could be clarified.
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.
Can resolve b/c moved to forum post: https://forum.celestia.org/t/moving-toward-safer-and-more-aligned-tia-liquid-staking/1422/15?u=rootulp
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.
Just 2! Added a sentence to help clarify [here]
@YazzyYaz the invite expired, just sent a new one. Let me know if you don't receive an email |
Overview
This PR opens a draft CIP to add the ICA host module to Celestia, which would enable a more trust minimized liquid staking solution than the current offerings.
Forum Post
Checklist