Enigmaのホワイトペーパー翻訳 #2

Discoveryにおける新しい機能

Secret State

Secret contractsは、ステートをメンテナンスすることができる。暗号化されたデータは、別のプライベートコンピュテーションもしくは異なるタスクを実行する際にも維持される。ステートフルのコントラクトは、ステートレスコンピュテーション(たとえば、Secret Tokens)より、より多くのユースケースを可能にする。

Secret Contractsは、Smart Contractsと別れている

イーサリウムをコンセンサスと共有台帳として使いつつ、Enigmaのネットワークは、コンピュテーションとストレージとして機能する。これは、シークレットコントラクトは、自前のランタイム(修正されたEVM)とプログラミング言語(Solidityではなく、Rust)を持つ。

Private Outputs

プライベート・インプットに加えて、ネットワークは、コンピュテーションアウトプットのストレージもサポートする。コントラクトステートは、オンチェーン上に保存され(暗号化され)、結果は、dAppユーザーに直接暗号化されて伝わる。

Economic Incentives

各ノードは、ネットワークに参加することで、経済的インセンティブを受け取ることができる

Gas Costの最適化

イーサリウム上では、Gasの費用は、各opcodeのに関連づけられたコンピュテーションユニットに基づいている。STOTAGEADDのopcodeは、もっとも高価で、32バイトのデータに対して20kのGASを支払う必要がある。Secret Contractsは、以下の修正を加えることで、以前のMVTに比べて劇的にGAS費用が下がっている必要がある。

  • 1. インプットは、コントラクトの中には格納されない。Taks ID(インプットのハッシュ値)だけが格納される。Task IDは、ワーカーがその真正性を保証する。
  • 2.Outputsは、コントラクトには格納されない。オンチェーン認証は発生するが、その結果のハッシュ値を使う。

イーサリウム・インテグレーション

これらのフィーチャーは、イーサリウムのインターオペラビリティをメンテナンスする。

  • 1.トークンの転送:支払い可能なSecret Contract 機能の呼び出しは、ERC20トークンのデポジットを含む。シークレットコントラクトのビジネスロジックを用いた上で、イーサリウムアドレスに明示的に転送されるまで、トークンは、そのコントラクトステートにロックされた状態になる。
  • 2.ファンクションコール:Secret Contractsは、イーサリウム上にディプロイされているスマートコントラクトのアービトラリー機能を呼び出しことができる。

Contract Attributes

Discoveryは、各契約についてのストレージのシステムアトリビュート(メタデータのこと)をサポートする。彼らのユーティリティを見せる上で、これらのアトリビュートは、以下の内容を含むもしくそこのみ限定された情報をもつ;

  • 1. 鍵管理に有効な各コントラクトをアサインされているワーカーの一覧
  • 2.コントラクトのBytecode(もしくはそのリファレンス)
  • 3. 一連のステートにおける各アトリビュートとそのポジション間のマッピング
  • 4. もし、我々が、暗号化されたデータを外部に関する仕組みを提供する場合は、その外部ストレージのリファレンス(s3やIPFS)
関連記事