UnsplashQ「先日、Liquidの海外法人の取引所のMPCウォレットがハッキングされたとのことですが、MPCは秘匿計算や秘密計算などの分野で、結構前から研究されてるようですが、具体的にどのような技術なのでしょうか?」よい質問なので、できるだけわかりやすく解説したいとおもいます。Liquidは2019年に、MPC技術を自社のウォレットに取り入れてセキュリティを強化したというリリースを打っています。それが破られたのですから、皮肉ですね。(https://blog.liquid.com/.../updates-our-cold-wallet...)さて、MPCとは何かに入るまえに、それ以外の技術をざっとおさらいしておきましょう。i)マルチシグマルチシグは複数の秘密鍵をもって署名したトランザクションを有効とするものです。of3のマルチシグでは3つの秘密鍵のうち2つによる署名があれば有効とします。これは、ビットコインのプロトコルのなかで処理検証されるもので、ビットコインによるルールになっています。デメリットとしては、トランザクションのサイズが大きくなるという点があり、送金コストが掛かるという点です。NativeのSegwitを使えば、最もサイズが大きい公開鍵と署名部分をまるごと手数料からカウント除外できますので、マルチシグであっても普通の送金と同じコストで送金できます。よって大きなデメリットはなくなってきています。マルチシグは、一斉に署名する必要がなく、それぞれ別の場所に存在する秘密鍵で、順番に署名していけばよく、途中のデータは他人に見られても問題ありません。この手順がバラバラだったのですが、統一の規格もできて、マルチシグの利用が進んできているとおもいます。これはビットコインの話であって、取引所としては、マルチシグを利用できないコインの安全をどう守るかというのも考えなくてはいけません。イーサリアムはプロトコルレベルでマルチシグの機能がありません(コントラクトで実現させるということになります)。ii)シャミアの秘密分散法そこで、より汎用的な秘密鍵の分散技術として、シャミアの秘密分散法というものを取り入れている取引所も多いです。これは、単一の秘密鍵を複数の断片に分割します。3つなり5つなりです。この断片が揃うと元々の秘密鍵を復元できます。マルチシグのように3つの断片のうち2つが揃うと復元できるといった閾値を設定することも可能です。便利におもいますが、最大の欠点があります。それは単一障害点があるということです。それぞれの断片を寄せ集めて、いちど完全な秘密鍵の情報に復元しなくては署名できないのです。最終的には1つの秘密鍵で署名しているのと一緒なわけで、そこが単一障害点になります。MPCシャミアの秘密分散法の単一障害点を取り除いたのがMPCです。シャミアの分散法では、断片から秘密鍵を復元して、それをつかって署名をしました。復元のところが単一障害点になったのです。MPCでは、秘密鍵を同じく3つなり5つの断片に分割しますが、秘密計算という手法をつかって、単一障害点をクリアしています。いうことかというと、まず、それぞれの断片の鍵をつかって電子署名をつくります。その電子署名は完全なものではなく、電子署名の断片です。この電子署名の断片自体は意味有る情報にはなっていません。電子署名の断片をあつめると、なんと完全な電子署名を創りだすことができるのです。story有料プランに切り替えて頂くと続きを読むことができます。ログイン豊かな知識とともに。