攻撃者が自分の鍵でチェーン全体を鋳造し直しても、レシートビューアは合格と判定する
レシートチェーン 194 本、9,841 件はすべて検証を通りました。しかしオフラインの単一ファイルのビューアには構造的な限界があります。チェーン全体を一度鋳造し直されても、それでも合格するのです。これは脆弱性ではなく、署名の定義上の境界です。
#チェーン検証が捕まえられない三つのこと
| 捕まえられないもの | なぜか |
|---|---|
| 切り詰め | チェーンには信頼できるチェーン先頭がありません。末尾を切り落としても同じように合格します。 |
| 分岐 | 同じ人が同じイベントについて内容の異なる二本のチェーンに署名すると、二本とも検証を通ります。 |
| 記録漏れ | 一度も書き込まれなかったイベントについて、レシートは自分がその一件だと主張できません。 |
#R455:オフラインビューアの限界
私たちは外部リソースゼロ、ネットワークリクエストゼロの単一ファイルのオフラインビューアを作りました。レシートをファイルに埋め込み、file:// で直接開くだけでチェーン全体の検証を最後まで実行できます。
| ファイル | サイズ |
|---|---|
exhibit/receipts/receipt_viewer.html | 0.3 MB |
exhibit/receipts/receipt_viewer_multiparty.html | 4.5 MB |
そして、それを攻撃しました。
#なぜこれは直せる脆弱性ではないのか
この一文には、多者実行のところでもっと鋭い版があります。
署名が指し示すのは鍵であって、主体ではない。鍵の多数は独立した主体の多数ではない。
#緩和策
#なぜ私たちは直すのではなく、はっきり述べることを選んだのか
#このことが「説明責任を問える」という定義にとって持つ意味
私たちの定義は、特定の鍵が署名したイベントの追跡可能性と照合可能性です。}}
#誠実な限界
#次に
- 名指しの仕組みとその数学的な上限:named-dissent
- レシートの五段階の語彙とレベル:レシート
- 「説明責任を問える」はなぜ「信頼できる」と同じではないのか:アカウンタビリティ層

