Panduan Bitcoiner Untuk Kecerdasan Data PlatoBlockchain Proof-Of-Stake. Pencarian Vertikal. Ai.

Panduan Seorang Bitcoiner Untuk Proof-Of-Stake

Ini adalah editorial opini oleh Scott Sullivan.

Biasanya Bitcoiners tidak terlalu peduli dengan apa yang terjadi di Shitcoin-land, tetapi sekarang Ethereum telah bergabung menjadi bukti-saham (PoS), ada cukup banyak buzz di Twitter Bitcoin. Tentu saja, jaringan Bitcoin itu sendiri tidak akan terpengaruh, tetapi saya pikir “peningkatan” ini masih layak untuk diperhatikan. Sekarang Ethereum telah membersihkan dirinya dari eksternalitas “kotor” dan “boros” yang terkait dengan proof-of-work (PoW), kita dapat mengharapkan sarung tangan terlepas dalam perang naratif, dan saya pikir Bitcoiner harus siap untuk menyerang balik. .

Mempelajari cara kerja PoS adalah cara yang sangat baik untuk menginternalisasi perbedaan dan pertukaran antara PoW dan PoS. Meskipun saya telah melihat semua argumen tingkat tinggi yang menentang PoS sebelumnya — bahwa PoS lebih diizinkan, terpusat, dan oligarkis — saya akui bahwa tanpa melihat detailnya, semuanya terasa agak bergelombang. Dengan benar-benar menyelami algoritma PoS, kita dapat mulai melihat bagaimana semua properti ini muncul secara alami dari prinsip pertama. Jadi, jika Anda ingin tahu tentang cara kerja algoritma PoS, dan mengapa itu mengarah ke properti semacam ini, baca terus!

Memecahkan Masalah Pengeluaran Ganda

Mari kita mulai dengan rekap cepat dari masalah yang sedang kita coba pecahkan. Misalkan kita memiliki sekelompok besar peserta dalam jaringan cryptocurrency yang mencoba mempertahankan buku besar yang terdesentralisasi. Inilah masalahnya: Bagaimana transaksi baru dapat ditambahkan ke buku besar semua orang, sehingga semua orang setuju transaksi baru mana yang "benar"? PoW memecahkan masalah ini dengan cukup elegan: Transaksi dikelompokkan bersama dalam blok, di mana setiap blok membutuhkan sejumlah besar pekerjaan komputasi untuk menghasilkan. Jumlah pekerjaan yang diperlukan dapat naik atau turun untuk memastikan blok diproduksi rata-rata setiap sepuluh menit, memberi setiap blok baru banyak waktu untuk menyebar ke seluruh jaringan sebelum blok berikutnya dibuat. Setiap ambiguitas diselesaikan dengan memilih rantai dengan pekerjaan paling banyak, dan pengeluaran ganda dicegah karena membutuhkan setidaknya 51% dari kekuatan hash global untuk blok pengeluaran ganda untuk mengejar ketinggalan.

Tapi misalkan sekarang kita ingin membuang wawasan utama Satoshi Nakamoto yang membuat semua ini menjadi mungkin sejak awal. Lagi pula, ASIC sial itu keras dan menjengkelkan, dan mereka mengonsumsi lebih banyak energi daripada gabungan semua jet pribadi George Soros, Bill Gates, dan Hillary Clinton. Apakah ada cara agar kita dapat dengan jelas menyepakati transaksi mana yang benar hanya dengan membicarakannya?

Bukti kepemilikan Ethereum mengusulkan untuk memecahkan masalah ini menggunakan dua bahan utama. Yang pertama adalah membuat "blok pos pemeriksaan" khusus sesekali, yang tujuannya adalah untuk memberikan jaminan kepada semua orang di jaringan tentang "kebenaran" sistem di berbagai titik waktu. Membuat pos pemeriksaan membutuhkan dua pertiga suara mayoritas berdasarkan pasak, jadi ada jaminan bahwa mayoritas validator menyetujui apa yang sebenarnya terjadi pada saat itu. Bahan kedua adalah untuk menghukum pengguna karena menambahkan ambiguitas ke jaringan, sebuah proses yang dikenal sebagai "slashing." Misalnya, jika validator membuat fork, atau memilih sidechain yang lebih lama (mirip dengan serangan 51%), maka taruhannya akan dipotong. Validator juga dapat dipotong karena tidak aktif, tetapi tidak sebanyak itu.

Ini membawa kita ke prinsip pertama di balik PoS, yaitu bahwa PoS didasarkan pada sistem insentif negatif (berbasis penalti).

Ini sangat kontras dengan Bitcoin dan proof-of-work, yang merupakan sistem insentif positif (berbasis penghargaan). Di Bitcoin, penambang dapat mencoba untuk melanggar aturan — blok yang diformat dengan buruk, transaksi yang tidak valid, dan sebagainya — tetapi blok ini hanya akan diabaikan oleh node penuh. Skenario terburuk adalah sedikit energi yang terbuang. Penambang juga bebas untuk membangun di blok yang lebih tua, tetapi tanpa 51% dari hashpower, rantai ini tidak akan pernah mengejar, sekali lagi hanya membuang-buang energi. Setiap penambang yang berpartisipasi dalam tindakan ini, baik sengaja atau tidak, tidak perlu khawatir kehilangan akumulasi bitcoin atau mesin penambangan mereka, tetapi mereka tidak akan mendapatkan hadiah baru. Alih-alih hidup dalam ketakutan, penambang bitcoin dapat melakukan kesalahan dalam mengambil tindakan dan risiko.

Dunia adalah tempat yang sangat berbeda bagi validator yang tinggal di tanah Ethereum. Alih-alih bekerja keras dan dihargai karena menambahkan keamanan ke jaringan, validator tidak melakukan pekerjaan yang sebenarnya, tetapi harus berhati-hati agar node mereka tidak pernah melakukan kesalahan, jangan sampai mereka melihat tabungan mereka terbakar habis. Jika ada perubahan yang diusulkan dilakukan pada jaringan, insting pertama validator adalah mematuhi apa pun yang dilakukan orang lain, atau berisiko dipotong. Menjadi validator seperti berjalan di atas kulit telur setiap hari.

(sumber)

Omong-omong, hidup di bawah sistem insentif negatif adalah salah satu, ahem, “manfaat” bukti kepemilikan, menurut salah satu pendiri jaringan Ethereum, Vitalik Buterin. FAQ:

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Jadi bagaimana pemotongan benar-benar bekerja pada tingkat teknis? Bukankah kita harus terlebih dahulu membuat daftar semua validator, untuk memiliki sesuatu yang akan dipotong? Jawabannya iya. Untuk menjadi validator di Ethereum, seseorang harus terlebih dahulu memindahkan ETH ke alamat “staking” khusus. Daftar ini tidak hanya diperlukan untuk pemotongan, tetapi juga untuk pemungutan suara karena suara mayoritas dua pertiga diperlukan untuk blok pos pemeriksaan.

Ada beberapa implikasi menarik untuk mempertahankan daftar semua validator setiap saat. Seberapa sulit untuk bergabung? Seberapa sulit untuk pergi? Apakah validator dapat memilih status validator lainnya?

Ini membawa kita ke prinsip kedua di balik PoS, yaitu bahwa PoS adalah sistem yang diizinkan.

Langkah pertama untuk menjadi validator adalah menyetorkan beberapa ETH ke alamat staking khusus. Berapa ETHnya? Minimum yang dibutuhkan adalah 32 ETH, atau sekitar $50,000 pada saat penulisan ini. Untuk konteksnya, rig penambangan bitcoin yang layak biasanya berjalan dalam ribuan dolar satu digit, dan penambang rumahan dapat memulai dengan satu S9 untuk beberapa ratus dolar. Agar adil, biaya masuk ETH yang tinggi memiliki pembenaran teknis, karena taruhan yang lebih tinggi berarti lebih sedikit validator, yang menurunkan bandwidth.

Jadi biaya depositnya tinggi, tapi setidaknya siapa pun yang memiliki 32 ETH bebas untuk bergabung atau keluar kapan saja, bukan? Tidak terlalu. Ada risiko keamanan jika koalisi besar validator semuanya masuk atau keluar pada saat yang bersamaan. Misalnya, jika sebagian besar jaringan pergi sekaligus, maka mereka dapat menghabiskan dua kali lipat blok yang telah diselesaikan dengan memutar ulang garpu yang tidak pernah mereka tinggalkan, tanpa dipotong pada kedua rantai. Untuk mengurangi risiko ini, on-dan off-ramp memiliki batas throughput bawaan. Saat ini membatasi diatur ke validator max(4,|V|/65536) per Epoch (setiap 6.4 menit), dan sama untuk masuk dan keluar. Ini diterjemahkan secara kasar menjadi satu set validator penuh setiap sepuluh bulan.

Omong-omong, meskipun validator saat ini memungkinkan untuk mempublikasikan transaksi "keluar" dan berhenti memvalidasi, kode untuk benar-benar menarik dana bahkan belum ditulis. Kedengarannya agak seperti "Hotel California" ...

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Ada satu poin terakhir tentang insentif di balik persetujuan validator baru. Misalkan Anda adalah pemegang saham di sebuah perusahaan besar dan stabil yang membayar dividen secara teratur setiap kuartal. Apakah masuk akal untuk memberikan saham baru secara gratis? Tentu saja tidak, karena hal itu akan mencairkan dividen dari semua pemegang saham yang ada. Struktur insentif serupa ada di PoS, karena setiap validator baru mengurangi pendapatan semua validator yang ada.

Secara teori, validator dapat dengan mudah menyensor setiap transaksi yang menambahkan validator baru; namun, dalam praktiknya, saya pikir pendekatan yang blak-blakan seperti itu tidak mungkin terjadi. Ini akan sangat terlihat dan akan menghancurkan citra Ethereum tentang “desentralisasi” dalam semalam, berpotensi menurunkan harga. Saya pikir pendekatan yang lebih halus akan digunakan sebagai gantinya. Misalnya, aturan bisa perlahan berubah seiring waktu sehingga semakin sulit untuk menjadi validator, dengan alasan yang ditawarkan seperti "keamanan" atau "efisiensi." Kebijakan apa pun yang memperkaya validator yang ada dengan mengorbankan validator baru akan memiliki hambatan finansial, baik diucapkan dengan lantang atau tidak. Kita bisa mulai melihat mengapa PoS cenderung ke oligarki.

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Ikhtisar Algoritma Casper

Sekarang setelah kita mengetahui strategi tingkat tinggi di balik PoS, bagaimana sebenarnya algoritme itu bekerja? Gagasan utama di balik pos pemeriksaan dan tebasan diajukan dalam algoritme yang disebut Casper, jadi kita akan mulai dari sana. Casper sendiri sebenarnya tidak merinci apa pun tentang cara memproduksi blok, melainkan menyediakan kerangka kerja tentang cara menempatkan strategi pos pemeriksaan/tebasan di atas beberapa pohon blockchain yang sudah ada.

Pertama, beberapa konstanta arbitrer (C) dipilih sebagai nomor “spasi pos pemeriksaan”, yang menentukan berapa banyak blok yang terjadi di antara pos pemeriksaan; misalnya, jika C=100 maka pos pemeriksaan akan terjadi di blok 0, 100, 200, dan seterusnya. Kemudian semua node memilih blok pos pemeriksaan mana yang harus menjadi pos pemeriksaan "dibenarkan" berikutnya. Alih-alih memberikan suara pada blok tunggal secara terpisah, validator sebenarnya memilih pasangan pos pemeriksaan (s,t), yang menghubungkan beberapa sumber pos pemeriksaan “s” yang sebelumnya dibenarkan ke beberapa pos pemeriksaan target baru “t.” Setelah tautan pos pemeriksaan (s,t) mendapat dua pertiga suara mayoritas berdasarkan taruhan, maka "t" menjadi pos pemeriksaan baru yang dibenarkan. Diagram di bawah ini menunjukkan contoh pohon pos pemeriksaan:

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Dalam diagram ini, fungsi h(b) mengacu pada “ketinggian pos pemeriksaan”, misalnya kelipatan blok dari 100. Anda mungkin telah memperhatikan bahwa tidak setiap blok keseratus perlu dibenarkan, yang dapat terjadi jika pemungutan suara gagal pada titik tertentu. tinggi. Misalnya, pada ketinggian 200 dua pos pemeriksaan terpisah masing-masing menerima 50% suara. Karena pemungutan suara dua kali adalah pelanggaran yang dapat ditebas, sistem akan "terjebak" kecuali beberapa validator dengan sukarela memangkas saham mereka sendiri untuk mencapai dua pertiga suara. Solusinya adalah setiap orang “melewati” pos pemeriksaan 200 dan “mencoba lagi” di blok 300.

Hanya karena sebuah pos pemeriksaan dibenarkan, tidak berarti itu sudah selesai. Agar sebuah pos pemeriksaan dihitung sebagai selesai, itu harus segera diikuti oleh pos pemeriksaan lain yang dibenarkan pada ketinggian berikutnya yang memungkinkan. Misalnya, jika pos pemeriksaan 0, 200, 400, 500 dan 700 semuanya dibenarkan dan dihubungkan bersama, hanya pos pemeriksaan 400 yang akan dihitung sebagai "selesai," karena itu adalah satu-satunya yang segera diikuti oleh pos pemeriksaan lain yang dibenarkan.

Karena terminologinya sangat tepat, mari kita rekap tiga kategori kita. Sebuah “checkpoint” adalah setiap blok yang muncul pada ketinggian C*n, jadi jika C=100, setiap blok dengan ketinggian 0, 100, 200, 300, dan seterusnya semuanya akan menjadi checkpoint. Bahkan jika beberapa blok dibuat pada ketinggian 200, keduanya akan menjadi "pos pemeriksaan." Sebuah pos pemeriksaan kemudian "dibenarkan" jika itu adalah blok akar pada ketinggian 0, atau jika dua pertiga validator memilih untuk membuat hubungan antara beberapa pos pemeriksaan yang dibenarkan sebelumnya dan pos pemeriksaan saat ini. Sebuah pos pemeriksaan yang dibenarkan kemudian "diselesaikan" jika kemudian terhubung ke pos pemeriksaan lain yang dibenarkan pada ketinggian berikutnya yang memungkinkan. Tidak setiap pos pemeriksaan harus dibenarkan dan tidak setiap pos pemeriksaan yang dibenarkan harus diselesaikan, bahkan di rantai terakhir.

Aturan Tebasan Casper

Aturan tebasan di Casper dirancang sedemikian rupa sehingga tidak mungkin dua pos pemeriksaan akhir ada di dua garpu terpisah, kecuali setidaknya sepertiga validator melanggar aturan tebasan.

Dengan kata lain, hanya pos pemeriksaan akhir yang harus dihitung sebagai blok "kebenaran" yang tidak ambigu. Bahkan mungkin dua pos pemeriksaan yang dibenarkan terjadi di kedua sisi garpu, hanya saja bukan dua pos pemeriksaan yang diselesaikan. Juga tidak ada jaminan tentang kapan atau di mana pos pemeriksaan akhir berikutnya akan terjadi, hanya saja jika terjadi perpecahan rantai, maka Anda harus duduk dan menunggu sampai blok yang diselesaikan muncul di suatu tempat, dan setelah itu terjadi maka Anda tahu bahwa " rantai yang benar”.

Ada dua aturan pemotongan di Casper yang menerapkan properti ini:

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Aturan pertama melarang siapa pun untuk memilih dua kali di pos pemeriksaan dengan ketinggian target yang sama, jadi jika validator memilih dua blok pos pemeriksaan yang berbeda dengan tinggi target 200, itu akan menjadi pelanggaran yang bisa ditebas. Tujuan dari aturan ini adalah untuk mencegah rantai terpecah menjadi dua pos pemeriksaan yang dibenarkan berbeda dengan ketinggian yang sama, karena ini akan membutuhkan 2/3 + 2/3 = 4/3 dari total suara validator, yang menyiratkan bahwa setidaknya sepertiga validator melanggar aturan pemotongan. Namun, seperti yang kita lihat sebelumnya, mungkin saja pos pemeriksaan yang dibenarkan untuk "melewati" ketinggian blok tertentu. Apa yang mencegah rantai membelah menjadi ketinggian target yang berbeda? Misalnya, tidak bisakah pos pemeriksaan 200 bercabang menjadi pos pemeriksaan yang dibenarkan pada 300 dan 400 tanpa ada yang ditebas?

Di situlah aturan kedua masuk, yang pada dasarnya mencegah validator dari "menjepit" suara di dalam suara lain. Misalnya, jika validator memilih 300→500 dan 200→700, itu akan menjadi pelanggaran yang bisa ditebas. Dalam kasus pemutusan rantai, setelah satu cabang melihat pos pemeriksaan yang telah diselesaikan, menjadi tidak mungkin bagi cabang lain untuk melihat pos pemeriksaan yang dibenarkan setelahnya kecuali setidaknya sepertiga dari validator melanggar aturan #2.

Untuk mengetahui alasannya, misalkan blockchain bercabang ke pos pemeriksaan yang dibenarkan 500→800 dan 500→900, lalu pada titik tertentu rantai pertama melihat pos pemeriksaan yang diselesaikan dengan tautan 1700→1800. Karena tahun 1700 dan 1800 hanya dapat dibenarkan pada garpu #1 (dengan asumsi tidak ada yang melanggar aturan pemotongan pertama), satu-satunya cara garpu #2 dapat melihat pos pemeriksaan yang dibenarkan setelah tahun 1800 adalah jika ada hubungan yang dipilih antara ketinggian H1800. Namun karena pemungutan suara ini akan “menjepit” tautan 1700→1800 dan memerlukan dua pertiga suara, dan 1700→1800 telah disahkan dengan dua pertiga suara, maka setidaknya sepertiga dari validator harus melanggar aturan # 2. Makalah Casper memiliki diagram bagus yang menunjukkan properti ini:

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Dan hanya itu, cukup ikuti aturan Casper dan Anda baik-baik saja!

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Tampaknya cukup sederhana, bukan? Saya yakin PoS hanya akan menggunakan tebasan sebagai upaya terakhir mutlak untuk mempertahankan konsensus, dan bukan sebagai mekanisme pemerasan untuk menekan validator agar berperilaku dengan cara tertentu … benar?

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Ini membawa kita ke prinsip ketiga di balik PoS: Tidak ada aturan. "Aturan" adalah apa pun yang dikatakan orang lain.

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Suatu hari simpul Anda dapat secara teknis mengikuti setiap perintah Casper ke surat itu, dan hari berikutnya tabungan Anda dapat dipotong karena Anda melakukan sesuatu yang tidak disukai orang lain. Menyetujui transaksi "tim merah" itu satu kali? Besok mayoritas "tim biru" mungkin akan memangkas Anda. Atau mungkin Anda melakukan sebaliknya dan menghilangkan terlalu banyak transaksi “team red”? Besok mayoritas "tim merah" mungkin akan memotong Anda karena penyensoran. Kemampuan untuk menebas jauh melampaui cakupan sensor OFAC (Office of Foreign Assets Control) yang terbatas. PoS seperti kebuntuan Meksiko tanpa henti, di mana ancaman implisit dari pemotongan selalu ada setiap saat.

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Saya tidak akan terkejut jika dalam hard fork yang kontroversial, kedua belah pihak mengkodekan aturan validasi dari fork lainnya, untuk berjaga-jaga jika mereka ingin menghukum siapa pun yang bergabung dengan pihak yang "salah". Tentu saja, ini akan menjadi opsi nuklir, dan seperti nuklir, masing-masing pihak mungkin hanya memilih untuk menyerang sebagai pembalasan. Saya kira sebagian besar validator individu netral karena mereka akan memprioritaskan pertahanan diri finansial daripada pengorbanan diri politik, tetapi mungkin secara lahiriah memihak jika mereka merasa itu adalah langkah yang benar untuk menghindari pemotongan.

Jam berapa?

Sekarang setelah kita mengetahui dasar-dasar pos pemeriksaan dan tebasan, kita dapat beralih ke algoritma aktual yang digunakan di Ethereum, yang disebut Gasper. Ini adalah portmanteau dari Casper, yang telah kita bahas, dan GHOST, sebuah strategi untuk memilih rantai blok "terbaik" di antara pos-pos pemeriksaan.

Hal pertama yang harus dipahami tentang Gasper adalah waktu itu sendiri adalah variabel independen utama. Waktu dunia nyata dibagi menjadi unit dua belas detik yang disebut "slot", di mana setiap slot berisi paling banyak satu blok. Slot ini kemudian membentuk kelompok yang lebih besar yang disebut "zaman", di mana setiap zaman mengacu pada satu pos pemeriksaan. Setiap zaman berisi 32 slot, membuatnya berdurasi 6.4 menit.

Perlu dicatat bahwa paradigma ini membalik hubungan kausal antara waktu dan produksi blok jika dibandingkan dengan PoW. Di PoW, blok diproduksi karena hash yang valid ditemukan, bukan karena cukup waktu telah berlalu. Tapi di Gasper, blok diproduksi karena cukup banyak waktu dunia nyata telah berlalu untuk sampai ke slot berikutnya. Saya hanya bisa membayangkan bug pengaturan waktu yang rumit yang mungkin dihadapi sistem seperti itu, terutama ketika itu bukan hanya satu program yang berjalan di satu komputer, tetapi puluhan ribu komputer mencoba untuk berjalan secara sinkron di seluruh dunia. Mudah-mudahan, para pengembang Ethereum akrab dengan pemrogram kepalsuan percaya tentang waktu.

Sekarang anggaplah Anda memulai node validator, dan Anda menyinkronkan blockchain untuk pertama kalinya. Hanya karena Anda mengamati bahwa blok-blok tertentu mereferensikan stempel waktu tertentu, bagaimana Anda bisa yakin bahwa blok-blok itu benar-benar diproduksi pada waktu itu? Karena produksi blok tidak memerlukan pekerjaan apa pun, tidak bisakah sekelompok validator jahat mensimulasikan blockchain yang sepenuhnya palsu sejak hari pertama? Dan jika Anda melihat dua blockchain yang bersaing, bagaimana Anda tahu mana yang benar?

Ini membawa kita ke prinsip keempat di balik PoS, yaitu bahwa PoS bergantung pada kebenaran subjektif.

Tidak ada cara objektif untuk memilih di antara dua blockchain yang bersaing, dan setiap node baru ke jaringan pada akhirnya harus mempercayai beberapa sumber kebenaran yang ada untuk menyelesaikan ambiguitas apa pun. Ini sangat kontras dengan Bitcoin, di mana rantai "benar" selalu menjadi yang paling berhasil. Tidak masalah jika seribu node memberi tahu Anda rantai X, jika satu node menyiarkan rantai Y dan mengandung lebih banyak pekerjaan, maka Y adalah blockchain yang benar. Header blok dapat membuktikan nilainya sendiri, sepenuhnya menghilangkan kebutuhan akan kepercayaan.

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Dengan mengandalkan kebenaran subjektif, PoS memperkenalkan kembali kebutuhan akan kepercayaan. Sekarang saya akui, saya mungkin sedikit bias, jadi jika Anda ingin membaca sisi lain, Buterin menulis esai yang berisi pandangannya. di sini. Saya akui bahwa dalam praktiknya, perpecahan rantai tampaknya tidak terlalu mungkin dilakukan mengingat aturan Casper, tetapi terlepas dari itu, saya mendapatkan ketenangan pikiran mengetahui bahwa ini bahkan bukan kemungkinan dalam Bitcoin.

Blok Produksi Dan Voting

Sekarang setelah kita terbiasa dengan slot dan epoch, bagaimana masing-masing blok diproduksi dan dipilih? Di awal setiap epoch, set validator lengkap "secara acak" dipartisi menjadi 32 grup, satu untuk setiap slot. Selama setiap slot, satu validator "secara acak" dipilih untuk menjadi produser blok, sementara yang lain dipilih sebagai pemilih (atau "attestors"). Saya menempatkan "secara acak" dalam tanda kutip karena prosesnya harus deterministik, karena setiap orang harus secara jelas menyetujui set validator yang sama. Namun proses ini juga harus tidak dapat dieksploitasi, karena menjadi produsen blok adalah posisi yang sangat istimewa karena hadiah tambahan yang tersedia dari nilai yang dapat diekstraksi penambang (MEV), atau karena namanya diubah, “nilai maksimum yang dapat diekstraksi.” “Ethereum Adalah Hutan Gelap” adalah bacaan yang bagus tentang ini.

Setelah sebuah blok diproduksi, bagaimana validator lain memberikan suara atau "membuktikan" untuk itu? Proposal blok seharusnya terjadi dalam paruh pertama (enam detik) dari sebuah slot, dan pengesahan dalam paruh kedua, jadi secara teori harus ada cukup waktu bagi para attestor untuk memberikan suara pada blok slot mereka. Tetapi apa yang terjadi jika pengusul blok sedang offline atau gagal berkomunikasi atau membangun di blok yang buruk? Tugas seorang attestor tidak harus memberikan suara pada blok slot itu, melainkan blok mana pun yang "terlihat terbaik" dari pandangan mereka pada saat itu. Dalam kondisi normal ini biasanya akan menjadi blok dari slot itu, tetapi bisa juga menjadi blok yang lebih tua jika terjadi kesalahan. Tapi apa arti "terlihat yang terbaik", secara teknis? Di sinilah algoritma GHOST masuk.

GHOST adalah singkatan dari “Greediest Heaviest Observed SubTree” dan merupakan algoritma rekursif serakah untuk menemukan blok dengan “aktivitas terbaru.” Pada dasarnya, algoritme ini melihat semua blok terbaru dalam bentuk pohon, dan berjalan menuruni pohon dengan memilih cabang dengan pengesahan kumulatif paling banyak pada seluruh subcabang tersebut. Hanya pengesahan terbaru dari setiap validator yang diperhitungkan dalam jumlah ini, dan akhirnya proses ini mendarat di beberapa blok daun.

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Pengesahan tidak hanya suara untuk blok terbaik saat ini, tetapi juga untuk pos pemeriksaan terbaru yang mengarah ke blok itu. Perlu dicatat di Gasper, pos pemeriksaan didasarkan pada zaman daripada ketinggian blok. Setiap epoch mengacu tepat satu blok pos pemeriksaan, yang merupakan blok di slot pertama epoch itu, atau jika slot itu dilewati, maka blok terbaru sebelum slot itu. Blok yang sama secara teoritis dapat menjadi pos pemeriksaan di dua zaman yang berbeda jika zaman entah bagaimana melewatkan setiap slot, jadi pos pemeriksaan diwakili menggunakan pasangan (Epoch, blok). Dalam diagram di bawah, EBB adalah singkatan dari “blok batas zaman” dan mewakili pos pemeriksaan untuk zaman tertentu, sedangkan “LEBB” berarti “blok batas zaman terakhir” dan mewakili pos pemeriksaan terbaru secara keseluruhan.

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Mirip dengan Casper, sebuah pos pemeriksaan menjadi dibenarkan setelah jumlah total pengesahan melewati ambang dua pertiga, dan diselesaikan jika segera diikuti oleh pos pemeriksaan lain yang dibenarkan di zaman berikutnya. Contoh cara kerja pemungutan suara ini ditunjukkan di bawah ini:

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Ada dua kondisi tebasan di Gasper, yang analog dengan aturan tebasan di Casper:

  1. Tidak ada pemungutan suara dua kali dalam waktu yang sama.
  2. Tidak ada suara yang dapat berisi pos pemeriksaan epoch yang "menghimpit" pos pemeriksaan epoch suara orang lain.

Meskipun didasarkan pada zaman dan bukan ketinggian blok, aturan Casper masih memastikan bahwa tidak ada dua pos pemeriksaan akhir yang dapat terjadi pada rantai yang berbeda kecuali sepertiga validator dapat dipotong.

Perlu juga dicatat bahwa pengesahan termasuk dalam blok itu sendiri. Mirip dengan bagaimana sebuah blok di PoW membenarkan dirinya sendiri menggunakan hash-nya, sebuah pos pemeriksaan akhir di PoS membenarkan dirinya sendiri menggunakan semua pengesahan sebelumnya. Ketika seseorang melanggar aturan tebasan, pengesahan buruk itu termasuk dalam blok yang membuktikan pelanggaran tersebut. Ada juga hadiah kecil untuk produser blok yang memasukkan pelanggaran, untuk memberikan insentif untuk menghukum pelanggar aturan.

Forks

Sangat menarik untuk memikirkan apa yang akan terjadi dalam kasus garpu. Untuk rekap cepat, garpu mengacu pada perubahan dalam aturan konsensus, dan mereka datang dalam dua varietas: garpu keras dan garpu lunak. Dalam hard fork, aturan baru tidak kompatibel ke belakang, berpotensi menghasilkan dua blockchain yang bersaing jika tidak semua orang beralih. Dalam soft fork, aturan baru lebih membatasi daripada aturan lama, sekaligus menjaganya agar tetap kompatibel. Setelah lebih dari 50% penambang atau validator mulai menerapkan aturan baru, mekanisme konsensus beralih tanpa memisahkan rantai. Soft fork umumnya diasosiasikan dengan upgrade dan jenis transaksi baru, tetapi mereka juga secara teknis mencakup semua jenis sensor yang diberlakukan oleh mayoritas 51%. PoS juga memiliki jenis "garpu" ketiga yang tidak ada di PoW: pemutusan rantai tanpa perubahan aturan. Tapi karena kita sudah membahas ini, kita akan fokus pada garpu keras dan lunak.

Mari kita mulai dengan kasus paling sederhana: hard fork kontroversial yang berdiri sendiri. Dengan kontroversial, maksud saya perubahan aturan yang membagi pengguna secara politis. Perbaikan bug atau perubahan teknis kecil mungkin tidak akan diperdebatkan, tetapi sesuatu seperti mengubah hadiah validasi mungkin akan menjadi perdebatan. Jika hard fork cukup kontroversial, hal itu dapat mengakibatkan perpecahan rantai dan akan diselesaikan secara ekonomis oleh pengguna yang menjual satu rantai dan membeli rantai lainnya. Ini akan mirip dengan pembagian Bitcoin Cash pada tahun 2017, yang tampaknya memiliki pemenang yang jelas:

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Sekarang anggaplah validator duduk sekitar suatu hari dan memutuskan bahwa mereka tidak dibayar cukup, dan memutuskan mereka harus menaikkan hadiah mereka dari 5% per tahun menjadi 10% per tahun. Ini akan menjadi trade-off yang jelas dalam mendukung validator dengan mengorbankan non-validator yang sekarang akan semakin terdilusi. Jika terjadi pemutusan rantai, rantai mana yang akan menang?

Ini mengarah pada prinsip PoS kelima kami, yaitu uang adalah kekuatan.

Dari 120M ETH yang ada, lebih dari 10% yang saat ini sedang dipertaruhkan, seperti yang terlihat pada grafik di bawah ini:

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Mengingat perdebatan sengit antara validator dan non-validator, dengan asumsi bahwa semua non-validator menjual rantai baru dan semua validator menjual rantai lama, maka secara teori rantai lama akan menang, karena mayoritas ETH masih akan dipegang oleh non-validator (90% versus 10%). Tapi ada beberapa hal lagi yang perlu dipertimbangkan. Pertama, setelah pemutusan rantai apa pun, validator akan tetap “mengontrol” kedua blockchain. Jika validator mampu mempengaruhi rantai lain, mereka mungkin diberi insentif untuk membuatnya gagal. Kedua, ada juga opsi nuklir yang dibahas sebelumnya, di mana rantai baru mungkin memotong siapa pun yang masih memvalidasi rantai lama untuk menekan mereka agar bergabung. Terakhir, validator kemungkinan akan membawa pengaruh sosial dan politik yang signifikan atas semua orang dalam jaringan. Jika Buterin, Yayasan Ethereum, dan bursa semuanya memutuskan secara bersamaan bahwa mereka akan menaikkan hadiah taruhan, saya merasa sulit untuk percaya bahwa pengguna dan validator Ethereum biasa dapat mempertahankan garpu lama sambil juga membuatnya lebih berharga melalui tekanan beli.

Pindah ke garpu lunak, apa yang akan terjadi pada garpu lunak yang kontroversial, seperti sensor OFAC? Validator cukup terpusat, seperti yang dapat kita lihat pada grafik di bawah ini:

Analisis teknis dan mendalam tentang pertukaran yang dibuat oleh mekanisme konsensus Ethereum dalam peralihannya ke proof-of-stake dan bagaimana perbedaan antara proof-of-work.

(sumber)

Tidak seperti PoW di mana penambang bisa beralih kolam dengan menekan sebuah tombol, validator di Ethereum dikunci ke alamat staking sampai mereka memproses transaksi keluar. Jika Lido dan bursa teratas dibuat untuk menyensor transaksi tertentu, mereka dapat dengan mudah melewati dua pertiga mayoritas yang diperlukan untuk menentukan pos pemeriksaan. Sebelumnya, kami melihat bagaimana Buterin dan validator ETH lainnya dapat mencoba untuk melawan garpu lunak sensor dengan garpu keras kontra-sensor mereka sendiri, sambil memangkas sensor dalam prosesnya. Bahkan jika mereka berhasil membuat garpu, banyak nilai yang akan hancur dalam prosesnya, baik dari tebasan maupun dari hilangnya kepercayaan.

Menutup Pikiran

Dalam esai ini, kami melihat bagaimana PoS memecahkan masalah pengeluaran ganda dengan Gasper, kombinasi aturan pos pemeriksaan/tebasan yang disebut Casper, dan aturan pemungutan suara "blok terbaik" yang disebut GHOST. Untuk rekap, Gasper membagi waktu menjadi unit yang disebut slot, di mana setiap slot dapat memiliki paling banyak satu blok, dan slot dikelompokkan ke dalam epoch, di mana setiap epoch mengacu pada satu pos pemeriksaan. Jika dua pertiga suara mayoritas di sebuah pos pemeriksaan, itu menjadi dibenarkan, dan jika dua pos pemeriksaan yang dibenarkan terjadi berturut-turut, yang pertama dari dua pos pemeriksaan itu menjadi final. Setelah pos pemeriksaan diselesaikan, rantai paralel menjadi tidak mungkin diselesaikan, kecuali sepertiga validator dapat disayat.

Dalam proses ini kami menemukan lima prinsip PoS:

  1. PoS menggunakan struktur insentif negatif (berbasis penalti).
  2. PoS adalah sistem yang diizinkan.
  3. PoS tidak memiliki aturan.
  4. PoS bergantung pada kebenaran subjektif.
  5. Di PoS, uang adalah kekuatan.

Masing-masing prinsip ini memiliki perilaku yang berlawanan di PoW:

  1. PoW menggunakan sistem insentif positif (berbasis penghargaan).
  2. PoW adalah sistem tanpa izin (siapa pun dapat memulai atau menghentikan penambangan kapan saja).
  3. Di PoW, fork yang mengubah aturan akan diabaikan.
  4. PoW bergantung pada kebenaran objektif.
  5. Di PoW, penambang melayani pengguna dan memiliki sedikit kekuatan sendiri.

Saya percaya setiap orang harus berusaha untuk menciptakan jenis dunia yang ingin mereka tinggali. Jika, seperti saya, Anda ingin hidup di dunia tanpa izin di mana Anda dapat mengontrol uang Anda, di mana kerja keras dihargai dan kepemilikan pasif adalah kewajiban dan di mana uang Anda akan menyimpan nilainya jauh ke masa depan tanpa berubah secara tiba-tiba, maka Anda mungkin ingin memikirkan dengan hati-hati tentang pertukaran antara PoW dan PoS, dan memperjuangkan prinsip-prinsip yang ingin Anda jalani.

Ini adalah posting tamu oleh Scott Sullivan. Pendapat yang diungkapkan sepenuhnya milik mereka sendiri dan tidak mencerminkan pendapat BTC Inc. atau Majalah Bitcoin.

Stempel Waktu:

Lebih dari Majalah Bitcoin