Memahami Cara Kerja Bitcoin

Bitcoin adalah mata uang digital yang mulai populer pada tahun 2013. Mata uang ini tidak dikontrol Bank atau lembaga lain. Mata uang yang terdesentralisasi ini didesain untuk menjaga uang kita dari mereka yang ingin mengambil keuntungan. Tapi bagaimana cara kerja sebuah mata uang digital? Bagaimana bisa mata uang ini berlaku jika tidak ada orang yang bisa mengatakan mereka menyimpannya.

Bitcoin terdiri atas tiga bagian yaitu: block chain, mining network, dan wallet. Untuk dapat memahami cara kerja Bitcoin, kita harus memahami cara kerja tiap bagiannya. Buatlah segelas kopi/teh dan nikmati artikel ini.

Block Chain

Block chain adalah daftar tiap transaksi Bitcoin yang pernah terjadi. Sebelum transaksi masuk ke block chain, maka transaksi itu belum selsai. Sesuai namanya, block chain merupakan rangkaian/rentetan sebuah blok. Blok tersebut berisi sekumpulan transaksi baru dan terhubung dengan blok sebelumnya. Semua orang dapat memvalidasi block chain dengan mengikuti seluruh catatan yang merekam setiap transaksi sampai dengan transaksi pertama saat Satoshi Nakamoto membuat Bitcoin.

Sampai disini, kamu mungkin berpikir keras, siapa yang bertugas mengelola block chain ini. Jawabannya adalah: tidak ada. Tidak ada satu organisasi atau perseorangan pun yang memegang salinan block chain sendiri. Bitcoin dibuat agar terdistribusi dengan baik, sehingga tidak ada titik kesalahan yang dapat merusak block chain baik secara sengaja maupun tidak disengaja. Block chain dipegang oleh setiap komputer yang menambang Bitcoin.

Menambang Bitcoin

Orang-orang yang menambang Bitcoing (miner), adalah orang-orang yang menjaga transaksi lama serta memastikan transaksi baru tercatat. Tugas mereka adalah membuat (atau menambang) blok baru. Blok-blok ini menyimpan transaksi baru yang terjadi. Sebagai kompensasi telah menambang blok-blok baru ini, mereka diberikan beberapa Bitcoin. Insentif seperti ini memastikan ada cukup orang untuk melakukan penambangan sehingga sistem jaringan Bitcoin terus berjalan.

Wallet

Wallet adalah bagian Bitcoin yang sering dilihat oleh pengguna. Istilah wallet (dompet) sendiri kurang tepat karena wallet sebetulnya tidak menyimpan Bitcoin. Wallet hanya menyimpan private key yang mengijinkan sang pemilik untuk menambah transaksi ke block chain disebuah alamat berupa public key. Bitcoin-nya tersimpan sebagai sebuah catatan transaksi di dalam block chain tersebut.

Paragraf-paragraf sebelumnya memberikan garis besar tentang cara kerja Bitcoin dan kita dapat mulai menambang atau menggunakan Bitcoin. Meskipun begitu, ada kemungkinan kamu tidak mempercayai mata uang ini karena cara kerjanya yang agak aneh.

Kehebatan mata uang ini adalah teknik kriptografi yang melindungi pengguna. Mari kita lihat secara lebih mendalam bagaimana cara teknik ini bekerja.

Keamanan Bitcoin sebagian besar datang dari hashing, dan hash inilah yang digunakan untuk menautkan blok yang satu dengan blok lainnya di block chain. Setiap blok menyimpan hash blok sebelumnya, dan nilai hash tersebut tidak dapat diganti tanpa mengubah nilai hash blok sekarang (yang juga perlu diubah di blok berikutnya, dst.). Semua orang bisa memeriksa bahwa tidak ada transaksi yang pernah mengubah nilai hash karena, jika hal itu dilakukan maka nilai hash berikutnya akan terpengaruh dan tidak lagi tertaut.

Bertransaksi dengan Bitcoin

Saat melakukan transaksi dengan Bitcoin, kita mengirimkan transaksi tersebut ke jaringan miner. Untuk menjaga bahwa tidak ada orang yang dapat melakukan transasi menggunakan wallet kita tanpa diketahui, terdapat beberapa keamanan yang diberlakukan.

Transaksi Bitcoin terjadi antara dua wallet atau lebih. Seperti yang telah dijelaskan sebelumnya, kedua wallet ini hanyalah pasangan public/private key yang digunakan untuk mengenkrip data. Cara kerja kedua pasangan key ini memastikan bahwa semua data yang dienkripsi dengan public key dapat dibaca dengan private key, dan begitu pula sebaliknya.

Di Bitcoin, kita tidak memiliki tumpukan uang yang bisa naik turun seperti di Bank. Sebagai gantinya, kita memiliki sekumpulan Bitcoin yang dapat ditelusuri hingga miner pertamanya. Saat melakukan transaksi, kita harus mereferensi transaksi saat mendapatkan Bitcoin tersebut (bisa mereferensikan lebih dari satu). Selanjutnya, kita harus menandai secara digital setiap transaksi yang direferensikan. Artinya, kita meng-hash-kan detail dari transaksi dan mengkripsinya dengan private key. Karena public key akan selalu terhubung dengan alamat kita (juga transaksi yang direferensikan), maka akan dipastikan bahwa hanya kita yang memiliki otorisasi untuk melakukan transaksinya.

(Untuk penjelasan lebih lengkap, kunjungi https://en.bitcoin.it/wiki/Transactions)

Perhatikan bahwa tidak ada data fisik yang keluar dari wallet selain pesan ke block chain. Jumlah Bitcoin di dalam sebuah wallet dikalkulasi dengan melihat transaksi yang ada di block chain. Artinya siapapun dapat memeriksa jumlah Bitcoin yang ada di wallet manapun. Namun, bukan berarti siapapun dapat mengetahui siapa yang memiliki wallet tertentu karena tidak mudah untuk menentukan pemilik dari tiap wallet tersebut.

Saat transaksi ini sampai ke tangan miner, transaksi ditambahkan ke block berikutnya. Seperti yang telah kita pahami bahwa tiap block chain dapat dibagi lagi (dan seorang miner dengan computing power yang besar dapat membaginya secara berkelanjutan). Tidak ada garansi transaksi akan langsung masuk block chain, tapi dilihat dari jumlah block yang ada. Jika hanya ada satu blok, maka seorang penyerang yang beruntung dapat mengacaukan keseluruhan mining network. Dengan bertambahnya blok yang masuk ke block chain, kerjaan penyerang akan makin banyak dan lebih menyulitkan.

Enam blok biasanya dianggap cukup untuk memastikan sebuah transaksi ditambah dengan benar ke dalam block chain. Dengan laju satu blok setiap sepuluh menit, maka proses penambahan transaksi dapat terjadi dalam waktu satu jam. Untuk transaksi dengan nominal besar, kamu mungkin akan menunggu sedikit lebih lama sebelum transaksi sudah selesai di-transfer.

Block chain merupakan catatan tiap transaksi yang dapat diverfikasi secara publik. Setiap detail transaksi akan disebarluaskan ke semua miner yang ada di jaringan bitcoin dengan permintaan agar dimasukkan ke blok berikutnya.

Agar seorang miner dapat dibayar atas pekerjaannya menambah sebuah blok, ada dua hal yang harus terjadi: mereka harus memastikan hash-nya valid dan blok tersebut tercatat di block chain. Syarat pertama murni tantangan yang bersifat teknis, sedangkan syarat yang kedua akan memaksa mereka untuk memeriksa semua kemungkinan. Jika block chain mengandung transaksi yang tidak valid (misal, seseorang melakukan transaksi dengan coin yang tidak mereka miliki), maka miner berikutnya yang mendapatkan kiriman dari miner tersebut akan menolak sehingga ia tidak mendapat bayaran. Oleh karena itu miner akan memeriksa setiap transaksi untuk memastikan kevalidannya sebelum ditambahkan ke dalam sebuah blok.

Saat seorang miner menerima sebuah blok dari miner lainnya, mereka akan mendapatkan insentif saat menemukan kesalahan karena dua hal. Pertama, jika mereka menolak sebuah blok, itu artinya mereka masih memiliki kesempatan untuk menambangnya untuk diri mereka sendiri. Kedua, jika mereka menerima blok yang oleh miner lain ditolak karena tidak valid, maka penambangan yang mereka lakukan akan sia-sia karena blok ini tidak akan masuk ke block chain.

Diwaktu yang sama mereka akan mendapatkan insentif saat menerima blok yang valid, karena jika mereka menolak sebuah blok yang diterima oleh miner lain, maka blok selanjutnya yang mereka tambang akan ditolak oleh miner-miner lain.

Hashtag

Hashing – sering dikenal juga sebagai enkripsi satu arah – adalah sebuah metode untuk mengubah suatu data dengan satu cara yang tidak dapat dibalik tapi bisa diverifikasi. Mari kita lihat sebuah contoh hashing yang sangat sederhana dengan operator modulus 10. Dicontoh ini, kita membagi suatu angka dengan 10 dan sisa hasil bagi ini adalah hash-nya – sehingga angka 45 memiliki hash 5.

Ada dua fungsi krusial yang harus dimiliki oleh hash. Yang pertama adalah mudah untuk diverfikasi. Tiap kali dilakukan, prosesnya haruslah cepat dan menghasilkan hasil yang sama. Fungsi kedua adalah tidak bisa dibalik. Jika seseorang mengatakan nilai sebuah hash adalah 5, seharusnya kita tidak tahu bahwa nilai aslinya adalah 45.

Meskipun begitu modulo 10 adalah teknik algoritma hashing yang buruk karena memungkinkan adanya nilai hash yang sama dari sumber data yang berbeda. Hash yang bagus harus memiliki dua elemen tadi. Sedikit perubahan pada nilai awal akan membuat nilai hash-nya berubah drastis.

Hash sering dipakai dalam keamanan komputer. Contohnya yaitu penyimpanan password di Linux. Sistem Linux tidak pernah menyimpan password, tetapi yang disimpan adalah nilai hash-nya. Kita bisa melihat nilai-nilai hash password di Linux dengan mengetikan:

sudo cat /etc/shadow

Setiap kali log in, komputer akan merumuskan nilai hash dari password yang dimasukkan dan membandingkannya dengan hash yang tersimpan. Jika kedua hash memiliki nilai yang sama, maka log in berhasil. Meskipun bisa melihat semua hash yang ada di sistem, bukan berarti standar keamannya rendah karena sangat sulit untuk membalikkan nilai hash menjadi nilai asal.

Dalam sistem Bitcoin, hash dipakai untuk memverifikasi integritas block chain, dan menjadi bukti bahwa seorang miner sudah menambang sebuah blok. Tugas hash di block chain adalah memastikan tidak ada blok yang diubah sejak mereka ditambang.

Ada sebuah masalah yang mungkin terjadi yaitu dua miner dapat membuat block yang sama pada waktu yang bersamaan dan mengirimkannya ke miner lain. Saat hal ini terjadi, akan ada sebuah perpecahan di block chain. Beberapa miner dapat bekerja di salah satu blok, dan miner yang lain di blok satunya. Aturan Bitcoin menyatakan bahwa block chain valid yang lebih panjang yang akan dipakai. Salah satu dari perpecahan dua perpecahan tadi salah satunya akan masuk ke blok berikutnya lebih dulu, sehingga miner akan melewatkan chain yang lebih pendek agar mendapat bayaran untuk menambang *chain yang lebih panjang.

Aturan ini memastikan bahwa sebuah jaringan miner yang ingin memaksimalkan keuntungan pribadi tetap menjaga integritas mata uang ini. Sekelompok miner yang ingin mengakali sistem akan membutuhkan computing power yang lebih besar dari kombinasi semua miner yang benar (agar mereka dapat menambang blok dengan rate yang lebih cepat dan memiliki block chain lebih panjang). Hashcash selanjutnya mengamankan jaringan Bitcoin melalui raw computing power.

Ini lah alasan mengapa penambangan Bitcoin harus tetap untung. Saat ini, jaringan Bitcoin memiliki performa sebesar 15 peta hash per detik dan terus naik. Untuk membeli computing power yang lebih besar untuk mengalahkan angka di atas akan membutuhkan sekitar 150 juta poundsterling dan akan terus bertambah. Harga ini belum termasuk listrik, ruang penyimpanan, pendinginan, gaji orang yang menjalankannya, dll.

Hashcash

Hashcash adalah sistem yang digunakan oleh miner untuk memverifikasi bahwa mereka telah menambah sebuah blok sebelum blok tersebut dimasukkan ke block chain. Fungsi dasarnya adalah membuat block chain menjadi tidak memungkinkan untuk diubah.

Proses ini bergantung pada proses hashing, terutama fungsi hash SHA256. Fungsi ini menerima sebuah input dan mengeluarkan output sebuah angka 256-bit. Angka yang dimasukkan ke fungsi hash adalah header block (didalamnya terdapat sebuah counter) dan semua hash dari transaksi lain. Tugas miner adalah mencari nilai untuk counter dimana output dari fungsi hash berada di bawah nilai tertentu. Batas nilai ini akan menyesuaikan dengan pengaturan kesulitan saat ini, yang normalnya berubah tiap 2016 blok.

Satu-satunya cara untuk mendapatkan nilai hash yang dibutuhkan adalah dengan computing power yang besar. Dengan makin banyaknya nilai hash yang didapatkan dalam waktu yang lebih cepat akan memperbesar kemungkinan mendapatkan nilai yang memenuhi. Saat nilai hash ditemukan, itu artinya kita sudah menambah blok tersebut dan dapat mengirimkannya ke miner lain di jaringan.

Kecepatan sebuah jaringan atau sebuah komputer penambang Bitcoin dilihat dari berapa banyak hash yang dapat dicoba dalam satuan waktu (biasanya dihitung dalam juta hash perdetik atau GHs).

Miner tidak perlu khawatir pekerjaan mereka diambil orang karena didalamnya ada hash dari semua transaksi dan salah satu transaksi itu adalah bayaran untuk miner itu sendiri karena menambang blok. Hasil ini tidak bisa diambil orang tanpa mengubah nilai hash-nya.

Perlu dicatat bahwa algoritma hashcash yang digunakan oleh Bitcoin sedikit berbeda dengan algoritma yang digunakan untuk mendeteksi pesan spam, meskipun cara kerja keduanya hampir mirip.

Pencegahan Penipuan

Keuntungan menambang Bitcoin dikontrol oleh dua faktor: kesulitan dalam menambang tiap blok, dan jumlah Bitcoin yang didapatkan oleh miner di tiap blok. Kedua hal ini harus diimbangi dengan memperhitungkan computing power dan nilai Bitcoin yang terus meningkat di pasar.

Jumlah Bitcoin yang diberikan tiap blok berubah dalam nilai yang pas: bermula di 50,5 tiap 210.000 blok (kurang lebih empat tahun) sampai 21 juta Bitcoin sudah ditambang, dan tidak ada lagi Bitcoin yang dapat diberikan untuk menambang blok-blok selanjutnya.

Tingkat kesulitannya bervariasi setiap 2.016 blok. Jaringan Bitcoin didesain untuk membuat blok baru rata-rata setiap 10 menit. Waktu ini dipilih karena dua hal: waktu yang lebih singkat akan membuat transaksi lebih cepat terjadi, namun waktu yang terlalu singkat juga dapat membuat lebih dari satu miner membuat blok baru di saat yang bersamaan sehingga akan ada sumber daya yang terbuang karena ada dua block chain yang saling berkompetisi menjadi yang lebih panjang.

Kamu mungkin bisa melihat sedikit kekurangan dari penjelasan sebelumnya. Pertama,

Dilihat 9300 kali

Is this helpful?

Share This Post