Multisignature

提供: tezos-wiki
移動先: 案内検索

マルチシグネチャ(multisigature)とは、Bitcoin transactionを認可するために複数のキーを要求することを指します。ビットコインの所有責任を分担するために一般的に使用されます。

Bitcoinネットワーク上の標準トランザクションは、Bitcoinアドレスに関連付けられた秘密鍵の所有者からの転送に1つの署名しか必要としないため、「シングルシグネチャトランザクション」と呼ばれることがあります。しかし、Bitcoinネットワークは、資金を移転する前に複数の人物の署名を必要とするはるかに複雑な取引をサポートしています。これらは、M-of-Nトランザクションと呼ばれることがよくあります。この考え方は、複数の当事者のアドレスを提供することによってBitcoinsが「妨げになる」ことになり、そのために当事者の協力が必要となることです。これらの当事者は、人、機関またはプログラムされたスクリプトである可能性があります。

以下のシナリオを考えてみましょう。
国際取引のためにBitcoinを受け入れる会社と仕事をしているとします。

同社はセキュリティ上の理由から、従業員のうち1人がBTCウォレットのパスワードにアクセスすることを望んでいない。取引は、複数の従業員の承認を得る必要があります。

これはすでに可能ですか?そうでない場合は、公開鍵暗号方式を使ってどのように実装できますか?<ref> https://bitcointalk.org/index.php?topic=507297.msg5594085 </ ref> </ blockquote>

実装[編集]

ShamirのSecret Sharingスキーム(ssss)<ref> https://point-at-infinity.org/ssss/ </ ref>は、multisigの一般的なソフトウェア実装です。

たとえば、Bitcoin GreenAddress.itは、2の2と3のアカウントを持っています(トランザクションを承認するには少なくとも2つのキーが必要です)。 Electrumではm-of-nの任意の組み合わせからなるmultisig walletが可能です。 Coinbaseでは、2-of-3と3-of-5マルチシングも提供されていますmultisig-vault-Vaultを選択します。 Blocktrailは2-of-3 multisigを提供します。

このjavascriptページでは、https://coinb.in/というマルチサインアドレスを作成して使用することができます。

Electrumチュートリアルも参照してください:http://docs.electrum.org/en/latest/multisig.html

マルチサインアプリケーション[編集]

  • 1-of-2:夫と妻小口現金の共同口座 - 配偶者の署名は、資金を使いこなすのに十分です。
  • 2-of-2:夫と妻の預金口座 - 両方の署名が資金を費やす必要があり、一方の配偶者がもう一方の承認なしに資金を使うことを妨げる
  • 2-of-3:両親の貯蓄は子供のためのものである - 子供は両親の承認を得てお金を使うことができ、両方の両親が同意しない限り
  • 2-of-2:2要素認証ウォレット:1台のプライベートキーがプライマリコンピュータにあり、もう1台がスマートフォンにあります。両方のデバイスの署名なしで資金を使うことはできません。したがって、攻撃者は、資金を盗むために両方のデバイスにアクセスする必要があります(1つのデバイスよりもはるかに難しい)
  • 3-of-5:低信頼の寄付アドレス - プロジェクトの信頼できる5人がそれぞれ秘密鍵を保持します。 3人は実際にお金を使う必要がありますが、誰でもプロジェクトの住所に寄付することができます。横領、ハッキング/マルウェア、または単一の人がプロジェクトに関心を失うことによる損失のリスクを軽減します。アカウンタビリティを助けるブロックチェーンには、最終署名に使用された秘密鍵が表示されます。
  • 2-of-3:信用のないエスクローを購入する売り手 - 買い手は、売り手と第三者の仲裁人との2/3の住所にお金を払います。取引がスムーズに進むと、買い手と売り手の両方が取引に署名して、売り手に資金を転送します。何か問題が生じた場合、買い手に返金するためにトランザクションに署名することができます。両者が同意できない場合、両当事者は仲裁を行う第三者に訴え、それにふさわしいと認められる当事者に第二の署名を提出する。仲裁人は、1つの鍵しか持っていないので、お金を盗むことはできません。
  • 2-of-3:組織のための資金を維持している3名の取締役 - それらの取締役のうち2名が同意しない限り、その資金は使えません。より大きい組織では、3-of-5、5-of-9など、より大きなマルチ署名トランザクションが可能です。
  • 2-of-3:ビジネスのためのセキュリティの向上 - Exchangeなどのビットコインビジネスでは、オンラインで1つの秘密鍵と紙のバックアップとして1つの秘密鍵が保持されます。別のビットコインセキュリティ会社が第3の鍵をオンラインで保持し、特定の条件(ブラックリスト、ホワイトリスト、期限切れX以上の引き落とし、2要素認証、規制環境への準拠など)を確認した後にのみトランザクションに署名します。ビットコインビジネスやセキュリティ会社のホットウォレットが個別にハッキングされると、ビットコインを盗むことはできません。 Bitcoinのセキュリティ会社がなくなると、紙のバックアップを使用してコインにアクセスすることができます。
  • 2-of-3:分散型[冷蔵庫]保管庫 - 鍵の1つが自宅に保管され、銀行の金庫に2つ目の鍵が保管され、3番目の鍵のコピーが親友、親戚オフィスに保管されています。お金を使うには、友人、銀行、またはオフィスのいずれかを訪れる必要があるため、家の金庫は襲撃や盗難に弱いものではありません。セーフティボックスを紛失しても、失われることはありません。
  • 2:2:スマート[契約]のビルディングブロック、例えば、タンブルビット、コインスワップ、雷ネットワーク

参照:Storing_bitcoins#Multisignature_wallets

マルチサインの歴史[編集]

聖書の最も貴重な遺物を保持している陰府の安全を守るために、多神教は数千年にわたって使われてきました。修道院の上司は、修道士に貴重な遺物へのアクセスを得るための部分的な鍵だけを与えるでしょう。したがって、一人の修道士は遺物にアクセスできず、おそらく遺物を盗むことはできませんでした。<ref> Monks at Mt.アトスは今日も「ハード」「マルチシグネチャ」セキュリティを使い続けています。 </ ref>

マルチシグネチャーウォレット[編集]

多くの企業がマルチシガーウォレットを開発しています。<ref> https://www.reddit.com/r/Bitcoin/comments/4eabpi/multisig_wallets_review_coinkite_alternatives_and/ </ ref>

Bitcoin-Qtによるマルチサインアドレスの作成[編集]

2of3マルチアドレスは、以下の手順で作成することができます。<ref> https://bitcoin.stackexchange.com/a/10593/4334 </ ref>

</ li> </ li> </ li> </ li> </ li>

<p>

  • validateaddress </ tt> RPCコマンドを3回使用して公開鍵を取得します。</ li>
  • 次に、addmultisigaddressを使用して2-of-3マルチアドレスを作成します。 </ blockquote> </ blockquote> </ blockquote> </ blockquote> </ blockquote> </ blockquote> </ blockquote> </ blockquote> </ blockquote> </ code> ol> <tt> addmultisigaddress </ tt>はマルチサインアドレスを返します。ちょっと注意してください。公開鍵は生の16進数で、ビットコインアドレスのようなチェックサムは含まれません。その後、通常のsendtoaddress / sendmany RPCコマンド、またはGUI(またはマルチサインアドレスを認識するために更新されたもの)を使用して、2/3のトランザクションに資金を送ることができます。<ref> https://bitcointalk.org/index。 php?topic = 82213.msg906833#msg906833 </ ref> </ blockquote> Gavin Andresenは、multisigをbitcoin-qt Raw Transactionsとともに使用する例を持っています:https://gist.github.com/gavinandresen/3966071

    実際の例[編集]

    • [Bitfinex]エクスチェンジのコールドストレージウォレットは、2017年12月時点で '141' 177 btc '(15億ドル)を含む3-of-6マルチシグナルアドレス 3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r </ code> 。おそらくキーはBitfinexの演算子によって非常に安全に保たれていると考えられます。

    参考文献[編集]

    <リファレンス/>