#dusk $DUSK @Dusk

私は、どのブロックチェーンの「実際のふるまい」が、その取引(トランザクション)の形によってどれほど規定されているのか、ということに何度も立ち返ります。Duskでは、取引は単に価値を移すための単純な命令ではありません。形式そのものが、検証と実行のためにネットワークが必要とする詳細一式をすべて詰め込んでいます――入力、出力、署名、そして付随するメタデータのすべてです。この設計上の選択は、単なる実装上の細部よりも、もっと深いところにあるように感じられます。

このように構造が明示されていれば、ネットワークは最初に起きる前提の段階で、検討可能な「完全で自己完結したオブジェクト」を受け取れます。取引がすでに、プロトコルが処理に必要とするあらゆる要素を持っているため、ルールの追いかけが容易になります。バラバラに散らばった前提を探し回る必要がなくなり、そのオブジェクト自体が、何を確認しなければならないかを宣言してくれるのです。

とはいえ、このトレードオフは現実のものです。すべての項目には理由があり、取引状態の追加の断片が生まれるたびに、それをネットワーク全体が検証し、保存し、そして時間の経過とともに維持しなければならなくなります。表面積が増えます。バージョン管理は難しくなります。エッジケースは増殖します。

そこで残る未解決の問いはこうです。より明示的な取引構造によって、Duskの実行モデルは本当に考えやすくなるのでしょうか。それとも、プロトコル状態をすべての取引に抱え込むことが、単に不要な複雑さを持ち込んでいるだけなのでしょうか。答えは、「明快さ」と「オーバーヘッド」の緊張関係のどこかにあります。