仮想通貨におけるセキュリティ技術!マルチシグとは【初心者向け】
初心者向けにマルチシグ(マルチ・シグネチャ)とは何か詳しく解説しています。仮想通貨におけるセキュリティ技術です。マルチシグ対応しなかったためにハッキングにあった事例などもあるので、仮想通貨ブロックチェーンについて理解したい人は知っておきましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
この記事では、マルチシグについて解説します。
仮想通貨の流出を防ぐためにもマルチシグについてきちんと理解しておくことは重要です。認証の仕方にもいくつか種類があるので、それぞれ見ていきましょう。
今回はマルチシグ(マルチ・シグネチャ)という用語について勉強しよう。
田島メンター!マルチシグというのはどういうものですか~?
仮想通貨の送金において、複数の認証が必要となる形式のことを指すんだ。それに対して1つの公開鍵に1つの秘密鍵のみ存在するものをシングルシグ(シングル・シグネチャ)というよ。公開鍵と秘密鍵についてもおさらいしながら見ていこう。
お願いします!
目次
マルチシグとは
マルチシグとは英語では、Multisig (Multi-signature)と記載します。
マルチシグとは、マルチ・シグネチャの略です。マルチ・シグネチャでは、公開鍵と秘密鍵を複数持つことで、セキュリティを高めています。
マルチは複数のという意味です。
シグネチャは認証という意味です。
公開鍵と秘密鍵
公開鍵はパブリックキー(public key)とも呼ばれる、公開鍵暗号化方式で利用する鍵です。不特定多数の第三者に知られてもセキュリティー上問題のない鍵です。
公開鍵はそれ単体だと特に外部から何かすることはできず、秘密鍵とセットで生成されます。
秘密鍵は、プライベートキー(private key)とも呼ばれる、公開鍵暗号方式で公開鍵とセットで生成される鍵で、送金時の署名を行う際に使用します。
公開鍵と秘密鍵に関しての記事も合わせて参考にしてみてください。
例えば、マルチ・シグネチャで2 of 3と記載されるとします。
この場合、事前に事前に作られた3つのプライベートキー(秘密鍵)の内、2つのプライベートキー(秘密鍵)での署名が確認できることで認証が可能になるという方法になります。
これに対して、シングル・シグネチャは、1つの公開鍵に対して1つの秘密鍵を対応させて使用します。
シングル・シグネチャは鍵のペアが1つのため、唯一の鍵がハッキングされた場合、そのキーペアで管理されている全ての仮想通貨が盗難されることも有るということです。
マルチシグの使い分ける種類
マルチシグネチャには2–of–3で記載するような方法で幾つかの鍵パターンの種類が存在します。
その公開鍵と秘密鍵の数と認証に必要な数によって、どのような時に利用するのか分けることができます。
1–of–2
夫と妻が二人で管理する共同口座として利用するのに適しています。
夫と妻どちらも秘密鍵をもっており、どちらの秘密鍵も違うものです。
そして、口座を認証するためには、夫と妻、どちらか一方の秘密鍵が存在すれば認証可能です。
夫婦ですので、お互いを信頼しあい、共有持分としての財産であるため、この方式を選ぶことが可能です。
2-of-2
夫と妻が二人で管理する共同口座として利用するのに適しています。
夫と妻どちらも秘密鍵をもっており、どちらの秘密鍵も違うものです。
そして、口座を認証するためには、夫と妻両方の秘密鍵が存在すれば認証可能です。
夫婦ですが、両方の秘密鍵がなければ認証できないので、夫婦の合意ができた場合のみ資産を利用することができます。
2-of-3
夫婦と子供1人の場合の共同口座として利用するのに適しています。
夫婦の同意がなければ、子供は口座の資産を利用することができません。
ですが、子供が両親のどちらかを秘密裏に説得することさえできれば、口座の認証が可能になります。
2-of-2
秘密鍵(プライベートキー)が2箇所のウォレットに保存されています。
例えば、パソコンの秘密鍵とスマートフォンの秘密鍵の2箇所に2つの異なる秘密鍵が保存されている場合です。
この場合、所有者が1人であっても、2箇所の秘密鍵を両方アクセすることができてはじめて、口座の認証が可能です。
非常にセキュリティが高いですが、どちらかの秘密鍵を保管する端末等が無くなった場合、認証ができません。
3-of-5
寄付型のマルチシグネチャです。信頼できる5人が異なる秘密鍵を持っています。3人の認証により口座のお金を使うことができます。
ただ、誰でもこのアドレスに対して寄付を行うことができます。
2-of-3
エスクローサービスに利用できます。エスクローサービスというのは、売買契約時に商品を受け取った後に支払いが完了するというものです。
この場合は、販売者・購入者・仲介者の3人が存在し、仲介者の同意をとることで取引が進みます。
5-of-9
組織の口座を管理するために利用します。
9人の取締役が存在する場合にそのうちの3人の同意により口座の認証を行うことが可能です。
人数を変えることでより大規模な認証にも対応できます。
2-of-3
ビットコインの取引所などで使用する場合に適しています。
オンラインのホットウォレットで1つの秘密鍵を管理します。
ペーパーウォレット等のコールドウォレットで1つの秘密鍵を管理します。
別の企業体であるブロックチェーンのセキュリティ企業が最後の1つの鍵をオンラインでホットウォレット管理します。
特定の条件下でのみ別の企業体であるブロックチェーンのセキュリティ企業が署名します。
特定の条件というのは、ブラックリストやホワイトリスト等予め決めていた条件に合致する場合です。
2–of–3
個人利用ですが特別セキュリティを高めたい場合に利用します。
1つは自宅に保管して、もう一つは銀行の金庫に保管し、3つ目の鍵は親友や親戚等が保管します。
自宅と、銀行は、奪われる可能性がありますが3つ目の鍵は自分自身しかその場所を知らず、かつ目立たないため安全です。
マルチシグの基本的な仕組みと、その種類についてだね。
かなり色々な鍵パターンがあるんですね。
次に、マルチシグを使うことのメリットとデメリットについても考えてみよう。
マルチシグのメリット
マルチシグを採用することで、ウォレットのセキュリティが格段に向上します。
また、複数人で鍵の管理を行うことも出来るため、誤送金を行うことを防ぐことが可能です。
マルチシグデメリット
マルチシグのデメリットとして、複数の鍵を生成し、別々のところへ保管する必要があります。
具体的には、3つの公開鍵と3つの秘密鍵を生成した場合、3つの秘密鍵は全く別のところへ保管する必要があります。
さらにセキュリティを高める場合は、コールドウォレットとして保管することも考えていく必要があります。
つの別々の公開鍵を集めそれぞれについて秘密鍵を設定し多くの場合それらを別々に保存しなければなりません。登録する公開鍵が増えれば増えるほど設定は大変になってしまいます。
加えて、鍵が増えるということは、それだけ処理も増えることになります。
そうなると、手数料も増えることになります。
これも大きなデメリットと言えます。
マルチ・シグネチャを採用せずに盗難された例
2018年1月26日コインチェック株式会社が管理する取引所のウォレットから、約580億円に相当するNEMという仮想通貨が盗難されました。
この時、コインチェック株式会社ではシングル・シグネチャを採用していました。
つまり、セキュリティ的には盗難リスクが高かったとういことです。
ではなぜ、マルチ・シグネチャを採用しなかったのでしょうか。
それは、マルチ・シグネチャを採用するためにはそれだけ複雑なアルゴリズムを理解したエンジニアが必要だということも大きな壁だったのではないかと思います。
コインチェック株式会社だけでなく、日本国内から世界中に至るまで、現在ブロックチェーンのエンジニアの求人は溢れています。
しかし、実際にブロックチェーンのエンジニアとして応募が来ることは非常に少ないです。
そのため、コインチェック株式会社ではマルチ・シグネチャの導入ができなかったのかもしれません。
また、鍵の管理に関しても、ホットウォレットで管理していたため、流出に繋がったという考え方もあります。
鍵の管理に関しても、ブロックチェーンセキュリティの専門家の採用が難しい状況だったのかもしれません。
マルチシグネチャを採用しているウォレット
Copay
NEM
以上、マルチシグについて解説しました。
仮想通貨を取り扱う上で重要なセキュリティ知識なので、ぜひ理解しておきましょう。
マルチシグ・シングルシグであることによってそれぞれどういう影響があるかという具体例だね。
マルチシグの場合手間はかかるけど、その分セキュリティは向上するということですね。
シングルシグが原因のひとつと見られる盗難の例や、マルチシグを採用しているウォレットの例なども挙げてみたので参考にしてみよう。
実際の事例も見てみることが大切ですね。ありがとうございました!
この記事を監修してくれた方
中本賢吾(なかもとけんご) 開発実績:PHPフレームワークを利用した会員制SNS・ネットショップ構築、AWSや専用サーバー下でLinuxを使用したセキュアな環境構築、人工知能を利用したシステム開発、店舗検索スマホアプリ開発など。 その他にも地域の職業プログラマー育成活動を行い、2018年には小学生がUnityで開発したオリジナルAndroidアプリをGooglePlayでリリース。ゲームで遊ぶより作ろうぜ!を合言葉に、小学生でも起業できる技術力を育成可能で有ることを証明し続けている。 |