DuskEVMがOP Stackベースだと知ったとき、ラベルを鵜呑みにするだけでなく、実際にその上でトランザクションを追跡してみたくなりました。そこで昨夜、手順を一つずつ辿ってみました。
トランザクションはまずDuskEVMのシーケンサーに投入されます。これはOP Stackの標準的な挙動で、シーケンサーが順序付けを行い、ほぼすぐにそれがL2ブロックに含まれます。ここは、ロールアップを使ったことがある人にとって速くて馴染みのある部分です。ですが、シーケンサーで物語は終わりではありません。バッチャーがそのトランザクションデータを受け取り、Duskの決済・データ可用性レイヤーであるDuskDSへ公開します。
私が理解しようとしていたのは、このアダプター部分でした。OP Stackでは通常、この仕事をEthereumに任せます。ところがここではそれがDuskDSに置き換えられています。つまり、開発者がすでに知っている同じロールアップのアーキテクチャが、汎用のL1セキュリティではなく、規制対象資産向けに決定論的な最終性を前提として作られた決済レイヤーへと振り向けられている、ということです。
この流れをそのまま追っていくと、サマリーを読んだだけでは引っかからなかった何かが腑に落ちました。シーケンサーのステップとDuskDSのステップは、まったく別の役割を担っています。ひとつはトランザクションを動かすためのもので、もうひとつが実際にそれをアンカー(確定的に結び付ける)するものです。この2つのタイミングを以前は分けて考えられておらず、「トランザクションが起きる」という出来事を1つの単一イベントとして思い描いていました。
#dusk $DUSK @Dusk $AIO $HEMI
トランザクションはまずDuskEVMのシーケンサーに投入されます。これはOP Stackの標準的な挙動で、シーケンサーが順序付けを行い、ほぼすぐにそれがL2ブロックに含まれます。ここは、ロールアップを使ったことがある人にとって速くて馴染みのある部分です。ですが、シーケンサーで物語は終わりではありません。バッチャーがそのトランザクションデータを受け取り、Duskの決済・データ可用性レイヤーであるDuskDSへ公開します。
私が理解しようとしていたのは、このアダプター部分でした。OP Stackでは通常、この仕事をEthereumに任せます。ところがここではそれがDuskDSに置き換えられています。つまり、開発者がすでに知っている同じロールアップのアーキテクチャが、汎用のL1セキュリティではなく、規制対象資産向けに決定論的な最終性を前提として作られた決済レイヤーへと振り向けられている、ということです。
この流れをそのまま追っていくと、サマリーを読んだだけでは引っかからなかった何かが腑に落ちました。シーケンサーのステップとDuskDSのステップは、まったく別の役割を担っています。ひとつはトランザクションを動かすためのもので、もうひとつが実際にそれをアンカー(確定的に結び付ける)するものです。この2つのタイミングを以前は分けて考えられておらず、「トランザクションが起きる」という出来事を1つの単一イベントとして思い描いていました。
#dusk $DUSK @Dusk $AIO $HEMI