keep-network/tbtc

Secure payments from bad recipient behavior

Shadowfiend opened this issue · 0 comments

There are several cases where a third party is the recipient of an ETH payment from tBTC:

  • Liquidation sends the appropriate amount of seized bonds to the liquidation auction winner, and potentially returns the leftover bond to the liquidation initiator, and possibly to the signers.
  • Fraud liquidation during redemption immediately sends the redeemer the seized bonds from the signing group.
  • Signing group fraud during funding sends the funder the seized bonds from the signing group.
  • Signing group setup failure refunds the funder for the deposit opening fee and potentially returns leftover bond to the signers.
  • Successful redemption returns leftover bond to the signers.

In all these cases, it's important that a misconfigured or malicious contract on the receiving side cannot prevent the system from completing the action it is executing.

There are two approaches here: additional bookkeeping and allowing relevant parties to withdraw their due amounts, or securing the outbound transfers so that they cannot break the remainder of the transaction.