cosmos/ibc

ICS20: Question about Desired Properties

michwqy opened this issue · 3 comments

Fault containment: prevents Byzantine-inflation of tokens originating on chain A, as a result of chain B's Byzantine behaviour (though any users who sent tokens to chain B may be at risk).

I don't quite understand the specific meaning of this property. If there is a Byzantine error in the chain B, such as an error in the consensus mechanism, the IBC protocol should not be able to solve it.

I am not very sure if this property refers to the behavior of Chain B (whether correct or incorrect) that will not affect the native tokens on Chain A. But in that case, I think it's a duplicate of another property

Preservation of total supply (constant or inflationary on a single source chain & module).

Hi, perhaps it is clearer to express these properties the following way:

Preservation of total supply (constant or inflationary on a single source chain & module) contingent on honest chains
Fault containment: a Byzantine chain B is only able to compromise security of tokens that have chain B in its ICS20 trace. Tokens originating on an honest chain A and then inflated on byzantine chain B cannot be redeemed back to chain A beyond the original amount issued by A to B.

Does this make things clearer?

The second property is that the module/user x on chain A sent t tokens to chain B (meaning x pledged t tokens to escrow account), and these tokens inflated on Byzantine chain B, but x cannot redeem more than t tokens from the escrow account. The first property cannot constrain x to redeem tokens exceeding t, as the total number of tokens on chain A is still constant at this time. Is my understanding right?

@AdityaSripal Is my understanding right?