Judul asli: “Berpegang teguh pada 8192 tanda tangan per slot pasca-SSF: bagaimana dan mengapa”
Artikel asli oleh Vitalik Buterin, ETH penelitian
Kompilasi asli: Luccy, BlockBeats
*Catatan editor: SSF (Single Slot Finality) adalah singkatan dari Single Slot Finality, yang menyediakan cara untuk mengurangi latensi Ethereum secara signifikan. Dalam Mekanisme Konsensus Blockchain, finalitas berarti bahwa transaksi atau Blok menjadi tidak dapat dibatalkan, memastikan bahwa itu tidak dapat dirusak atau dibalik. Mencapai finalitas sangat penting untuk kepercayaan dan keamanan sistem Desentralisasi, karena menghilangkan risiko pengeluaran ganda dan aktivitas jahat lainnya. *
*SSF menyarankan bahwa dalam Mekanisme Konsensus Blockchain, satu slot waktu atau unit waktu dapat dianggap “final”. Berbeda dengan EthereumConsensus asli, ini memungkinkan semua validator untuk berpartisipasi dalam mengakui atau menandatangani slot, mengurangi waktu konfirmasi transaksi dan meningkatkan pengalaman pengguna secara keseluruhan. *
Satu perbedaan utama antara Ethereum dan sebagian besar sistem PoS lainnya (dengan finalitas) adalah bahwa Ethereum berusaha untuk mendukung sejumlah besar validator: saat ini kami memiliki 895.000 validator, yang analisis hukum Zipf menunjukkan setara dengan puluhan ribu individu atau entitas independen. Tujuannya adalah untuk mendukung Desentralisasi, memungkinkan orang biasa untuk berpartisipasi dalam staking tanpa mengharuskan semua orang melepaskan kemampuan mereka untuk bertindak dan menyerahkan kendali ke salah satu dari sedikit staking pool.
Namun, pendekatan ini mengharuskan rantai Ethereum untuk memproses sejumlah besar tanda tangan per slot (sekitar 28.000 hari ini; 1.790.000 setelah SSF), yang merupakan beban yang sangat tinggi. Untuk mendukung beban ini, sejumlah pengorbanan teknis harus dilakukan:
Sistem agregasi tanda tangan mungkin tampak masuk akal pada pandangan pertama, tetapi pada kenyataannya itu menciptakan kompleksitas sistemik yang meliputi seluruh sistem.
Selain itu, itu bahkan tidak mencapai tujuannya. Persyaratan minimum untuk staking masih 32 ETH, yang di luar jangkauan banyak orang. Dari sudut pandang analisis logis saja, tujuan dari sistem yang memungkinkan setiap orang untuk menandatangani setiap slot dalam jangka panjang tampaknya tidak layak untuk benar-benar memberikan staking bagi orang biasa: jika Ethereum memiliki 500 juta pengguna, 10% di antaranya berpartisipasi dalam staking, itu berarti 100 juta tanda tangan per slot. Dari perspektif teori informasi, memproses hukuman dalam desain ini membutuhkan setidaknya 12,5 MB ruang bebas data per slot, kira-kira setara dengan tujuan sharding penuh. Mungkin saja, tetapi mengharuskan staking itu sendiri untuk mengandalkan pengambilan sampel ketersediaan data adalah keuntungan kompleksitas yang besar. Dan bahkan kemudian, hanya sekitar 0,6% dari populasi global yang berpartisipasi dalam staking, dan itu belum mulai melibatkan masalah komputasi untuk memverifikasi begitu banyak tanda tangan.
Jadi, alih-alih mengandalkan kriptografi untuk membuat peluru ajaib (atau peluru ajaib) untuk mencapai jumlah tanda tangan per slot yang terus meningkat, saya menyarankan perubahan filosofis: pertama-tama tinggalkan harapan seperti itu. Ini akan sangat memperluas ruang desain PoS dan memungkinkan banyak penyederhanaan teknis, membuatnya lebih aman dengan memungkinkan Helios untuk SNARKs langsung di EthereumConsensus, dan memecahkan masalah resistensi kuantum dengan membuat bahkan skema tanda tangan yang tidak menarik tetapi sudah lama seperti Winternitz layak.
Banyak non-EthereumBlockchain menghadapi masalah yang tepat ini mengadopsi pendekatan berbasis komite untuk keamanan. Selama setiap slot, mereka secara acak memilih N validator (misalnya, N ≈ 1000) yang bertanggung jawab untuk akhirnya mengkonfirmasi slot. Perlu diingatkan mengapa pendekatan ini tidak cukup, karena tidak memberikan akuntabilitas.
Untuk memahami mengapa, katakanlah 51% serangan terjadi. Ini bisa berupa serangan pembalikan terminal atau serangan sensor. Untuk melakukan serangan, Anda masih membutuhkan aktor ekonomi untuk mengendalikan mayoritas saham untuk menyetujui serangan, yaitu, menjalankan perangkat lunak yang terlibat dalam serangan dan berpartisipasi dalam serangan dengan semua validator yang akhirnya terpilih menjadi komite. Pengambilan sampel acak secara matematis memastikan hal ini. Namun, hukuman yang mereka terima untuk ini minimal, karena sebagian besar validator yang menyetujui serangan itu pada akhirnya tidak terpilih menjadi anggota komite dan karenanya tidak terlihat.
Saat ini, Ethereum melakukan yang sebaliknya. Jika serangan 51% terjadi, sebagian besar dari seluruh koleksi validator serangan akan dipotong depositnya. Biaya serangan saat ini adalah sekitar 9 juta ETH (sekitar $ 20 miliar), dan diasumsikan bahwa pemadaman sinkronisasi jaringan dilakukan dengan cara yang paling menguntungkan bagi penyerang.
Saya pikir itu biaya tinggi, tetapi itu harga yang terlalu tinggi untuk dibayar, dan kita dapat berkorban dalam masalah ini. Bahkan biaya serangan 1-2 juta ETH sudah cukup. Selain itu, risiko sentralisasi utama yang saat ini ada di Ethereum tercermin di tempat yang sama sekali berbeda: jika jumlah setoran minimum turun mendekati nol, kekuatan kumpulan staking skala besar tidak akan banyak berkurang.
Itulah mengapa saya menganjurkan solusi jalan tengah: berkorban pada tanggung jawab validator tetapi tetap mempertahankan jumlah total cuttable ETH yang tinggi, dan sebagai gantinya kita dapat menikmati sebagian besar manfaat dari kumpulan validator yang lebih kecil.
Dengan asumsi protokol Konsensus dua putaran tradisional (seperti protokol yang digunakan oleh Tendermint, dan protokol yang pasti digunakan SSF), setiap validator yang berpartisipasi membutuhkan dua tanda tangan per slot. Kita perlu mengatasi kenyataan ini, dan saya melihat bahwa ada tiga cara utama untuk memecahkan masalah ini.
Python Zen mengandung frasa yang sangat penting:
Harus ada satu - dan sebaiknya hanya satu - cara yang jelas untuk melakukannya. )
Ethereum saat ini melanggar aturan ini dalam hal membuat staking setara, karena kami secara bersamaan menerapkan dua strategi berbeda untuk mencapai tujuan ini: (i) staking independen skala kecil, dan (ii) kumpulan staking Desentralisasi menggunakan teknologi validator terdistribusi (DVT). Untuk alasan di atas, (i) hanya beberapa staker individu yang dapat didukung, dan akan selalu ada banyak orang yang jumlah setoran minimumnya terlalu besar. Namun, Ethereum membayar biaya beban teknis yang sangat tinggi untuk mendukung (i).
Salah satu solusi yang mungkin adalah menyerah (i) dan berusaha sekuat tenaga (ii). Kami dapat meningkatkan jumlah setoran minimum menjadi 4096 ETH dan menetapkan batas validator total menjadi 4096 (sekitar 16,7 juta ETH). Staker skala kecil diharapkan untuk bergabung dengan kumpulan DVT: dengan menyediakan modal atau dengan menjadi Operator Node. Untuk mencegah penyalahgunaan oleh penyerang, peran Operator Node perlu dibatasi oleh ambang prestise dalam beberapa cara, dan kumpulan akan bersaing dengan menawarkan opsi yang berbeda dalam hal ini. Penyediaan modal akan tanpa izin.
Kita dapat membuat staking dalam model ini lebih “memaafkan” dengan menetapkan batas penalti (misalnya, 1/8 dari total deposit yang disediakan). Ini akan memungkinkan kurang percaya pada operator Node, meskipun perlu diperlakukan dengan hati-hati karena masalah yang diuraikan.
Kami membuat dua lapisan staker: lapisan “berat” yang membutuhkan 4096 ETH untuk berpartisipasi dalam konfirmasi status akhir, dan lapisan “ringan” tanpa persyaratan minimum (tidak ada penundaan setoran dan penarikan, tidak ada kerentanan pemotongan), menambahkan lapisan keamanan kedua. Agar status akhir blok dapat dikonfirmasi, diperlukan konfirmasi status akhir lapisan berat dan setidaknya 50% lapisan ringan bukti validator cahaya online.
Heterogenitas ini bermanfaat untuk sensor dan ketahanan serangan, karena lapisan berat dan ringan perlu dirusak agar serangan berhasil. Jika satu lapisan rusak dan yang lainnya tidak, rantai akan berhenti, dan jika lapisan berat rusak, itu bisa dihukum.
Manfaat lain dari ini adalah bahwa tingkat ringan dapat berisi ETH yang juga digunakan sebagai jaminan dalam aplikasi. Kelemahan utamanya adalah staking menjadi kurang setara dengan membangun kesenjangan antara staker skala kecil dan skala besar.
Kami mengambil pendekatan yang mirip dengan desain supercommittee yang diusulkan di sini: untuk setiap slot, kami memilih 4096 validator aktif saat ini dan dengan hati-hati menyesuaikan set di setiap slot sehingga kami masih memiliki keamanan.
Namun, kami membuat beberapa pilihan parameter yang berbeda dalam kerangka ini untuk mendapatkan “nilai uang” di dalamnya. Secara khusus, kami mengizinkan validator untuk berpartisipasi dengan saldo tinggi yang sewenang-wenang, dan jika validator memiliki lebih dari jumlah ETH tertentu (yang harus mengambang), mereka berpartisipasi dalam komite di setiap slot. Jika validator memiliki N<M ETH, maka mereka memiliki probabilitas N / M di slot tertentu untuk berpartisipasi dalam komite.
Di sini kita memiliki tuas yang menarik untuk memisahkan “bobot” pada tujuan insentif dari “bobot” pada tujuan Konsensus: hadiah untuk setiap validator di komite harus sama (setidaknya untuk validator yang menggunakan ≤M ETH) untuk menjaga rata-rata hadiah sebanding dengan saldo, tetapi kita masih dapat menghitung bobot validator Konsensus di komite dengan memberi bobot ETH. Ini memastikan bahwa jumlah ETH yang dibutuhkan untuk memecahkan finalitas sama dengan lebih dari 1/3 dari total ETH di komite.
Analisis kasar hukum Zipf menghitung jumlah ETH ini sebagai berikut:
Catatan: Untuk menampilkan data yang dihitung dengan lebih jelas, langkah selanjutnya adalah tangkapan layar

Kerugian utama dari pendekatan ini adalah sedikit peningkatan kompleksitas pemilihan validator secara acak dalam protokol sehingga kita bisa mendapatkan keamanan konsensus jika terjadi perubahan komite.
Keuntungan utamanya adalah mempertahankan taruhan independen dalam bentuk yang dapat dikenali, mempertahankan sistem kelas tunggal, dan bahkan memungkinkan jumlah setoran minimum diturunkan ke tingkat yang sangat rendah (misalnya 1 ETH).
Jika kita memutuskan untuk tetap menggunakan 8192 tanda tangan setelah protokol SSF, itu akan membuat pekerjaan lebih mudah bagi pelaksana teknologi dan pembangun infrastruktur samping seperti klien ringan. Klien konsensus dapat dijalankan dengan lebih mudah oleh siapa saja, dan pengguna, penggemar staking, dan lainnya dapat segera mengerjakan asumsi ini. Beban masa depan protokol Ethereum tidak lagi diketahui: masa depan dapat didorong oleh hard fork, tetapi hanya jika pengembang yakin bahwa teknologi telah cukup meningkat untuk menangani lebih banyak tanda tangan per slot pada tingkat kemudahan yang sama.
Sisa pekerjaan adalah memutuskan mana dari tiga metode yang ingin kita adopsi, atau mungkin pendekatan yang sama sekali berbeda. Ini akan menjadi pertanyaan tentang trade-off apa yang kita rasa nyaman, khususnya bagaimana kita menangani masalah terkait seperti liquid staking, yang dapat diselesaikan secara terpisah dari masalah teknis yang sekarang jauh lebih mudah.
Link ke artikel asli