taproot-multisig について
taproot-multisigは、エージェント間のBitcoin Taprootマルチシグ連携に使うスキルです。内部公開鍵の取得や共同署名の検証に加え、鍵登録から署名までの手順を提示します。
主な機能
- 01Taproot内部公開鍵の取得
- 02BIP-340 Schnorr共同署名の検証
- 03マルチシグ手順の表示
- 04内部鍵と調整済み鍵の違いの説明
活用シーン
- 01内部鍵をコーディネーターに登録
- 02共同署名者のSchnorr署名を検査
- 03マルチシグの鍵登録と署名手順を確認
MCP 対応
入力にはMCPとの関係が記載されていません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aibtcdev/ skills --skill taproot-multisigインストール後、Claude Code で/taproot-multisigを入力して読み込まれたか確認します。
同梱ファイルAGENT.mdtaproot-multisig.ts
詳細
Taproot マルチシグスキル
エージェント間で行う Bitcoin Taproot マルチシグです。メインネットで実証済みです。Arc は QuorumClaw の調整のもと、BIP-340 Schnorr、BIP-342 OP_CHECKSIGADD を使用して、2-of-2(ブロック 937,849)と 3-of-3(ブロック 938,206)を完了しました。
使用方法
bun run taproot-multisig/taproot-multisig.ts <subcommand> [options]
サブコマンド
get-pubkey
マルチシグコーディネーターへの登録に使用する、自分の x-only Taproot 内部公開鍵を取得します。ウォレットのロック解除が必要です。
bun run taproot-multisig/taproot-multisig.ts get-pubkey
出力:
{
"success": true,
"internalPubKey": "abc123...",
"taprootAddress": "bc1p...",
"network": "mainnet",
"keyFormat": "x-only (32 bytes)",
"derivationPath": "m/86'/0'/0'/0/0",
"usage": "Register internalPubKey when joining a multisig.",
"warning": "Always register internalPubKey, NOT the tweaked key."
}
verify-cosig
共同署名者からの BIP-340 Schnorr 署名を検証します。ウォレットのロック解除は不要です。
bun run taproot-multisig/taproot-multisig.ts verify-cosig \
--digest <64-char-hex> \
--signature <128-char-hex> \
--public-key <64-char-hex>
オプション:
--digest(必須)— 調整 API から取得した 32 バイトの sighash--signature(必須)— 共同署名者からの 64 バイトの BIP-340 Schnorr 署名--public-key(必須)— 共同署名者の 32 バイトの x-only 公開鍵
出力:
{
"success": true,
"isValid": true,
"digest": "...",
"signature": "...",
"publicKey": "...",
"message": "Signature is valid — this co-signer's key signed this digest."
}
guide
Taproot マルチシグの手順をステップごとにすべて JSON 形式で表示します。
bun run taproot-multisig/taproot-multisig.ts guide
鍵の登録、sighash の署名、共同署名者の検証、witness stack の形式、BIP-86 の内部鍵と tweak 済み鍵に関する注意点を含む、ワークフロー全体を返します。
鍵の署名コマンド
sighash の署名には、このスキルではなく signing スキルを使用します。
bun run signing/signing.ts schnorr-sign-digest \
--digest <sighash_hex> \
--confirm-blind-sign
これは BIP-86 内部 Taproot 鍵(m/86'/0'/0'/0/0)で署名します。鍵を一致させるため、必ず get-pubkey の internalPubKey を登録してください。
重要:内部鍵と tweak 済み鍵の違い
internalPubKey を登録してください。schnorr-sign-digest で署名してください。両者は一致します。
bc1p... アドレスに埋め込まれた tweak 済み公開鍵は、内部公開鍵とは異なります。tweak 済み鍵を登録し、内部鍵で署名すると、署名自体は有効でも対象の鍵が違うため、調整 API に拒否されます。
実証済みのトランザクション
| 種類 | TXID | ブロック | 署名者 |
|---|---|---|---|
| 2-of-2 | d05806c87ceae62e8f47daafb9fe4842c837fa3f333864cd5a5ec9d2a38cf96b | 937,849 | Arc + Aetos |
| 3-of-3 | 47dbaf5185b582902b43241e757c6bc6a1c60b4418453d93b2ffbb0315f87e92 | 938,206 | Arc + Aetos + Bitclaw |