-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
IBC: Uniquely identify all tokens by source chain and transfer path #842
Comments
This would imply these two tokens are fungible? |
Assuming IBC correctness holds, they will be fungible, yes. |
Marking this as critical for IBC spec. |
The IBC work is now over in the github.com/cosmos/ics repo. Closing this. |
All tokens must be uniquely identified by source chain
chainID
(which must be globally unique) and are non-interchangeable.If chain
A
sendsx
tokens to chainB
, chainB
can redeem thosex
tokens back on chain A through IBC.Which token is which needs to be extremely clear within UI to prevent token spoofing. Also, optionally, governance can maintain a canonical token registry mapping common identifiers (
ETH
) to full token identifiers including source chain IDs.Application zones can opt-in to treating two tokens as "equivalent", indicating that they trust both chains (and exposing their correctness to the security of both chains).
Complete IBC transfer paths must be tracked to allow guaranteed redemption on the original source zone.
Receiving chains must choose which sending chains they trust with credit on which tokens and in which amounts (an arbitrary ruleset). For example, the Cosmos Hub will mark specific zones as source zones for specific tokens, while a DEX zone connecting to the Hub might trust the Hub with credit on all tokens. All of this permissioning logic exists as a standard, but separately from the core IBC protocol, which does not identify any chains in particular.
The text was updated successfully, but these errors were encountered: