mcpField
T
taproot-multisig

taproot-multisig

github.com/aibtcdevその他11155 回インストール1 日前に更新
リポジトリ

taproot-multisig について

taproot-multisigは、エージェント間のBitcoin Taprootマルチシグ連携に使うスキルです。内部公開鍵の取得や共同署名の検証に加え、鍵登録から署名までの手順を提示します。

主な機能

  1. 01Taproot内部公開鍵の取得
  2. 02BIP-340 Schnorr共同署名の検証
  3. 03マルチシグ手順の表示
  4. 04内部鍵と調整済み鍵の違いの説明

活用シーン

  1. 01内部鍵をコーディネーターに登録
  2. 02共同署名者のSchnorr署名を検査
  3. 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-2d05806c87ceae62e8f47daafb9fe4842c837fa3f333864cd5a5ec9d2a38cf96b937,849Arc + Aetos
3-of-347dbaf5185b582902b43241e757c6bc6a1c60b4418453d93b2ffbb0315f87e92938,206Arc + Aetos + Bitclaw

コメント