0Pricing
Cryptology Academy · Pelajaran

Protokol Pembuatan Kunci Terdistribusi

Jelajahi protokol DKG yang memungkinkan beberapa pihak membuat kunci bersama tanpa satu pihak pun mengetahui seluruh rahasianya.

Protokol Pembuatan Kunci Terdistribusi 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.

Tujuan dan Motivasi DKG

Distributed Key Generation (DKG) menyelesaikan masalah pihak pembagi tepercaya dalam kriptografi ambang. Tanpa DKG, pihak pusat harus menghasilkan pasangan kunci dan membagikan bagian-bagiannya, sehingga untuk sesaat mengetahui kunci privat lengkap. DKG memungkinkan n pihak menghasilkan pasangan kunci publik/privat secara bersama-sama melalui protokol yang membuat tidak ada satu pihak pun yang mengetahui kunci privat, bahkan koordinator protokol.

Pedersen DKG (1991)

Pedersen DKG adalah protokol DKG praktis pertama, yang diterbitkan pada 1991. Masing-masing dari n pihak menghasilkan rahasia acak s_i dan menjalankan protokol Pembagian Rahasia yang Dapat Diverifikasi (VSS) untuk membagikannya. Setiap pihak menyiarkan komitmen atas koefisien polinomialnya. Setelah semua pihak membagikan kontribusinya, rahasia gabungan adalah jumlah semua nilai s_i, dan setiap pihak memegang satu bagian dari jumlah tersebut.

VSS Feldman sebagai Komponen Dasar

VSS Feldman (Pembagian Rahasia yang Dapat Diverifikasi oleh Feldman, 1987) adalah komponen dasar utama bagi sebagian besar protokol DKG. Pihak pembagi membuat komitmen atas koefisien polinomial sebagai elemen grup (C_j = g^{a_j} mod p). Setiap pihak yang menerima bagian f(i) dapat memverifikasinya terhadap komitmen tersebut dengan memeriksa bahwa g^{f(i)} sama dengan hasil kali C_j^{i^j}. Dengan demikian, pihak-pihak dapat mendeteksi jika pihak pembagi mengirimkan bagian yang salah.

DKG Joint-Feldman dan Keterbatasannya

DKG Joint-Feldman menjalankan VSS Feldman secara paralel untuk semua n pihak, dengan setiap pihak bertindak sebagai pihak pembagi untuk rahasianya sendiri. Pihak-pihak kemudian mengajukan keluhan jika menerima bagian yang tidak valid. Kunci akhir adalah jumlah rahasia dari pihak pembagi yang tidak mendapat keluhan. Namun, DKG Joint-Feldman tidak aman terhadap lawan adaptif yang menyusupi pihak berdasarkan pesan protokol, suatu kelemahan yang diidentifikasi oleh Gennaro, Jarecki, Krawczyk, dan Rabin.

DKG Aman GJKR

Protokol DKG GJKR (Gennaro, Jarecki, Krawczyk, Rabin, 1999 dan 2007) menangani kelemahan Joint-Feldman. GJKR menggunakan VSS Pedersen (komitmen dengan sifat penyembunyian informasi berdasarkan teori informasi), bukan VSS Feldman, serta menambahkan putaran keluhan ketika pihak-pihak dapat mempersengketakan bagian yang tidak valid. DKG yang dihasilkan aman terhadap lawan adaptif dan menjadi referensi teoretis standar untuk DKG yang aman.

Putaran Komunikasi DKG

DKG GJKR memerlukan tiga putaran: putaran komitmen (setiap pihak menyiarkan komitmen VSS), putaran pembagian (pihak-pihak mengirimkan bagian satu sama lain secara langsung), dan putaran keluhan (pihak-pihak menyiarkan keluhan tentang bagian yang tidak valid). Pihak yang gagal menyelesaikan keluhan akan didiskualifikasi. Putaran keempat menggabungkan kontribusi pihak-pihak yang valid menjadi kunci publik akhir dan bagian kunci privat yang terdistribusi.

DKG dalam Kunci Validator Ethereum

Manajemen kunci validator Ethereum menggunakan DKG untuk teknologi validator terdistribusi (DVT). EIP-4844 dan ekosistem DVT (Obol Network, SSV Network) menggunakan tanda tangan BLS ambang pada BLS12-381 agar komite validator dapat menandatangani blok tanpa satu operator pun mengetahui kunci validator lengkap. Hal ini meningkatkan toleransi kesalahan validator dan mengurangi risiko pemotongan akibat kunci disusupi.

Beacon Keacakan Terdistribusi DRAND

DRAND adalah beacon keacakan terdistribusi yang digunakan oleh rantai beacon Ethereum untuk menghasilkan bilangan acak yang tidak dapat diprediksi. DRAND menjalankan DKG di antara sekumpulan node League of Entropy (Cloudflare, EPFL, Protocol Labs, dan lainnya) untuk menghasilkan kunci BLS ambang. Pada setiap putaran, node t-dari-n memberikan tanda tangan parsial yang digabungkan menjadi nilai acak yang tidak dapat diprediksi. Tidak ada satu node pun yang dapat memengaruhi atau memprediksi hasilnya.

DKG untuk Schnorr vs ECDSA

DKG jauh lebih sederhana untuk skema ambang Schnorr/EdDSA daripada untuk ECDSA. Dalam skema ambang Schnorr, kunci privat terdistribusi hanyalah jumlah rahasia pihak (x = x1 + x2 + ... + xn), sedangkan kunci publik adalah jumlah bagian kunci publik (X = X1 + X2 + ... + Xn). Pada ECDSA, sifat nonliniernya berarti DKG harus menghasilkan bagian multiplikatif, sehingga memerlukan protokol yang lebih kompleks.

Protokol Penyegaran Bagian Kunci

Bagian kunci ambang yang digunakan dalam jangka panjang dapat disusupi secara bertahap jika lawan secara perlahan mengompromikan pihak-pihak dari waktu ke waktu. Pembagian rahasia proaktif (protokol penyegaran) secara berkala mengacak ulang bagian-bagian tersebut tanpa mengubah kunci yang mendasarinya. Setelah penyegaran, bagian-bagian dari sebelum penyegaran tidak lagi berguna, sehingga membatasi jendela kerentanan. GJKR dan turunannya mencakup protokol penyegaran yang menggunakan struktur yang sama seperti DKG awal.

Implementasi DKG Praktis

DKG diimplementasikan dalam beberapa sistem produksi. Klien DVT Ethereum, Obol Charon, menggunakan upacara DKG berbasis VSS Pedersen pada BLS12-381. Silent Shard milik Silence Laboratories menggunakan DKG untuk dompet MPC seluler. Pustaka dkg-go mengimplementasikan GJKR untuk aplikasi Go. Threshold Network (sebelumnya Keep Network) menggunakan DKG untuk layanan ECDSA ambangnya yang mengamankan tBTC di Bitcoin.

Kuis DKG Pedersen

Apa sifat utama yang membuat DKG Pedersen lebih unggul daripada pengaturan dengan satu pihak pembagi tepercaya?

Ringkasan Protokol DKG

DKG menghilangkan kebutuhan akan pihak pembagi tepercaya dengan membuat semua n pihak menghasilkan pasangan kunci ambang secara bersama-sama, sehingga tidak ada pihak yang mengetahui kunci privat. Dalam DKG Pedersen, setiap pihak menjalankan VSS atas kontribusinya. GJKR menambahkan keamanan adaptif dengan putaran keluhan. DKG menjadi dasar DVT Ethereum (Obol, SSV), beacon keacakan DRAND, dan penyiapan dompet MPC produksi. Protokol penyegaran memperluas keamanan dengan mengacak ulang bagian-bagian secara berkala.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Protokol Pembuatan Kunci Terdistribusi” gratis?

Ya — teks lengkap “Protokol Pembuatan Kunci Terdistribusi” 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 “Protokol Pembuatan Kunci Terdistribusi”?

Jelajahi protokol DKG yang memungkinkan beberapa pihak membuat kunci bersama tanpa satu pihak pun mengetahui seluruh rahasianya. 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 “Protokol Pembuatan Kunci Terdistribusi” 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. Skema Tanda Tangan Ambang: Konsep
  2. ECDSA Ambang: Penandatanganan Multipihak
  3. Protokol Pembuatan Kunci Terdistribusi
  4. Skema Ambang dalam Blockchain dan HSM
← Kembali ke Cryptology Academy