Alice和Bob交易,Alice给Bob BTC,Bob给Alice ETH。
这是在两条链上的操作,怎么保障Alice给Bob发送BTC当前,Bob按约定给Alice发送ETH?

在ETH上有一个BTC Relay合约,就是在ETH上用合约实现的BTC的SPV。
执行流程如下:

  • ETH上部署一个主动交割合约
  • Bob向主动交割合约注入约定的ETH
  • Alice在BTC上向Bob账户转账
  • BTC Relay合约上监听并校验BTC上的块。
  • 主动交割合约从BTC Relay合约上取得指定交易,校验交易信息,并主动触发转账。