昨夜は遅くまで起きて、@Dusk architectureを解剖していました。そして、ある特定のディテールがずっと頭から離れずに眠れませんでした。
月光(Moonlight)とフェニックス(Phoenix)が取引の一意性をどう扱うかを比較していたんです。ほとんどのブロックチェーンは単一のセキュリティモデルに従いますが、#DUSK はデュアルエンジン構造を採用しており、プライバシーとスケーラビリティの考え方そのものを根本から変えてしまいます。
以下に、両システムがどのように動作するのかの究極の内訳と、実際の運用上のトレードオフがどこにあるのかを示します。
1. Moonlight:アカウントベース & 連続的な順序
メカニズム:リプレイ保護のために逐次(sequential)なノンスを使用します。
仕組み:各アカウントは、取引を正確な順番で進めていきます。ノンスが一度使われると、その正確なペイロードは再利用(リプレイ)できません。
メリット:クリーンで決定的、スマートコントラクトにとって非常に予測可能です。
運用上のトレードオフ:正確な状態の連携が必要です。高速に連続して取引を処理するウォレットや取引所は、ノンスを完璧に管理して、詰まり(stuck queue)や順序の入れ替わりによる失敗を防がなければなりません。
2. Phoenix:シールド化 & UTXOスタイルのヌリファイア(Nullifier)
メカニズム:二重支払い防止のためにNullifierを使用します。
仕組み:秘密のノートが消費(spend)されると、固有のヌリファイアがネットワークに公開されます。2回目の試行は誰が使ったのか、いくらなのかを明かすことなく、即座に検証失敗になります。
メリット:ゼロ知識の数学により、完全な金融プライバシーを実現します。
運用上のトレードオフ:複雑さをクライアント側のインデックス作成に移します。ウォレットは、使われたヌリファイアを追跡し、受信する秘密ノートを効率よくブロックチェーン上でスキャンする必要があります。
根本的な違い
Moonlightは取引の順序を守ります。
Phoenixは秘密ノートの消費を守ります。
両者は競合するフレームワークではありません。同じエコシステムの中で、まったく異なる運用上の前提に向けて作られているのです。
100万ドルの質問
ネットワーク活動が日々数百万件の取引へと急増する中で、どちらの複雑さの方がスケール時により管理しにくくなるのでしょうか?
Moonlightは、グローバルなノード間でリアルタイムにアカウント状態を連携させる必要がある
Phoenixは、プライバシーを損なわずに、高速なノート発見とゼロ知識ヌリファイア追跡が必要である?
$DUSK #dusk @Dusk $BTC $ETH