Skip to content
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

Closed
cwgoes opened this issue Apr 11, 2018 · 4 comments
Closed

IBC: Uniquely identify all tokens by source chain and transfer path #842

cwgoes opened this issue Apr 11, 2018 · 4 comments
Labels

Comments

@cwgoes
Copy link
Contributor

cwgoes commented Apr 11, 2018

All tokens must be uniquely identified by source chain chainID (which must be globally unique) and are non-interchangeable.

If chain A sends x tokens to chain B, chain B can redeem those x 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.

@martindale martindale added this to the 1.0 Code Freeze milestone Apr 24, 2018
@alexanderbez
Copy link
Contributor

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).

This would imply these two tokens are fungible?

@cwgoes
Copy link
Contributor Author

cwgoes commented Aug 15, 2018

This would imply these two tokens are fungible?

Assuming IBC correctness holds, they will be fungible, yes.

@jackzampolin
Copy link
Member

Marking this as critical for IBC spec.

@jackzampolin jackzampolin removed this from the 1.0 Code Freeze milestone Jan 28, 2019
@jackzampolin
Copy link
Member

The IBC work is now over in the github.com/cosmos/ics repo. Closing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants