Enigma Japanのブログ

仮想通貨Enigma(エニグマ)についてガチ解説していくEnigmaJapan.infoのブログです!

Enigma Roadmap AMA(2018/4/3)和訳

f:id:udoncryptocurrency:20180409172953p:plain

www.reddit.com

今回はEnigmaチームがこの間開催したAMA(Ask Me Anything 日本でいう「何か質問ある?」的なスレ)の和訳です。誤訳などありましたら、infoあっとEnigmaJapan.info、またはコメントいただけますと幸いです。

ざっくりとしたサマリーはこちら!

kanagold.hatenadiary.jp

質問一覧

1. Discovery (2018)のシークレットコントラクトのエンジンでは、全てのコントラクトコードがTrusted Execution Environments (TEEs)内で実行されるとのことですが、それはEnigmaがこのフェースの間だけネットワークを動かすのに何か特別に必要になるということですか?TEEsは特別なソフトウェアだけじゃなくてハードウェア構成機器も必要になるそうですが

全く必要ではありません。ネットワークは初日から分散化されるようにデザインされてます。(ネットワークの安全性を確保するためのテスト期間を除く) ETTsは特別なハードウェアを必要としますが、それは一般的なハードウェアです。(過去2年間の全てのIntelプロセッサーがサポートしてます。)マザーボードの選択には依然気をつけなければいけませんが、コミュニティーが動作確認済みリストを速やかに作ってくれると願ってます。またより分散性を高め、導入を簡単にするいくつかのアイデアについて取り組んでます。

2. ロードマップではEnigmaのデータマーケットプレイスについてほとんど触れてませんでした。メインネットがローンチすると、チームが関わるということは終了すると考えていいでしょうか?(つまり、コミュニテイーがやっていくということでしょうか?)

先月データマーケットプレイスがメインネットでローンチしました。現在、データベースへの登録と売り手と買い手のマッチングはオンチェーンで行われますが、データはオフチェーンでやり取りされます。Enigmaプロトコルが使えるようになり十分に堅牢なものになれば、データマーケットプレイスをプロトコルレイヤーに移行したいと思ってます。

これを私たち自身が開発していくのか、コミュニティーの支援を仰ぐのかはまだ決まってません。データマーケットプレイスはプロトコルのユースケースの一例として示されたものだということを思い出してください。私たちはこのプロトコルを汎用プラットフォームにするのが目的です。


3. EnigmaのProtocolができてどれくらい経てば動かすことができるようになりますか?しばらくの間既存のDappsを載せるのは難しいのでしょうか?

私たちはDappsとの統合をできるだけ簡単にできるように取り組んでます。ほとんどの場合では、Solidityのまんまでシークレットコントラクトを書けます。Enigmaで非公開の状態で(つまりデータを暗号化したまま)処理する必要があるところをマーキングするだけでOKです。コントラクトの実行は、パブリックな部分はEthereumで処理しプライベートな部分はEnigmaで実行するなどして混在できます。それ以外にも、あなたのシークレットコントラクトを登録するときに利用するEnigmaスマートコントラクト レジストリーがあります。

既存のDappsは、これまでのコントラクトを(可能であれば)アップグレードするか、新たにコントラクトを作って通信させることでラップするなどして、既存のスマートコントラクトを拡張する必要があります。

4. TEEがもたらすパフォーマンス上の利点をもとに考えるとしたら、TEEではなく(2019年にVoyagerでリリースされる)分散型VMを使う方が良いのではないでしょうか?

secure Multiparty Computation (MPC)を利用するなら、処理する量が少なく、とても機密性の高いデータを扱うアプリケーションが適します。例えば、そういったアプリケーションはSNNsやプライベートキーを扱うアプリケーションだったり。

5. Q4に続いて、Q1と同様に…。もしDappsが普通にシークレットコントラクト2.0(汎用的なsMPC)を使わないのなら、Enigmaネットワークは本当に分散化されているのでしょうか?

Enigmaネットワークは即座に分散化されます。シークレットコントラクト2.0がリリースされるまで待つ必要はありません。誰もが自分のTEEを搭載するノードを使って稼働させることができます。


6. EnigmaがValiant (2019)で実装するShardingのタイプはなんですか?

変更される可能性がありますが、OmniLedger (https://eprint.iacr.org/2017/406.pdf)のに従ってEnigmaネットワークにあった形に修正していきます。


7. 開発者はTEEs(シークレットコントラクト1.0)とMPC(シークレットコントラクト2.0)のどちらのエンジンで実行するのかを最終的に選択できるようになるとのことですが、開発者はDappを作る際に、TEEはより重い演算処理用として、MPCはより機密データを扱う用としてなどのように、どちらのタイプも使うことができるのでしょうか?

それが目標ですが、 どこまで細かいところを設定できるかは考えていかなければなりません。 ほとんどの場合、命令/Transaction単位で切り替えるのは賢明ではありません。よりさらに進歩させ命令単位で切り替えができるようになるようにするかどうかはわかりませんが、超絶難しいことではありません。

DVMはMPCが必要になる機密データを含む命令を、ローカルでも実行できるパブリックデータを含む命令から分離させることができます。MPCかTEEのどちらで実行したいかフラグ/入力で明確に記載しておけば、このミックスエンジンの方法で実行できます。

8. Enigmaの開発の大半(少なくとも一般公開されている部分)がsMPCに注力してきたのに、なぜEnigmaはセキュアなコンピュテーションにsMPCではなくTEEを最初に使うことにしたのですか?その動機はなんですか?そしてその利点/欠点はなんでしょうか?

そちらの方がいいと判断したからです。TEEは(ハードウェアべースでありソフトウェア/暗号技術のものではない)高速化だけでなく、誰でもシークレットコントラクト/暗号化したまま演算する技術という価値の恩恵を受けることができます。開発者が考慮しなければならないパブリックにする範囲は少なくなります。(暗号化する範囲を決めるにはある程度考えねばなりません。もっと大事なのは、より簡単にSolidityやWeb3などのツールをそのまま使えるようになることで、開発者が追加で学ばなければならないということがなくなるということです。

MPCの利点はネットワークモデルが通用するため、完全に暗号学的に保障されるということです。ですがDappsはまだ超初期段階で、非常に機密性の高いデータをもつアプリケーションのリアルな生産レベルを見極めるにはしばらく時間がかかると考えてます。機が熟して盛り上がっていく前の頃までにはシークレットコントラクト(2.0)を使い、どのエンジンで実行したいかの選択肢がもっと増えるはずです。 


9. ちょっと興味があるのですが、コードにバグはないと仮定すると、Enigmaチェーンに保存されたデータは攻撃に対して100%耐性がありますか?Enigmaにある暗号化されてない生のデータを盗むことは事実上”不可能”なのでしょうか?それとも現在の中央集権的なシステムよりは安全性は高いものの、ハッキングは依然として可能なのでしょうか?要は、51%攻撃やノードが30%のノードの共謀など、非常に普通でない状況で暗号化されてない生のデータを盗みだすことができるのかどうかを調べてます。生のデータを盗み出すことは”事実上不可能”ですか?

MPCの場合はその通りです。全て(または高い割合)のノードが共謀しない限り、データを盗むことは事実上不可能です。専門的にいえば、MPCは”perfect secrecy”と呼ばれてます。これは攻撃者がたとえどんなに演算力が高くても(量子コンピューティングを含めても)全く破壊できないことを意味します。ですが実際には普通の単純な暗号技術を使うP2Pレイヤーがあるので、そこが影響を受けます。

TEEに関しては、多くのサイドチャネル攻撃が考えられてます。ですがこれらの攻撃は高くつく上に部分的なってしまいがちであり、ノードが保管するデータが価値あるものであるとは限りません。(ノードは保存するものを選べません)なので、これらの攻撃には価値がないと思われます。さらに開発者は非常に機密性の高いデータ用に、MPCを使うことも選べます・

10. Aionとのパートナーシップは何をもたらしましたか?

私たちが最初に述べた目標の一つは、他のあらゆるチェーンをシークレットコントラクトの力で補うということです。(シークレットコントラクトはDappsを有用なものにするために絶対必要なものです。)しかし、私たちのコアネットワークを開発するのはそこそこ難しく、おそらく最も野心的なプロジェクトの一つである所と組みました。それがAIONです。私たちは彼らが他のブロックチェーンとの架け橋を作っていくことを願ってます。

私たちが非常に早い段階にあるということを認識することは重要です。今パートナーシップとはノートを共有したりこの共同研究をどのように実現していくかについて一緒になって考えていったりすることを思いめぐらせてます。

11. 2020年にEnigmaブロックチェーンが出るそうですが、Enigmaが統合されている場合、AionやIconなどの現在の第三世代インターオペラビリティープラットフォームとどのように競合すると思いますか?Enigmaをセカンドレイヤーとして統合したプラットフォームが、スタンドアロンのブロックチェーンであるEnigmaと同等の性能を発揮することはありませんか?

この質問はHTTPがTCPの上で動作するからTCPがHTTPと競合するかどうかを聞いているようなものです。誰もが最終的にはTCPを使います、これが重要な部分です。

12. Enigmaは2020年にインターオペラビリティーの問題を解決するために何をしますか?この問題は現実世界でのユースケースを考える前に解決すべき大きなものなのではないでしょうか?

AIONとのコラボレーションに関する答えを見てください。また、インターオペラビリティーは解決すべき重要な問題ですが、プライバシーやスケーリングほど必要なものではないということを強調したいと思います。 Windows/Linux/OSXがアプリケーションを実行するのがとても遅かったら、あるいはあなたの全てのデータが全世界に公開されてたら使い物にならないが、Windows/Linux/OSXはVMWare/Parallelsを使って行き来しなくても便利なのと同じことです。

13. ENGトークンを使った(Catalystとデータマーケットプレイスを除く)最初のリアルなDappsはいつ利用可能になるのでしょうか?コミュニティーにいる開発者からの期待のもてるコンタクトはありましたか?

我々はプロトコルがローンチしたその日から強力なDapps開発者コミュニティーを構築したいと考えてます。チームはすでにいくつかの業界についてがっつり調査してます。一つはアイデンティティー、もう一つはクレジットスコアです。

アイデンティティーに関するユースケースとしては、自己証明型身分証明をデータのプライバシーを保ったまま行えるということがあります。次のシナリオを考えてみましょう。Dappsにあなたが21歳以上であるということを証明する必要がありますが、あなたの生年月日を明かす必要はありません。これがEnigmaのシークレットコントラクトのユースケースです。

もう一つがオンチェーンでのクレジットスコアを算出することです。例えばあなたに関する3つの入力(x1,x2,x3)に重み(w1,w2,w3)をかけてクレジットスコアを算出するスマートコントラクトがあります。入力x1,x2,x3はパブリックに共有したくない機密情報である可能性が高かったりします。前述のように、こういったDappsを作ろうと努力しているプロジェクトとはすでにコンタクトを取ってます。

14. Enigmaが独自チェーンを持つことになると、Ethereumでは今の所できないどんなことができるようになるのでしょうか?

たくさんです。私たちが作り始めて以来、最も実現したかったことの一つだと思います。第一に、ネットワーク間の移動は高価です。独自ネットワークでは1回のトランザクションでできることが、Ethereum上ではいくつかのトランザクションを実行する必要があります。第二に、我々が構築しているものは非常にユニークなものです。EnigmaはTEE、特にMPCといったこれまでとは違うトレードオフな実行エンジンを搭載しており、既存のブロックチェーンとは異なったものです。

全てをEthereumブロックチェーンに適合させようとすると、相互運用性のためにコード/設計の単純性とパフォーマンスが犠牲になってしまいがちです。最後に、Ethereumに頼りすぎになってしまっていくということが挙げられます。スケーラビリティーについては、独自チェーンがなければステートレスな演算しかスケールすることができません。あとはEthereumのタイムラインの方向を変えようと懸命に取り組みうまくいくように期待するしかないでしょう。また、Ethereumの仕様などに大きな変更が加わると(EVMをかなり変えるなど)、調整を余儀なくされるでしょう。

15. Enigmaは一部のトークンホルダーがEthereumチェーンにできれば留まっていたい可能性がある中、どうやってオリジナルチェーンに移行しますか?この課題はオリジナルチェーンに移行しようとしているあらゆるトークンに当てはまるものですが、何かEnigmaチームには特別なアイディアがあるのでしょうか?

まだまだ移行するのは先なので、そんなによく検討しているようなものではありません。もしトークンの互換性が失われることになるときは、誰でも安全にきちんと移行できる(スワップなどのシステムを使うなどの)方法で行います。

16. TEEのシークレットコントラクトは、EVMで実行するスマートコントラクトと互換性がありますか?Enigmaが独自チェーンを持つ時にはより効率を上げるために、コードのスタイル/言語に変更を加えるのでしょうか?

はい。 Discoveryでは、シークレットコントラクトはEVMのスマートコントラクトと互換性があります。手を加える必要はほとんどありません。ほとんどの場合で、暗号化済みのデータを使って秘匿化して実行する命令の部分を定義し、シークレットコントラクトを実装するメカニズムをちょっと変えるだけです。

17. Catalystをよりユーザーフレンドリーにする進捗について教えていただけますか?Catalystはすでにある程度トレーダーの間で有名ですが、Webベースのユーザーインターフェイスが整備されるとより多くのトレーダーを呼び寄せることができると考えてます。

今の所、私たちはライブトレーディングに使うユーザーがどんどん増えていってることから、よりCatalystを強力なものにしていくことに重点を置いてます。もう一つの大きな優先事項は、よりユーザーフレンドリーなインターフェイスを作るための布石として、Catalystのクラウドベースのバージョンを作ることです。

また、Catalystの機能は強化されてきており、暗号通貨のトレードBotを構築するという分野では最も強力なソリューションです。ですが、Catalystはオープンソースプロジェクトでもあります。他のチームや個人に重要で意味のあるものを提供していきます。

18. パートナーシップのの話を最後に聞いたのから随分経ちました。何か最新情報はありますか? 原則として、パートナーシップに関してとやかく気にしたりするつもりはありません。コラボレーションに向けて、有意義な進歩があるときに発表します。私たちはEnigmaプロトコルと可能性のあるユースケースやDappsについてあらゆるプロジェクトや組織と絶えずコンタクトをとりあってます。プロトコルのローンチが近づくにつれて、こういったアナウンスはどんどん出てきます。それまで待っててください。

19. あなたのバーンレートはどれだけですか?どれだけお金が残っているか、そしてロードマップで発表された全ての約束を実行するためのどれくらいお金を費やす予定ですか?

私たちはロードマップで伝えたことを達成するために非常に多くの資金を持ってます。これにより開発だけに専念でき、Enigmaを作っていきサポートする強力な開発者コミュニティーを築き上げていくことができます。

20. Enigmaが実際にEU一般データ保護規則(GDPR)とどのように上手く付き合っていくのか詳しく説明をお願いします!特に、「忘れられる権利」を行使してくるユーザーがデータを削除したいと要求してきたらどうするのでしょうか?

EU一般データ保護規則ではEUに住む個人のデータを収集または処理する全ての企業(どこでデータを処理しているかは関係ありません)が一連のルールを遵守する必要があるというものです。例を見てみましょう。

通信会社が顧客の移動に関するデータを収集し、クラウドに保存しているとしましょう。通信会社が後日運送会社に雇われたコンサルタントの人にそのデータを販売し、コンサルタントは人々の動きに基づいて駅を建設する場所を決めたいと考えているとします。この場合通信会社、クラウド事業者、コンサルティング会社(そして運送会社ももしかしたら)EU一般データ保護規則の対象になります。

もっと細かくいうと、ルールは次の通りです。

  • 1)顧客がデータ収集に同意しなければいけない

  • 2)顧客はいくつ化の権利を有する(データにアクセスしたり移行したりする権利(データ可搬性の権利)、忘れられる権利、違反した件について通知を受ける権利)

  • 3)データの仮名化と暗号化する権利といったプライバシーに関する設計

去年の5月ごろ、我々は多数の欧州の大企業とこれらの規則について話し合いました。Enigmaは主に3)プライバシーに関する設計(我々が注力している所です)や、アクセスコントロール周りの1)や2)に対処することができます。データ共有が行われる際には、組織はデータが最高にセキュアであるように、あらゆる必要な予防措置を講じる必要があります。これがEnigmaが役立つやり方です。

クラウド事業者が演算を実行する際Enigmaプロトコルを使ってデータベースをセキュアに保つ時、あるいはコンサルティング会社が暗号化されてない生データにアクセスすることなくEnigmaを使って通信会社のデータを分析できたら、EU一般データ保護規則のプライバシーに関する設計の要件は達成されます。ただ問題なのは、プライバシーに関する設計が”ベストエフォート”のケースで判断され、十分で明確なガイドラインが存在しないということです。

21. Enigmaプロトコルを使ってどうやってDappsを開発できるのか、もっと詳しく説明をお願いします!

Discoveryの段階では、EnigmaでDappsを開発するのはEthereumでDappsを開発するのとおんなじことです。開発者はSolidityでスマートコントラクトを作成し、Enigmaのシークレットコントラクトのレポジトリに実装します。その後コントラクトがEnigmaクライアントを使って呼び出されたら、入力はEthereumスマートコントラクトに暗号化されて流され、Enigmaネットワークに移動します。Enigmaネットワークではノードがデータにアクセスすることなく復号化されて演算が実行されます。

22. CoinbaseにERC20トークンが追加される件についてですが、EnigmaチームにとってCoinbaseのような大きな取引所に追加することは大事なことですか?

原則として、ENGの取引所やその他の流通市場に関してはノーコメントです。