Cả ba lược đồ chữ ký hậu lượng tử của NIST - hai chuẩn đã được hoàn thiện và một vẫn đang trong dự thảo (FN-DSA) - hiện đã được kiểm chứng bên trong một zkVM và được kiểm tra trên chuỗi trên Kaspa testnet, mỗi lược đồ đều có cơ chế chống can thiệp (tamper control). Không có phép ghép cặp (pairings) nào.

Cùng một quy trình cho cả ba: xác minh chữ ký trong một RISC Zero zkVM → nén thành STARK gọn nhẹ (FRI/Poseidon2) → một node Kaspa sẽ xác minh STARK đó on-chain thông qua opcode KIP-16 ZK. Không dùng Groth16.

• FIPS-204 - ML-DSA-44 / Dilithium (lattice).
b7add3df69d54ca96b171771d92cad300d231504ed80ea55a9873edb08094eca

• FIPS-205 - SLH-DSA / SPHINCS+ (hash-based).
01f747bc0e559bb7080d3e77dae8a4c1902545da1d97b55a9b37be90870f2342

• FIPS-206 (dự thảo) — FN-DSA / Falcon-512 (lattice/NTRU), bản cài đặt của Pornin.
aec459a84600caa13f6ce2c13104285c1b55c8cb8a986340bf5c135b65f15bc3

Và thêm một bước nữa ngoài việc chỉ xác minh chữ ký: một UTXO được bảo mật bởi PQ - một đồng chỉ được di chuyển khi có một chữ ký ML-DSA hợp lệ đúng trên lần chi đó. Điều khoản ràng buộc (covenant) tái tạo thông điệp đã ký từ chính giao dịch (introspection), nên các quỹ không thể bị chuyển hướng, và bằng chứng được gắn chặt với đúng giao dịch cấp vốn mà nó đã ký.
e33a1332e72266f361b6276449c6b3273bbb03a6fe1caff4d7db71f56806ff90

Chúng tôi phát lại (replay) bằng chứng đó cho một đồng thứ hai ở cùng mức khóa; node đã từ chối, và đồng đó vẫn chưa được chi ở tại mức khóa - chính bằng chứng on-chain mà việc phát lại không thể di chuyển nó:
31366d00a6eee4f36e04d977e34812f07c5adc86f580e934ba35e3ef5b855920

Chi phí zkVM trải rộng khoảng ~15×: Falcon ~1,8 phút, ML-DSA ~8, SLH-DSA ~27 (SLH-DSA dựa trên hash → hàng nghìn phép nén SHA-256). Mỗi lược đồ đều có một bài kiểm tra âm (negative control) - một bằng chứng bị sửa (tampered) hoặc bị phát lại, bị từ chối on-chain, vì vậy nó không phải là một thao tác rỗng (no-op).

Nói thẳng về phạm vi: đây là lớp chữ ký, không phải là "Kaspa đã sẵn sàng cho lượng tử" - khai thác lượng tử và cam kết UTXO MuHash là các vấn đề khác, khó hơn, và phần này không đụng đến.
Testnet-10 PoC; các giao dịch vẫn là secp256k1.

Bổ sung cho @Max143672's XMSS - của anh ấy là hướng đi bản địa.

(Các thực tập sinh của chúng tôi đã bận rộn)