Apakah Berbahaya Memiliki Banyak Implementasi Bitcoin? Kecerdasan Data PlatoBlockchain. Pencarian Vertikal. Ai.

Apakah Berbahaya Memiliki Banyak Implementasi Bitcoin?

Ini adalah editorial opini oleh Bill Scoresby, pemilik usaha kecil berbasis bitcoin dan penulis beberapa panduan untuk penyimpanan mandiri bitcoin.

Bug yang baru-baru ini menyebabkan banyak node LND tidak sinkron dengan blockchain Bitcoin adalah mungkin disebabkan oleh implementasi alternatif.

Mungkin Anda bertanya-tanya, โ€œSiapa di dunia ini yang menggunakan selain Bitcoin Core?โ€ Anda mungkin tidak mengetahui bahwa ada implementasi Bitcoin lainnya. Mungkin Anda tidak yakin apa arti penerapan yang berbeda.

Bitcoin Core dimulai sebagai perangkat lunak itu Satoshi Nakamoto menulis dalam C++ dan dirilis ke dunia. Telah diperbarui dengan versi baru yang mengarah ke masa kini. Implementasi alternatifnya adalah perangkat lunak yang melakukan hal yang sama seperti Bitcoin Core โ€” menerapkan aturan konsensus yang sama โ€” namun ditulis secara berbeda, paling sering dalam bahasa pengkodean yang berbeda.

Bagaimana Implementasi Alternatif Memecah Node di Jaringan Lightning?

Salah satu versi node Lightning Network utama (LND) mengandalkan implementasi Bitcoin alternatif yang disebut btcd. Ketika pengembang membuat transaksi multisig yang sangat besar, btcd tidak melihatnya valid karena berisi terlalu banyak data saksi. Implementasi Bitcoin lainnya โ€” yang paling penting adalah Bitcoin Core โ€” tidak memiliki batasan pada data saksi transaksi Taproot, dan oleh karena itu menerima transaksi dan blok yang memuatnya sebagai valid.

Hasilnya adalah penambang terus menambahkan blok baru pada rantai karena mereka tidak menggunakan btcd dan menurut aturan mereka tidak ada yang salah, tetapi node LND Lightning tidak dapat mengenali blok baru ini karena blok tersebut dibangun di atas blok yang berisi satu transaksi yang mereka anggap tidak valid.

Ketika bug terjadi lagi pada tanggal 1 November, bukan hanya node LND yang terkena dampaknya. Beberapa instance electrs (implementasi server backend untuk Electrum Wallet) juga gagal mencapai konsensus dengan seluruh rantai. Meskipun node LND tidak disetujui karena masalah serupa di btcd, implementasi Bitcoin yang ditulis dalam Rust-lah yang menyebabkan node electr tertinggal, termasuk beberapa server yang sangat terlihat dijalankan oleh mempool.space.

Batasan jumlah data saksi ada untuk mencegah serangan DoS, dan juga merupakan bagian dari Bitcoin Core (walaupun Core memiliki batas lebih besar untuk transaksi Taproot). Tampaknya dua implementasi lainnya yang tidak sinkron memiliki kode itu mempertahankan batas yang lebih kecil.

Perbedaan yang sangat kecil dalam implementasi dapat menyebabkan kurangnya konsensus.

Memiliki Banyak Implementasi Bitcoin Itu Berbahaya

Satoshi tidak menyukai gagasan penerapan ganda Bitcoin. โ€œSaya tidak percaya penerapan Bitcoin kedua yang kompatibel akan menjadi ide yang bagus.โ€ Alasan yang dia berikan adalah, โ€œSebagian besar desain bergantung pada semua node untuk mendapatkan hasil yang persis sama sehingga implementasi kedua akan menjadi ancaman bagi jaringan.โ€

Ancaman? Apa masalahnya?

Anda mungkin pernah mendengar bahwa rantai dengan bukti kerja terbanyak adalah rantai yang sebenarnya. Ketika dua penambang yang berbeda menemukan sebuah blok pada saat yang sama, rantai tersebut akan terpecah dan penambang lainnya mulai membangun blok mana pun yang pertama kali mereka dengar.

Segera setelah blok baru ditambahkan ke satu sisi pemisahan, sebagian besar node dan penambang menerimanya sebagai rantai baru yang sebenarnya dan meninggalkan sisi lain dari pemisahan tersebut. Blok-blok ini disebut sebagai blok basi, meskipun beberapa orang menyebutnya sebagai blok yatim piatu.

Karena waktu rata-rata antar blok dalam Bitcoin adalah 10 menit, kemungkinan besar seluruh jaringan akan mempelajari blok baru ini sebelum satu blok ditambahkan ke sisi yang kalah dalam pemisahan, dan rantai dengan pekerjaan paling banyak akan menang.

โ€œNode akan mengikuti rantai valid dengan pekerjaan terbanyakโ€ฆ Kata kuncinya di sini adalah valid. Jika node menerima blok yang dianggap tidak valid, tidak peduli berapa banyak pekerjaan yang dilakukan di atas blok tersebut, node tidak akan menerima rantai tersebut.โ€ โ€” Andrew Chow

Kata kuncinya adalah โ€œvalid.โ€ Ancaman muncul ketika seorang penambang menemukan blok yang menurut beberapa penambang dan node lain tidak valid. Penambang yang menganggapnya valid akan mencoba membangun blok baru di rantai tersebut. Penambang yang menganggapnya tidak valid akan mencoba membangun blok valid terakhir yang mereka ketahui. Hasilnya: Dua rantai dan tidak ada cara untuk mengetahui mana yang benar.

Bagaimana hal seperti itu bisa terjadi?

Seperti yang kita lihat dalam kasus bug baru-baru ini pada node LND, jika ada bug di satu implementasi Bitcoin yang tidak ada di implementasi lain, hal ini dapat menyebabkan kurangnya konsensus mengenai apakah suatu blok valid atau tidak.

Bitcoin tidak memiliki mekanisme untuk memperbaikinya. Komunitas di luar protokol harus memutuskan apa yang terjadi selanjutnya. Kedengarannya sangat tidak menyenangkan.

Sedemikian rupa sehingga pengembang Bitcoin Peter Todd mengatakan hal itu implementasi lain harus cocok dengan bug-for-bug Bitcoin Core.

Ini dia: Penerapan berulang-ulang itu berbahaya!

Apa Saja Implementasi Bitcoin Lainnya dan Mengapa Ada?

Pertama-tama, kebanyakan orang menjalankan Bitcoin Core.

Luke Dashjr melihat sekitar 43,000 node, 98% di antaranya menjalankan Bitcoin Core dan sesuatu yang disebut Coin Dance mencapai hampir 15,000 node, 96% di antaranya menjalankan Bitcoin Core. Jadi, saat ini, sepertinya sangat sedikit orang yang menggunakan implementasi alternatif.

Namun demikian, terdapat proyek aktif yang mencoba membangun dan memelihara basis kode lain yang mengimplementasikan protokol Bitcoin. Mereka termasuk:

Jameson Lopp memiliki halaman yang sangat bagus dengan daftar yang lebih lengkap dan tautan ke semua implementasi lainnya.

Semua proyek ini dikerjakan oleh pengembang yang sangat berbakat, dan masing-masing proyek telah ada selama lebih dari beberapa tahun. Mengapa harus berusaha keras untuk melakukan sesuatu yang sepertinya merupakan masalah?

Bitcoin tidak memiliki izin. Siapapun dapat mengunduh rantainya; siapa pun dapat berinteraksi dengan jaringan; dan tidak ada yang bisa menghentikan Anda membuat kode atau menjalankan implementasi alternatif.

Namun, yang jelas beberapa orang bertanggung jawab cara membuat perubahan pada repositori Bitcoin dan proses memilihnya tampaknya informal. Mumpung ada Proses Proposal Peningkatan Bitcoin (BIP). untuk menyarankan perubahan pada Bitcoin Core, ini juga cukup informal.

Semua ini bukanlah masalah langsung. Seperti yang ditunjukkan oleh Marty Bent, konsensus yang kasar dapat menjadi kekuatan. Jika proses perubahan Bitcoin sulit dan tidak jelas, berarti perubahannya akan diperiksa lebih menyeluruh.

Langkah konsensus kasar berikutnya adalah memiliki lebih dari satu implementasi populer.

Tidak Memiliki Banyak Implementasi Mungkin Lebih Berbahaya

Tidak ada keraguan bahwa menjadi salah satu orang yang memiliki akses ke Bitcoin Core adalah pekerjaan yang sangat sulit. Di dunia di mana Bitcoin memainkan peran sentral sebagai instrumen moneter, pekerjaan ini akan menjadi lebih sulit. Sekelompok kecil pengembang bisa menjadi target yang sangat berharga. Paling tidak, perhatian mereka akan dicari untuk melobi berbagai penyertaan atau pengecualian dalam rilis perangkat lunak berikutnya.

Pikirkan tentang industri lobi yang saat ini ada dalam politik. Mengapa hal seperti itu tidak berkembang di sekitar orang-orang yang memiliki akses terhadap satu-satunya implementasi protokol Bitcoin?

Seperti halnya politisi sekarang, mereka akan dianggap mempunyai akses terhadap kekuasaan. Dengan demikian, masyarakat akan menargetkan mereka, hanya saja para pengembang ini tidak memiliki kekuatan negara untuk membela mereka. Kehidupan seperti apa yang akan terjadi? Siapa yang secara sukarela memilihnya?

Pada akhirnya, sistem keuangan global mempunyai beban yang cukup berat untuk dipikul oleh sekelompok kecil orang yang memiliki akses ke satu repositori GitHub. Mungkin tidak jauh berbeda dengan sistem keuangan global yang kita coba hindari dimana masa depan moneter masyarakat bergantung pada keputusan beberapa bankir sentral.

Berbagai Implementasi Untuk Menyelamatkan!

Kehadiran dan meluasnya penggunaan berbagai implementasi di jaringan Bitcoin dapat mengurangi tekanan ini dengan mempersulit pelaku kejahatan untuk mengubah protokol Bitcoin.

Jika peserta dalam jaringan Bitcoin tersebar lebih merata di antara implementasi yang berbeda, maka akan ada lebih banyak ruang untuk memunculkan ide-ide bagus. Mengusulkan perubahan pada Bitcoin atau menolaknya akan jauh lebih terdesentralisasi jika tidak semuanya dilakukan dalam satu kubu.

Jelasnya, menggunakan implementasi Bitcoin yang berbeda meningkatkan risiko perpecahan rantai. Perpecahan rantai yang sangat besar โ€“ di mana sebagian besar node dan penambang secara tidak sengaja terputus โ€“ tidak akan berdampak baik bagi Bitcoin, dan tentunya juga tidak baik bagi harganya. Namun hal ini tidak akan mengancam sifat Bitcoin yang tidak memiliki izin.

Lingkungan pengembangan terpusat di mana setiap orang hanya membangun di Bitcoin Core dapat mengancam hilangnya izin. Pembicaraan tentang topik ini perlu mengatasi risiko ketergantungan yang berlebihan pada Bitcoin Core daripada hanya berfokus pada masalah apa yang mungkin disebabkan oleh implementasi alternatif.

Ada yang hebat, lebih tua artikel tentang perdebatan ini oleh Aaron van Wirdum. Anda juga dapat membaca yang lebih baru, utas informatif tentang hal itu.

Ini adalah posting tamu oleh Bill Scoresby. Pendapat yang dikemukakan sepenuhnya merupakan pendapat mereka sendiri dan tidak mencerminkan pendapat BTC Inc atau Majalah Bitcoin.

Stempel Waktu:

Lebih dari Majalah Bitcoin