| Penulis | Goldberg, Lior; Papini, Shahar; Riabzev, Michael |
|---|---|
| Tahun | 2021 |
| Proyek | StarkWare |
| Lisensi | Apache 2.0 |
| Sumber Resmi | eprint.iacr.org/2021/1063.pdf |
“Cairo — a Turing-complete STARK-friendly CPU architecture” (2021, IACR ePrint) oleh Lior Goldberg, Shahar Papini, dan Michael Riabzev dari StarkWare mendeskripsikan bahasa pemrograman dan arsitektur CPU yang dirancang untuk mengekspresikan komputasi arbitrer yang dapat dibuktikan secara efisien menggunakan STARK (Scalable Transparent Arguments of Knowledge). Sebelum Cairo, STARK proof terbatas pada komputasi yang ditentukan sebelumnya. Cairo membuat komputasi arbitrer dapat dibuktikan.
Publikasi dan Konteks
STARK (diperkenalkan oleh Ben-Sasson et al., 2018) adalah sistem bukti ZK yang tidak memerlukan trusted setup dan aman pasca-kuantum. Namun, STARK awal hanya bisa membuktikan satu komputasi spesifik (misalnya, fungsi hash tertentu atau skema tanda tangan tertentu). Untuk setiap aplikasi baru, perlu menulis “sirkuit” baru dari nol. Cairo memecahkan ini dengan mendefinisikan CPU yang dapat dibuktikan — setiap program yang berjalan di CPU ini menghasilkan jejak eksekusi yang dapat dibuktikan oleh STARK.
Arsitektur CPU Cairo
Cairo mendefinisikan arsitektur CPU minimalis:
- Instruction set: Hanya beberapa instruksi (penjumlahan, perkalian atas prime field, pembacaan/penulisan memori, lompat)
- Model memori: Non-deterministik, write-once (alamat hanya dapat ditulis sekali tetapi dibaca berkali-kali)
- Program counter dan stack: Eksekusi bergaya CPU standar
Wawasan kunci: Setiap program yang berjalan di CPU ini menghasilkan execution trace. STARK dapat membuktikan bahwa trace eksekusi yang diberikan sesuai dengan eksekusi program yang valid — tanpa mengungkapkan trace itu sendiri.
Sierra: Representasi Menengah yang Aman
Cairo 1.0 (2023) memperkenalkan Sierra (Safe Intermediate Representation) — bahasa menengah antara kode sumber Cairo 1.0 (mirip Rust) dan Cairo assembly (CASM). Sierra menjamin:
- Provability: Semua program Sierra dapat dibuktikan (tidak ada revert di tengah trace)
- Safety: Sierra mencegah kelas bug tertentu (perilaku tak terdefinisi)
- Gas metering: Memungkinkan pengisian biaya bahkan untuk transaksi yang gagal — esensial untuk model sequencer terdesentralisasi Starknet
Dampak pada Desain zkVM
Cairo memelopori pola desain “algebraic CPU” — kemudian digunakan oleh RISC Zero (berbasis RISC-V), SP1 (Succinct), dan zkVM lainnya. Kontribusi kunci Cairo: alih-alih membangun bahasa native ZK, definisikan CPU generik dan buktikan eksekusi CPU tersebut — menjadikan ZK proof dapat diakses oleh developer tujuan umum.
Aplikasi
- StarkEx: Mesin exchange (dYdX v3, Immutable X, Sorare) menggunakan sirkuit Cairo
- Starknet: Smart contract di Starknet ditulis dalam Cairo; setiap transaksi menghasilkan STARK proof
- Herodotus: ZK storage proof lintas-chain menggunakan Cairo
Istilah Terkait
Referensi
- Goldberg, L.; Papini, S.; Riabzev, M. (2021). Cairo — a Turing-complete STARK-friendly CPU architecture. eprint.iacr.org/2021/1063.pdf