Bitcoin Core Versi 0-13-0 Siap Untuk Dirilis – Ada Banyak Perbaikan Dari Versi Sebelumnya
Bitcoin Core Versi 0-13-0. Bitcoin versi 0.13.0 akhirnya telah siap untuk segera dirilis. Software Bitcoin Core versi terbaru tersebut, telah di tandai secara khusus di github. Biasanya, setelah software itu ditandai secara khusus, dalam beberapa hari kedepan akan siap untuk di rilis.
Langkah pemberian tag source code tersebut, dilakukan sebagai sebuah langkah akhir untuk selanjutnya dibangun menggunakan Gituan dalam proses Gitian Building. Jika proses building selesai dilakukan, software core Bitcoin versi baru tersebut didistribusikan ke bitcoincore.org dan juga di situs bitcoin.org.
Beberapa hari yang lalu, di situs bitcoin.org memposting warning potensi serangan yang mungkin terjadi pada rilis baru Bitcoin Core Versi 0-13-0 ini. Oleh karena hal itu, pengguna Bitcoin Core yang hendak mendownload software Bitcoin ini diharapkan untuk berhati-hati.
Bitcoin versi lanjutan dari versi sebelumnya ini mulai difokuskan untuk lebih mensupport Segwit (Segregated Witness). Selain itu ada banyak perbaikan yang dilakukan pada versi Bitcoin Core 0.12.0.
Apa itu Segregated Witness?
Segregated Witness atau yang biasa dikenal dengan singkatan Segwit ini adalah sebuah proposal yang memungkinkan sebuah software khusus untuk dapat memisahkan signature pada sebuah data transaksi. Dengan hal ini, penambang dapat menempatkan signature tersebut di luar struktur block secara umum.
Ada dua keuntungan yang bisa didapat jika menggunakan Segwit. Kedua keuntungan tersebut adalah mampu meminimalisir malleability, dan membantu meningkatkan kapasitas block. Segwit dapat meminimalisir malleability karena dapat menyelesaikan berbagai persoalan transaksi malleability dari pihak third party. Selain itu dapat juga mempermudah dalam mendesain wallet Bitcoin yang sebelumnya cukup rumit untuk mendukung smart contract.
Sedangkan Segwit dikatakan dapat membantu meningkatkan kapasitas block karena dapat memisahkan signature pada sebuah data transaksi di luar struktur block pada umumnya. Sehingga secara otomatis, dapat meringankan juga kapasitas block tersebut, sejak ada bagian data transaksi yang telah dipindahkan.
Pada versi Bitcoin Core Versi 0-13-0 ini, beberapa perbaikan yang ada meliputi Child Pays for Parent (CPFP), Support untuk Compact Block, peningkatan performa dan keamanan, dan juga Generate Key HD (Hierarchical Deterministic).
Child Pays for Parent (CPFP)
Yang dimaksud dengan Child Pay for Parent (CPFP) ini adalah sebuah fitur baru yang diharapkan mampu untuk menjadi solusi permasalahan transaksi pending berkaitan dengan biaya transaksi. Saat ini, transaksi Bitcoin dalam jaringan terus bertambah seiring berjalannya waktu.
Karena kapasitas transaksi makin bertambah, penambang seringkali membebankan biaya transaksi yang lebih tinggi agar dapat memasukkan transaksi tersebut ke dalam block. Gejala yang sering terjadi ini seringkali dikaitkan dengan biaya transaksi yang dianggap belum mencukupi sebagai insentif bagi para penambang.
Permasalahan biaya transaksi ini pertama kali muncul berawal dari keinginan sejumlah layanan wallet maupun exchanger yang ingin memberikan layanan kecepatan transaksi kepada para pelanggannya. Dengan cara menyertakan biaya transaksi sebagai tambahan insentif para penambang.
Pada saat itu, sebenarnya insentif penambang di ekosistem Bitcoin masih cukup bergantung pada reward block saja. Bisa dikatakan, reward block untuk penambang tersebut memang masih cukup, sebagai ganti biaya operasional pertambangan mereka untuk kontribusinya.
Kemudian para penyedia wallet dan pihak exchanger sebagian besar mulai memberlakukan biaya transaksi atas layanan mereka secara beragam. Beberapa diantaranya, juga ada yang memberikan keleluasaan pengguna saat menentukan besaran biaya transaksinya.
Meskipun hal itu telah ditentukan di piranti penyedia layanan, namun hal tersebut ternyata cukup sulit untuk diterjemahkan oleh penambang. Karena memang hal itu belum ditentukan secara pasti dalam ekosistem pertambangan pada saat itu. Akhirnya ada beberapa kenyataan yang berbeda.
Kenyataan di lapangan, ada transaksi yang menyertakan biaya lebih minim, namun diproses lebih cepat dibandingkan transaksi yang bernilai fee lebih besar. Sejak itu, pihak ketiga ini makin mendorong agar developer mampu menyelesaikan permasalahan inipun jadi makin besar.
Pendapat yang berkembang di masyarakat adalah, ika sebuah transaksi mempunyai biaya transaksi yang rendah, dianggap bermasalah dan menjadi transaksi pending. Umumnya bahkan ada juga transaksi pending ini yang tidak mendapat satu pun konfirmasi. Ketika kapasitas transaksi makin bertambah diiringi dengan meningkatnya transaksi pending, maka semakin besar pula beban transaksi di jaringan Bitcoin.
Sebenarnya, masalah yang berkaitan dengan biaya transaksi ini dapat diselesaikan dengan menggunakan RBF (Opt-in Replace by Fee). Hanya saja, penerapan RBF ini tidak bisa mendukung semua jenis wallet pada saat ini. Ssehingga, penerima transaksi juga tidak dapat melakukan apa-apa agar bisa mempercepat proses konfirmasi transaksinya.
Maka kemudian alternatifnya adalah dengan menggunakan CPFP tersebut. Child Pays for Parent ini, adalah sebuah kebijakan baru untuk para penambang, saat memilih transaksi yang nantinya akan dimasukkan ke dalam block. Dengan kebijakan baru ini, penambang tidak perlu lagi untuk mencari transaksi bernilai fee tinggi saja yang akan dimasukkan ke dalam block.
Jadi nantinya, penerima juga dapat menawarkan biaya transaksi agar transaksi yang hendak diterima itu segera dapat diproses dan dimasukkan ke dalam block. Bagi penambang, mereka dapat menyertakan juga transaksi dengan biaya rendah maupun tinggi.
Jadi meskipun sebuah transaksi dengan biaya rendah yang telah dilampirkan oleh pengirim, dapat diproses juga pada waktu yang sama, jika pihak penerima menawarkan juga biaya transaksi. Dalam hal ini, maka penerima transaksi akan membuat sebuah transaksi pengeluaran untuk dirinya sendiri, namun sebenarnya itu ditujukan sebagai biaya transaksi tambahan sebagai insentif penambang.
Support Untuk Compact Block
Selama ini, broadcast transaksi dalam jaringan Bitcoin dilakukan dua kali. Pertama saat transaksi itu pertama kali dikirim ke dalam jaringan, kedua pada saat transaksi itu telah dikonfirmasi dan dimasukkan ke dalam block. Setelah block baru ditemukan, ada proses rely untuk meneruskan block baru tersebut pada penambang lain di dalam jaringan Bitcoin. Proses yang telah diatur dalam protokol Bitcoin secara peer-to-peer itu saat ini dianggap tidak lagi efisien.
Karena proses itu dilakukan dua kali penyiaran (broadcast) transaksi dua kali, maka tentu membutuhkan ukuran bandwidth yang lebih besar pula. Bagi penambang, tentu implikasinya akan menambah biaya operasional juga saat menjalankan Core Bitcoin. Begitupun juga saat rely broadcast block baru untuk node lain dalam jaringan. Hal itu juga menambah bandwidth yang harus ditanggung para penambang.
Selain itu, proses tersebut diyakini juga dapat mengganggu pengguna, karena penyebaran block di jaringan menjadi terhambat untuk rely block baru. Jika hal tersebut tidak diatasi, ada kekhawatiran makin mendorong sentralisasi pool mining. Karena pada akhirnya pool mining besar saja yang nanti dapat bertahan pada kondisi itu. Ujungnya tentu saja dapat menjadi sentralisasi jaringan, jika pool mining tersebut berhasil menguasai sebagian besar jaringan Bitcoin.
Compact Block yang diusung dalam BIP 152 ini dirancang untuk dapat mengurangi proses transmisi data block baru. Dengan compact block ini, saat block baru ditemukan, antar node dapat saling berkomunikasi dengan hash dari compact block ini saja. Selanjutnya dari hash tersebut, node bisa menggunakannya untuk mencari tau transaksi apa saja yang termasuk dalam block baru tersebut, lalu menyusun block sendiri diatasnya.
Meski demikian, prosesnya akan berjalan seperti sebelumnya. Maksudnya, jika node belum menerima transaksi awal (hash yang menjadi simpul block), maka tentu node tersebut juga tidak akan dapat memilih transaksi apa saja yang termasuk di dalam block tersebut.
Peningkatan Performa dan Keamanan
Di versi baru ini, memory cache untuk database transaksi telah ditingkatkan. Sehingga validasi transaksi pun diharapkan dapat berjalan lebih cepat, dan bisa menampung lebih banyak transaksi. Selain itu, performa lain yang ditingkatkan adalah pada baris perintah Bitcoin yang memungkinkan pengguna untuk menuliskan passphrases dan informasi yang lebih spesifik lainnya dengan lebih interaktif.
Hal itu karena telah ada peningkatan keamanan, jadi tidak hanya menyimpan informasi dalam teks biasa saja. Di versi Bitcoin Core Versi 0-13-0 ini, menggunakan bahasa C++ 11 dan Python versi 3. Sehingga menjadi sebuah fitur dengan keamanan yang lebih tinggi.
Generate Key HD (Hierarchical Deterministic)
Seperti yang telah banyak diketahui, sepasang key (public key dan private key) adalah buah dari proses generate key secara acak, dengan tingkat keacakan yang cukup bagus. Untuk meningkatkan keamanan, proses generate sepasang key ini dapat dilakukan di setiap address Bitcoin baru. Meski demikian, generate Key HD ini bukanlah dianggap sebagai sebuah fitur yang baru. Karena hal itu telah ada jauh sebelumnya.