BitcoinMedia – Anti Pencurian Bitcoin. Dari sekian tahun, lemahnya keamanan penyedia layanan pihak ketiga pada ekosistem Bitcoin menjadi perhatian penting. Beberapa penyedia layanan pihak ketiga itu seperti penyedia layanan wallet, bursa-bursa kripto konvensional (non DEX), maupun penyedia layanan kripto lain.
Berdasarkan sekian banyak insiden yang muncul, pembobolan bursa kripto konvensional paling banyak menjadi sasaran. Pasalnya meretas bursa kripto konvensional dianggap jauh lebih susah. Analoginya, meretas bursa kripto lebih mudah, karena tanpa harus bersusah payah menodongkan senjata.
Lemahnya Keamanan Bursa Kripto Konvensional
Mulai dari tragedi MTGox, Bitcoinica di tahun 2012, Bitstamp tahun 2015, Bitfinex tahun 2016, bursa Bitrue , peretasan bursa Binance, Bitquick di tahun 2017, bursa CoinCheck, MapleChange Kanada, Gatecoin, Cryptsy, Shapeshift, Poloniex, dan masih banyak lagi yang lain.
Pada periode tahun 2017 hingga 2018, total kerugian yang tercatat mencapai USD 882 juta. Total nilai itu berkisar kurang lebih Rp 12,5 trilyun. Sedangkan enam bulan terakhir pada bulan Juni 2019, sudah ada tujuh bursa kripto di dunia yang berhasil diserang.
Beberapa bursa besar seperti CoinBene, berhasil dibobol pula pada bulan Maret. Total kerugiannya mencapai USD 39 juta, atau hampir mencapai Rp. 554 milyar. Tren penyerangan bursa kripto seakan tidak pernah berhenti. Masih berlanjut, bulan Juli kemarin giliran bursa BitPoint Jepang dengan total kerugian mencapai USD 32 juta.
Atas dasar tersebut, para pengembang Bitcoin mulai memberikan inisiatif agar penyerang lebih sulit untuk melakukan serangan. Namun tidak diperuntuhkkan bursa kripto, melainkan lebih spesifik agar pengguna secara individu mampu menangani sisi keamanan atas kepemilikan aset Bitcoin.
Munculnya Bitcoin Vault – Ide Anti Pencurian Bitcoin
Bitcoin Vault pertma kali muncul di tahun 2016. Tepatnya pada pertengahan bulan Februari tahun 2016, Malte Moser, Ittay Eyal, dan bersama Emin Gun Sirer menerbitkan makalah berjudul “Bitcoin Covenants”.
Pada makalah tersebut itulah mekanisme Bitcoin Vault pertama kali diperkenalkan. Bitcoin Vault menjadi lebih dikenal, lantaran mekanisme “Vault” yang dikenalkan berperan seperti halnya sebuah “bunker” khusus dalam sebuah transaksi Bitcoin. Lebih lanjut, dari bunker transaksi itu bisa dipergunakan untuk meningkatkan peran private key dalam cara kerja Bitcoin.
Pada mekanisme Bitcoin Vault, penyerang akan relatif jauh lebih sulit dalam melakukan serangan. Bunker dalam mekanisme Bitcoin Vault dapat digunakan untuk menunda penggunaan bitcoin pada waktu tertentu yang dikehendaki.
Sehingga ketika sejumlah bitcoin (BTC) mencoba ditransaksikan oleh penyerang, namun pemilik sejumlah BTC aslinya dapat memulihkan transaksi tersebut. Sehingga pada akhirnya upaya penyerang yang bertujuan untuk mencuri sejumlah BTC itu akan gagal. Dengan ini, mekanisme maka akan mampu menjadi mekanisme anti pencurian Bitcoin.
Sayangnya, ide tentang Bitcoin Vault saat itu masih tidak diimplementasikan karena membutuhkan proses forking code Bitcoin, entah secara soft fork ataupun hard fork.
Ketika sejak tahun 2016 makin banyak bursa kripto yang diretas, Bitcoin Vault sudah banyak dimunculkan kembali sebagai alternatif pemecahan terbaiknya.
Jerry Brito selaku Pimpinan di advokasi Coin Center pernah memberikan komentar bahwa akibat dari peretasan bursa yang ada, bisa mengakibatkan pemangku kebijakan untuk menerapkan aturan lebih ketat untuk mata uang kripto. Regulasi itu nantinya akan diterapkan sebagai pendekatan yang memungkinkan untuk dilakukan sebagai langkah perlindungan investor.
Sedangkan menurut Ittay Eyal, BItcoin Vault mungkin dapat diimplementasikan melalui soft fork saja, seperti yang pernah dituliskan di hackingdistributed, akhir Februari 2016 silam.
Berlanjut di tanggal 2 Juli tahun 2018, dua pengembang Bitcoin Core Bryan Bishop dan Andrew Chow menuliskan pengamatannya tentang kerentanan alert key bitcoin melalui mailing list developer core Bitcoin. .
Fitur alert key yang sebetulnya untuk memberikan informasi kepada seluruh node untuk upgrade core terbaru itu bisa berimplikasi pada pengungkapan public key pemiliknya. Lebih jauh, ketika identifikasi public key itu bisa dilakukan, dapat memberikan resiko terhadap keamanan.
Garis besarnya, fitur alert key pasca saat itu sudah ditangani dan di non aktifkan. Namun, alert key sistem akan berpengaruh pada varian altcoin lain yang menggunakan code hasil forking dari code Bitcoin. Jika fitur itu masih belum dinonaktifkan di varian Altcoin, maka potensinya juga dapat diserang.
Berangkat dari celah keamanan tersebut Rabu kemarin (7/8/19), Bryan Bishop kembali menuliskan pandangannya di mailinglist developer Bitcoin Core kembali. Dalam tulisan emailnya itu, Bishop menuliskan dengan judul “Bitcoin vaults with anti-theft recovery/clawback mechanism”.
Gagasan yang kembali diperdengarkan oleh Bryan Bishop memandang ide tentang Bitcoin Vault cukup menarik untuk dipergunakan. Fungsinya tidak lain agar bisa memulihkan transaksi yang berhasil diserang.
Jika pada awal ide tentang Vault dipandang akan membutuhkan forking, menurut Bishop vault tidak akan membutuhkan mekanisme soft fork ataupun hard fork. Alasannya, karena fungsi pengunci waktu sudah ada di dalam code Bitcoin.
Fungsi Bitcoin Vault
Secara umum desain Bitcoin Vault berfungsi untuk meningkatkan keamanan penyimpanan aset Bitcoin oleh pengguna. Baik aset Bitcoin yang disimpan melalui Cold Storage secara offline maupun di Hot Storage.
Meski bursa-bursa kripto umumnya sudah banyak yang menangani penyimpanan aset pengguna menggunakan Cold Storage, namun fungsionalitas mekanisme Bitcoin Vault tetap diproyeksikan kepada pengguna secara individu. Pasalnya, bursa kripto konvensional selama ini adalah biang permasalahan kripto. Karena bentuknya yang akan selalu rentan terhadap serangan dengan sistem yang terpusat.
Cara Kerja Vault – Anti Pencurian Bitcoin
Seperti yang disinggung sebelumnya, bahwa Vault Bitcoin berfungsi sebagai sebuah bunker transaksi khusus. Proses transaksi vault ini, mengunci transaksi sejumlah bitcoin dengan tempo waktu tertentu sesuai yang telah ditentukan di dalamnya.
Jika pada rincian desain Vault di tahun 2016, ukuran pengunci waktu yang digunakan adalah berdasarkan jumlah block bitcoin baru. Misalnya saja pada transaksi vault menggunakan pengunci waktu sampai 100 block, dengan rata-rata waktu block Bitcoin sekitar 10 menit, maka total waktu itu berkisar kurang lebih 16 jam.
Namun pada gagasan baru dari Bryan Bishop dalam emailnya menyebut bahwa pengunci waktu transaksi vault dapat menggunakan ukuran waktu seperti hari.
Yang cukup menarik, karena pada mekanisme anti pencurian bitcoin dari vault ini dapat memulihkan transaksi yang dilakukan oleh penyerang. Dalam hal ini, apapun daya upaya yang dilakukan oleh penyerang saat berupaya mentransaksikan sejumlah bitcoin dari transaksi vault, akan dapat dipulihkan dalam sekejap.
Dengan demikian, upaya penyerang saat berusaha mencuri sejumlah Bitcoin menjadi sia-sia.
Kembali pada ide Vault di tahun 2016, fitur yang akan digunakan adalah timelock di dalam Bitcoin. Seperti yang kita ketahui, dari fungsi Timelock tersebut kemudian bisa dikembangkan lagi pada Lightning Network yang menggunakan HTLC (Hashed Timelock Contract).
Satu-satunya opcode yang memungkinkan dari fitur timelock itu adalah CHECKCLOCKTIMEVERIFY. Oleh sebab itu, pada saat pertama kali ide vault diperkenalkan, jelas akan membutuhkan proses fork, lantaran belum ada update baru untuk CHECKCLOCKTIMEVERIFY dan juga CHECKSEQUENCEVERIFY. Kecuali kemudian ketika HTLC di implementasi Lightning Network telah dilakukan, dengan terlebih dahulu mengaktifkan SEGWIT.
Meskipun demikian, menurut Bishop desain vault awal di tahun 2016 tetap akan membutuhkan opcode baru untuk bisa ditambahkan dalam kontrak transaksi vault tersebut.
Berbeda dengan awal ide vault sebelumnya, CHECKCLOCKTIMEVERIFY yang dipandang masih membutuhkan opcode baru digantikan dengan menggunakan SIGHASH_NOINPUT.
Singkat kata, dengan menggunakan SIGHASH_NOINPUT, digunakan agar private key saat proses setting awal transaksi vault dapat dihapus kembali. Sehingga private key tersebut menjadi relatif lebih aman. Dan tidak mudah diserang oleh penyerang.
Garis besarnya, berikut proses transaksi vault agar bisa berfungsi anti pencurian Bitcoin:
- Menyiapkan transaksi vault, menandatangani transaksi tersebut, menentukan kapan transaksi itu akan disiarkan ke dalam jaringan. Lalu menempatkan transaksi dengan sejumlah dana yang dimasukkan dalam sebuah bunker transaksi khusus, atau yang disebut dengan “vault”.
- Transaksi yang telah ditandatangani dan terkunci selama periode tertentu itu, baru akan disiarkan ketika pengguna bermaksud untuk menarik kembali sejumlah bitcoin tersebut dari cold storage. Sedangkan jika dalam varian hot wallet, dapat digantikan menggunakan Multisig.
- Re-vaulting key, digunakan dengan memanfaatkan SIGHASH_NOINPUT dengan pay-to witness-public-key (P2WPK) dari bech 32 Segwit address. Fungsi ini agar meminimalisir penggunaan private key
- Abort key, digunakan sebagai sebuah key tunggal khusus untuk membatalkan seluruh transaksi vault apapun yang pernah ada. Fungsinya akan sama seperti sebuah mekanisme proof of burn, namun berfungsi secara khusus untuk membatalkan transaksi vault saja.
Dalam kaitannya untuk memulihkan transaksi vault yang coba diserang atau diretas, fungsi Re-vaulting key itulah yang menjadi fitur ajaibnya. Key khusus ini dapat digunakan untuk mencegah penyerang bisa mentransaksikan sejumlah koin BTC, meskipun saat itu unit BTC masih dalam status terkunci.
Ketika pengguna asli menggunakan key re-vaulting, maka transaksi penyerang akan bisa dipulihkan sepenuhnya. Dengan fitur anti pencurian Bitcoin ini, upaya penyerang akhirnya menjadi sia-sia.