You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the current implementation, escrow specified in ICS-20 is implemented by transferring Cash states to a trusted escrow node called the bank. I think that non-custodial escrow can be implemented as follows.
Corda has an interesting feature encumbrance, which enables UTXOs to be encumbered with (locked by) other UTXOs in the same transaction. A transaction consuming the former states must successfully consume the latter states at the same time. For example, every Cash.State belongs to the Cash contract and so must always satisfy the rules required by the contract. Additionally, if there are output states encumbering the Cash.State in the same transaction, the Cash.State also must satisfy the rules required by the contract to which the encumbering output states belong.
The encumbrance feature can be used to lock Cash.State in the Ibc contract until requirements for unlocking specified in ICS-20 are fulfilled. In addition to this, by moving ownership of locked Cash.State to a dummy user whose private key is open, no cooperation with a trusted third party is required to unlock the locked Cash.State.
The text was updated successfully, but these errors were encountered:
siburu
changed the title
Support non-custodial escrow in ICS-20
Support for non-custodial escrow in ICS-20
Jun 21, 2021
In the current implementation, escrow specified in ICS-20 is implemented by transferring Cash states to a trusted escrow node called the bank. I think that non-custodial escrow can be implemented as follows.
Corda has an interesting feature encumbrance, which enables UTXOs to be encumbered with (locked by) other UTXOs in the same transaction. A transaction consuming the former states must successfully consume the latter states at the same time. For example, every Cash.State belongs to the Cash contract and so must always satisfy the rules required by the contract. Additionally, if there are output states encumbering the Cash.State in the same transaction, the Cash.State also must satisfy the rules required by the contract to which the encumbering output states belong.
The encumbrance feature can be used to lock Cash.State in the Ibc contract until requirements for unlocking specified in ICS-20 are fulfilled. In addition to this, by moving ownership of locked Cash.State to a dummy user whose private key is open, no cooperation with a trusted third party is required to unlock the locked Cash.State.
The text was updated successfully, but these errors were encountered: