ムーンライトとフェニックスについて考えを巡らせる中で、ひとつのことをずっと間違え続けていた:状態の形が最終性(finality)も決めるのだと扱ってしまっていた。
その前提が気になり始めた。
ムーンライトは公開アカウントモデルを携えて #DuskVM で到着する:Balances(残高)、Sender(送信者)、Receiver(受信者)、Amount(金額)、そしてNonceの進行。
フェニックスはまったく別のトレースを中心に構築されている:Encrypted Notes(暗号化ノート)、Shielded Outputs(秘匿出力)、Nullifiers(無効化子)、そしてPrivate State(秘密状態)。
最初の直感では、こんなにも異なる2つのシステムなら、最終化に至るための方法も2通り必要だろうと思った。
でも、そこで私が実際には必要ない複雑さを足してしまっていたのかもしれない。
ムーンライトはアカウントの形のままでいい。フェニックスはノートの形のままでいい。#DuskVM は、どちらかを普遍的な状態フォーマットに平坦化して、実行がいつ完了したと判断する必要はない。
それにより、私は #DuskDS も考え直すことになった。
私はそれが、2つのモデルの下に共通の $DUSK 状態をひとつ作る必要があると想定していたが、今はその確信が薄れている。
実行ロジックは特化したままでよい一方で、Dusk L1 は得られた状態に対して、1つの決定的な最終性の境界を与えることができる。
そして正直に言えば、その切り分けは、個々の状態モデルそのものより私には面白い。
状態を表す方法が異なるからといって、その状態が最終的に完了したとみなされる“いつ”の答えまで必ず変わる必要はない。
私がまだ気になっているのは、ムーンライトとフェニックスがより複雑になっていくにつれて、この切り分けがどれほどきれいに保たれるのか、という点だ。
#dusk $DUSK @Dusk
その前提が気になり始めた。
ムーンライトは公開アカウントモデルを携えて #DuskVM で到着する:Balances(残高)、Sender(送信者)、Receiver(受信者)、Amount(金額)、そしてNonceの進行。
フェニックスはまったく別のトレースを中心に構築されている:Encrypted Notes(暗号化ノート)、Shielded Outputs(秘匿出力)、Nullifiers(無効化子)、そしてPrivate State(秘密状態)。
最初の直感では、こんなにも異なる2つのシステムなら、最終化に至るための方法も2通り必要だろうと思った。
でも、そこで私が実際には必要ない複雑さを足してしまっていたのかもしれない。
ムーンライトはアカウントの形のままでいい。フェニックスはノートの形のままでいい。#DuskVM は、どちらかを普遍的な状態フォーマットに平坦化して、実行がいつ完了したと判断する必要はない。
それにより、私は #DuskDS も考え直すことになった。
私はそれが、2つのモデルの下に共通の $DUSK 状態をひとつ作る必要があると想定していたが、今はその確信が薄れている。
実行ロジックは特化したままでよい一方で、Dusk L1 は得られた状態に対して、1つの決定的な最終性の境界を与えることができる。
そして正直に言えば、その切り分けは、個々の状態モデルそのものより私には面白い。
状態を表す方法が異なるからといって、その状態が最終的に完了したとみなされる“いつ”の答えまで必ず変わる必要はない。
私がまだ気になっているのは、ムーンライトとフェニックスがより複雑になっていくにつれて、この切り分けがどれほどきれいに保たれるのか、という点だ。
#dusk $DUSK @Dusk
