PLONK: zk-SNARK Universal dengan Trusted Setup yang Dapat Diperbarui

Penulis Gabizon, Ariel; Williamson, Zachary J.; Ciobotaru, Oana
Tahun 2019
Proyek PLONK (Aztec Network / Ethereum Foundation)
Lisensi Creative Commons
Sumber Resmi eprint.iacr.org/2019/953
Disclaimer: Halaman ini merupakan ringkasan dan analisis edukatif dari whitepaper atau makalah teknis resmi. Konten ini disajikan untuk tujuan pendidikan semata dan bukan merupakan saran investasi atau keuangan. Selalu baca dokumen asli dan lakukan riset mandiri sebelum mengambil keputusan keuangan apa pun.

“PLONK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge” adalah paper oleh Ariel Gabizon (sebelumnya Zcash/ECC), Zachary J. Williamson (Aztec Network), dan Oana Ciobotaru, diterbitkan di IACR ePrint pada 2019. PLONK memperkenalkan zk-SNARK yang menggunakan Structured Reference String (SRS) universal yang dapat diperbarui — satu trusted setup yang berfungsi untuk sirkuit apa pun hingga ukuran maksimum tertentu, menghilangkan kebutuhan upacara trusted setup per-sirkuit yang membuat Groth16 memberatkan secara operasional. Sejak 2020, PLONK dan variannya (TurboPlonk, UltraPlonk, Halo2, Plonky2) menjadi sistem proving SNARK dominan untuk aplikasi ZK baru.

Publikasi dan Konteks

Groth16, meskipun efisien (proof ~200 byte), membutuhkan trusted setup baru untuk setiap sirkuit spesifik aplikasi. Perusahaan yang men-deploy beberapa aplikasi ZK (atau sering mengiterasi sirkuit) menghadapi beban operasional dan kepercayaan yang besar. SNARK universal — sistem di mana satu setup berfungsi untuk semua sirkuit — telah dieksplorasi secara teoritis tetapi terlalu lambat atau terlalu besar untuk menjadi praktis. PLONK mencapai SNARK universal yang praktis.

SRS Universal: Satu Setup untuk Semua Sirkuit

Alih-alih trusted setup per-sirkuit seperti Groth16, PLONK membutuhkan satu Structured Reference String (SRS) yang terdiri dari:

  • [G, tG, t²G, ..., t^d G] — deret kurva eliptik dienkode dengan kekuatan rahasia τ
  • SRS yang sama dapat digunakan untuk membuktikan sirkuit apa pun hingga d gate
  • SRS dapat diperbarui: peserta baru dapat menambahkan entropi tanpa membatalkan kontribusi sebelumnya

Ethereum’s KZG Ceremony (2023) — dengan 140.000+ kontributor — menghasilkan SRS yang kompatibel dengan PLONK dan KZG.

Representasi Sirkuit PLONK

Di mana Groth16 mengkompilasi ke R1CS, PLONK menggunakan arithmetic gates langsung dalam format tabel dengan selector polynomials:

  • Setiap gate: input kiri a, input kanan b, output c, dan polynomial selector q_L, q_R, q_O, q_M, q_C
  • Gate constraint: q_M · a · b + q_L · a + q_R · b + q_O · c + q_C = 0
  • Satu gate dapat merepresentasikan perkalian (q_M=1), penjumlahan (q_L=q_R=1), atau operasi linear apapun

Custom gates (TurboPlonk/UltraPlonk): Perpanjangan PLONK memungkinkan gate kustom untuk operasi kriptografis umum (hash Poseidon, signature secp256k1) — mengurangi jumlah gate yang dibutuhkan hingga 10–100x dibanding sirkuit generic R1CS.

Argument Permutasi

Inovasi teknis inti PLONK adalah argumen permutasi yang membuktikan bahwa koneksi kabel sirkuit (wire connections) di antara gate benar — memastikan output gate satu adalah input gate lain seperti yang dinyatakan sirkuit. Ini diimplementasikan menggunakan evaluasi polynomial atas basis Lagrange, yang jauh lebih efisien dari pendekatan alternatif.

Ekosistem Varian PLONK

  • TurboPlonk / UltraPlonk: Custom gates + lookup arguments (Aztec, Barretenberg prover)
  • Halo2 (Zcash/ECC, 2021): PLONK dengan recursive proof aggregation tanpa trusted setup (menggunakan inner product argument)
  • Plonky2 (Polygon Zero, 2022): PLONK over Goldilocks field + FRI — proof generation 170ms, sangat efisien untuk rekursi
  • HyperPlonk (2022): PLONK dioptimalkan dengan multilinear polynomial commitments

Keterbatasan

  • Proof PLONK lebih besar (~600 byte) dibanding Groth16 (~200 byte) — tradeoff untuk universalitas
  • Waktu prover PLONK lebih lambat dari Groth16 untuk sirkuit yang sama
  • Masih membutuhkan trusted setup (SRS), meskipun universal dan dapat diperbarui

Warisan dan Dampak

PLONK mendefinisikan ulang ekosistem ZK-rollup: zkSync Era menggunakan Boojum (PLONK-based), Aztec Network menggunakan UltraPlonk, Scroll menggunakan varian PLONK. Fleksibilitas custom gates PLONK membuatnya jauh lebih praktis daripada R1CS untuk sirkuit kriptografis nyata. “Oecumenical” dalam judul terbukti akurat — PLONK benar-benar menjadi SNARK universal dalam praktik industri.

Istilah Terkait

Referensi

  • Gabizon, Ariel; Williamson, Zachary J.; Ciobotaru, Oana. “PLONK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge,” IACR ePrint 2019/953
  • eprint.iacr.org/2019/953