Qstamp / 数理
形式的構成

すべてのレシートを支える数理。

本ページでは、Qstamp の構成を厳密に規定し、古典的及び量子的な攻撃者に対して達成される安全性を示すとともに、Quantova Virtual Machine 上で実行される Quanta スマートコントラクトが SI エージェントのアクションのフィンガープリントのアンカリングに適している理由を説明します。

§1 · 記法
H(x)
FIPS 202 に規定される出力256ビットの SHA3
D
アルゴリズム a で計算された記録ダイジェスト。SHA3 の場合は a = 1、出力256ビットの SHA2 の場合は a = 2
s
オペレーティングシステムの乱数生成器から一様に抽出された32バイトのソルト
‖
バイト連結
n, i
バッチサイズ及びリーフ位置。ただし 1 ≤ n ≤ 2^20 かつ 0 ≤ i < n
G, C, S, k
ジェネシスハッシュ、コントラクトアドレス、署名者アドレス及び記録種別

§2 · リーフ

Li = H( 0x00 ‖ "QSTAMP/LEAF/V1" ‖ a ‖ Di ‖ si )

入力は80バイトの固定長です。先頭バイトとラベルにより、リーフはシステム内の他のすべてのハッシュと区別されます。また、アルゴリズム識別子により、一方のアルゴリズムで計算されたダイジェストを他方のアルゴリズムのダイジェストとして提示することが防止されます。

§3 · ツリー

MTH( L0 ) = L0
MTH( L0..n−1 ) = H( 0x01 ‖ MTH( L0..k−1 ) ‖ MTH( Lk..n−1 ) ), k = largest power of two below n

これは RFC 9162 第2.1節の構成です。リーフ i の包含パスは最大で ⌈log2 n⌉ 個の兄弟ハッシュを含み、最大のバッチでは20個となります。検証は RFC 9162 第2.1.3.2節に従い、長さが位置及びサイズと一致しないパスはすべて拒否されます。

§4 · コミットメント

K = H( 0x02 ‖ "QSTAMP/ROOT/V1" ‖ G ‖ C ‖ S ‖ u64( k ) ‖ u64( n ) ‖ MTH )

RFC 9162 のルート単体ではツリーのサイズが定まらないため、同一のパスが複数のサイズの下で検証に合格し得ます。n を束縛することで、この曖昧性が排除されます。G、C 及び S を束縛することにより、保留中のトランザクションから複製され、別のアカウント、コントラクト又はネットワークによってアンカーされたコミットメントは、検証に失敗します。k を束縛することで、宣言された記録種別が固定されます。

§5 · QVM 上でのアンカリング

stamp( Khi , Klo , k ) → emit Stamped( caller , K , k )
caller = address( pk ) = H( scheme ‖ pk ), tx valid ⇔ ML-DSA.Verify( pk , H(body) , σ ) = 1

コントラクトは K を2つの128ビットワードとして、k を1つの64ビットワードとして受け取り、それらを変更することなく、認証済みの呼び出し元とともにイベントとして発行します。QVM は実行前に、検証済みのトランザクション送信者に基づいて呼び出し元をコントラクトメモリに書き込むため、記録される署名者がコールデータによって影響を受けることはありません。イベントはブロックヘッダーのイベントルートにコミットされ、バリデーター委員会により確定されます。

§6 · 安全性

レシートの偽造に必要な計算量。

アンカーされたレシートのいずれかの部分を変更するには、SHA3 の第二原像を発見するか、ML DSA を破る必要があります。汎用的な量子探索は原像探索の計算量を平方根まで削減しますが、それでも128ビットの安全性が残ります。

攻撃必要な解読古典計算量量子計算量
既存のレシートの下で異なる内容を提示するSHA3 の第二原像2^256Grover 探索により 2^128
位置、サイズ、種別又は署名者を改変するコミットメントに対する SHA3 の第二原像2^2562^128
スタンプ実行者が2つの文書に対して1つのダイジェストをアンカーするSHA3 の衝突2^128大容量の量子メモリを前提とする BHT モデルで 2^85、現実的なコストモデルでは約 2^128
アンカリングトランザクションの署名者を偽造するML DSA 65 の偽造NIST セキュリティカテゴリー3NIST セキュリティカテゴリー3
ブロックのファイナリティを偽造する委員会に対する ML DSA 65 の偽造NIST セキュリティカテゴリー3NIST セキュリティカテゴリー3
チェーンから内容を推測するソルト付きコミットメントを逆算する2^256 のソルト空間に対する探索2^128
§7 · Quanta コントラクトがエージェントのフィンガープリントに適している理由

実行レイヤーの特性。

認証された作成者

Quanta のエントリの呼び出し元は、トランザクションの検証済み署名者です。エージェント、又はエージェントのために行動するサービスは、コントラクト内に追加の署名ロジックを設けることなく、自らがアンカーするすべてのコミットメントに束縛されます。

委任された権限のための署名付きオーダー

QVM は、コンテキスト QVM/contract/v1 の下で、VERIFY_ML 命令によりコントラクト内で ML DSA 署名を検証します。エージェントは発行者が署名したオーダーを携行でき、リレイヤーは権限を得ることなくそれを送信できます。各オーダーにはコントラクトが保持するノンスが含まれるため、リプレイすることはできません。

証明済みコード

コントラクトは、そのコンテナの SHA3 識別子が、コンテキスト QUANTOVA/QVM/PROVENANCE/v1 の下で証明済みの Quanta コンパイラによる ML DSA 65 署名を伴う場合にのみ受け入れられます。レビュー担当者は、公開されたソースを再コンパイルし、コンテナをバイト単位で比較できます。

予測可能なコスト

実行は計量されます。呼び出しの手数料は、消費された計量1210単位ごとに500 quon(端数切り上げ)であり、未使用の予約分は返金されます。スタンプのコストは、1件の記録を含む場合も1048576件を含む場合も同じであるため、エージェントのアクションあたりのコストは 1/n に比例して低下します。

fee( m ) = 500 · ⌈ m ⁄ 1210 ⌉ quon
cost per record = fee ⁄ n
1 TQTOV = 1,000,000 quon

§8 · 前提の明示

本構成は、SHA3 及び SHA2 の衝突困難性及び第二原像困難性、ML DSA 65 の偽造不可能性、並びにバリデーター委員会の誠実な多数派を前提とします。リリース 0.1 では、アンカリングトランザクション、イベント及びブロックは、ネットワークの RPC インターフェースを通じて確認されます。今後のリリースでは、ブロックヘッダー、ファイナリティ証明書及びイベント包含証明を各レシートに埋め込み、いかなるエンドポイントへの依存も排除します。ブロック時刻は提案バリデーターにより秒単位で設定され、委員会の時計との差が15秒以内の場合にのみ受け入れられます。