#dusk $DUSK @Dusk
当初は「確定(confirmed)」だいたい終着点――Duskにおけるゴールだと思っていた。
違う。
状態チェーン(state-chain)が受理(accepted)され、立証(attested)され、確定(confirmed)され、最終(final)になる――この4つのラベルのうち、確定は3番目に位置する。上流が何か変われば、確定済みのブロックでも差し替えられる可能性は残る。
では、実際に「確定」と「最終」を分けているものは何か。確定とは、十分な後続ブロックが積み重なって、競合するフォークが今では起こりにくくなったことを意味する。最終とは、そのブロック自身の祖先チェーンがすでに最終状態に到達していることを意味する。最終性は単独で得られるものではなく、祖先がひとつずつ最終を継承していくことで成立する。Duskの「最終性のロール(rolling finality)」に関するエンジニアリング議論は、まさにこの継承チェーンが、彼らが取り組んできた中でもより難しいコンセンサス問題の一つであることを明確に扱っている。
ここで境界が面白い形にずれる。あるブロックがそこにあって確定し、安定して見えている一方で、そのブロック自身の親はまだ同じように最終へ向けた登りを進行中であることがある。その時点での巻き戻しは起こりにくい。とはいえ、まだ「不可能」とは言い切れない。
だから「確定(confirmed)」と「最終(final)」は、同じ保証を信頼度の違う2つの呼び名にしたものではない。確定とは、そのブロックの周囲にある後続が示唆する内容を表す。最終とは、そのブロックの系譜自身がすでに固定している内容を表す。
中間段階で、継承に依存する状態を「確定」と呼ぶのは、実際にどれだけ落ち着いているかを言い過ぎなのだろうか。それとも、4段階のはしごは、単なる「最終/未最終」みたいな無骨なフラグよりも正直なだけなのだろうか?
$ACE
$CLO
当初は「確定(confirmed)」だいたい終着点――Duskにおけるゴールだと思っていた。
違う。
状態チェーン(state-chain)が受理(accepted)され、立証(attested)され、確定(confirmed)され、最終(final)になる――この4つのラベルのうち、確定は3番目に位置する。上流が何か変われば、確定済みのブロックでも差し替えられる可能性は残る。
では、実際に「確定」と「最終」を分けているものは何か。確定とは、十分な後続ブロックが積み重なって、競合するフォークが今では起こりにくくなったことを意味する。最終とは、そのブロック自身の祖先チェーンがすでに最終状態に到達していることを意味する。最終性は単独で得られるものではなく、祖先がひとつずつ最終を継承していくことで成立する。Duskの「最終性のロール(rolling finality)」に関するエンジニアリング議論は、まさにこの継承チェーンが、彼らが取り組んできた中でもより難しいコンセンサス問題の一つであることを明確に扱っている。
ここで境界が面白い形にずれる。あるブロックがそこにあって確定し、安定して見えている一方で、そのブロック自身の親はまだ同じように最終へ向けた登りを進行中であることがある。その時点での巻き戻しは起こりにくい。とはいえ、まだ「不可能」とは言い切れない。
だから「確定(confirmed)」と「最終(final)」は、同じ保証を信頼度の違う2つの呼び名にしたものではない。確定とは、そのブロックの周囲にある後続が示唆する内容を表す。最終とは、そのブロックの系譜自身がすでに固定している内容を表す。
中間段階で、継承に依存する状態を「確定」と呼ぶのは、実際にどれだけ落ち着いているかを言い過ぎなのだろうか。それとも、4段階のはしごは、単なる「最終/未最終」みたいな無骨なフラグよりも正直なだけなのだろうか?
$ACE
$CLO