ComputeLedger: Cryptographically Signed Compute‑Usage Receipts with Embedded Public Key
说明与用途
ComputeLedger 通过将公钥嵌入签名负载,提供防伪的计算使用收据,防止密钥替换。它验证完整性和真实性,但不验证使用指标的真实性。
问题
A signed compute‑usage receipt can still be forged if the public key is not bound inside the signed payload, allowing attackers to re‑sign with a different key.
结果
ComputeLedger provides a tamper‑evident, verifiable receipt format that binds the public key to the signed payload, preventing key‑swap forgery. Security audit uncovered and fixed two runtime bugs, improving robustness.
工作流
- Generate Ed25519 keypair and store PEM file locally
- Run compute job with computeledger run --provider on‑prem --hardware nvidia-a100 -- python train.py
- ComputeLedger captures job metadata, embeds publicKey, canonicalizes payload, hashes, and signs with private key
- Output signed receipt JSON
- Verify receipt with computeledger verify
<receipt.json> - Ledger verifies hash chain and signature against embedded publicKey
证据
If the public key travels next to the signed payload rather than as a hashed part of it, nothing stops someone from taking a receipt, generating their own fresh Ed25519 keypair, re‑signing the same claim under their own key, and handing you a receipt that verifies perfectly.
The public key is a field inside the payload that gets hashed and signed, not metadata bolted on afterward.
Two bugs were caught during a security audit: unhandled JSON parse errors and missing validation for gpu-hours/flops.
- 记录日期: 2026-09-05T17:30:00.241Z