今週火曜日、MITメディア・ラボはビットコインにインスパイアを受け構想された分散型クラウドコンピューティング技術『エニグマ（εnigma）』のホワイトペーパーをリリースした。

エニグマは制限付き完全準同型（じゅんどうけい）暗号（somewhat homomorphic encryption）を用い、プライバシーを完全に保ち、かつスケーラブルなクラウドコンピューティングを可能にするという。準同型暗号とは1978年にはじめて提唱された概念で、例えばA: 暗号文(3) とB: 暗号文(2) の2つの暗号文が与えられた際に平文や秘密鍵を用いず、A×BやA+Bの解を求められるようにすることを目的としていた。

これら片方の特徴を持つ暗号方式は「準同型性がある」と言われており、1977年に発表されたRSA暗号にも乗法ができる特性が備えられている。しかしながら、コンセプトが発表された37年前からこれまでのコンピュータサイエンスの歴史上、加法と乗法両方の特性を持つ準同型暗号は知られていなかった。

そういった意味で、ここにきてエニグマ構想が誕生したことは、コンピュータサイエンス上の非常に大きなパラダイムを迎える可能性を秘めている。そして、それはビットコインがもたらしたパラダイムによって後押しされている。

整数の加法と乗法ができるということは、入出力を暗号化したまま「チューリングマシン」を構成できるということだ。すべての計算処理はブラックボックスで行われ、データと計算処理方法をクライアントサイドで暗号化しネットワークに与えると結果のみが返され、計算処理の過程や実際のデータは、入力元以外の誰にも知られることはない。前述したように、こういった技術はこれまで認められておらず、これが実現すればGoogleやAmazon S3/EC2、Dropbox、あるいはFacebookなど、インターネット上で問題視されているプライバシーの問題をすべて解決できるようになる。

エニグマを主導するMITメディア・ラボのGuy Zyskind氏とブロックチェーン研究者Oz Nathan氏の両氏は、この「準同型暗号」をビットコインのテクノロジーを利用し、効率的に実現可能だと主張している。

エニグマは、プライバシーが保証された分散型コンピューティングプラットフォームだ。我々のゴールは、信頼できる第三者を必要とせず、機密性が組み込まれたエンド・トゥ・エンドの分散アプリケーションを開発できるようにすることである。

εnigma

エニグマはブロックチェーンと併せて利用することを前提としており、トランザクションには、ブロックチェーン上に記載するパブリックな契約と、オフチェーンに記載するプライベートな契約を含めてブロードキャストする。このプライベートな契約がエニグマプロトコルで受信され、ここにはネットワークに計算能力を提供する人々の計算資源を利用するために用いる計算処理を記述したスクリプトを含めることができる。

ビットコインの共有ネットワークでは「シェア（bitcoins）」と「パブリックデータ（Meta data, etc）」の二種類だけが存在するが、エニグマではその他に「暗号データ」の要素が新たに加わる。さらに、エニグマによるオフチェーンではKademlia方式の分散ハッシュテーブルが用いられ、大容量の暗号化されていないファイルをビットトレントのような形で保持している。

オフチェーンノードの役割は、分散データベースを構築することだ。各ノードは、演算処理のプライバシーを保護し、かつフォールトトレラント性を保証するよう、シェアと暗号データの取扱いを厳格に定めている。ここでは大容量のパブリックデータ（ファイル）を保存することもできる。ネットワークレベルでは、ファイルの保存にはKademlia DHTを利用し、シェアの分配時にノードの優先権を考慮したオリジナルの距離メトリックが調整されるようになっている。

また、エニグマではビットコインのパラダイムであるビザンチン将軍問題の解決策に加え、51%攻撃を加えようとする悪意あるパーティへの牽制策として、ノードに参加するMPCs（不特定多数の計算資源提供者）に対し、あらかじめエニグマネットワークで利用されるシェアをプライベートな契約として入金するよう求めている。これをSPDZ（スピーズ）プロトコルにより、攻撃しようとしたノードが失敗した際、ペナルティの徴収を自動執行できるという。

インセンティブの仕組みとしては、計算資源を利用したい利用者は、イーサリアムのガスの概念のような形でノードに対して手数料を支払うことで、彼らの潤沢な資源を利用できるようになる。また、ノードは計算資源を提供することで得られる手数料に加え、パブリックデータ領域に保管されるファイルを保管することによっても手数料を得られる。

エニグマに期待できるか？

エニグマプロトコルは、既存のプロジェクトで言えばMaidSafeに最も近い性質を持っている。また、分散型クラウドストレージであるStorjや、スマートコントラクトに特化したEthereumに近い性質を持っているが、これらを組み合わせた「全部入り」がエニグマというわけだ。

MaidSafeは昨年5月にクラウドファンディングを利用し9800BTCを調達したが、未完成に終わった前身のプロジェクトを含めると7年の歳月が既に経っている。大規模かつ、大きなパラダイムをもたらしうるプロジェクトであるため、長期目線で見る必要があるとはいえ、非常に難航している様子も伺え、一部では完成しないのではないかという声もある。また、Ripple Labsがイーサリアムのソースコードを元に作りプロジェクトを進めていたプロジェクトCodiusはつい最近、公式によりプロジェクトを断念することが発表された。

そういった環境下でエニグマプロジェクトが誕生したことは非常に大きな意義がある。MITメディア・ラボによるデジタル通貨イニシアティブは、商業的なステークホルダーの存在を排し、非営利かつ学術的なアプローチでブロックチェーンの研究を行うことを目的に発足された。その中心となるMITメディア・ラボがこのようなプロジェクトをスタートしたのだ。大きな期待感を持ってしまうのも当然ではないだろうか。

気になるロードマップだが、今年の8月から9月にかけてプロトタイプのソースコードが公開されるようだ。公開されたホワイトペーパーは、非常にわかりやすく書かれており、非技術者でも一読する価値はあろうものと思われる。

MIT Media Lab - Secure multi-party computation, EnigmaWhitepaper - Enigma: Decentralized Computation Platform with Guaranteed Privacy