| Penulis | Team Rocket (Sekniqi, Kevin; Yin, Maofan; Gün Sirer, Emin) |
|---|---|
| Tahun | 2018 |
| Proyek | Avalanche / Snow Protocols |
| Lisensi | Public |
| Sumber Resmi | assets.website-files.com (Avalanche Consensus) |
Makalah “Snowflake to Avalanche” (2018) oleh Team Rocket (pseudonim untuk Kevin Sekniqi, Maofan Yin, dan Emin Gün Sirer dari Cornell) memperkenalkan keluarga protokol konsensus Snow — paradigma baru yang berbeda fundamental dari Proof of Work maupun BFT klasik. Protokol Snow mencapai konsensus melalui subsampling acak berulang — setiap node hanya bertanya kepada sejumlah kecil node lain (k=20) dan memperbarui preferensinya berdasarkan suara mayoritas, diulang hingga konvergensi.
Empat Protokol dalam Keluarga Snow
1. Slush (Tanpa Memori)
Protokol paling sederhana: node memilih nilai (0 atau 1), bertanya kepada k node acak, jika α atau lebih menjawab berbeda, ubah preferensi. Ulangi hingga R putaran. Tidak memiliki state historis — hanya nilai saat ini. Lemah terhadap adversary adaptif karena tidak ada “kepercayaan diri” yang dibangun.
2. Snowflake (Penghitung Kepercayaan Diri)
Menambahkan penghitung kepercayaan diri (β) ke Slush. Node menambah penghitung ketika mendapat suara mayoritas untuk nilai saat ini; mereset ketika mengubah nilai. Node memutuskan ketika penghitung mencapai threshold β. Ini menciptakan “inersia” terhadap flipping — lebih sulit bagi adversary untuk menyebabkan osilasi tanpa akhir.
3. Snowball (Preferensi Kumulatif)
Menambahkan penghitung kepercayaan kumulatif per nilai — melacak berapa total kali nilai ini mendapat suara mayoritas sepanjang sejarah. Node selalu memilih nilai dengan penghitung kumulatif tertinggi sebagai preferensi “terkuat”. Lebih tahan terhadap adversary yang mencoba memanipulasi node untuk mengubah nilai.
4. Avalanche (DAG)
Protokol yang sebenarnya digunakan: memperluas Snowball ke DAG (Directed Acyclic Graph) of transactions daripada keputusan biner. Setiap vertex (transaksi) dalam DAG memilih confidence sendiri. Transaksi yang conflicting tidak bisa keduanya accepted. Finalitas tercapai ketika confidence vertex melampaui threshold β.
Parameter Konsensus
| Parameter | Nilai Default | Arti |
|---|---|---|
| k (ukuran sampel) | 20 | Jumlah node yang diquery per putaran |
| α (quorum) | 15 (75% dari k) | Minimum suara mayoritas untuk mengubah/mempertahankan preferensi |
| β (threshold) | 150 | Putaran berturut-turut yang diperlukan untuk finalisasi |
Kompleksitas Pesan
Biaya komunikasi protokol Snow: O(k log n) per keputusan — jauh lebih efisien dari BFT klasik yang O(n²). Dengan k=20 dan jaringan 1.000 node, Snow memerlukan hanya ~200 pesan dibandingkan ~1 juta untuk BFT all-to-all.
Implementasi Avalanche
Platform Avalanche menggunakan dua varian:
- Avalanche DAG: Mesin DAG asli untuk transaksi AVAX (X-Chain)
- Snowman: Varian linear (blockchain normal) dari protokol Snow — digunakan untuk P-Chain (Platform) dan C-Chain (EVM-compatible)
Finalitas C-Chain Avalanche: ~1–2 detik, jauh lebih cepat dari Ethereum pre-Merge (12–20 menit).
Catatan Realistis
- Snow adalah inovasi konsensus yang benar-benar asli — bukan varian PoW atau BFT klasik. Finalitas sub-2-detik dengan throughput tinggi terbukti dalam produksi.
- Finalitas probabilistik: Berbeda dari BFT yang deterministik, finalitas Snow bersifat probabilistik — kemungkinan revert menurun secara eksponensial tetapi tidak pernah nol secara matematis. Dalam praktik, ini tidak menjadi masalah nyata.
- Validitas adversarial: Keamanan protokol tergantung pada asumsi bahwa adversary tidak mengontrol lebih dari α node dalam setiap sampel. Dengan k=20 dan α=15, adversary yang mengontrol <~20% jaringan tidak bisa secara konsisten memanipulasi.
Istilah Terkait
Referensi
- Team Rocket. (2018). Snowflake to Avalanche: A Novel Metastable Consensus Protocol Family for Cryptocurrencies. avalanche.network