Formal Verification

Formal verification menetapkan bukti matematis bahwa smart contract memenuhi spesifikasi formal — alih-alih menguji bahwa input yang diketahui menghasilkan output yang benar, formal verification membuktikan bahwa semua input yang mungkin menghasilkan output yang benar (dalam ruang lingkup spesifikasi). Untuk smart contract, di mana bug dapat menyebabkan kerugian finansial yang tidak dapat dibalik, jaminan matematis dari formal verification sangat meyakinkan: jika kontrak diverifikasi secara formal terhadap spesifikasi yang mencakup reentrancy atau integer overflow, kerentanan tersebut secara terbukti tidak ada, bukan sekadar belum diuji atau tidak terdeteksi dalam audit.

Pendekatan Formal Verification

Pendekatan Metode Digunakan Untuk
Model checking Eksplorasi ruang state yang exhaustif Mesin state protokol
Theorem proving Bukti matematis menggunakan proof assistant (Coq, Isabelle) Invariant kompleks
Symbolic execution Eksekusi dengan variabel simbolis Keterjangkauan kontrak
SMT solving Satisfiability modulo theories Backend Certora Prover
Abstract interpretation Aproksimasi semantik program Analisis statis (Slither)

Tool Utama

Tool Pengembang Pendekatan Use Case
Certora Prover Certora SMT-based verifier untuk Solidity Aturan protokol DeFi
K Framework Runtime Verification Kerangka semantik + model checker Spesifikasi EVM
Halmos a16z Symbolic testing dengan Foundry Verifikasi properti
Echidna Trail of Bits Fuzzer berbasis properti Pengujian seperti-properti

Riwayat

  • 2015-2017: Penelitian formal verification smart contract awal pasca-DAO hack; K Framework mulai memodelkan semantik EVM
  • 2019: Certora didirikan; mengembangkan Certora Prover untuk Solidity
  • 2020: Aave dan Compound mulai menggunakan Certora Prover untuk verifikasi komponen kritis
  • 2021: Formal verification Uniswap v3 oleh Runtime Verification — memverifikasi matematika AMM inti
  • 2022-2024: Certora banyak diadopsi; lebih banyak protokol menyertakan formal verification bersama audit tradisional

Kesalahpahaman Umum

“Formal verification membuktikan kontrak aman.”

Formal verification membuktikan kontrak memenuhi spesifikasi-nya. Spesifikasi yang salah menghasilkan kontrak yang terverifikasi secara formal tetapi berperilaku salah. Formal verification membuktikan ketiadaan bug dalam ruang lingkup spesifikasi — bukan keamanan komprehensif.

Kritik

Formal verification tidak dapat memverifikasi keseluruhan codebase secara exhaustif dalam waktu yang wajar — ini paling efektif untuk properti yang terdefinisi dengan baik dari logika kontrak kritis. Serangan ekonomi dan oracle manipulation tingkat tinggi mungkin tidak dapat diekspresikan sebagai properti formal. Biaya dan keahlian yang diperlukan masih signifikan.

Sentimen Media Sosial

Di X/Twitter, formal verification dibahas oleh peneliti keamanan smart contract dan auditor DeFi. Di komunitas kripto Indonesia, relevan bagi pengembang dan auditor blockchain tingkat lanjut.

Terakhir diperbarui: 2026-04

Istilah Terkait

Lihat Juga

Sumber

  • Certora (https://certora.com) — platform formal verification terkemuka untuk DeFi.
  • K Framework (https://kframework.org) — kerangka semantik untuk spesifikasi EVM.
  • a16z Halmos (https://github.com/a16z/halmos) — symbolic testing berbasis Foundry.