メインコンテンツまでスキップ

How LCP works

LCPは、Cross-chainの通信において、Light Client検証をオンチェーンで行うことと同等のセキュリティをより低いコストで得ることを可能にする。

LCPの最初の実装ではTEEとしてIntel SGXを利用する。LCPでは、SGXを用いてEnclave内でLight Client検証を行い、その結果を示すcommitmentとproofを生成する。このproofはEnclave内で生成された鍵による単一の署名である。そして、Downstreamは直接Upstreamを検証する代わりに生成されたcommitmentとproofを検証する。なお、検証に用いる鍵は、Remote Attestationを通してEnclave内の鍵を検証の前にDownstream上に登録する必要がある。

LCPを利用するシステムは2つのChain以外に追加のコンポーネントとしてSGXを搭載し、LCPのProtocolを実装するLCP Nodeが必要になる。ただし、LCPを用いたシステムの信頼仮定としてLCP Nodeの可用性は不要であり、消失時は双方のChainから状態の回復が可能である。

LCPを用いてToken SwapやTransferをはじめとするCross-chain Applicationを構築するには、Chain間に通信プロトコルが必要となる。このためにLCPは最初にCross-chainの通信プロトコルスタックであるIBCをサポートする。IBCはClientと呼ばれるChainごとの検証を行う層と、Connection、Channelと呼ばれる通信層に分かれる。LCPは、LCPが生成するcommitmentを検証するIBC Clientを提供する。これにより、既存のIBC InfrastructureとLCPの併用を容易にする。