Ekiden
発表年: 2019
TL;DR
TEE×Blockchainの論文
consensus nodeとcompute nodeを分離し、Ethの1/1000のコストで、600倍のスループット、1/400のレイテンシを実現
TEEの強み/弱み、Blockchainの強み/弱みの整理から、ハイブリッドで利用するときの落とし穴までを論じる
cipepser.icon 特に以下の議論が勉強になった
形式化
脅威モデル
鍵管理
Machine Learing Contract、スマートビルの温度モデル、ERC20など応用事例
パフォーマンス比較まで実施
Authors
UC Berkeley
UC Berkeley
UC Berkeley
Cornell Tech
UC Berkeley
Oasis Labs
本文を読んでいく
abstract
スマコン
BCの可用性とセキュリティ、状態の永続性を享受
機密性の欠如とパフォーマンスの低下が課題
ブロックチェーン×TEEで上記のギャップを埋める
1. Introduction
スマコンは、コンセンサスのためブロックチェーンデータを公開する
機密性、プライバシーの欠如
zkやMPCの研究が盛んだが、パフォーマンスに関するオーバーヘッドがある
比較的単純な計算しかできない→TEEを使う
TEEは可用性の保証が難しい。ホストは自由にTEEを終了できるモデル。
ナイーブにTEE×ブロックチェーンを組み合わせると脆弱性を生みうる
悪意あるホストによるスケジューリングとI/O操作
TEEはいつでも終了してしまう
状態の喪失や競合が起こりうる
trusted timerでは、「no-earlier-than」しか保証できない
OSがclock readをdelayさせることができる
ブロックチェーンをチェックポイントに使おうとするとrewinding attacksのリスク
3. Technical Challenges in TEE-Blockchain Hybrid Systems
TEEの課題
availability failures
TEEをステートレスにし、永続的な状態はブロックチェーンに保存することで解決
side channels
鍵管理をコンポーネントとして設計
key rotationで漏洩した鍵の範囲を制限
timer failures
SGXの場合、CPU外のtimerから時刻を取得するときにOSによって遅延される可能性がある
しかもサーバーグレードのintel CPUはSGX timerをサポートしていない(執筆時点)
TEEがブロックチェーンの現在のviewを持たなくていいように設計
time-based proof-of-publication protocol
PoWベースで公開証明を得るにはTEEが新しいブロックを検証できる必要がある
信頼できるtimerが必要→TLS-enabled NTP servers
鍵管理
TEE×ブロックチェーンの制限:機密性
暗号化でもいいが、鍵の永続化が問題になる
複数TEE間で鍵の複製
Atomic性
通常のstatefull TEE-blockchainでは、2つのメッセージが生成される
m1: 出力を呼び出し元に配信
こちらだけだとrewind attacksが可能
TEEは入力状態が新しいか判断できない
攻撃者は古い状態を提供し、その古い状態から状態遷移を再開できる
m2: 状態の更新をブロックチェーンに配信
ユーザーが出力を永久に失う可能性がある
どちらも敵対チャネルを介す
アトミックに配信が必要
4. Overview of Ekiden
3つの役割
client
スマコンのエンドユーザー
contractの作成、実行
どちらもcompute nodesにdelegate可能
compute nodes
clientからのリクエストを処理
TEE内のコントラクト実行
attestation生成
consensus nodes
ブロックチェーンの維持
Workflow
cipepser.icon 手書きで🙏
コントラクト生成
https://gyazo.com/cf4348283a48b4ecae0c79a163914f7b
リクエスト実行
https://gyazo.com/f28f8fb8632e65df37f11b007e4c5d9d
Ekiden Security Goals
Correct execution
stateとinputによって与えられるコントラクトコードが正しく実行されたことを保証
Consistency
ブロックチェーンには一貫性のあるシーケンスで状態遷移が保存される
Secrecy
Graceful confidentiality degradation
compute nodeで機密性の侵害が発生した場合、前方秘匿性と合理的な分離を提供
仮定と脅威モデル
TEE
サイドチャネル攻撃がある
TEEのHWと実装がセキュアに製造されていること
Blockchain
任意のコンセンサスプロトコル
attestationの検証はコンセンサスノードの仕事
Proof of publicationのようなブロックチェーンに特定のitemが含まれていることを効率的に証明できる仕組みが提供されていること
脅威モデル
EkidenとTEEを信用すること
攻撃者は、1つを除くすべてのcompute nodesのOSとnetwork stackを制御できる
攻撃者の制御下にあるノードでは、メッセージ順を並び替えたり、プロセスを任意にスケジューリングできる
攻撃者は$ f%のTEEの機密性を危殆化させる
攻撃者はglobal network trafficを監視、メッセージを任意に並び替え、遅延可能
攻撃者は任意の数のクライアントを破壊可能
クライアントは自身でcontractを実行する必要はない
クライアントはtrusted hardwareを必要としない
honestなクライアントは自身のコードとプラットホームを信用するが、他クライアントは信用しない
各contractには、データ処理方法とリクエストの処理方法に関する明示的なポリシーがある
Ekidenは、Contractがバグによって秘密を漏らすことを防がない
5. Building blocks
https://gyazo.com/3f306a0999c24a5c00e08074b38f2522
6. Protocol details and security proof
$ \mathcal{F}_{Ekiden}: UC-realized
$ \mathcal{G}_{att}のattestation scheme $ \Sigma_{TEE}とデジタル署名$ \Sigmaは、EU-CMA existentially unforgeable under chosen message attacks
$ Hは第二現像耐性
$ \mathcal{AE}と$ \mathcal{SE}はIND-CAP secure 7. Implementation
Rustのサブセットでスマコン書ける
アプリ例
Machine Learing Contract
クレジットスコア
熱病の尤度予測
取得したデータに正しくノイズを乗せたことを保証可能
スマートビルの温度モデル
IoT
ERC20
Poker
メンタルポーカー
CryptoKitties
Ekiden EVM portでgene mixing contractのbytecodeを持ってきた
Origin
オンラインマーケットプレイスをEth上に構築するプラットフォーム
8.Evaluation
Ekiden-BTは、token contractに対して
600倍のスループット
1000 clientsで測定
400倍の低レイテンシ
1000倍の低コスト
IBMから借りたSGXが使えるマシンでの利用料ベース
測定はclientがリクエストを送ってから、スマコンのレスポンス+チェーンへのcommitが復号されるまで
https://gyazo.com/d5b27e18aa5e430931f9cf221c4d1e59
9. Related work
Confidential smart contracts
single compute node(= manager)向けに設計
managerを信用する必要がある
permission、managed settings向け
暗号鍵の保存にプロビジョニングサービスを用いる
Ekidenはsecret-shareing
Blochchain transaction privacy
Privacy-preserving system based on trusted hardware
Blockchains for verifiable computations and secure multiparty computations