Braiins, firmware open source untuk pertambangan bitcoin merilis upgrade baru Stratum V2 di piranti lukan BOSminer. Berbeda dengan protokol mining pool Stratum sebelumnya, di versi Stratum V2 ini dipercya bisa memberikan tingkat keamanan lebih dan privasi. Termasuk juga efektifitas pertambangan miner.
Pengembang di Braiins sendiri adalah orang yang sama pendiri Slush Pool, salah satu mining pool bitcoin besar. Slush, pendiri Slush Pool bersama dengan Pavel Moravec, Jan Capek, Matt Corallo dan pakar lain mulai merancang versi baru protokol mining pool Stratum V2 sejak tahun 2019 lalu.
Mining Pool atau Pool Mining pertama kali mulai muncul saat pertambangan bitcoin masih banyak menggunakan kartu-kartu grafis (GPU) di sekitar tahun 2010. Pergeseran dan evolusi perangkat pertambangan dari CPU ke GPU ini memberikan peluang baru pada penambang-penambang berdaya komputasi minim.
Mining Pool atau Pool Mining inilah yang menjadi jembatan dan solusi yang memungkinkan pertambangan Bitcoin bisa dilakukan secara bersama-sama. Secara kolektif. Saat itu, standarisasi protokol pool mining yang masih dipergunakan adalah Getblocktemplate (GBT).
Protokol mining pool itu memiliki API komunikasi antara manager pool dengan para penambang lain yang telah bergabung di dalam pool mining tersebut. Dari API itu, bisa digunakan untuk mengirim pesan pada seluruh peserta terkait dengan rincian block yang sedang dikerjakan pool. Lalu penambang mengirimkan balasan yang berelasi dengan saham yang telah ditemukan kepada manager pool.
Apa Itu Protokol STRATUM?
Protokol STRATUM adalah protokol pertambangan bitcoin yang diusulkan oleh Marek Palatinus, dikenal dengan nama pseudonym “Slush”. Protokol ini adalah protokol mining pool alternative selain Getblocktemplate (GBT) yang masih berlaku dan sudah menjadi standard saat itu.
Dari strandarisasi protokol mining yang masih menggunakan Protokol GBT, pada akhirnya memunculkan protokol alternative lain, yaitu STRATUM. Pertama yang perlu diketahui ketika munculnya standarisasi protokol mining itu lantaran pernah hampir terjadi konsentrasi daya pertambangan melalui pool mining sampai hampir mencapai 50%.
Seperti yang terjadi di sekitar Juni 2014 di Ghash.io. Saat itu pool mining Ghash.io hampir memiliki daya komputasi hingga 50% total jaringan. Lompatan besar di Ghash.io terjadi karena pool tersebut memberikan penawaran menggiurkan pada para penambang. Sehingga memicu lonjakan daya komputasi besar.
Dalam hal ini, standarisasi protokol mining pool kemudian perlu dijadikan sebuah solusi. Protokol GBT (getblocktemplate atau getblock) inilah yang kemudian menjadi pemecah persoalan atas insiden tersebut. Miner dan manager pool bisa menjalankan API pool yang sama sebagai jalur komunikasi, membuka peluang masing-masing miner untuk saling melonjat antar mining pool berbeda. Termasuk mengatur para pekerja (worker) perangkatnya untuk menentukan lokasi mining pool.
Garis besarnya, protokol itu memberikan solusi terhadap potensi sentralisasi mining pool dengan daya konsentrasi distribusi hashrate yang besar. Tujuannya tidak lain menjadi sebaran distribusi daya komputasi yang lebih merata, dan meminimalisir konsentrasi pertambangan. Alternatif protokol mining melalui STRATUM muncul dengan memberikan opsi lain.
Meski kurang lebihnya hampir mirip, STRATUM tidak hanya berfungsi untuk menjadi API komunikasi antara manager pool dengan miner, STRATUM juga memberikan ruang lebih pada penambang dengan memberikan privasi yang lebih dibandingkan GBT.
Adalah seseorang dengan akun bernama “Slush” yang kemudian mendirikan Slush Pool. Slush pertama kali memberikan usulan terkait dengan protokol mining pool, Stratum di tahun 2011. Awalnya saat itu Slush memberikan usulan protokol mining itu pada platform Electrum di forum Bitcointalk.
Lebih jauh, usulan saat itu dinilai Slush jadi kurang relevan difungsikan hanya pada platform Elektrum. Asumsinya, protokol usulannya itu akan jauh lebih tepat menjadi sebuah usulan atas implementasi jaringan P2P bitcoin. Lalu di forum Bitcointalk yang sama, Slush membuat thread tersendiri terkait dengan usulan Protokol STRATUM.
Selanjutnya protokol STRATUM dijadikan sebuah proposal pengembangan tersendiri di tahun 2012. Meski pada saat itu masih belum sepenuhnya menjadi standar menjadi BIP, namun implementasi STRATUM sudah banyak dipergunakan di berbagai mining pool, hingga perangkat-perangkat pertambangan maupun piranti lunak pertambangan bitcoin.
Di versi awal protokol Stratum sendiri sudah banyak mengalami perubahan. Singkat kata, di versi STRATUM awal sudah cukup berbeda dengan GBT yang diperkenalkan secara resmi pada tahun 2012 saat itu.
Kritik yang paling menonjol saat STRATUM mulai muncul karena dikhawatirkan dapat membatasi tingkat fleksibilitas para penambang di dalam mining pool. Perdebatan saat itu, karena STRATUM memberikan privasi, dikhawatirkan menjadi lebih tertutup, tidak seperti protokol GBT yang sudah ditentukan menjadi standar.
Namun, dalam hal ini, STRATUM sudah menjadi sebuah alternatif yang tetap bisa dipergunakan oleh mining pool. Lebih jauh di tahun 2017, muncul sebuah hasil analisis yang pernah dituliskan oleh Ruben Recabarren dan Bogdan Carbunar. Judul analisis itu adalah “Hardening Stratum, the Bitcoin Pool Mining Protocol”.
Karena mining pool pada dasarnya berpola sebagai sebuah server terpusat, maka ada potensi serangan yang memungkinkan terjadi dengan menjadikan server mining pool tersebut menjadi sasarannya secara langsung.
Dalam hasil analisis itu, beberapa serangan ada beberapa kemungkinan serangan yang dapat dilakukan, terutama ketika masing-masing log ISP penambang yang dapat dijadikan sebagai target serangan. Dalam hal ini, koneksi antar penambang pada pool mining membuka peluang tersebut.
Atas hal itu, pada analisisnya perlu beberapa peningkatan privasi terutama pada model pengiriman pesan manager pool kepada tiap-tiap penambang, hingga pada kalkulasi tiap-tiap kontribusi daya komputasi penambang di mining pool. Istilah ini disebut dengan “job assignment”.
Beberapa hal krusial yang menjadi perhatian dari versi STRATUM awal itulah yang lantas memunculkan inisiatif untuk memperbarui menjadi STRATUM V2 di tahun 2019.
Protokol STRATUM V2
Disebutkan dalam proposal pembaruannya, di samping memberikan infrastruktur yang lebih memadai terkait dengan efektifitas dan privasi, STRATUM V2 juga disebut meningkatkan desentralisasi pertambangan melalui mining pool.
Pada versi Stratum V2 ini memiliki 3 channel komunikasi, yakni Standard Channel, Extended Channel, dan Group Channel. Pada tipe komunikasi standar, digunakan untuk meminimalisir manipulasi pesan, termasuk pada transaksi coinbase di dalam jaringan kepada seluruh node di pool mining.
Beberapa hal lain yang menjadi perhatian lebih pada versi Stratum V2 adalah terkait dengan protokol Job Assignment dan distribusi block template. Khusus untuk pola Job Assignment, di versi yang baru ini memiliki dua protokol berbeda, yakni Job Distribution protocol beserta Job Negotiation Protocol.
Secara singkat, protokol tambahan tersebut memungkinkan penambang untuk bisa memilih set transaksinya sendiri melalui proses negosiasi mandiri di dalam pool mining. Artinya, proses ini diharapkan bisa meningkatkan desentralisasi dalam ekosistem pertambangan.
Dikatakan mampu meningkatkan efektifitas pertambangan, lantaran pada versi Stratum V2 ini adalah protokol yang bersifat lebih ringan, jika dibandingkan dengan protokol Stratum V1 sebelumnya. Yang paling membedakan lantaran pada versi Stratum V2 proses miningnya berupa header mining saja. Sementara di protokol Stratum awal tidak demikian.