0Pricing
Cryptology Academy · Pelajaran

Fungsi Acak yang Dapat Diverifikasi dalam Konsensus

Pahami VRF dan cara mekanisme ini menghasilkan keacakan yang tidak dapat diprediksi tetapi dapat diverifikasi dalam pemilihan pemimpin (Algorand, Cardano).

Fungsi Acak yang Dapat Diverifikasi dalam Konsensus adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Kebutuhan akan Keacakan yang Dapat Diverifikasi

Protokol konsensus memerlukan keacakan untuk pemilihan pemimpin, pemilihan komite, dan penetapan pecahan. Keacakan tersebut harus memenuhi tiga sifat: tidak dapat diprediksi (tidak seorang pun dapat memprediksi keluaran sebelum diungkapkan), tidak dapat dimanipulasi (tidak ada peserta yang dapat memengaruhi keluaran demi keuntungannya), dan dapat diverifikasi secara publik (siapa pun dapat memverifikasi bahwa keluaran tersebut benar tanpa memercayai pembuatnya). Pendekatan naif tidak berhasil: bilangan acak dari satu simpul dapat dimanipulasi, sedangkan skema komitmen-pengungkapan memungkinkan bias dari pihak yang mengungkapkan terakhir. Fungsi Acak yang Dapat Diverifikasi (VRF) menyelesaikan ketiga persyaratan tersebut.

Definisi Formal VRF

Fungsi Acak yang Dapat Diverifikasi (VRF), yang diperkenalkan oleh Micali, Rabin, dan Vadhan pada 1999, adalah fungsi semu-acak yang menyediakan bukti kebenaran. VRF memiliki tiga algoritme: KeyGen menghasilkan pasangan kunci (SK, PK); Prove(SK, alpha) menghasilkan (beta, pi), dengan beta sebagai keluaran dan pi sebagai bukti; serta Verify(PK, alpha, beta, pi) mengembalikan valid atau tidak valid. Keluaran beta tidak dapat dibedakan dari keluaran acak oleh siapa pun yang tidak mengetahui SK (keacakan semu VRF), dan bukti pi tidak dapat dipalsukan (keunikan VRF). Ukuran bukti adalah O(1)—konstan terlepas dari masukan.

ECVRF: VRF pada Kurva Eliptik

Konstruksi VRF yang paling banyak digunakan adalah ECVRF (IETF RFC 9381), yang didasarkan pada kesulitan logaritma diskret kurva eliptik. Dengan kunci privat x dan masukan alpha, pembukti menghitung H = hash-to-curve(PK, alpha) (memetakan alpha ke titik kurva), lalu gamma = x * H (perkalian skalar). Keluaran VRF beta = keccak(gamma). Bukti pi menggunakan argumen pengetahuan-nol yang mirip Schnorr: pembukti membuat komitmen terhadap k acak, menghitung tantangan c = hash(H, gamma, k*G, k*H), respons s = k - c*x, lalu menghasilkan pi = (gamma, c, s). Verifikasi memeriksa persamaan Schnorr dan menghitung ulang beta.

VRF dalam Algorand

Algorand (Silvio Micali dkk., 2017) memelopori penggunaan VRF dalam konsensus blockchain. Pada setiap putaran, setiap validator secara pribadi mengevaluasi VRF(SK, round || seed) untuk memperoleh keluaran acak. Keluaran tersebut dibandingkan dengan ambang batas: jika VRF_output < stake_fraction * threshold, validator tersebut dipilih sebagai anggota komite atau pengusul blok. Hanya validator itu sendiri yang mengetahui bahwa dirinya terpilih hingga ia menyiarkan blok atau suaranya beserta bukti VRF. Pemilihan mandiri secara kriptografis ini menghilangkan kebutuhan akan pemilihan pemimpin secara publik, sehingga Algorand tahan terhadap serangan penolakan layanan yang ditargetkan pada pemimpin yang akan datang dan sudah diketahui.

VRF dalam Cardano Ouroboros

Ouroboros Praos milik Cardano (versi yang saat ini digunakan) menggunakan VRF untuk pemilihan pemimpin slot. Pada setiap epoch, benih acak baru diturunkan dari blockchain. Setiap operator stakepool (SPO) mengevaluasi VRF(SK, slot || epoch_seed) untuk setiap slot dalam epoch tersebut. Jika keluarannya berada di bawah ambang batas yang sebanding dengan jumlah stake mereka, mereka menjadi pemimpin slot dan dapat menghasilkan blok. Bukti VRF disertakan dalam header blok, sehingga siapa pun dapat memverifikasi bahwa SPO tersebut dipilih secara sah. Hal ini memberi Cardano keamanan yang dapat dibuktikan terhadap lawan adaptif yang mempelajari jadwal pemimpin di tengah epoch.

VRF vs RANDAO: Kompromi

Ethereum menggunakan RANDAO (tanda tangan BLS yang diakumulasikan), bukan VRF, sebagai sumber keacakannya. RANDAO lebih sederhana—tidak memerlukan primitif kriptografis tambahan selain BLS—tetapi rentan terhadap bias pengungkap terakhir: pengusul blok yang dapat memprediksi bahwa kontribusi RANDAO mereka akan menghasilkan hasil yang tidak menguntungkan dapat menahan bloknya, dengan mengorbankan imbalan blok. Pemilihan berbasis VRF menyembunyikan pihak yang terpilih hingga pihak tersebut mengungkapkan dirinya, sehingga sepenuhnya menghilangkan celah ini. Komprominya adalah VRF menambah kompleksitas kriptografis (hash-to-curve dan pembuatan bukti), sedangkan RANDAO menggunakan kembali infrastruktur BLS yang sudah ada.

Chainlink VRF: Keacakan di Luar Rantai

Chainlink VRF menyediakan keacakan yang dapat diverifikasi sebagai layanan untuk kontrak pintar. Kontrak pengguna meminta keacakan dengan membayar token LINK. Sebuah node oracle Chainlink menyimpan pasangan kunci VRF. Node tersebut mengevaluasi ECVRF(SK, seed), dengan seed yang diturunkan dari hash blok dan nonce yang diberikan pengguna, lalu mengirimkan (beta, pi) ke dalam rantai. Kontrak koordinator VRF memverifikasi bukti tersebut sebelum meneruskan keluaran acak kepada pengguna. Hal ini memberi kontrak pintar akses ke keacakan yang tahan manipulasi tanpa mengharuskan rantai menerapkan suar VRF asli—berguna untuk pencetakan NFT, lotre, dan permainan.

VXEdDSA dan Signal Protocol

Signal Protocol menggunakan VXEdDSA (EdDSA X25519 yang dapat diverifikasi), yaitu konstruksi VRF di atas Curve25519. Ketika pengirim membuat tanda tangan kunci awal sekali pakai, VRF digunakan untuk menghasilkan nonce yang deterministik tetapi tidak dapat diprediksi dari pesan dan kunci pengirim. Hal ini mencegah penggunaan ulang nonce, yang akan merusak keamanan EdDSA, sekaligus menjaga agar tanda tangan tetap dapat diverifikasi. Bukti VRF memungkinkan penerima memverifikasi bahwa nonce diturunkan dengan benar, sehingga mencegah pengirim memilih nonce berbahaya yang dapat memungkinkan serangan pemulihan kunci. VXEdDSA menunjukkan bahwa VRF merupakan alat kriptografis umum yang berguna di luar konsensus.

Fungsi Penundaan yang Dapat Diverifikasi vs VRF

Fungsi Penundaan yang Dapat Diverifikasi (VDF) terkadang disalahartikan sebagai VRF. VDF memerlukan komputasi berurutan setidaknya selama T langkah (sifat penguncian waktu), dan menghasilkan keluaran dengan bukti kebenaran yang singkat. VDF digunakan untuk mengurangi bias pengungkap terakhir pada RANDAO: lapisan VDF yang direncanakan untuk Ethereum akan membuat setiap upaya manipulasi mengharuskan pelaku menjalankan VDF terlebih dahulu, yang memerlukan waktu lebih lama daripada jendela serangan. VRF menyediakan evaluasi privat secara instan; VDF menyediakan evaluasi publik yang lambat. Keduanya saling melengkapi: VDF mencegah bias pengungkap terakhir, sedangkan VRF mencegah prediksi pemimpin.

Model Keamanan: Lawan Adaptif vs Statis

Pemilihan VRF memberikan peningkatan keamanan penting terhadap lawan adaptif. Dalam PBFT dan Tendermint, identitas pemimpin diketahui sebelumnya melalui jadwal bergiliran, sehingga lawan dapat melakukan DDoS terhadap pemimpin berikutnya sebelum ia mengusulkan blok. Pemilihan berbasis VRF (Algorand, Cardano) merahasiakan identitas pemimpin hingga blok disiarkan—pada saat itu blok sudah diusulkan, sehingga DDoS datang terlambat. Hal ini disebut keamanan adaptif atau pemilihan pemimpin yang tidak dapat diprediksi. Sifat kriptografis yang memungkinkannya adalah keluaran VRF bersifat pseudorandom bagi siapa pun yang tidak memiliki kunci privat.

Catatan Implementasi VRF

Implementasi VRF yang benar memerlukan perhatian pada beberapa hal. Hash-to-curve harus menggunakan algoritme waktu-konstan yang seragam (IETF RFC 9380 mendefinisikan metode standar untuk mencegah kebocoran waktu). Nonce VRF k dalam bukti harus diturunkan secara deterministik dari (SK, alpha) menggunakan RFC 6979—menggunakan ulang k atau menggunakan k acak yang lemah akan membocorkan kunci rahasia, dengan kerentanan yang sama seperti penggunaan ulang nonce ECDSA. Ukuran bukti untuk ECVRF-P256-SHA256-TAI adalah 80 bita; untuk ECVRF-ED25519-SHA512-ELL2 juga 80 bita—keduanya sesuai untuk disertakan di dalam rantai. Sifat keunikan VRF menjamin bahwa tidak ada dua bukti valid untuk pasangan (SK, alpha) yang sama.

Kuis Pemilihan VRF yang Tidak Dapat Diprediksi

Mengapa pemilihan pemimpin berbasis VRF memberikan keamanan yang lebih kuat daripada penjadwalan pemimpin secara bergiliran?

Ringkasan VRF dalam Konsensus

VRF menghasilkan keluaran pseudorandom dengan bukti kriptografis atas kebenarannya, sehingga memenuhi sifat tidak dapat diprediksi, tidak dapat dipengaruhi, dan dapat diverifikasi secara publik. ECVRF (RFC 9381) adalah konstruksi standar di atas kurva eliptik. Algorand menggunakan pemilihan mandiri kriptografis berbasis VRF untuk menahan serangan lawan adaptif. Cardano Ouroboros Praos menggunakan VRF untuk pemilihan pemimpin pada setiap slot. Chainlink VRF menyediakan keacakan yang dapat diverifikasi bagi kontrak pintar. VRF melengkapi VDF, yang mengatasi bias pengungkap terakhir, dan berbeda dari RANDAO, yang menggunakan tanda tangan BLS terakumulasi dengan kelemahan pengungkap terakhir yang sudah diketahui.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Fungsi Acak yang Dapat Diverifikasi dalam Konsensus” gratis?

Ya — teks lengkap “Fungsi Acak yang Dapat Diverifikasi dalam Konsensus” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Fungsi Acak yang Dapat Diverifikasi dalam Konsensus”?

Pahami VRF dan cara mekanisme ini menghasilkan keacakan yang tidak dapat diprediksi tetapi dapat diverifikasi dalam pemilihan pemimpin (Algorand, Cardano). Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Fungsi Acak yang Dapat Diverifikasi dalam Konsensus” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mekanisme Kriptografi Proof-of-Stake
  2. Protokol BFT: PBFT dan Tendermint
  3. Fungsi Acak yang Dapat Diverifikasi dalam Konsensus
  4. Tanda Tangan BLS dan Skema Tanda Tangan Agregat
← Kembali ke Cryptology Academy