Based preconfirmations
Based rollupのためのpreconfirmation (preconf) を提供する仕組み
Based preconfirmationsの2つのオンチェーンの要件
proposer slashing
Block ProposerのSlashing条件をEigenLayerなどを利用して追加する
proposer forced inclusions
Proposerはトランザクションを強制的に含む能力を持つ必要がある
forced inclusionsを実現するためにはInclusion listを使用する
L1のProposerはpreconfのslashingの条件を選ぶことでPreconferになることができる
Preconferは署名したPreconf promisesをユーザーに発行し、 Preconf promisesを守ることでユーザーからPreconfer tipsを受け取る
次のPreconferからPreconf promisesを持つトランザクションはそのPreconferの前にいるProposerによって即時的にInclusionされ、実行される
その後、PreconferはInclusion listを利用してそのスロットに残っている全てのPreconf promisesを守ることが期待される
PreconferのSlashing条件
liveness faults
Preconferのスロットが欠落し、preconfされたトランザクションが以前にオンチェーンに含まれていなかった場合
safety faults
Preconferのスロットが欠落しておらず、Preconf promisesがオンチェーンに含まれるpreconfされたトランザクションと矛盾している場合に発生する
promise acquisition
自分のトランザクションがpreconfされることを望んでいるユーザーはProposerのlookaheadにおいて最低でも次のPreconferにからpromiseを獲得するのを目指すべき
このプロセスはユーザーが次のPreconferにPromiseリクエストを送ることから始まる
https://scrapbox.io/files/659647cd0b7fcb002542d09d.png
参考資料
Based preconfirmations