Bagaimana Protokol P2P Berusaha Memecahkan Sentralisasi Penambangan Bitcoin, Intelijen Data Blockchain. Pencarian Vertikal. ai.

Bagaimana Protokol P2P Berusaha Memecahkan Sentralisasi Penambangan Bitcoin

Kumpulan penambangan Bitcoin bergantung pada sentralisasi, tetapi P2Pool dan protokol lainnya telah berusaha untuk mengurangi kebutuhan akan kepercayaan pada pihak ketiga.

Di sebuah Artikel sebelumnya, saya menulis tentang sifat desentralisasi versus sentralisasi dalam penambangan Bitcoin dan bagaimana mengkonseptualisasikannya secara kualitatif. Artikel tersebut menguraikan seluruh tumpukan penambangan, mulai dari koordinasi kumpulan hingga produksi energi untuk memberikan pemahaman tentang hubungan antara berbagai lapisan tumpukan penambangan dan potensi untuk memaksimalkan desentralisasi, dengan menegaskan bahwa semakin jauh ke bawah tumpukan Anda menuju produksi energi, semakin sulit dan padat modal untuk membawa tingkat desentralisasi yang berarti ke lapisan itu.

Dalam artikel ini, saya bermaksud untuk masuk lebih dalam ke topik kolam penambangan dan koordinasi penambang untuk memfasilitasi operasi penambangan milik sendiri yang bekerja sama dalam upaya menambang blok untuk ditambahkan ke blockchain.

Pembuatan Kolam Penambangan

Penambangan telah berjalan jauh sejak hari-hari ketika Anda cukup mengklik tombol dan menambang blok sendiri dengan andal di CPU laptop. Saat itu, ini secara efektif merupakan usaha penghobi amatir yang tidak memerlukan investasi modal atau keahlian nyata, tetapi saat ini ini adalah pasar profesional multi-miliar dolar dengan investasi modal besar yang diperlukan dalam skala besar. Ini adalah permainan bola yang sangat berbeda.

Salah satu konsekuensi alami dari pergeseran sifat industri pertambangan ini adalah penciptaan kolam pertambangan sejak dini. Ketika penambangan secara efektif meninggalkan laptop yang berjalan di sudut, varians dan ketidakpastian kapan Anda akan menemukan blok bukanlah masalah besar โ€” โ€‹โ€‹pada akhirnya, Anda akan melakukannya dan biaya daya untuk menjaga laptop tetap berjalan tidak terlalu ekonomis. pentingnya.

Setelah semuanya beralih ke GPU dan ASIC, ada biaya investasi material di muka dan biaya listrik yang jauh lebih signifikan untuk membuatnya tetap beroperasi. Ketidakpastian kapan Anda akan menemukan blok menjadi masalah yang jauh lebih besar bagi para penambang yang mencoba untuk menghasilkan pengembalian atas investasi modal mereka dan beroperasi secara menguntungkan. Di sinilah kolam penambangan muncul.

Mereka mengizinkan penambang untuk bekerja sama dalam menemukan header blok yang valid yang bekerja di blok yang sama bersama-sama, mengirimkan hadiah coinbase ke kumpulan penambangan, yang kemudian mendistribusikannya secara proporsional di antara semua penambang yang berpartisipasi relatif terhadap berapa banyak pekerjaan yang telah mereka lakukan dalam membantu menemukan blok. Ini dibuktikan dengan menyerahkan โ€œsahamโ€ ke kolam penambangan; blok yang tidak memenuhi target kesulitan jaringan tetapi cukup tinggi untuk membuktikan bahwa penambang tidak berbohong dan benar-benar menjalankan perangkat keras dan mencoba menemukan blok yang valid.

Sentralisasi Kolam Penambangan

Kumpulan penambangan terpusat datang dengan implikasi besar bagi penambang individu. Mereka adalah titik sentralisasi dalam proses pemilihan (atau, yang lebih penting, mengecualikan) transaksi untuk dimasukkan ke dalam blok. Ini memberi setiap operator penambangan kolam kontrol total atas transaksi yang mereka pilih untuk diproses di blockchain, tanpa kemampuan bagi pemilik sebenarnya dari perangkat keras penambangan untuk memberikan suara tentang itu kecuali dengan meninggalkan kumpulan jika mereka tidak setuju dengan kriteria bahwa operator memilih untuk mengatur.

Mereka juga menahan bitcoin penambang individu sampai penambang tersebut memilih untuk menariknya dari kumpulan, meninggalkan operator kumpulan yang bertindak sebagai kustodian dan titik pusat yang dapat menipu penambang menggunakan kumpulan, atau ditekan oleh pemerintah untuk menyita dana penambang individu atau menerapkan KYC persyaratan kepada mereka.

Jadi, solusi apa yang ada untuk mengatasi masalah ini?

P2Pool: Kolam Penambangan Terdesentralisasi Asli

P2Kolam renang adalah protokol kumpulan penambangan terdesentralisasi yang asli. Ini adalah protokol peer-to-peer di mana penambang berkoordinasi di antara mereka sendiri untuk membagi hadiah penambangan saat mereka bekerja sama untuk menemukan blok yang valid yang memenuhi target kesulitan. Koordinasi ini dilakukan dengan menggunakan apa yang disebut oleh desain protokol sebagai โ€œrantai berbagi.โ€

Penambang di P2Pool mengambil blok yang tidak memenuhi target kesulitan jaringan, dan secara efektif menambang blockchain mereka sendiri yang terdiri dari semua salinan blok tunggal yang sedang dikerjakan oleh pool. Ketika mereka memenuhi target kesulitan yang lebih kecil di mana blok akan diubah menjadi kumpulan untuk membuktikan bahwa mereka menambang dalam model terpusat, mereka menyiarkan blok itu ke penambang lainnya. "Kesulitan berbagi" P2Pool ditargetkan sehingga penambang akan menemukan bagian kira-kira setiap tiga puluh detik sekali.

Saya yakin pembaca bertanya-tanya bagaimana pembayaran kepada penambang individu bekerja. Transaksi coinbase terstruktur sehingga output dibuat untuk setiap penambang individu di P2Pool, memisahkan dana langsung dari transaksi coinbase. Penambang di P2Pool memverifikasi bahwa semua pembayaran untuk diri mereka sendiri dan semua orang yang berpartisipasi dalam kumpulan sudah benar, dan bahwa setiap penambang yang telah menyumbangkan bagian ke rantai saham dibayar dengan benar untuk pekerjaan mereka di setiap bagian baru yang ditambahkan. Jika beberapa penambang yang berpartisipasi tidak dengan benar menyusun pembayaran untuk semua orang di bagian terbaru mereka, maka semua penambang lain di P2Pool berhenti memasukkan mereka dalam pembayaran mereka sendiri dan secara efektif โ€œmengusirโ€ penambang itu dari kumpulan karena tidak berperilaku adil.

Desain ini menyebabkan beberapa masalah penskalaan sehingga tidak digunakan lagi. Saat partisipasi dalam P2Pool tumbuh, begitu pula target kesulitan agregat untuk berbagi di rantai saham, yang menargetkan kira-kira sekali setiap tiga puluh detik. Ini berarti bahwa untuk penambang yang lebih kecil menjadi lebih sulit untuk mencapai kesulitan rantai saham dalam periode tiga puluh detik. Ini berarti bahwa untuk penambang yang lebih kecil, varians, atau ketidakpastian, dalam pendapatan mereka meningkat ketika tingkat hash agregat dalam P2Pool meningkat. Ini juga mengarah ke sejumlah besar blok basi karena lebih banyak penambang menemukan saham yang bersaing untuk rantai saham pada saat yang hampir bersamaan dengan lebih banyak penambang bergabung dengan P2Pool, yang mengarah ke "pekerjaan yang sia-sia" dari sudut pandang penambang individu yang hanya mendapatkan kompensasi jika bagian mereka termasuk dalam rantai saham.

Masalah skalabilitas utama lainnya adalah pembayaran langsung ke penambang individu dari transaksi coinbase itu sendiri. Mengingat bahwa setiap penambang dibayar secara proporsional dengan saham yang telah mereka tambang yang termasuk dalam rantai saham, setiap penambang di P2Pool memerlukan output baru yang ditambahkan dalam transaksi coinbase.

Ini memiliki dua konsekuensi. Pertama: Penambang diberikan UTXO kecil bernilai rendah di setiap blok yang ditemukan P2Pool, yang disertai dengan biaya untuk memadatkan output tersebut di kemudian hari dan/atau menanggung biaya transaksi yang jauh lebih besar ketika mereka pergi untuk membelanjakan koin mereka karena banyak UTXO individu yang mereka dapatkan, alih-alih satu ketika menarik setelah periode dari kumpulan konvensional. Kedua: Setiap keluaran coinbase baru mengambil ruang blok yang dapat digunakan oleh transaksi orang lain dan menghasilkan lebih banyak pendapatan biaya dari P2Pool. Ini adalah kerugian ganda bagi para penambang yang berpartisipasi dalam protokol.

Kedua masalah ini berkontribusi pada protokol yang perlahan-lahan mati dan akhirnya jatuh ke keadaan tidak digunakan. Dengan semua indikasi dari upaya terbaik saya untuk melacak statistik yang akurat dan terkini (banyak penjelajah blok lama yang melacak bagian kumpulan penambangan telah ditutup selama bertahun-tahun), sepertinya blok terakhir yang ditambang oleh P2Pool aktif Februari 12, 2019.

P2Pool Dengan Pembayaran Saluran Pembayaran

Pada tahun 2017, sebulan setelah aktivasi SegWit terkunci, Chris Belcher membuat usul untuk meningkatkan skalabilitas P2Pool dengan penggunaan saluran pembayaran satu arah dan sekelompok hub yang menangani pembayaran kepada para penambang.

Tujuan inti dari proposal ini adalah untuk mengatasi masalah transaksi coinbase yang lebih besar yang kehilangan uang penambang dalam dua cara berbeda. Pada tingkat tinggi, idenya hanya untuk membayar seluruh transaksi coinbase ke hub dengan saluran pembayaran terbuka untuk penambang individu, dan menjamin bahwa kemampuan untuk mengklaim dana dari transaksi coinbase secara atom terkait dengan penambang yang diberi kompensasi. saham mereka melalui saluran pembayaran.

Untuk mencapai tujuan atomitas antara transaksi coinbase dan saluran pembayaran untuk pembayaran, skrip keluaran transaksi coinbase harus disesuaikan. Dalam proposal Belcher, ini disusun sebagai skrip multi-cabang dengan tiga kondisi pengeluaran:

  • Sebuah dua-dari-dua multisig. Kunci satu: hub (Hc). Kunci dua: penambang yang menemukan blok (Mc).
  • Sebuah kunci tunggal dan sebuah hashlock. Kunci: hub (H). Hashlock: nilai acak yang dihasilkan oleh hub (X).
  • Kunci tunggal dan kunci waktu. Kunci: penambang yang menemukan blok (M). Timelock: kunci waktu relatif CSV selama enam bulan.

Salah satu dari kondisi pengeluaran ini dapat digunakan untuk membuka kunci keluaran transaksi basis koin. Sekarang, mari kita lihat skrip saluran pembayaran ke para penambang sehingga kita dapat melihat bagaimana kedua hal itu berinteraksi:

  • Sebuah dua-dari-dua multisig. Kunci satu: hub (Hc1). Kunci dua: penambang (Mc1).
  • Multisig dua-dari-dua dan hashlock. Kunci satu: hub (Hu1). Kunci dua: penambang (Mu1). Hashlock: nilai acak yang dihasilkan oleh hub yang digunakan di coinbase (X).

Sekarang, mari kita telusuri bagaimana kedua hal ini berinteraksi satu sama lain.

Saat penambang memproduksi saham untuk ditambahkan ke rantai saham, hub memantau kemajuannya. Untuk setiap bagian, hub memperbarui status saluran dengan penambang yang menyerahkan bagian untuk membayar mereka secara proporsional dengan jumlah pekerjaan yang mereka lakukan. Namun, mereka hanya memberi mereka tanda tangan untuk jalur skrip kedua yang memerlukan preimage hashlock untuk dibelanjakan โ€” ini menjamin bahwa secara default, tanpa hub memberi mereka tanda tangan untuk jalur pertama, mereka tidak dapat mengklaim dana tersebut kecuali hub menghabiskan coinbase output dengan sendirinya menggunakan jalur skrip dengan hashlock, yang mengharuskan mereka untuk menerbitkan gambar awal.

Sekarang, akhirnya salah satu penambang di P2Pool akan menemukan blok yang valid dan mempublikasikannya ke jaringan. Pada titik ini, hub dapat memperbarui semua saluran pembayaran dengan penambang dan memberikan tanda tangan ke jalur skrip pertama di saluran, memungkinkan setiap penambang untuk menutup saluran mereka dan mengumpulkan hadiah yang mereka peroleh kapan pun mereka mau tanpa perlu hashlock gambaran awal.

Pada titik ini, penambang yang menemukan blok menandatangani jalur skrip pertama di coinbase, memungkinkan hub untuk mengklaim dana dari coinbase. Penambang itu diberi sedikit bonus dari hadiah penambangan untuk memberi mereka insentif untuk menandatangani secara kooperatif. Tapi ingat: jika penambang menolak untuk bekerja sama, hub dapat dengan mudah menggunakan jalur hashlock dan mengungkapkan gambar awal, memungkinkan semua penambang untuk mengumpulkan bagian yang adil dari hadiah.

Ini hanya memiliki kelemahan memaksa semua saluran untuk menutup rantai, perlu dibuka kembali untuk melanjutkan penambangan. Opsi terakhir ada jika operator hub memilih untuk berhenti memproses pembayaran, atau menghilang. Setelah enam bulan, penambang yang menemukan blok dapat mengklaim dana sepenuhnya untuk diri mereka sendiri jika hub tidak menanggapi untuk bekerja sama atau telah menghabiskan koin dengan jalur hashlock.

Ini meninggalkan dua masalah spesifik dalam hal model ancaman dengan perbaikan yang diusulkan Belcher. Memutuskan transaksi mana yang akan disertakan dalam blok menyisakan ruang untuk perbedaan dalam jumlah total hadiah blok didasarkan pada apa yang dipilih penambang individu untuk disertakan dalam templat blok yang mereka tambang.

Saat memperkenalkan saluran pembayaran, ini menciptakan margin kesalahan, yaitu, hadiah blok yang ditambang sebenarnya tidak sama dengan apa yang dilakukan hub penambangan di saluran pembayaran kepada penambang. Jika perkiraan biaya aktual lebih kecil dari hadiah blok, hub dapat dengan mudah memperbarui saluran pembayaran menggunakan jalur pengeluaran kooperatif dengan jumlah yang lebih rendah, dan selama mereka tidak mengklaim output basis koin dengan jalur hashlock, para penambang tidak punya pilihan selain menerima pembayaran yang lebih rendah yang sesuai dengan hadiah penambangan yang sebenarnya.

Jika imbalan penambangan sedikit lebih tinggi dari perkiraan, hub tetap sebaiknya memperbarui saluran ke penambang untuk mencerminkan hal ini, karena penambang yang diperlakukan secara tidak jujur โ€‹โ€‹oleh hub dapat pergi kapan saja. Satu-satunya kasus tepi di mana mungkin masuk akal bagi hub untuk membelot dan menyimpan hadiah ekstra adalah jika seseorang membayar biaya penambang yang sangat besar, tetapi selain dari situasi itu, adalah kepentingan hub dan penambang untuk menyesuaikan diri dengan perbedaan antara perkiraan hadiah dan hadiah blok yang sebenarnya.

Masalah kedua adalah fakta bahwa hub adalah titik pusat yang dapat DDoS dan dipaksa untuk mencegah P2Pool berfungsi. Proposal Belcher melibatkan penggunaan beberapa hub, dan mengirim setiap transaksi coinbase dari blok yang berbeda ke hub yang berbeda. Namun, ini mengharuskan penambang untuk membuka saluran dari semua hub yang mereka gunakan yang, menurut perkiraan Belcher tentang hub yang membutuhkan 50 kali hadiah blok (sekitar 650 BTC) untuk menyediakan likuiditas bagi penambang, menjadi modal yang sangat tidak efisien.

Braidpool: Iterasi Lain

Enter kolam renang (peringatan: tautan adalah unduhan PDF langsung dari GitHub). Braidpool adalah proposal dari Bob McElrath dan Kulpreet Singh yang membangun proposal Belcher menggunakan saluran pembayaran. Ada dua perubahan besar yang diperkenalkan yang memperbaiki masalah luar biasa yang tersisa dengan proposal Belcher.

Yang pertama adalah perubahan cara hub dan miner berkomunikasi satu sama lain. Mereka mengusulkan agar penambang melampirkan alamat Tor v3 ke setiap bagian yang mereka siarkan ke kumpulan. Dengan cara ini, hub dapat beroperasi tanpa mengekspos titik akhir jaringan apa pun yang rentan terhadap serangan DoS.

Operator hub kemudian dapat terhubung ke penambang untuk membuka dan memperbarui saluran dengan mereka, mengurangi kebutuhan penambang untuk menggunakan beberapa hub untuk menghindari satu titik serangan. Hal ini memungkinkan Braidpool untuk beroperasi dengan satu hub, membuat seluruh sistem lebih kuat dan efisien modal.

Bagaimana Protokol P2P Berusaha Memecahkan Sentralisasi Penambangan Bitcoin, Intelijen Data Blockchain. Pencarian Vertikal. ai.
Sumber: Kertas putih Braidpool

Perubahan kedua adalah penggunaan grafik asiklik terarah (DAG) alih-alih rantai saham. Masalah dengan rantai saham adalah bahwa, dengan target waktu berbagi tiga puluh detik, kesulitan yang diperlukan untuk berbagi meningkat seiring bertambahnya ukuran kumpulan, sehingga lebih sulit bagi penambang yang lebih kecil. Menggunakan DAG seperti Ethereum, di mana itu bukan permainan jumlah nol dari satu saham yang membuatnya menjadi rantai saham dan lainnya menjadi yatim piatu, memungkinkan penambang untuk secara dinamis mengatur kesulitan untuk saham yang dapat disesuaikan berdasarkan tingkat hash yang mereka miliki dan bagaimana sering mereka dapat menemukan saham dengan itu.

Struktur DAG mencakup semua orang yang telah berpartisipasi di dalamnya di antara blok Bitcoin yang ditemukan, mendistribusikan hadiah secara proporsional di antara semua orang berdasarkan pekerjaan yang telah mereka berikan kepada DAG. Ini memecahkan masalah penskalaan varians untuk penambang individu saat kumpulan tumbuh lebih besar.

Selain dua perubahan ini, sisa strukturnya sama seperti proposal Belcher, coinbase dan skrip salurannya sama.

Final Thoughts

Beberapa pembaca mungkin bertanya-tanya mengapa Betterhash tidak disinggung dalam artikel ini. Meskipun mendesentralisasikan pemilihan transaksi untuk dimasukkan ke dalam blok, itu tidak sepenuhnya mendesentralisasikan semua fungsi kumpulan โ€” yang paling penting, sifat kustodian kumpulan yang menangani dana. Hal ini membuat penambang terbuka terhadap paksaan melalui penolakan untuk membayar dana jika penambang memilih transaksi yang tidak disetujui oleh kumpulan. Oleh karena itu, saya tidak akan menganggapnya sebagai kumpulan penambangan yang terdesentralisasi, meskipun itu sedikit memperbaiki situasi di lingkungan yang bermusuhan tetapi tidak sepenuhnya bermusuhan.

Artikel ini telah dipusatkan di sekitar P2Pool dan mengusulkan iterasi untuk memperbaiki batasan penskalaannya. Demi tidak menulis keseluruhan buku, saya belum menyentuh desain lain yang ada atau potensial. Segera setelah saya bisa melakukannya, saya berencana untuk menulis artikel lanjutan tentang mekanisme lain untuk mendesentralisasikan kumpulan penambangan.

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

Stempel Waktu:

Lebih dari Majalah Bitcoin