今日、同じ方程式が2回チェックされるのを見て、なぜそれを素通りしなかったのかとほぼ思った。

夕暮れのセキュリティ解説を読んでいて、手数料の計算式──ガス上限 × ガス価格 = 最大手数料──がある。これが2度強制される。1回目はメンプールへのエントリ時、2回目はVMの実行中だ。

最初は冗長だと思った。ベルトとサスペンダーで、深く掘る必要はないだろうと。

でも次の段落では生き残れなかった。メンプールだけの強制では不十分だった。悪意ある提案者は、txのフィールドをメンプール上で正直な形に限って含める必要がない。

ここが実際のギャップだ。取引の一部で証明されたり署名されたりした値は、それを後段のあらゆるレイヤーが消費する先まで拘束しない。誰かが最初に正当な手数料を約束(コミット)できても、実行側が「先のチェックが済んでいる」ことを独立に信用しない限り、別の手数料を実行に渡してしまえる。

最大手数料に署名して証明し、メンプールでチェックし、提案者はその保持に何の義務もなくブロックを組み立てる。そしてVMは、実際に届いた内容に対して返金ロジックを実行する。

これにずっと戻ってくる。信頼の大部分は、チェックポイント間で提案者が正直であり続けることに乗っている。まさに、その前提が崩せるからこそ2回目のチェックが存在する。

そのパイプライン内で、この種の「1つのレイヤーだけで済む」フィールドが他にどれだけあるのか分からない。

実際の混雑下では、そのチェックはどうなる? 迅速に組み立てることを迫られる提案者は? 👍
#dusk $DUSK @Dusk