今週の注目トピック
シークレットコントラクトを可能にするEnigmaがテストネットローンチした他、契約自動執行にむけたトリガーとなる分散オラクルを提供するChainlinkがGoogle Cloudと連携を発表しました。また、Lightning Networkで古いコミットメントトランザクションをモニタリングするWatchtowerが実装されます。海外情報のキャッチアップとしてページ下部にあるリンク集とともにご覧ください。
また、ページ上部の “subscribe”よりニュースレターの購読(無料)もできますのでこちらも合わせてご利用ください。
Section1: PickUp
●Enigma、Discoveryプロトコルをテストネットローンチ
ブロックチェーンの課題として、スケーラビリティとプライバシーの2つがあげられることが多い。また、このほどの香港デモでは、交通系ICカードを使用すると個人位置情報が当局に見えてしまうため、交通系ICカードをあえて使わず切符を購入する長蛇の列がみられるなど、決済における個人のプライバシーを守ることの難しさ・重要性の一旦が浮き彫りになっている。
Enigmaプロトコルは、スケーラビリティについては、オフチェーン処理(ブロックチェーンに負荷かからない・全ノードが同じ処理を行う必要がない)、プライバシーについては、シークレットコントラクト(暗号化したままスマートコントラクトを実行)を通じて、上記の二大課題へのアプローチを図るもの。
2015年にMIT Media Labの研究者がこれらへのアプローチについて発表され(https://www.media.mit.edu/projects/enigma/overview/)、プライベートデータや計算不可かかるデータをオフチェーンで扱う。デジタル署名ベースのアクセスコントロールとプログラム可能なアクセス許可により、データそのものにアクセスせず、データを用いた計算を行う点が特徴。
シークレットコントラクトは、暗号化されたまま計算をするスマートコントラクト。ステートを保持し、暗号化データでプライベートに計算を行う。手法としては、sMPC(Secure Multi-Party Computationの略。MPCとも呼ばれる)を用いる。これは、データは異なるノードに分割し、情報を他ノードに漏らすことなく計算し、データそのものには誰もアクセスせず、全参加者がそのランダムピースを持つことによって、どのノードにも暗号化される前の元データを漏らさずに計算実行できるもの。
今回の第一段階であるDiscoveryに続き、Voyager、Valiant、Degiantという段階を予定している。Discoveryの段階では、TEE (Trusted Execution Environments:悪意のあるホストからデータを隠蔽)内でコントラクト実行する。Intel SGX対応デバイスを使って計算を行うが、暗号化したまま計算を行うものではない点には注意されたい。次にVoyagerでは、secure Multi-party Computations (sMPC)を実行できるようになり、TEEまたはMPCのエンジンでシークレットコントラクトを実行可能になる見込み。
データやアイデンティティが未来のマネーと言われているが、安全な情報の取り扱いが課題。データやアイデンティティ管理や所有権を個人の手に取り戻そうという動きもあり、個人のプライバシーは課題。コントラクトへのトランザクションを秘匿するzk。コントラクトの中身を秘匿化するシークレットコントラクトを実装するのがEnigma。最終的には、Ethereumのブロックチェーンから移行し独自のブロックチェーンにて稼働を目指すとしているが、秘匿化したデータ取り扱うコントラクトの開発できるようになれば、購買・移動・医療行為などの履歴自体を明かさないまま信用スコアを求めて融資に役立てるなど、個人のアイデンティティに関わるようなアプリケーション開発も安全にできるようになるのではないか。
●Chainlink、Google CloudのBigQueryデータをオラクルとして利用したスマートコントラクト可能に
スマートコントラクトは、ブロックチェーン上に格納・実行される「自律実行可能なデジタル合意事項」。合意内容の自動的な強制執行が可能で、第三者による執行や仲裁が不要となる。そのさらなる普及にむけた課題の一つは、ブロックチェーンはオフチェーンデータとやりとりできないため、スマートコントラクトがブロックチェーンに格納されてないオフチェーンデータと接続できないこと。今日、スマートコントラクトの主な用途であるトークン化(現実世界のアセットやユーティリティへの所有権)では、トークン情報はオンチェーンに格納され、オフチェーンデータを必要としない。一方、デリバティブや保険やトレードファイナンスなどを対象としたスマートコントラクトは、IoTや市場やイベントデータといった外部のオフチェーンデータを実行のトリガーとして必要となるが、これらトリガーデータは同じブロックチェーンに格納されてない。
スマートコントラクトへトリガーデータを提供するオフチェーンデータソースを「オラクル」とよぶ。例えば、Uberのドライバーが遅延したらディスカウントするスマートコントラクトを考えると、ドライバーの時刻・位置データが「オラクル」として、スマートコントラクト実行のインプットになる。
ブロックチェーンはトラストレスかつ改竄困難である特性上、その上で実行されるスマートコントラクトは、チェーン外から得られるインプットに対して、正確かつトラストレスな方法で得られたことを求める。第三者がスマートコントラクトへデータをフィードする中央集権的タイプのオラクルは便利な反面、スマートコントラクトがこのプレイヤーを機密漏洩しない・ハッキングされない・サーバーダウンしないなどについてトラストする必要がある。そこで、「オラクル」を分散化し、複数ソースからデータ収集した上でそれを集約することでスマートコントラクトのトリガーとすることによって、ハッキングや賄賂への防御とすることができる。
スマートコントラクトとオフチェーンリソースを接続する「分散型オラクルネットワーク」を提供するのが「Chainlink」。このほど、Chainlinkのオラクルを介してEthereum がGoogle CloudのBigQueryデータを利用した、予測市場や先物などのアプリケーション可能になった。Googleは、BigQueryデータアナリシスプラットフォーム上で、Bitcoinなどの暗号通貨むけパブリックチェーンデータを二月から提供開始している。これまでBigQueryにて8個の暗号通貨むけにパブリックチェーンデータを利用可能にしてきた(クリプトパブリックデータセット)。GoogleとChainlinkの提携によって、Chainlinkのオラクルスマートコントラクトを使って、BigQueryデータをオンチェーンで利用するなど、EthereumブロックチェーンとGoogle Cloudを用いたハイブリッドアプリケーション構築が可能になる。
具体的には、Ethereum dappsのスマートコントラクトはChainlinkからデータをリクエストし、Google App Engine and BigQueryで構築されたウェブサービスからデータを受け取ることができる。ユースケースとしては、特定時点のガス価格データを取り出すBigQuery オラクルとスマートコントラクトを組み合わせることによって、将来のEthereumガス価格についての担保契約を実装することなどが考えられる。このようにChainlinkサービス使って、BigQueryのクリプトパブリックデータセットからオンチェーンでデータ提供できる。デモでは、暗号通貨むけスマートコントラクトアプリケーションが、Chainlink and BigQuery間のインテグレーション使い、予想市場への賭けをセツルメントし、先物コントラクトを処理する様子が示された。
なお、Chainlinkは、Uberにビルトインされた評判システムのように、アップタイムやレスポンスタイムなどの指標に基づくオラクル評判システムも備えており、スマートコントラクトのリクエスト元はレーティングに基づき協同する特定オラクルを選択できるし、ある閾値を超えた中でのランダム選抜とすることも可能。また、Chainlink ではスマートコントラクトのニーズに応じた多様なセキュリティレベルを提供している。標準オラクル以外のオプションの例として、例えばIntel SGXのようなTEE(信頼された実行環境)で実行されるオラクルも可能。このときノードオペレーターがクエリーの内容(インプット、アウトプット、リクエスト元)を参照できないメリットがあるほか、オフチェーンでスマートコントラクトの計算がされるためガスコストを節約できるメリットがある。
Amazon/Microsoftに続いて、Googleも、スマートコントラクトとのインテグレーションへむけたアプローチを発表した。2018年初に提示されていた「自律分散デリバティブ市場にむけた課題」(https://arxiv.org/abs/1802.04915)として、不正や市場操作を回避すべく、トラストレスな価格フィード情報が必要であり、当時のソリューションでは中央集権的にデータ操作が可能な点が問題とされていた。それからスマートコントラクト分野でも技術革新が進んだ結果、このようにDEXや分散オラクル通じて実現に光明がみえてきたことが意義深いと感じる。
●LND v0.7、Lightning Networkで二重消費をモニタリングするWatchtowerを実装
Lightning Networkでは、個別トランザクションがブロックチェーンに記録されることなくオフチェーンで実行される。一連のやり取りを終えた最後に、チャネル内での最終的なトランザクションをブロードキャストしてこのチャネルを閉じることによって、最終的なトランザクションをブロックチェーンに記録する流れ。このため、チャネル内で起こった過去のコミットメントトランザクションはブロードキャストされず、最新の状態のみがブロックチェーンにトランザクションとして反映される。
現在のLightning Networkでは、古いトランザクションをリプレイすることによって二重消費しようとしていないかを、オンラインでモニタリングすることが必要。
このほど、Lightning Labが最新のLND実装v0.7において、「Watchtower」サポートを明らかにした。Watchtowerは、サードパーティとして24時間365日オンラインを保持したままチャネルをモニタリングし、無効なコミットメントトランザクションがオンチェーンにブロードキャストされていないことをチェックするサービス。もし違反を検出した場合、当該の全チャネルファンドを他ユーザのアカウントに送金してペナルティを与える。このように不正対策機能をアウトソースして、ユーザーがモニタリングする必要をなくすほか、将来的には、Watchtower運営者へ手数料を払うことによって金銭的インセンティブも付与。
Watchtowerのアイデアは新しいものではなく、オリジナルのLNのホワイトペーパーで提案され、2018年から開発されてきたもの(https://lightning.network/lightning-network-paper.pdf)であり、集権性が高まるとの批判もあるが、Watchtower利用はオプションにすぎず、ユーザーは複数のWatchtowerサービスと接続することによって監視リスクを低減できる。実行オーバーヘッドはマイナーになるよりも小さいため、単一のWatchtowerのみを信用するのでなく、自身でWatchtowerをたてて他ユーザにサブスクライブすることもできる。
LNDにWatchtowerがマージされることによって、ユーザーが安全に自分のお金をコントロールできるようになると考えられる。現時点では、Watchtowerはまだ初期段階のものに過ぎないものの、これが成熟すれば、Lightning Networkをより安全なものとして、普及を加速できる可能性があるのではないか。
Section2: ListUp
(リンクはこちら)
1. Bitcoin(「Lightning Networkのマイクロペイメントを活用したメッシュネットワーク構築提案」など)
2. Ethereum(「Ethereum 2.0 フェーズ0、来年1/3にローンチへ」など)
3. Bitcoin/Ethereum以外(「EY Nightfallプライベートトランザクションの仕組み」など)
4. 統計・リスト(「トークン発行基盤としてのブロックチェーン比較」など)
5. 論考(「分散システムについて概観する資料」など)
6. 注目イベント(「Zconライブ中継リンク」「Devconスピーカー申込サイトが開設」など)
バックナンバー
#1 (2019/04/01–04/07)
#2 (2019/04/08–04/14)
#3 (2019/04/15–04/21)
#4 (2019/04/22–04/28)
#5(2019/04/28–05/05)
#6(2019/05/06–05/12)
#7(2019/05/13–05/19)
#8(2019/05/20–05/26)
#9(2019/05/27–06/02)
#10(2019/06/03–06/09)
Disclaimers
This newsletter is not financial advice. So do your own research and due diligence.