こんにちは!Digital Platformer株式会社(以下「DP社」)採用担当です!
「MPCって聞いたことはあるけど難しそう」「秘密計算って言われてもピンとこない…」
そんな方に向けて今回は、社内勉強会第二弾!
第一弾で分かりやすい解説が好評だったDP社エンジニアの澤田が、MPC(Multi-Party Computation)を徹底解説します!
(勉強会第一弾が気になる方はこちらから!→【DID/VCとは?】その仕組みをDP社エンジニアが、わかりやすく徹底解説)
「そもそもMPCって何?」「他の暗号技術とどう違うの?」など素朴な疑問から、応用例、社会的な意義、MPC技術がエンジニアのキャリアにどんなメリットをもたらすかまで、講師役の澤田が幅広く回答してくれました。
私たちと一緒に、MPCを知っていきましょう!
【勉強会スタート!】そもそもMPCって何の略?
採用担当(以下「私」):本日はよろしくお願いします!まずは、MPCとは何の略でどのような技術か教えてください!
澤田講師(以下「澤田」):よろしくお願いします!MPCはMulti-Party Computationの略で、日本語では「秘密計算」と呼ばれる分野の技術の一つです。
一言で言えば、入力データを誰にも見せないまま計算結果だけを得られる仕組みです。
たとえば「密封オークション」があります。
通常のオークションは他人の入札額が見えて競り上がっていきますよね。一方、MPCを使ったオークションでは、誰の金額の公開もされないまま、さらにオークションの運営ですらそれを知ることがないままに、最終的に「誰が最高額を提示したか(必要に応じてその金額)」だけが分かる仕組みになっています。
言い換えると、MPCは「秘密のまま計算できる計算機」とイメージしてもらうと分かりやすいです。
MPCの仕組み ~データを見せずに計算可能?~
私:「データを見せずに計算ができる」についてイメージが湧きません。具体的にどのような仕組みなんでしょうか?
澤田:イメージは「データの分割」です。
例えば「1500」「2000」という2つの数字を、1000/500/-200/200 と 100/-1000/2900/0 のようにバラバラに分けて、別々のサーバーに渡します。
各サーバーは破片しか持っていないので元の数は分かりませんが、それぞれの破片を足すと 1100/-500/2700/200 となり、さらにこれらを足すと「3500」という結果だけが正しく出てきます。
つまり破片単体では意味がなく、全体を集めないと元の情報が分からない。
これがMPCの「秘密を守る計算」の仕組みです。
私:では、どうやってプライバシーを保持しながら処理をしているんですか?
澤田:データをそのまま渡すのではなく、バラバラにしてサーバーに送っています。各サーバーは破片しか知らないので、単体では何の情報か分かりませんよね。さらに、そのサーバーを一社だけで運営するのではなく、複数の組織に分散すればサーバーの運営者が結託しない限り秘密が守られるんです。
私:なるほど!では、他の暗号技術とは何が違うんでしょうか?
澤田:従来の暗号は「データを暗号化→特定の鍵で復号」という仕組みです。
一方、MPCでは暗号化したまま(あるいはデータを分割したまま)計算が可能です。
私:なるほど。ちなみに、MPCと類似した技術はあるんですか?
澤田:似たアプローチとして「TEE(Trusted Execution Environment)」という技術もあります。
TEEは内部処理を外から読み取ることができない特殊なハードウェアを使用する方法です。一方、MPCはデータを複数のサーバーに分散し、サーバー運営者でさえ元データを知ることなく計算できるのが特徴です。
DP社でMPCを導入・活用しようとしている理由とは?
私:MPCの特徴がだんだん分かってきました!では、DP社でなぜMPCを導入・活用しようとしているんですか?
澤田:背景には「自己主権型ID(Self-Sovereign Identity)」の考え方があります。
「○○アカウントでログイン」は便利ですが、IDプロバイダーに自分の情報を握られている状態です。もしそのIDプロバイダーがサービスを停止したり、恣意的にアカウントを停止したら、一瞬で利用できなくなるリスクがあります。
そこでDID(前回記事を参照)を使えば自己主権を保つことができますが、さらにMPCを使うことによってアカウント紛失時の復旧においても自己主権を実現できます。
特定の管理者に依存せず、複数のサーバーが協調して認証を行うため、「誰かの都合でデータを閲覧、変更」するのを防ぐことができます。
ブロックチェーンやDID/VCとMPCを組み合わせるメリットは?
私:DP社が活用しているブロックチェーンやDID/VCとMPCを技術として組み合わせるメリットはあるんでしょうか?
澤田:MPC単体でも強力ですが、ブロックチェーンやDID/VCと組み合わせることでさらに強いセキュリティを実現します。
例えば、
・ブロックチェーン:計算過程が正しく行われたかを検証可能
・DID/VC:個人が自分のIDを自己管理できる仕組み
・MPC:そのIDや秘密鍵を安全に復旧・管理する手段
このように応用することで、「認証全体を自己主権的にデザインする」ことが可能になります。
DP社が目指す未来 ~Partisia社とのパートナーシップ~
私:DP社は2024年にPartisia社とパートナーシップ提携をしていますよね。このパートナーシップで、どのようなMPC活用を目指しているんですか?
澤田:Partisia社はMPC領域で世界的に強みを持つ企業です。DP社としては、彼らの技術とネットワークを活用しながら、秘密鍵管理や認証基盤の分散化といった領域に取り組んでいきたいと考えています。特に、企業の証明書や暗号資産の管理など、“一箇所に依存しない安全な仕組み”をPartisia社と一緒に社会に広げていくことを目指しています。
私:とても分かりやすいです。今後、新規事業や事業展開で検討していることがあれば教えてください。
澤田:認証の他にも、企業の証明書や、特に金融や自治体など、セキュリティ要求の高い領域での実用化を見据えています。
具体的には、国防や公共領域での応用可能性、企業向けでは特に証券・銀行、自治体の個人情報管理のインシデント事例を踏まえて、需要があると認識しています。
また、広告・データ利活用の可能性があると考えていて、個人情報を直接見せずにサービス間で統合できるので、広告や統計分野での活用を視野に入れています。
MPC技術の知見はエンジニアのキャリアにプラスに働くの?
私:少し違う角度の質問ですが、MPC技術を身に付けることはエンジニアのキャリアにプラスに働きますか?
澤田:MPCの知見を持つことはエンジニアのキャリアに十分プラスになると思います。最近は”Webサイトが作れます”というスキルだけでは差別化が難しくなっていますよね。AI、量子コンピューター、そして分散技術という新しい分野に挑戦することがエンジニアとしてキャリアを広げるうえで大事だと思います。
その中で、MPCはまだ実務で扱えるエンジニアが少なく希少性が高い分野です。分散技術や暗号技術の知識があれば、金融・自治体・セキュリティ企業など幅広い領域で活躍の場が広がります。
また、MPCはブロックチェーンやDID/VCとも密接に関わるため、関連分野の知識も自然に身につくのが強みです。MPCを学ぶことは、単に一つの技術を理解するだけでなく、分散システムや暗号全般の素養を高めることにも繋がります!
【まとめ】
・MPCは「データを秘密のまま計算できる」技術
・分散管理によって、強固なセキュリティを実現できる
・実装には速度や運用体制などの課題があるが、社会的インパクトは大きい
・DP社はPartisia社と連携し、MPCの実用化に挑戦している
・エンジニアのキャリアにとっても将来性のある分野
今回はMPCについて学びを深めていきました。
勉強会は非常に盛り上がり、参加したメンバーからも「とても分かりやすかった!「MPCが身近なものに感じられた!」という声が多くあがりました。
MPCはまだ新しく社会実装もこれからの技術ですが、”安全にデータを使う”ための大きな鍵になることは間違いありません。
この技術が社会に広く浸透するため、Partisia社とのパートナーシップを通じて、DP社はMPC技術の活用に向けて挑戦を続けていきます。
この記事が皆さんのMPC理解の一助となり、未来を考えるヒントになれば嬉しいです!
最後までお読みいただきありがとうございました!
企画構成:株式会社スリーシェイク