Skip to content

Commit

Permalink
feat: add OP_CHECKMULTISIGVERIFY example
Browse files Browse the repository at this point in the history
  • Loading branch information
paris-10 committed Jul 25, 2024
1 parent 2c6b9c5 commit a912416
Showing 1 changed file with 26 additions and 1 deletion.
27 changes: 26 additions & 1 deletion BTC/Advanced/Multisign/OP_CHECKMULTISIGVERIFY/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,29 @@

`OP_CHECKMULTISIGVERIFY` 结合了 `OP_CHECKMULTISIG``OP_VERIFY` 的功能。其主要目的是在验证多重签名后,立即判断验证结果并返回执行状态。

脚本构建和签名过程可以参考[OP_CHECKMULTISIG](../OP_CHECKMULTISIG/README.md),这里不再赘述。
脚本构建和签名过程可以参考[OP_CHECKMULTISIG](../OP_CHECKMULTISIG/README.md),这里不再赘述。

### 具体案例
在babylon业务中,会把用户的资产质押到一个Taproot地址里。根据官方披露的三条解锁路径都需要OP_CHECKSIGVERIFY来验证签名然后执行后续逻辑
1. 时间锁路径,质押者到期可以赎回
```js
<Staker_PK> OP_CHECKSIGVERIFY <Timelock_Blocks> OP_CHECKSEQUENCEVERIFY
```

2. 解绑路径,质押者提前赎回
```
<StakerPk> OP_CHECKSIGVERIFY
<CovenantPk1> OP_CHECKSIG
<CovenantPk1> OP_CHECKSIGADD ... <CovenantPkN> OP_CHECKSIGADD
<CovenantThreshold> OP_GREATERTHANOREQUAL
```

3. 质押者作恶,惩罚路径
```js
<StakerPk> OP_CHECKSIGVERIFY
<FinalityProviderPk> OP_CHECKSIGVERIFY
<CovenantPk1> OP_CHECKSIG <CovenantPk1> OP_CHECKSIGADD ... <CovenantPkN> OP_CHECKSIGADD
<CovenantThreshold> OP_GREATERTHANOREQUAL
```

相关交易可以查看:https://mempool.space/zh/signet/tx/ceb126550481ecb69b45929b2b5869fd3975a707e6100b368d6cc15e4434ad9d

0 comments on commit a912416

Please sign in to comment.