大学の間、飲食店でアルバイトをしていました。厨房は壁の向こう側にありました。客席からはメニューが見えて、注文して、料理を受け取れます。しかし、料理がどのように作られているか、どんな機器が使われているか、そしてその朝に食材を届けた業者が誰なのかは見えません。客席と厨房は、まったく別の空間でした。もし厨房で火事が起きても、誰かが出てきて何か言わない限り、客席は気づけません。そして客席がどれだけ騒がしくても、厨房は気にせず、ただ調理を続けるだけです。
この「分離」こそが、多くのモノリシック・ブロックチェーンにはありません。Ethereumでは、実行、データ保存、決済がすべて同一レイヤーで行われます。トランザクション処理が遅くなれば決済も遅くなります。データ保存がいっぱいになれば実行が影響を受けます。すべてが一つの部屋に絡み合っているのです。
@Dusk_Foundation は DuskDS によってこれを分離します。DuskDS は、実行環境とは独立して動作する専用の Data(データ)および Settlement(決済)レイヤーです。たとえば、キッチンとダイニングルームを別の建物として建て、制御された「通行窓」を設けるイメージです。実行レイヤーはスマートコントラクトのロジックを扱います。DuskDS は、データがどこに置かれるか、そして最終性(finality)がどのように到達されるかを扱います。片方は、もう片方を邪魔せずにアップグレード/最適化できます。
自己批評:レイヤーの分離は、アーキテクチャ図ではすっきり見えます。実際には、実行と決済の間にある「通行窓」が、独自の複雑さを持ち込みます。2つのレイヤーが異なる速度で処理する場合、同期の問題が出ます。つまり、実行状態から1ブロック遅れた決済データを読み取るスマートコントラクトはどうなるのか? レストランのたとえは、厨房がリアルタイムで何席埋まっているかを把握する必要があると気づくまでは成り立ちます。壁はそれを「簡単にする」のではなく、難しくしてしまうのです。
$DUSK は、分離されたレイヤーが、負荷の下で状態同期をどれほど優雅に(破綻なく)扱えるか、紙の上でのアーキテクチャ分離の見た目だけではなく、その観点で評価されるべきです。
$HEMI $H #dusk
この「分離」こそが、多くのモノリシック・ブロックチェーンにはありません。Ethereumでは、実行、データ保存、決済がすべて同一レイヤーで行われます。トランザクション処理が遅くなれば決済も遅くなります。データ保存がいっぱいになれば実行が影響を受けます。すべてが一つの部屋に絡み合っているのです。
@Dusk_Foundation は DuskDS によってこれを分離します。DuskDS は、実行環境とは独立して動作する専用の Data(データ)および Settlement(決済)レイヤーです。たとえば、キッチンとダイニングルームを別の建物として建て、制御された「通行窓」を設けるイメージです。実行レイヤーはスマートコントラクトのロジックを扱います。DuskDS は、データがどこに置かれるか、そして最終性(finality)がどのように到達されるかを扱います。片方は、もう片方を邪魔せずにアップグレード/最適化できます。
自己批評:レイヤーの分離は、アーキテクチャ図ではすっきり見えます。実際には、実行と決済の間にある「通行窓」が、独自の複雑さを持ち込みます。2つのレイヤーが異なる速度で処理する場合、同期の問題が出ます。つまり、実行状態から1ブロック遅れた決済データを読み取るスマートコントラクトはどうなるのか? レストランのたとえは、厨房がリアルタイムで何席埋まっているかを把握する必要があると気づくまでは成り立ちます。壁はそれを「簡単にする」のではなく、難しくしてしまうのです。
$DUSK は、分離されたレイヤーが、負荷の下で状態同期をどれほど優雅に(破綻なく)扱えるか、紙の上でのアーキテクチャ分離の見た目だけではなく、その観点で評価されるべきです。
$HEMI $H #dusk