Miki
Github
Notion
Chain Abstraction Interface
1つのチェーンに資産を持っているだけで、他のチェーンでも資産を持っているとみなして資産管理をすることができる
何が嬉しいか?
複数チェーンに資産を持つ必要がない
チェーンの切り替えやブリッジが必要なくなる
資産を一元管理できる
複数チェーンの資産を外部アプリケーションを用いて統合しなくても、1つのチェーン上のアドレスを見れば資産の動きが分かる
セキュリティが優れているチェーンに資産をまとめて置いておける
機能
Deposit and Execute:
特定の場所に預けた資産を元に他のチェーンでtxを実行することができる。例えるとデビットカード。
Asset Yield Generation:
特定の場所に資産を預けるだけでMikiが勝手に運用してくれる?
Pull-based Core
EthereumとRollup間の資産管理とメッセージングの中核となるモジュール
Deposit contract: 資産のdepositとwthdrawを処理
Futaba Gateway: depositの状態を取得
Messaging Gateway: EthereumとRollup間のmessagingとbridge
Pull-based Bridge
Pull-based Coreを利用したbridge機能
Hub Rollup: ユーザーの出金リクエストを受け取るRollup
Spoke Rollup: 資産を受け取る対象のRollup
Withdraw contract: 出金リクエストを処理し、Spoke Rollupへ資産を送信
Hub RollupとSpoke Rollupを分離し、同時リクエストによる過剰な資産のブリッジを防いでいる
Hub Rollupの役割:
ユーザーからの出金リクエストを受け取るエンドポイントとして機能する
出金リクエストを検証し、Ethereumのdepositが十分にあるかをFutaba Gatewayを通じて確認する
出金が承認されたら、Messaging Gatewayを介してSpoke Rollupに資産を送信する
Sequencerのような役割
Spoke Rollupの役割:
Hub Rollupから送信された資産を受け取る
ユーザーに資産を送信する
同時リクエストによる過剰なbridgeの防止:
複数のRollupから同時に出金リクエストがあった場合、depositの金額以上の資産がbridgeされるリスクがある
e.g.) Ethereumに1ETHがある状態で、Optimism, Arbitrumから同時に1ETHリクエストすると、結果的に2ETH獲得できる
↑を防ぐために、出金リクエストを受け付けるのはHub Rollupに限定する
Hub Rollupで出金の検証とbridgeを行うことで、Ethereumのdepositを超えるbridgeを防ぐ
銀行のような役割
Inter-rollup gas tank / intents
Ethereumの資産を利用してRollupでのトランザクション実行を可能にする
デビットカードのような役割
留意点
EthereumとRollup間のメッセージングにはThird-party Messagingを使用し、Native Bridgeも併用する
複数のdepositとwithdrawをbatch処理してgas代を節約する
Inter-rollup gas tank/intentsでは、PaymasterがユーザーのEthereumの資産を確認してからトランザクションを実行する
Hub Rollupの資産管理:
Hub RollupはSpoke Rollupへブリッジするための資産を一定量保有する必要がある
Hub Rollupの資産が不足してきた場合は、EthereumのdepositからRebalanceを行う
疑問点
HubからSpokeへのBridgeに時間がかかるのでは