State of Ethereum Protocol # 2: Rantai Beacon
Beacon Chain dan Ethereum 2.0 - dari mana asalnya dan kemana arahnya . Ketinggalan “Status Protokol Ethereum # 1”? Lihat di sini
Ethereum 2.0 bukan ide baru. Kembali pada tahun 2014, Vitalik berkata tentang Ethereum 2.0 bahwa, "Kami akan menyelesaikan masalah skalabilitas dan konsensus atau mati saat mencoba." Yah, kami masih sangat hidup, dan pandangannya yang diperbarui dari hanya beberapa minggu yang lalu adalah bahwa " Tidak ada masalah teoritis signifikan yang belum terpecahkan yang tersisa untuk Ethereum 2.0. "
Sekarang saatnya untuk apa yang ia sebut "slog pengembangan perangkat lunak," dan Beacon Chain adalah komponen pertama Ethereum 2.0 dalam rencana pengiriman. Pada artikel ini kita akan membahas apa fungsinya, mengapa melakukannya, dan bagaimana itu dikembangkan.
Memperkenalkan Rantai Beacon
Dalam artikel saya sebelumnya , memperkenalkan Ethereum 2.0, saya menunjukkan diagram arsitektur Hsiao-Wei Wang yang sekarang terkenal dari sistem Ethereum 2.0.
Gambar ini juga berfungsi sebagai roadmap langkah demi langkah untuk pengembangan dan pengiriman Ethereum 2.0. Membaca dari atas ke bawah:
- The Rantai Pow utama adalah bagian yang ada saat ini: saat Ethereum Mainnet. Dalam sistem Ethereum 2.0, ini terus beroperasi cukup banyak seperti sekarang. Semuanya di bawah ini baru.
- The Beacon Rantai saat ini sedang dalam pengembangan dan akan menjadi komponen pertama yang akan disampaikan.
- The Chains Shard berikutnya dan di mana skalabilitas akan datang dari. Awalnya, rantai beling hanya akan mengagregasi transaksi dan mencapai konsensus tentang pemesanan mereka, tanpa mengeksekusi mereka. Ini akan menjadi ujian yang baik untuk infrastruktur dan keamanan sistem.
- The VM lapisan komponen besar terakhir dari sistem Ethereum 2.0 dan akan menyediakan untuk pelaksanaan kontrak dan transaksi.
Mengapa kita membutuhkan "Beacon Chain"?
Beacon Chain adalah blockchain baru, Proof-of-Stake. Ini adalah tulang belakang yang mendukung keseluruhan sistem Ethereum 2.0 baru. Detak jantunglah yang membuat sistem tetap hidup. Itu adalah konduktor yang mengoordinasi semua pemain.
Fungsi utama Beacon Chain adalah untuk mengelola protokol bukti kepemilikan untuk dirinya sendiri dan semua rantai beling. Ada sejumlah aspek untuk ini: mengelola validator dan taruhannya; mencalonkan pengusul blok terpilih untuk setiap beling pada setiap langkah; mengorganisir validator ke dalam komite untuk memberikan suara pada blok yang diusulkan; menerapkan aturan konsensus; menerapkan hadiah dan penalti kepada validator; dan, menjadi titik jangkar di mana pecahan mendaftarkan negara mereka untuk memfasilitasi transaksi lintas-pecahan.
Sebelum kita melihat fungsi-fungsi ini secara lebih mendalam, perhatikan terminologi. Nama Beacon Chain berawal pada gagasan "suar acak" - seperti NIST - yang menyediakan sumber keacakan ke seluruh sistem, dan konsep suar acak diadopsi dalam konteks blockchain oleh Dfinity . Meskipun nama "suar" menunjukkan titik pusat, penyiaran ke seluruh sistem, tentu saja tidak seperti itu di blockchain: semuanya terdesentralisasi. Setiap node yang berpartisipasi memelihara Beacon Chain lokalnya sendiri, berusaha untuk tetap terhubung dengan node lainnya. Mungkin gambar dengan konduktor di atas menyesatkan. Sementara Beacon Chain melakukan sisa sistem, konduktor terdesentralisasi, seperti rasa internal masing-masing musisi tentang ritme.
Memperkenalkan Rantai Beacon
Mari kita lihat beberapa fungsi Beacon Chain.
Mengelola Validator
Bagian utama dari pekerjaan Beacon Chain adalah mempertahankan set validator, yang merupakan set node yang telah menempatkan saham yang diperlukan dari 32 Ether, yang bertanggung jawab untuk menjalankan sistem Ethereum 2.0. Ada beberapa status yang dapat dimiliki validator, tetapi hanya yang ditandai sebagai "aktif" yang ambil bagian dalam protokol Ethereum 2.0.
Nodes bergabung dengan set validator dengan mengirimkan saham mereka ke kontrak pada rantai Bukti Kerja (Mainnet saat ini). Setelah beberapa pemeriksaan validitas, pasak dikunci dan kontrak memancarkan entri log (“acara” dalam Soliditas) yang dapat diambil oleh klien Beacon Chain. Node kemudian dilantik ke set validator pada Beacon Chain.
Setelah aktif, validator berpartisipasi dalam protokol dengan mengusulkan blok, ketika dipilih untuk melakukannya, pada Rantai Beacon dan, begitu mereka telah diimplementasikan, rantai beling. Mereka juga bergabung dengan komite yang memilih blok, seperti dijelaskan di bawah ini.
Validator dapat memberi sinyal bahwa mereka ingin keluar dari sistem dan berhenti terlibat. Setelah jangka waktu tertentu (saat ini 97 hari, tetapi dapat dibuat lebih fleksibel), taruhannya, plus hadiah, dikurangi penalti, akan dikembalikan ke salah satu rantai beling. Tidak akan mungkin untuk membuka pasak awal pada Mainnet PoW, kecuali, mungkin, seluruh sistem gagal dan komunitas menyetujui garpu yang mengembalikan uang kepada pembuat.
Semua ini dikelola oleh Beacon Chain.
Memberikan Keacakan
Keacakan kualitas yang baik sangat sulit untuk dihasilkan dalam sistem blockchain, tetapi persyaratan utama dari protokol bukti kepemilikan adalah sumber keacakan yang didistribusikan, diverifikasi, tidak dapat diprediksi, dan (cukup) tidak dapat diukur. Beacon Chain bertanggung jawab untuk menyediakan keacakan ini ke seluruh sistem: beberapa fitur protokol yang dijelaskan di bawah ini bergantung padanya.
Pendekatan saat ini untuk generasi nomor acak adalah konstruksi RANDAO dengan validator memberikan "bawang hash". RANDAO hanyalah cara untuk menggabungkan kontribusi (angka acak individu) yang disediakan oleh banyak peserta menjadi satu nomor keluaran. Untuk mencegah salah satu peserta memanipulasi keacakan secara signifikan, skema komit-pengungkapan digunakan. Ketika validator mendaftar, itu memberikan nilai komitmen yang nomor hashed yang dipilihnya berkali-kali. Setiap kali validator dipilih sebagai pengusul, pengupas akan menghilangkan satu atau lebih lapisan bawang dengan memberikan pra-gambar dari angka terakhir yang terungkap. Semua orang dapat memeriksa bahwa ini dilakukan dengan benar, sehingga pengusul tidak dapat menipu sistem dengan mengubah kontribusinya.
Meskipun skema ini tidak sepenuhnya tidak dapat dilakukan - seorang pengusul dapat melewatkan gilirannya jika tidak menyukai angka acak - itu diyakini cukup kuat untuk desain protokol saat ini.
Blokir pengusul
Beacon Chain mengelola protokol pembuktian kepemilikannya sendiri dan protokol setiap beling. Dalam sistem proof-of-work, simpul yang dapat memilih blok berikutnya, penambang blok, adalah yang pertama untuk menyelesaikan tantangan penambangan. Dalam bukti kepemilikan tidak ada penambangan, sehingga blok pengusul dipilih secara acak, berdasarkan keacakan protokol yang dijelaskan di atas.
Properti lain dari sistem PoW adalah bahwa waktu blok tidak teratur, meskipun rata-rata sekitar 15 detik pada Ethereum. Sebaliknya, saya menggambarkan Beacon Chain seperti detak jantung. Ethereum 2.0 blok diproduksi secara teratur setiap 16 detik (meskipun ada keinginan untuk mengurangi itu menjadi 8 detik jika pengujian menunjukkan itu layak). 16 periode kedua ini disebut "slot".
Di setiap slot, pengusul yang dipilih untuk Beacon Chain mengumpulkan semua suara protokol (pengesahan) dari validator Beacon Chain yang ditetapkan untuk blok sebelumnya dan membentuknya menjadi blok yang diterbitkannya.
Setelah rantai beling tersedia, masing-masing beling akan memiliki pengusul pilihannya sendiri di setiap slot yang akan mengumpulkan transaksi untuk beling itu dan membentuknya menjadi blok untuk dipilih oleh komite beling.
Komite
Sumber keamanan penting dalam pembuktian blockchain adalah komite yang memilih blok mana yang membentuk sejarah sebenarnya dari rantai tersebut. Beacon Chain mengandalkan penghitungan suara, yang dikenal sebagai "pengesahan", dari komite sendiri untuk menyetujui dan mengabadikan (menyelesaikan) sejarahnya. Komite ini, idealnya, bisa menjadi semua validator aktif dalam sistem jika pengesahan mereka dapat dikumpulkan dengan cukup cepat.
Selain itu, Rantai Beacon akan menunjuk sub-komite yang lebih kecil untuk setiap beling secara acak yang, pada waktunya, akan bertanggung jawab untuk mengonfirmasi bahwa pengusul beling berperilaku benar.
Hadiah dan penalti
Namun peran administratif lain untuk Beacon Chain adalah melacak dan memperbarui simpanan validator.
Validator menerima hadiah karena berperilaku baik dan memainkan peran mereka: ini adalah insentif untuk berpartisipasi. Tetapi jika validator melanggar aturan, mereka dihukum dengan menurunkan sebagian 32 deposit Ether mereka (dipotong), dan dikeluarkan dari sistem. Ada juga penalti kecil karena tidak hadir (tidak muncul untuk memberikan suara pada blok) yang disebut "kebocoran kuadratik". Alasan untuk ini tidak kentara, dan tentang memungkinkan sistem untuk terus memproses bahkan jika sejumlah besar validator offline, seperti jika terjadi bencana.
Jika setoran validator turun di bawah 16 Ether, Beacon Chain akan menghapusnya dari set validator.
Tautan silang
Akhirnya, Beacon Chain melakukan pemrosesan tautan silang. Tautan silang mengikat keseluruhan sistem yang terbelah, menyatukan setiap pecahan ke tulang belakang yaitu Beacon Chain.
Secara berkala, kondisi saat ini ("akar data gabungan") dari setiap beling direkam dalam blok Rantai Suar sebagai tautan silang. Ketika blok Beacon Chain telah selesai, blok shard yang sesuai dianggap selesai, dan shard lain tahu bahwa mereka dapat mengandalkannya untuk transaksi lintas-beling.
Buidling the Beacon Chain
Dengan demikian menyimpulkan tur kilat kami dari Beacon Chain yang segera menjadi! Dengan sendirinya, Rantai Beacon mungkin tidak terlalu berguna. Itu tidak dapat memproses transaksi sewenang-wenang: tidak memiliki kontrak pintar; tidak memiliki EVM. Anda tidak dapat melakukan apa pun dengan itu. Tetapi, sebagai komponen pertama Ethereum 2.0 yang dikirimkan, itu adalah fondasi bangunan. Seluruh arsitektur spektakuler yang akan datang harus dibangun di atas ini. Itu harus solid.
Jika Anda ingin masuk ke detail, ada spesifikasi Beacon Chain yang sedang dikerjakan . Semua pembuatan dan pemeliharaan dokumen ini dilakukan secara terbuka: siapa pun dengan masukan yang bermanfaat dipersilakan untuk bergabung. Ada segala macam diskusi bermanfaat yang bisa didapat dalam masalah dan permintaan tarik . Jika Anda hanya ingin berita utama, saya sudah mulai mengkonsolidasikan pembaruan spesifikasi utama dan berita lainnya dalam buletin mingguan .
Untuk menjalankan Beacon Chain Anda membutuhkan klien Beacon Chain. Ini saat ini sedang dikembangkan secara terpisah dari paket akrab klien Ethereum standar (Geth, Parity, Pantheon, et al.) Oleh sejumlah tim. Anda dapat melihat daftar yang saya ketahui di sini dengan tautan ke repositori GitHub mereka. Prysmatic dan Lighthouse membuat pembaruan berkala tentang kemajuan pengembangan klien mereka, dan beberapa tim menawarkan hadiah kepada kontributor.
Adapun rentang waktu ... spesifikasi teknis menyatakan dirinya menjadi 60% selesai pada saat penulisan ini, dan masih ada daftar todo yang cukup tebal . Meskipun demikian, satu jari di udara menunjukkan bahwa spesifikasi tersebut seharusnya cukup lengkap pada akhir tahun, dan bahwa mungkin pada akhir Q1 2019 kita akan menjalankan Beacon Chain testnet multi-klien. Momentum telah berkembang pesat selama beberapa minggu terakhir dan Ethereum 2.0 yang telah lama dibahas benar-benar mulai terjadi!
Komentar
Posting Komentar