Technical Analysis of the Orchard Soundness Vulnerability in Zcash
Abstract
Pada 29 Mei 2026, security researcher Taylor Hornby melaporkan sebuah critical soundness vulnerability pada Orchard Action Circuit milik Zcash. Kerentanan tersebut mempengaruhi implementasi sirkuit Zero-Knowledge Proof (ZKP) yang digunakan untuk memvalidasi state transition pada Orchard shielded pool. Menurut disclosure resmi, eksploitasi yang berhasil dapat menyebabkan penerimaan transaksi yang secara semantik tidak valid oleh aturan konsensus jaringan.
Berbeda dengan sebagian besar kerentanan blockchain yang muncul pada lapisan aplikasi atau implementasi node, bug ini berada pada lapisan constraint system yang mendefinisikan keamanan kriptografis Orchard.
Background
Orchard merupakan shielded pool generasi terbaru Zcash yang dibangun menggunakan Halo 2 proving system.
Secara konseptual proses validasi transaksi Orchard dapat direpresentasikan sebagai:
Witness โ Circuit Constraints โ Proof Generation โ Proof Verification โ Consensus Acceptance
Keamanan sistem bergantung pada asumsi bahwa seluruh constraint dalam circuit secara lengkap merepresentasikan aturan validitas transaksi.
Dalam terminologi formal:
Valid Witness โ Accept
Invalid Witness โ Reject
Properti kedua dikenal sebagai soundness.
Official Scope of the Vulnerability
Menurut disclosure resmi Zcash Foundation:
ยซ"The issue was a soundness bug in the implementation of the Orchard zero-knowledge proof circuit in the halo2_gadgets crate."ยป
Affected components:
halo2_gadgets < v0.5.0 orchard < v0.14.0 zcash_primitives < v0.28.0 zcashd v5.0.0 โ v6.12.3 zebrad < v4.5.1
Bug tersebut tidak berada pada layer networking, wallet, ataupun consensus engine secara langsung.
Lokasi kerentanan berada pada implementasi circuit yang digunakan untuk menghasilkan dan memverifikasi Orchard proofs.
Nature of the Failure
Berdasarkan informasi yang telah dipublikasikan, eksploitasi memungkinkan verifier menerima state transition yang tidak semestinya valid. Zcash Foundation secara eksplisit menyebut bahwa kerentanan dapat mengakibatkan:
Invalid State Transition
diterima oleh konsensus jaringan.
Secara formal, kondisi yang diharapkan adalah:
โ witness:
Invalid(witness) โ Reject
Namun keberadaan bug menyebabkan kemungkinan:
โ witness:
Invalid(witness) โ Accept
Dalam literatur zk-system, kondisi tersebut merupakan definisi klasik dari soundness violation.
Why Soundness Bugs Are Unusual
Mayoritas vulnerability pada software tradisional berasal dari:
Memory Corruption Integer Overflow Race Condition Input Validation Failure
Sebaliknya pada sistem ZKP, kelas kerentanan yang paling berbahaya biasanya berupa:
Missing Constraint Weak Constraint Constraint Mismatch Unsatisfied Algebraic Invariant
Sebagai ilustrasi:
Constraint yang diharapkan:
A ร B = C
Namun circuit secara tidak sengaja hanya memverifikasi:
A valid B valid
tanpa memastikan relasi:
A ร B = C
Akibatnya prover memperoleh degree of freedom tambahan untuk menghasilkan witness yang tidak merepresentasikan state sebenarnya.
Fenomena ini dikenal luas sebagai:
Under-Constrained Circuit
dan merupakan salah satu sumber utama soundness failure pada ekosistem zk-system modern.
Why Traditional Auditing Often Misses These Bugs
Karakteristik utama soundness bug adalah:
Code executes correctly. Circuit is mathematically wrong.
Dengan kata lain:
fn verify() { return true; }
dapat berjalan sesuai desain implementasi.
Masalahnya bukan pada program.
Masalahnya adalah bahwa circuit yang direpresentasikan program tidak lagi identik dengan model keamanan yang dimaksud.
Karena itu bug jenis ini sering lolos dari:
- unit testing
- integration testing
- fuzzing tradisional
- manual code review
dan biasanya baru ditemukan melalui:
- formal reasoning
- circuit analysis
- symbolic inspection
- cryptographic auditing
AI-Assisted Discovery
Menurut laporan insiden, Taylor Hornby menggunakan Claude Opus 4.8 sebagai bagian dari tooling audit yang digunakan selama investigasi.
Hal yang menarik bukanlah bahwa AI menemukan bug.
Yang lebih penting adalah jenis bug yang ditemukan.
Secara historis, soundness bugs termasuk kategori kerentanan yang sangat sulit dideteksi karena memerlukan analisis terhadap:
Constraint Graph Witness Flow Circuit Semantics Algebraic Relations
Beberapa paper terbaru pada area zk-security menunjukkan bahwa banyak bug kritis berasal dari circuit yang under-constrained meskipun telah melalui audit profesional. Penelitian seperti zkFuzz dan Arguzz menunjukkan bahwa constraint-level vulnerabilities masih ditemukan secara rutin pada sistem yang sudah diaudit.
Kasus Orchard menjadi salah satu contoh nyata bahwa AI-assisted auditing mulai memasuki domain yang sebelumnya hampir sepenuhnya bergantung pada cryptography researchers.
Impact Assessment
Disclosure resmi menyatakan:
No evidence of exploitation. No unauthorized value creation detected.
Selain itu Zcash menyatakan mekanisme Turnstile tetap menjaga integritas total supply jaringan.
Namun terdapat perbedaan penting antara:
No evidence of exploitation
dan
Proof of non-exploitation
Karena Orchard merupakan privacy-preserving pool, observabilitas terhadap aktivitas internal jauh lebih rendah dibanding sistem transparan.
Akibatnya, aspek auditability menjadi salah satu fokus diskusi pasca-insiden.
Conclusion
Secara teknis, insiden Orchard bukan merupakan kegagalan implementasi node, wallet, ataupun konsensus.
Insiden ini merupakan kegagalan pada lapisan yang lebih fundamental:
Constraint System Correctness
Kerentanan tersebut menunjukkan bahwa keamanan zk-system tidak hanya bergantung pada keamanan kriptografi primitif yang digunakan, tetapi juga pada kelengkapan representasi matematis yang diwujudkan dalam circuit.
Dari perspektif penelitian keamanan, temuan ini lebih tepat dipandang sebagai kasus constraint-system soundness failure daripada sekadar bug software konvensional.
Kontribusi paling menarik dari insiden ini bukanlah bahwa AI menemukan bug, melainkan bahwa AI-assisted auditing mulai menunjukkan kemampuan untuk membantu analisis terhadap properti formal yang selama ini dianggap sebagai domain eksklusif cryptography researchers.