This article has been translated from English to Indonesian.

Bagaimana cara kerja transaksi Bitcoin?

Transaksi Bitcoin adalah transfer sejumlah bitcoin dari satu alamat ke alamat lain yang tercatat di blockchain.

Namun, bagaimana sebenarnya proses "transfer" ini bekerja?

Dalam pelajaran ini, saya akan menunjukkan kepada Anda bagaimana cara kerja transaksi Bitcoin dari awal sampai akhir.

Pertama, kita akan melihat cara kerja transaksi Bitcoin dari sudut pandang pengguna. Setelah itu, kita akan melihat cara kerja transaksi Bitcoin dari sudut pandang penjual.

Ini akan membantu Anda mengingat semua konsep baru yang telah Anda pelajari di pelajaran sebelumnya.

Apakah Anda sudah siap?!

Start Bitcoin Transaction

Katakanlah Ironman memiliki 1 bitcoin yang ingin ia kirimkan kepada Batman.

Ironman sends 1 BTC to Batman

Dari Perspektif Ironman

Hal pertama yang akan dilakukan Ironman adalah membuka dompet Bitcoin-nya.

Dompet ini bisa berupa dompet apa saja, tetapi dalam contoh ini, dia menggunakan dompet perangkat lunak yang dia instal di laptopnya.

Ironman initiates Bitcoin transaction

Hal berikutnya yang dia lakukan adalah meminta alamat Bitcoin-nya kepada Batman.

Di sinilah Batman ingin menerima bitcoinnya. Batman mengirimkan alamat Bitcoin melalui email dan Ironman menyalin dan menempelkannya.

Ironman asks for Batman's address

Ironman kemudian memasukkan jumlah bitcoin yang ingin ia kirimkan kepada Batman.

Batman enters 1 BTC

Karena jari-jari besar paduan emas-titaniumnya rentan terhadap kesalahan pengetikan, ia memeriksa ulang apakah ia telah memasukkan angka yang benar.

Dan menekan tombol Kirim.

Batman sends 1 BTC

Perangkat lunak dompet kemudian meminta kata sandi untuk mengonfirmasi transaksi.

Untuk mengirim bitcoin, Ironman perlu membuktikan kepada jaringan Bitcoin bahwa memang benar dia yang mengirim uang dan dia memiliki kepemilikan atas bitcoin tersebut.

Di situlah kunci prib adinya berperan (yang disimpan di dompet).

Setelah Ironman memasukkan kata sandi yang benar, perangkat lunak dompet akan "menandatangani"transaksi tersebutmenggunakan kunci pribadi Batman, menciptakan sebuah data terpisah yang dikenal sebagai "tanda tangan digital". (Ini semua dilakukan di belakang layar).

Bitcoin wallet signs transaction

Transaksi Bitcoin di Balik Layar

Dari sini, keterlibatan Batman sudah selesai.

Perangkat lunak dompet terhubung ke sebuah node Bitcoin dan mengirimkan pesan transaksi, bersama dengan"tanda tangandigital"dan kunci publik.

Node akan memeriksa apakah transaksi tersebut valid:

  • Apakah pengirim memiliki cukup BTC yang terkait dengan alamat mereka untuk melakukan transaksi?
  • Apakah pengirim memiliki wewenang untuk mengirim BTC?

Sebagai contoh, node akan memeriksa untuk memastikan bahwa Batman benar-benar memiliki 1 BTC untuk dikirim. Jika transaksi lolos dari semua pemeriksaan, node akan meneruskan transaksi ke node lain.

Secara default, node tidak saling mempercayai satu sama lain, sehingga mereka akan memvalidasi transaksi itu sendiri.

Dan hanya jika mereka menganggap transaksi tersebut valid, mereka akan membagikan transaksi tersebut ke node-node yang terhubung dengan mereka.

Bitcoin transaction sent to nodes

Jika sebuah transaksi dianggap valid, maka transaksi tersebut akan disimpan di tempat penyimpanan sementara yang dikenal sebagai "memory pool" atau "mempool".

Pada titik ini, sebuah transaksi dianggap "belum dikonfirmasi" atau "tertunda".

Bitconi transaction stored in mempool

Node khususyang dikenal sebagai"penambang" akan mengemas transaksi ini bersama dengan transaksi valid lainnya dari mempool mereka ke dalam sebuah "blok".

Bitcoin miners bundle transactions into a block

Para penambang kemudian akan bersaing untuk menjadi yang pertama "menambang" blok mereka. Hal ini melibatkan upaya untuk menemukan angka yang dimulai dengan sejumlah angka nol.

Satu-satunya cara untuk menemukan angka ini adalah dengan mencoba-coba. Dengan kata lain, membuat tebakan sebanyak mungkin.

Bitcoin miners compete

Penambang pertama yang menebak angka yang benar berarti penambang tersebut adalah yang pertama "menambang" bloknya.

Saat penambang menebak dengan benar, ia akan membagikan bloknya bersama dengan "nomor pemenang" ke node lain di jaringan Bitcoin.

First Bitcoin miner to guess correct nonce wins

Node-node dalam jaringan Bitcoin memverifikasi bahwa penambang telah menebak angka yang benar dan jika benar, maka node-node tersebut akan menambahkan blok milik penambang yang menang ke dalam blockchain mereka. Dan mereka juga mengirimkan blok ini ke node lain.

Karena blok (yang menyimpan transaksi) sekarang telah ditambahkan ke versi "resmi" dari blockchain, maka transaksi tersebut sekarang dianggap "terkonfirmasi"

Setelah blok tersebut dibuat dan transaksi baru diverifikasi dan dimasukkan ke dalam blok tersebut, transaksi dikatakan memiliki "satukonfirmasi".

Bitcoin nodes validate new block

Dari Perspektif Batman

Batman melihat bahwa transaksi tersebut telah dikonfirmasi dan memeriksa dompet Bitcoin-nya untuk melihat apakah bitcoin telah ditransfer.

Bitcoin transaction confirmed

Semakin banyak blok yang telah dibangun di atas blok dengan transaksi Ironman, semakin "terkonfirmasi" transaksi tersebut di blockchain.

Pada dasarnya, setiap blok yang ditambahkan dianggap sebagai"konfirmasi tambahan". Menunggu enam konfirmasi adalah standar saat ini untuk sebagian besar transaksi yang dianggap aman.

Dan tiga Anda sudah mendapatkannya!

Satu bitcoin kini telah ditransfer dari alamat yang dimiliki oleh Ironman ke alamat baru yang dimiliki oleh Batman.

Dan kecuali Ironman atau Batman membagikan alamat dompet Bitcoin mereka kepada publik, tidak akan ada yang tahu bahwa dua pahlawan super terkenal ini terlibat dalam sebuah transaksi Bitcoin.

Yang akan dilihat oleh semua orang hanyalah 1 BTC yang dikirim dari satu alamat ke alamat lainnya, tetapi mereka tidak akan tahu siapa yang berada di balik alamat tersebut.

Seperti yang Anda lihat, banyak langkah dalam transaksi Bitcoin yang dilakukan di belakang layar.

Setelah Batman membagikan alamatnya kepada Ironman, dan Ironman memulai transaksi menggunakan dompet Bitcoin-nya, sisanya ditangani oleh komputer dan kode perangkat lunak.

Pandangan Mata Burung dari Sebuah Transaksi Bitcoin

Sekarang mari kita lihat secara sekilas bagaimana cara kerja transaksi Bitcoin.

Anggap saja Ironman sudah memasukkan alamat Batman dan jumlah bitcoin yang akan dikirim.

Bitcoin has been sent

Dompet Ironman terhubung ke sebuah simpul yang menyiarkan pesan ke semua komputer ("jaringan Bitcoin") yang menjalankan salinan basis data terbaru ("blockchain Bitcoin") yang secara efektif mengatakan, "Saya ingin mengirim 1 bitcoin ke Batman."

Ironman memiliki rangkaian huruf dan angka unik yang disebut"private key". Dengan kunci pribadi ini, perangkat lunak dompet Batman menghasilkan"tanda tangandigital"yang memastikanbahwa pesan tersebut berasal darinya dan bukan dari orang lain.

Komputer("full node") dalamjaringan Bitcoin dapat dengan mudah mengkonfirmasi jika Ironman adalah orang yang benar-benar mengirim pesan dengan menggunakan rangkaian huruf dan angka yang berbeda yang diberikan oleh Ironman, yang disebut dengan "public key"untuk memverifikasi "tanda tangan digital" ini.

Mereka juga dapat dengan mudah mengonfirmasi bahwa Ironman memiliki 1 bitcoin untuk dikirim karena mereka semua memiliki salinan dari database saat ini.

Semua node terus memperbarui satu sama lain dengan informasi terbaru("transaksi") yangditambahkan ke jaringan Bitcoin.

Sebuah transaksi adalah sebuah catatan transfer bitcoin dari satu alamat ke alamat lainnya. Transaksi tidak dicatat secara individual di blockchain, tetapi pertama-tama dikelompokkan ke dalam blok.

Yang penting, pada titik ini, transaksi baru saja diajukan.Belum adakomputer yang memperbarui salinan buku besar("blockchain").

Transaksi pada awalnya ditempatkan di ruang tunggu ("mempool"),di manatransaksi tersebut menunggu konfirmasi.

Mempool (kumpulan memori) adalah sebuah database yang lebih kecil dari transaksi yang belum dikonfirmasi (tertunda) yang disimpan oleh setiap node. Semua transaksi dalam mempool bersifat pending, dan tidak dapat dipercaya sampai transaksi tersebut dimasukkan ke dalam blok.

Karena transaksi hanya diusulkan dan belum diselesaikan, sistem dapat dengan cepat menyampaikan pesan untuk memastikan setiap peserta menyadarinya.

Pada diagram di bawah ini, Ironman dan Batman direpresentasikan sebagai dompet berwarna ungu.

Lingkaran abu-abu mewakili komputer ("node penuh") yang merupakan bagian dari jaringan Bitcoin peer-to-peer (P2P).

Kotak hitam mewakili "blockchain", salinan buku besar yang diperbarui secara berurutan, pada saat Ironman mengajukan transaksinya ke jaringan.

Seperti yang Anda lihat, salinan blockchain yang identik disimpan di komputer di seluruh dunia ("full node")yang menjalankanperangkat lunak Bitcoin. Desain ini memastikan bahwa tidak ada satu entitas pun yang memegang kendali atas buku besar dan membuat Bitcoin tidak dapat dikontrol (atau ditutup) oleh pemerintah atau otoritas pusat manapun.

Semua node yang menyimpan salinan lengkap blockchain yang dikenal sebagai"full node"harus dihancurkan untuk menghapus buku besar. Selama seluruh buku besar ada di setidaknya satu node penuh, maka akan ada catatan semua transaksi Bitcoin sepanjang sejarah.

Ironman and Batman as purple wallets

Tentu saja, Ironman bukanlah satu-satunya yang melakukan transaksi. Ada anggota Avengers lainnya yang mengirimkan bitcoin mereka ke penerima lain. Sebagai contoh, Captain America dapat mengirimkan sejumlah bitcoin kepada Winter Soldier.

Di sinilah peserta khusus dalam jaringan masuk:"penambang".

Penambang adalah komputer yang tersebar di seluruh dunia dan merupakan bagian penting dari jaringan Bitcoin. Tugas mereka adalah mengumpulkan atau mengelompokkan transaksi baru yang valid, seperti Ironman, dan mengajukannya untuk penyelesaian.

Kelompok-kelompok transaksi ini disebut"blok", yang merupakan asal kata "blok" dalam "blockchain".

Blok adalah kumpulan transaksi. Blok dihubungkan bersama secara kronologis untuk membentuk "rantai blok" atau blockchain.

Pada waktu tertentu, ribuan komputer ini bersaing satu sama lain untuk mendapatkan hak membuat blok berikutnya. Kompetisi ini melibatkan pemecahan "teka-teki", dan para penambang dapat mengajukan blok baru hanya jika mereka memecahkan teka-teki yang ada.

"Teka-teki" ini pada dasarnya adalah TRY untuk menebak angka yang benar. Peluang untuk menebak angka yang benar adalah sekitar 1 banding 6 triliun.

Jadi, trik untuk menjadi yang pertama menemukan angka "pemenang" adalah menebak angka sebanyak mungkin. Hal ini membutuhkan banyak daya komputasi yang menggunakan energi dalam jumlah besar.

Siapa pun yang pertama kali menemukan solusinya berhak mendapatkan hadiah,yangdikenal sebagai"block reward".

Block reward dirancang untuk memberikan insentif kepada node untuk berpartisipasi dalam penambangan. Jika tidak, tidak akan ada penambang karena mereka tidak akan dapat menutup biaya komputer yang tinggi dan biaya listrik untuk menjalankannya.

Imbalan blok terbuat dari DUA komponen:

  1. Bitcoin yang baru dicetak
  2. Biaya transaksi (yang dibayarkan oleh orang yang memulai transaksi seperti Ironman)

Bitcoin yang baru dicetak yang "dimenangkan" oleh penambang dikenal sebagai"subsidi blok" danmerupakan bagian terbesar dari reward. Saat ini, setiap blok baru saat ini memiliki hadiah 6,25 bitcoin yang baru dicetak.

Setiap blok berisi beberapa transaksi, dan semua transaksi termasuk biaya, yang dikumpulkan oleh penambang.

Singkatnya:

Hadiah blok = subsidi blok + biaya transaksi

Hadiah blok adalah insentif bagi para penambang untuk melakukan pekerjaan yang diperlukan untuk memverifikasi transaksi dan memelihara database.

Setiap 210.000 blok, atau kira-kira setiap empat tahun, subsidi blok dipotong menjadi dua dalam sebuah peristiwa yang dikenal sebagai "halving". Proses ini akan terus berlanjut sampai subsidi blok menjadi nol. Pada saat itu, penambang hanya akan memungut biaya transaksi

Blok baru diselesaikan di jaringan Bitcoin kira-kira setiap 10 menit, meskipun waktu yang tepat tergantung pada seberapa cepat "teka-teki" diselesaikan.

Saat ini, sebagian besar penambangan dilakukan oleh "mining pool", yaitu kelompok penambang yang menggabungkan kekuatan pemrosesan mereka dan membagi upah blok di antara mereka sendiri.

Proses ini ditunjukkan pada diagram di bawah ini.

Bitcoin Network with Miners

Para penambang sekarang direpresentasikan sebagai lingkaran oranye.

Kotak biru menunjukkan buku besar yang diperbarui yang mencakup sejumlah transaksi baru, termasuk transaksi Ironman

Untuk saat ini, hanya satu peserta jaringan (penambang yang mengajukan blok transaksi baru) yang dapat melihat buku besar yang telah diperbarui.

Peserta lainnya hanya dapat melihat blok yang lebih lama, yang digambarkan dengan warna hitam.

Karena imbalannya cukup besar, banyak penambang yang berlomba-lomba untuk menyelesaikan setiap blok transaksi.

Secara desain, memecahkan "teka-teki" adalah usaha yang mahal karena membutuhkan daya komputasi yang signifikan dan membutuhkan banyak listrik. Dan mengetahui siapa di antara ribuan penambang yang akan menyelesaikan "teka-teki" tersebut terlebih dahulu adalah hal yang mustahil.

Ketika seorang penambang berhasil memecahkan "teka-teki" (menebak angka yang benar), ia dapat memposting solusinya dan mengajukan blok transaksinya ke jaringan.

Hal yang menarik dari pendekatan ini adalah walaupun memecahkan teka-teki ini sulit dan mahal untuk dilakukan, namun mengecek hasilnya sangat mudah. Dan ketika seorang penambang memposting solusi dan blok transaksinya, anggota jaringan yang lain akan memeriksa hasil kerjanya.

Jika transaksi tersebut valid dan solusi untuk "teka-teki" tersebut benar, peserta jaringan akan memperbarui salinan database mereka untuk merefleksikan transaksi yang baru.

Pada saat itu, transaksi Ironman dianggap selesai atau "dikonfirmasi ". 1 bitcoin telah berpindah dari alamat Ironman ke alamat Batman dan secara resmi telah tercatat dalam blockchain.

"Mekanisme konsensus" untuk menentukan transaksi apa yang akan dicatat secara permanen dan "dikonfirmasi" adalah inti dari desain blockchain Bitcoin.

Proses ini ditunjukkan di bawah ini.

Bitcoin Network syncs blockchain

Semua peserta jaringan sekarang telah menerima blok transaksi baru yang diusulkan(kotak biru ). Hasilnya, buku besar mereka diperbarui dan disinkronkan.

Yang penting, kompetisi untuk menyelesaikan blok transaksi berikutnya bergantung pada penyertaan informasi dari blok sebelumnya, yang menyebabkan para penambang dengan cepat memperbarui salinan database mereka dan memastikan bahwa merusak blok yang telah diselesaikan sangatlah sulit.

"Rangkaian blok yang saling berantai" inilah yang menjadi alasan mengapa arsitektur database ini disebut sebagai"blockchain".

Blockchain Bitcoin berisi setiap blok sejak awal, mulai dari blok pertama yang dikenal sebagai"Genesis Block".

Bagaimana jika penambang Bitcoin yang tidak dikenal yang mengirimkan sebuah blok adalah seorang pelaku kejahatan dan mengajukan blok transaksi yang tidak valid yang entah bagaimana menguntungkannya?

Atau bagaimana jika Ironman jahat, dan dia TRY mengirimkan 1 bitcoin yang sama kepada Spider-Man dan Wonder Woman secara bersamaan tanpa diketahui oleh siapa pun?

Peserta jaringan memeriksa setiap transaksi di setiap blok yang diajukan dan menolak blok dengan transaksi yang tidak valid. Saat ini, lebih dari 100.000 node secara independen memverifikasi setiap transaksi Bitcoin!

Karena pekerjaan memvalidasi transaksi dan memastikan bahwa hanya transaksi yang valid yang diselesaikan adalah hal yang sangat mudah bagi para peserta jaringan, tetapi mencoba untuk menyelesaikan transaksi adalah hal yang mahal, maka insentif untuk TRY menipu sistem menjadi sangat kecil.

Ringkasan

Mari kita rangkum semua interaksi dalam jaringan Bitcoin:

  • Jika Anda ingin mengirim bitcoin ke orang lain, Anda memberikan alamat Bitcoin penerima, dan dompet Anda akan terhubung ke sebuah simpul untuk memulai transaksi.
  • Node akan memverifikasi transaksi, memvalidasinya, lalu menyiarkan dan meneruskan transaksi yang valid ke node dan penambang lainnya. Jika sebuah transaksi melanggar salah satu aturan Bitcoin, node akan secara otomatis menolaknya.
  • Para penambang mengumpulkan transaksi-transaksi ini ke dalam sebuah "kandidat blok" (blok sementara) dan bersaing untuk menjadi orang yang dapat mempublikasikan blok mereka di blockchain dengan menjadi orang pertama yang menebak dengan benar solusi dari "teka-teki" matematika.
  • Penambang yang "menang" akan mempublikasikan blok sementara ini sebagai blok permanen ke dalam blockchain, mengonfirmasi transaksi tersebut (dan transaksi lainnya dalam batch).
  • Node menerima blok ini dan memverifikasi bahwa penambang mengikuti aturan jaringan. (Jika blok tersebut melanggar salah satu aturan Bitcoin, node akan secara otomatis menolaknya).
  • Setiap kali sebuah node menerima blok baru dan menganggapnya valid, node tersebut akan meneruskannya ke node lainnya, sehingga semua node (termasuk penambang) dapat tetap sinkron dan mempertahankan blockchain yang sama.
  • Semua penambang lain menghapus blok sementara yang sedang mereka kerjakan dan memulai "kandidat blok" baru dengan "teka-teki" matematika yang baru.
  • Setelah node yang terhubung dengan dompet penerima menerima blok baru, dompet penerima akan menampilkan saldo yang diperbarui dengan bitcoin yang baru diterima.