zkIBC
IBCはライトクライアント上で動作し、クロスチェーンのトランザクションを検証するにはsrc chainとdestination chainのライトクライアントがスマートコントラクトとして実装されている必要がある
IBCをEthereumに接続するためにはEthereum上のTendermintライトクライアントをsolidityとして実行する必要がある
しかし、これを実行するには数百のed25519の署名をsolidityで検証する必要がある ed25519のプリコンパイルはEthereum上で利用できないので非常にガス代がかかる 解決策
zk-rollupsの仕組みを利用する
ed25519の署名をEthereum上で直接検証するのではなく、署名の有効性を示すzk proofを構築し、オンチェーン上で証明を検証する
ed25519のZK-proverを作成するのは難しいらしいが、それを解決している
難しすぎてわからない
アーキテクチャ
https://scrapbox.io/files/63a85f027ce0f6001e624cfb.png
IBCのインターフェースはそのまま利用でき、既存のコードベースもそのまま利用できる
アプリチェーンでガバナンスの更新は必要ない
EthereumでのIBCには2つの変更が必要
Relayerはライトクライアントのヘッダーを全て提出するのではなく、同じものの有効性だけを証明だけを提出する
Ethereum側のオンチェーンライトクライアントモジュールはed25519署名の検証者の代わりにzk proofの検証者を含むようにする これ実装できるとEVM側にIBCを接続できさえすれば最強になる感じがある
そもそもEVMの接続の場合、それ専用のモジュールを作れば簡単に接続できる?
ありました
信頼できるライトクライアントがあれば、クロスチェーンのアクション全てをそのライトクライアント経由で検証できるのは強い
あとは検証コストどれくらい下げれるか
参考資料