Bitcoin Core 24.0 Dirilis: Inilah Yang Baru Kecerdasan Data PlatoBlockchain. Pencarian Vertikal. Ai.

Bitcoin Core 24.0 Dirilis: Inilah Yang Baru

Versi baru dari perangkat lunak Bitcoin asli yang diluncurkan oleh Satoshi Nakamoto pada tahun 2009 telah dirilis.

Bitcoin Core 24.0 dikerjakan oleh 112 pengembang selama kira-kira tujuh bulan untuk menghadirkan peningkatan nyata pada dompet Bitcoin Core, komunikasi peer-to-peer (P2P), antarmuka pengguna grafis (GUI), dan banyak lagi.

Artikel ini membahas beberapa perubahan utama.

Pembaruan Dompet

Dukungan Miniscript Awal

Bitcoin Core 24.0 memperkenalkan dukungan untuk Miniscript dengan memperluas wsh() deskriptor keluaran. Meskipun ini merupakan integrasi awal dan belum sempurna, langkah ini membuka jalan bagi pembuatan skrip yang lebih kompleks untuk diterapkan ke Bitcoin dengan cara yang lebih sederhana — dan lebih aman —.

naskah mini dapat dianggap sebagai kerangka kerja (atau template) untuk Skrip Bitcoin, bahasa pemrograman asli Bitcoin. Skrip Bitcoin bertanggung jawab untuk mengaktifkan semua fungsi pemrograman yang tersedia untuk Bitcoin, termasuk, misalnya, yang mungkin paling sederhana: menentukan siapa yang diizinkan membelanjakan koin tertentu. Untuk setiap transaksi Bitcoin, pengirim meminta alamat penerima dan dengan informasi itu membuat skrip yang mengunci bitcoin yang dikirim sedemikian rupa sehingga hanya penerima yang dapat membelanjakannya. Meskipun cukup mudah untuk membuat skrip sederhana seperti di atas dengan Bitcoin Script, semakin kompleks skrip tersebut, semakin besar kemungkinan kesalahan manusia. Di sinilah Miniscript berperan.

Miniscript memungkinkan untuk menulis subset Bitcoin Scripts di a tersusun cara. Ini memungkinkan analisis, komposisi, dan penandatanganan umum, antara lain, memungkinkan skrip tingkat lanjut ditulis dengan lebih aman oleh pengembang. Dengan kata lain, Skrip Mini “berisi” beberapa fungsi Skrip Bitcoin yang telah ditetapkan sebelumnya ke pola perilaku yang diharapkan, membatasi risiko akhir karena perilaku yang tidak diharapkan diminimalkan. Dalam praktiknya, ini menyediakan "kotak alat" bagi pengembang untuk mengutak-atik dan membuat skrip canggih dan kompleks untuk Bitcoin daripada harus melakukan semuanya secara manual melalui Bitcoin Script.

Dimulai dengan Bitcoin Core 24.0, pengguna kini dapat membuat dompet yang berisi skrip Miniscript, membuat alamat untuk dompet tersebut, dan mendanainya dengan bitcoin. Pembelanjaan dari alamat tersebut belum didukung oleh dompet Bitcoin Core, namun, artinya dompet yang mendukung Miniscript di Bitcoin Core untuk saat ini hanya untuk menonton.

Transaksi Tanpa Perubahan

RPC baru telah diperkenalkan, Kirim semua, yang memungkinkan pengguna membelanjakan output transaksi tertentu yang tidak terpakai (UTXO) secara keseluruhan. RPC akan mengirimkan jumlah yang ditahan di UTXO yang ditentukan ke satu atau beberapa penerima tanpa menghasilkan perubahan. (Secara default, Kirim semua akan menghabiskan setiap UTXO di dompet.)

Perilaku ini dapat diinginkan dalam beberapa situasi. Pertama, tentu saja, pengguna mungkin ingin mengosongkan dompetnya. Memanggil RPC baru dengan konfigurasi default akan melakukannya dengan cara yang mudah. Kedua, pengguna mungkin ingin meningkatkan privasinya dengan mengabaikan perubahan.

Ubah alamat rumit karena pengguna sering lupa dari mana asalnya dan karena itu dapat mencampurnya dengan UTXO lain sebagai masukan dalam transaksi mendatang. Ini akan menimbulkan masalah privasi karena heuristik kepemilikan masukan umum, premis yang banyak digunakan dalam analisis rantai yang mengasumsikan semua input dalam transaksi adalah milik pengguna yang sama. Dalam contoh output perubahan, pengguna akan membuat tautan itu, secara efektif mempertaruhkan deanonimisasi beberapa koin mereka karena analis rantai akan dapat mengelompokkan beberapa alamat pengguna itu sebagai dompet.

Pembayaran tanpa perubahan mengatasi masalah ini dengan membuat transaksi yang menghabiskan keseluruhan UTXO yang dipilih. Karena tidak ada perubahan, pengguna tidak dapat melakukan kesalahan yang disebutkan di atas. Selain itu, pembayaran yang tidak berubah menimbulkan keraguan yang masuk akal bagi analis rantai yang bertanya-tanya apakah keluaran baru dimiliki oleh entitas yang sama yang mengirim pembayaran (hanya pergerakan dana ke alamat baru) atau sebenarnya sekarang dimiliki oleh pengguna yang berbeda.

Ubah Pengacakan Keluaran Untuk Menghindari Sidik Jari

Seperti dijelaskan di atas, mengubah output bisa menjadi kebocoran privasi. Sementara Kirim semua meringankan penggunaan alamat perubahan sama sekali, pada kenyataannya akan ada beberapa kali ketika pengguna memiliki UTXO dengan ukuran persis pembayaran yang perlu dilakukan. Memastikan bahwa pengamat tidak dapat menemukan output mana yang merupakan alamat perubahan membantu pengguna mendapatkan sedikit privasi karena tidak akan sepele untuk menautkan alamat yang baru dibuat (ubah output) dengan input yang sekarang digunakan untuk transaksi itu .

Biasanya, ketika tidak ada UTXO dengan jumlah persis pembayaran, sebagian besar dompet dan pengguna secara intuitif memilih yang paling dekat dengan nomor itu. Akibatnya, seorang pengamat yang mengamati blockchain dapat melihat output mana yang merupakan pembayaran (lebih besar) dan mana yang merupakan perubahan (lebih kecil). Ini membawa banyak risiko yang disebutkan di atas.

Untuk menurunkan kemungkinan seorang pengamat dapat memilih keluaran perubahan dan alamat pengguna klaster, Bitcoin Core sekarang mengacak nilai keluaran perubahan.

Dimulai dengan versi 24.0, dompet Bitcoin Core akan memilih nomor acak antara ukuran pembayaran dan tiga kali ukuran pembayaran. Nomor ini akan menginformasikan pilihan UTXO untuk pembelanjaan. Ini secara efektif berarti bahwa terkadang algoritme akan memilih UTXO yang nilainya lebih dekat dengan pembayaran dan di lain waktu algoritme akan memilih UTXO yang nilainya lebih dekat ke batas atas tiga kali jumlah pembayaran. Skenario sebelumnya akan menghasilkan skenario perubahan-output-lebih rendah-dari-pembayaran sedangkan yang terakhir akan menghasilkan kebalikannya — output perubahan yang lebih besar dari pembayaran. Mengingat bahwa tidak ada cara bagi pengamat blockchain untuk mengetahui kapan setiap skenario terjadi pada waktu tertentu, pengguna harus dapat menikmati jaminan privasi yang lebih besar.

Pembaruan Untuk Mengganti Dengan Biaya

RBF memberikan pilihan bagi pengguna Bitcoin setiap kali mereka mengirim transaksi ke jaringan. Seringkali, pengguna tidak ingin membayar lebih untuk biaya penambang, dan karena itu dapat memilih "jalan tengah" antara biaya yang dibayarkan dan kecepatan transaksi dimasukkan dalam blok. Tetapi jika nilai biaya yang dipilih oleh pengguna terlalu rendah atau mempool padat, mungkin butuh waktu terlalu lama untuk memasukkan transaksi ke dalam blok (atau mungkin macet di mempool sama sekali). RBF memungkinkan pengguna untuk "menambah" biaya transaksi mereka dalam kasus seperti itu, lebih sering daripada tidak memungkinkan penyelesaian yang lebih cepat.

Di bawah tenda, RBF sebenarnya tidak menaikkan biaya. Apa yang terjadi di latar belakang adalah klien perangkat lunak akan menyiarkan a yang baru transaksi dengan input yang sama dan sebagian besar output yang sama. (Beberapa nilai keluaran berubah; nilai biaya secara alami akan berubah untuk mencerminkan nomor baru dan biasanya perbedaan itu dikurangi dari jumlah yang dikirim ke alamat perubahan.)

Secara historis, node hanya akan menyampaikan versi pertama dari transaksi yang mereka lihat. Dengan munculnya RBF, sebuah mekanisme diperkenalkan untuk memungkinkan pengguna menandai bahwa mereka mengirim transaksi yang pada akhirnya dapat dikenai biaya, yaitu, diganti dengan versi dengan biaya yang lebih tinggi. Ini berfungsi sebagai peringatan ke node, memberi tahu mereka bahwa versi biaya yang lebih tinggi dari transaksi itu dapat dikirim di lain waktu dan bahwa mereka juga harus diteruskan. Secara probabilitas, versi transaksi dengan biaya lebih tinggi akan cenderung lebih menarik bagi penambang dan karena itu dipilih terlebih dahulu. Setelah itu terjadi dan dimasukkan ke dalam blok, transaksi dengan biaya lebih rendah akan dihapus dari mempool node karena akan mencoba pembelanjaan ganda.

Bitcoin Core 24.0 memperkenalkan dua pembaruan pada fungsionalitas RBF.

Pertama, sekarang memungkinkan pengguna mengonfigurasi node mereka untuk menyampaikan transaksi yang dapat diganti tanpa menegakkan bendera RBF. Ini bisa dilakukan melalui yang baru mempoolfullrbf pilihan. Ini akan diatur ke lepas secara default, tetapi mereka yang tertarik untuk mengaktifkannya dapat mengaktifkannya.

Kedua, RBF sekarang ditetapkan sebagai standar di dompet Bitcoin Core. Transaksi sekarang ikut serta ke RBF secara default dan -dompetrbf opsi startup default ke true. Pengguna dapat memilih keluar dari RBF dengan menyesuaikan transaksi tertentu dalam proses pembuatannya atau menyetelnya -dompetrbf opsi startup ke false.

Migrasi Dompet Deskriptor

Bitcoin Core 23.0 menjadikan dompet deskriptor sebagai standar. Deskriptor memudahkan kehidupan pengguna dalam mencadangkan dompet mereka dan kemudian memulihkan cadangan itu dalam format standar.

Sebelum deskriptor ada, pengguna harus mengetahui jalur derivasi dompet mereka, yang menentukan bagaimana kunci master dompet mendapatkan alamat yang akan digunakan untuk menerima dan mengirim bitcoin. Karena dompet dapat memiliki jalur derivasi yang berbeda, pencadangan tidak cukup hanya berisi frase awal. Kadang-kadang pengguna beruntung dan mencoba memulihkan cadangan dengan dompet yang memanfaatkan jalur derivasi yang sama, tetapi mengingat kemungkinan kecil hal itu terjadi, seluruh situs web didedikasikan untuk membantu pengguna mencari tahu jalur derivasi apa yang akan digunakan untuk dompet lama dan baru muncul.

Deskriptor memecahkan masalah ini dengan menjadi deskriptif tentang jalur derivasi apa yang digunakan dompet yang dicadangkan, sangat meningkatkan pengalaman pengguna. Idenya adalah bahwa cadangan dompet deskriptor berisi semua informasi yang diperlukan agar dapat dipulihkan dengan benar oleh klien perangkat lunak apa pun (asalkan klien mengaktifkan deskriptor).

Sekarang, Bitcoin Core 24.0 memperkenalkan alat baru untuk memigrasikan dompet lama ke format dompet deskriptor, memungkinkan pengguna memanfaatkan standar baru ini untuk melindungi bitcoin mereka yang berharga dengan lebih baik. Meski masih eksperimental, RPC baru (migrasi) telah diperkenalkan. Dokumen ini memberikan detail lebih lanjut tentang fungsinya.

Perubahan GUI

GUI Bitcoin Core telah dikenal karena tidak menyediakan tingkat fungsionalitas yang sama dengan yang dapat dicapai oleh panggilan prosedur jarak jauh (RPC) dan alat baris perintah. Bitcoin 24.0 mengambil beberapa langkah untuk mengubahnya.

Versi terbaru Bitcoin Core menghadirkan item menu baru pada GUI yang memungkinkan pengguna memulihkan dompet dari cadangan, sehingga memudahkan orang non-teknis untuk memulihkan cadangan. Sebelumnya, opsi ini hanya ada di baris perintah.

Kelemahan lain yang dimiliki GUI dibandingkan dengan antarmuka RPC terkait dengan pengaturan klien Bitcoin Core. Yang terkenal bitcoin.conf file adalah cawan suci dari konfigurasi Bitcoin Core, tetapi sekali lagi itu dapat di-tweak terutama melalui baris perintah. Memang ada opsi untuk men-tweak pengaturan di GUI, tetapi peringatan memperjelas hal itu bitcoin.conf lebih diutamakan daripada GUI jika file dan GUI mencoba mengatur data untuk konfigurasi yang sama. Oleh karena itu, sementara GUI menyediakan opsi sederhana untuk mengubah pengaturan, file konfigurasi masih merupakan cara yang paling dapat diandalkan untuk menyesuaikan klien Bitcoin Core seseorang.

Bitcoin Core 24.0 mengubahnya. Pembaruan baru menyatukan halaman pengaturan GUI dengan bitcoin.conf mengajukan. Sekarang, saat pengguna membuka pengaturan klien di GUI, pengaturan yang ditampilkan diambil dari file konfigurasi. Demikian pula, perubahan konfigurasi yang dibuat di GUI kini tercermin di bitcoin.conf. (Perlu ditunjukkan bahwa hubungan di sana tidak langsung, karena perubahan pada GUI sebenarnya diatur ke settings.json, file yang diutamakan bitcoin.conf.)

Perubahan Pada Komunikasi P2P

Logika Baru Untuk Mengunduh Header

Bitcoin Core 24.0 menghadirkan pembaruan pada cara peer di jaringan mengejar ke ujung rantai, baik karena mereka melakukan booting untuk pertama kali atau telah menghabiskan waktu lama tanpa terhubung ke jaringan Bitcoin.

Sebelum rilis ini, rekan baru yang bergabung dengan Bitcoin akan mulai mencari rekan untuk mengunduh header blok. Peer tidak mengunduh seluruh blok pada awalnya karena diberi insentif untuk memeriksa apakah ia mengikuti rantai yang benar sebelum mengunduh blok untuk rantai itu. Kalau tidak, itu berisiko mengunduh blok untuk rantai yang salah, sehingga membuang-buang sumber daya.

Saat mengunduh header membantu menghemat waktu dan sumber daya, serangan kehabisan sumber daya masih dapat terjadi di mana aktor jahat mengirim spam ke peer dengan jutaan header blok palsu. Karena klien perlu mengunduh dan menyimpan header pada disk, jumlah data yang cukup besar dapat melumpuhkan perangkat keras peer.

Untuk mengurangi ancaman ini, Bitcoin Core memperkenalkan konsep pos pemeriksaan bertahun-tahun lalu. Pos pemeriksaan menentukan blok mana harus hadir dalam rantai agar itu menjadi valid. Namun, solusi ini juga menimbulkan masalah, karena pos pemeriksaan dapat disalahgunakan untuk mengembalikan rantai terpanjang secara efektif. Kemungkinan seperti itu tidak diinginkan dalam Bitcoin, jadi solusi yang berbeda harus dibuat. Masukkan pembaruan baru ini.

Dengan Bitcoin Core 24.0, rekan-rekan sekarang mengunduh header blok dua kali. Dalam proses pertama, header diunduh dan dibuang (tidak disimpan di disk) hingga ditemukan jumlah pekerjaan yang cukup — yang menunjukkan bahwa rantai yang telah diikuti oleh peer adalah valid. Dalam hal ini, rekan kemudian memulai ulang proses, tetapi sekarang, selain mengunduh, rekan juga menyimpan header blok di disk. Dengan hanya menyimpan header ke disk setelah rekan yakin bahwa mereka adalah bagian dari rantai dengan bukti kerja yang signifikan, rekan menghindari penggunaan penyimpanan dalam jumlah besar dalam serangan akhirnya seperti kehabisan sumber daya. Ini juga menghilangkan kebutuhan akan pos pemeriksaan dan bisa dibilang merupakan solusi yang lebih elegan karena tidak bergantung pada input manusia untuk menentukan validitas rantai.

Terima kasih kepada Aaron van Wirdum untuk umpan baliknya.

Untuk detail lebih lanjut dan perubahan lainnya, lihat Bitcoin Core 24.0 catatan rilis. Untuk mengunduh Bitcoin Core 24.0, navigasikan di sini. Detail tentang Bitcoin Core 24.0 juga dijelaskan dalam audio di podcast Bitcoin, Explained episode 65.

Stempel Waktu:

Lebih dari Majalah Bitcoin