#dusk $DUSK @Dusk

私はDuskの転送を追跡するとき、同じ過ちを繰り返してしまう自分を見つけてしまう。
証明が通ったのを見て、反射的に「よし、これで自分のものだ」と思ってしまうのだ。

それはもっともに聞こえる。けれど、取引をもう一歩先まで追うと、そうでもない。

Phoenix にはすでにシールド化された DUSK が用意されている。受信ウォレットは XSC 保持者条件を満たしている。DuskVM は Confidential Security Contract の中にあるゼロ知識証明を受理した。

だから私は、難しい部分は基本的に終わったのだと思った。
違った。

DuskVM が証明を受け入れたということは、転送が XSC 条件を満たしたことを意味する。
つまり、その手順において受信ウォレットが有効であることは分かる。
だが、それでも Dusk L1 が所有権の変更を最終確定したという意味ではない。
その責任は、さらに先の DuskDS にある。そこで状態遷移は、なお決定的で最終的なものにならなければならない。

この些細なギャップが、私のアーキテクチャの読み方を変えた。
受信者は有資格であり得る。
条件は満たされ得る。
証明は受理され得る。
それでも、所有状態はまだ待っている可能性がある。
私は DuskVM を最後の扉のように扱っていた。
たぶん、それは「この遷移を進めてよい」というシステムの判断点として理解した方がいい。
DuskDS は、受理されたその遷移が L1 の最終状態になる場所だ。

つまり、ここには本当に3つの異なる瞬間がある。妥当(valid)、実行可能(executable)、最終確定(final)。
私はこの3つを一つにまとめてしまっていた。

そして今、考えている:
もし証明はすでに通っているのに DuskDS がまだ状態を最終確定していないなら、資産が私のものになったと、いったい正確にどの時点で言うべきなのだろうか?

@Dusk #dusk $DUSK