Kyber Network – EOS-Ethereum間のクロスチェーンコミュニケーションを可能にするWaterlooとは
Shota
先日、Kyber NetworkがEthereumとEOS間のクロスチェーンコミュニケーションを可能にするWaterloo (ウォータールー)を発表しました。
この技術により、EOSのライトクライアントをEthereumのスマートコントラクトで、またEthereumのライトクライアントをEOSのスマートコントラクトで効率的かつ完全に分散的に実行することができるようになります。
Kyber Networkの発表によれば、2つのブロックチェーン間のコミュニケーションが可能になるだけでなく、金融・スケーラビリティ・プライバシー分野における応用も十分に可能であるとされています。
本記事では、Warterloo (ウォータールー)の仕組みなどを解説していきます。
目次
Relay Bridgeについて
Relay Bridgeでは、2つの異なるブロックチェーン間での双方向のブロックヘッダーのリレーが実現されます。
ブロックチェーンの構造の確認ですが、ブロックヘッダーにはブロック内の各トランザクションのハッシュ値を繋ぎ、さらにそのハッシュ値同士を繋ぎ、と最後にすべてのハッシュ値を含むハッシュであるRoot Hashと呼ばれる最強のハッシュが存在します。
このRoot Hashが含まれるブロックチェーンAのブロックヘッダーをブロックチェーンBのスマートコントラクトに提出し続けることで、ライトクライアントでブロックの整合性を検証することができるというものです。
Root Hashにはブロック内のすべてのトランザクションのデータが含まれており、これは一般的に数学的に検証をすることが可能です。
同様に、ブロックチェーンBのブロックヘッダーをブロックチェーンAのスマートコントラクトにといった形で、双方向のブロックヘッダーのリレーが実現されます。
これが、今回のWaterloo (ウォータールー)でも使われるRelay Bridgeの基本的な仕組みということになります。
クロスチェーン間での資産の交換
各ブロックチェーンA・Bにおける、ブロックヘッダー内のRoot Hashとスマートコントラクトを利用したトランザクションの検証が可能であるということはわかりました。
では、資産の交換がどのような仕組みで行われるかというと、これは通例通り『Lock(ロック)』『Mint(発行)』『Burn(焼却)』によって行われていきます。
横文字だけだとわかりにくいと思いますので、以下具体例を交えた説明です。
ブロックチェーンAから100枚のトークンをブロックチェーンBに送金するシナリオを想定します。
最初に100枚のトークンをブロックチェーンA上のコントラクトに送金して資産の『Lock』を行います。
ブロックチェーンAのヘッダーにある100枚が『Lock』されているというデータをもとに、ブロックチェーンB上で100枚のトークンの『Mint』が行われます。
通常、これはWrappingなどと呼ばれており、現在でも様々なブロックチェーンで実装されている仕組みの一つです。
続いて、ブロックチェーンB上で、Wrappedされたトークンが『Burn』のコントラクトに送金されると、そのトランザクションのハッシュ値が含まれたRoot HashがブロックチェーンAにリレーされ、Aで『Lock』されていたトークンが開放されます。
この仕組みにより、常に総発行枚数の整合性を保ちながら1:1のペッグが担保されている状態でクロスチェーン間での資産の交換ができるようになります。
EOS⇄Ethereum間のリレーの仕組み
これまで説明してきたような仕組みを利用して、資産の交換が可能になりますが、EOS→EthereumとEtheruem→EOSではこの仕組みが微妙に異なります。
EOS→Ethereumのリレー
EOSでは、合意形成においてDPoS (Delegated Proof of Stake)が利用されていることから、Finalityに関する定義がEthereumと少し異なります。
EOSが採用するDPoSの仕組みでは、21のBPs (Block Producer)が存在するのですが、その中でも2/3 + 1 (14+1 = 15, 1は自分)がコミットを行うことで初めてFinalizeされます。
そのため、EOSで行われるアクションをEthereum側にリレーする際、単純にそのトランザクションが含まれたヘッダーをリレーするだけでは、それが無効になる可能性がありProof (of Action)としては不十分となります。
EOSでは以下のイメージのように、15のBPsの署名付きのブロックをProofとしてEthereum側にリレーしなければなりません。
現在、EthereumのKovan TestnetとEOS Jungle2.0 Testnetで実証実験が行われていることが発表されています。
Ethereum→EOSのリレー
Ethereumでは、BTCRelay (BitcoinのブロックヘッダーをEthereumに一方向的にリレーする技術)と同様にリレーが行われていきます。
ここでは、EthereumのヘッダーがEOSのスマートコントラクトに対してリレーされ、ヘッダーにはPoWの難易度やRoot Hashなどが記載されています。
Ethereumにおいては、ブロックの有効性は一番長いチェーンに繋がっているということにより証明されるのでEOSよりもFinalityの仕組みがシンプルです。
EthereumのProof of Workのハッシュ関数においてKyber Networkが問題としているのは、この計算において1GB以上のデータを必要とする点であるとしており、今後SmartPool等を利用してこの解決策を模索すると述べられています。
まとめ
Kyber Networkによって発表された、EOS-Ethereum間のクロスチェーンコミュニケーションを可能にするWaterpoolについて簡単に解説させていただきました。
その他のクロスチェーンプロトコルでは、セキュリティがそのチェーンに依存してしまいますが、Kyberでは、EOSであればEOS、EthereumであればEthereumのセキュリティをそのまま利用しながらコミュニケーションを実現することができるという点で優れているということができますね。
今後の発表もまた解説できればと思います。
記事ソース : KyberNetwork Blog