ETFFIN Finance >> Kursus keuangan >  >> Cryptocurrency >> Blockchain

Bagaimana rantai blok mencegah pengeluaran ganda Bitcoin?

Salah satu perhatian utama dari setiap pengembang cryptocurrency adalah masalah pengeluaran ganda. Ini mengacu pada kejadian seseorang menghabiskan saldo cryptocurrency itu lebih dari sekali, secara efektif menciptakan perbedaan antara catatan pengeluaran dan jumlah cryptocurrency yang tersedia, serta cara penyebarannya.

Masalah pengeluaran ganda adalah masalah yang tidak dimiliki uang tunai; jika Anda membayar sandwich dengan uang $10, menyerahkan tagihan itu kepada pembuat sandwich, Anda tidak dapat berbalik dan menghabiskan $10 yang sama di tempat lain. Transaksi menggunakan mata uang digital seperti bitcoin, Namun, terjadi sepenuhnya secara digital. Ini berarti bahwa dimungkinkan untuk menyalin detail transaksi dan menyiarkan ulang sehingga BTC yang sama dapat digunakan beberapa kali oleh satu pemilik. Di bawah, kami akan memeriksa bagaimana pengembang cryptocurrency telah mengasuransikan bahwa pengeluaran ganda tidak dapat terjadi.

Takeaways Kunci

  • Masalah teknis yang muncul dengan gagasan mata uang digital adalah kemampuan seseorang untuk menduplikasi uang digital dan membelanjakannya secara bersamaan di dua tempat atau lebih.
  • Masalah 'pembelanjaan ganda' ini dicegah dalam cryptocurrency berbasis blockchain seperti Bitcoin dengan menggunakan mekanisme konsensus yang dikenal sebagai proof-of-work (PoW).
  • PoW ini dilakukan oleh jaringan 'penambang' terdesentralisasi yang tidak hanya mengamankan kesetiaan transaksi masa lalu pada buku besar blockchain tetapi juga mendeteksi dan mencegah pengeluaran ganda.

Memahami Blockchain

Blockchain yang menopang mata uang digital seperti bitcoin tidak dapat mencegah pengeluaran ganda sendiri. Lebih tepatnya, semua transaksi berbeda yang melibatkan cryptocurrency yang relevan diposting ke blockchain, di mana mereka diverifikasi secara terpisah dan dilindungi oleh proses konfirmasi. Dalam kasus bitcoin dan banyak mata uang kripto lainnya, transaksi yang telah dikonfirmasi dengan cara ini menjadi tidak dapat diubah; mereka diposting secara publik dan dipelihara selamanya.

Bitcoin adalah mata uang digital utama pertama yang memecahkan masalah pengeluaran ganda. Itu dilakukan dengan menerapkan mekanisme konfirmasi ini dan mempertahankan kesamaan, sistem buku besar universal. Lewat sini, blockchain bitcoin menyimpan catatan transaksi yang dicap waktu kembali ke pendirian cryptocurrency pada tahun 2009.

Dalam istilah Bitcoin, "blok" adalah file data yang direkam secara permanen. Semua transaksi terakhir ditulis ke dalam blok, seperti buku besar transaksi saham di bursa. Informasi dari blok ditambahkan ke buku besar setiap beberapa menit; semua node di jaringan menyimpan salinan buku besar blockchain. Pengguna dapat menavigasi blockchain untuk bitcoin dan meninjau transaksi dalam hal kuantitas saja. Detail tentang identitas pembeli dan penjual dalam setiap transaksi dilindungi oleh enkripsi tingkat tinggi, yang juga melindungi buku besar dari gangguan oleh sumber luar. Ketika buku besar blockchain diperbarui, begitu juga semua dompet bitcoin.

Menghadapi Pengeluaran Ganda

Bayangkan Anda memiliki 1 BTC dan Anda mencoba membelanjakannya dua kali dalam dua transaksi terpisah. Anda dapat mencoba melakukan ini dengan mengirimkan BTC yang sama ke dua alamat dompet bitcoin yang terpisah. Kedua transaksi ini kemudian akan masuk ke kumpulan transaksi yang belum dikonfirmasi. Transaksi pertama akan disetujui melalui mekanisme konfirmasi dan kemudian diverifikasi ke blok berikutnya. Namun, transaksi kedua akan diakui tidak sah oleh proses konfirmasi dan tidak akan diverifikasi. Jika kedua transaksi ditarik dari pool untuk konfirmasi secara bersamaan, transaksi dengan jumlah konfirmasi tertinggi akan dimasukkan ke dalam blockchain, sedangkan yang lainnya akan dibuang.

Sementara ini secara efektif menangani masalah pengeluaran ganda, itu bukan tanpa masalah. Sebagai contoh, penerima yang dituju dari transaksi kedua (gagal) tidak akan memiliki bagian dalam transaksi itu sendiri yang gagal, namun orang itu tidak akan menerima bitcoin yang telah mereka antisipasi. Banyak pedagang menunggu setidaknya 6 konfirmasi transaksi (artinya enam blok transaksi berikutnya ditambahkan ke blockchain setelah transaksi yang bersangkutan). Pada saat ini, pedagang dapat dengan aman berasumsi bahwa transaksi tersebut sah.

Masih ada kerentanan lain dalam sistem ini yang memungkinkan serangan pengeluaran ganda terjadi. Sebagai contoh, jika penyerang entah bagaimana mampu mengendalikan setidaknya 51% dari kekuatan jaringan, mereka dapat melakukan pengeluaran ganda. Jika seorang penyerang entah bagaimana bisa mengendalikan kekuatan komputasi sebanyak ini, mereka bisa membalikkan transaksi dan membuat yang terpisah, blockchain pribadi. Namun, pertumbuhan bitcoin yang cepat hampir memastikan bahwa jenis serangan ini tidak mungkin terjadi.

Bukti Pekerjaan &Penjelasan 'Penambangan'

Sekarang mari kita sedikit lebih teknis. Cara pengguna mendeteksi gangguan seperti upaya untuk membelanjakan ganda dalam praktik adalah melalui hash, string panjang angka yang berfungsi sebagai bukti kerja (PoW). Masukkan satu set data tertentu melalui fungsi hash (bitcoin menggunakan SHA-256), dan itu hanya akan menghasilkan satu hash. Karena "efek longsoran salju, " Namun, bahkan perubahan kecil pada bagian mana pun dari data asli akan menghasilkan hash yang sama sekali tidak dapat dikenali. Berapa pun ukuran kumpulan data asli, hash yang dihasilkan oleh fungsi yang diberikan akan sama panjangnya. Hash adalah fungsi satu arah:tidak dapat digunakan untuk mendapatkan data asli, hanya untuk memeriksa apakah data yang menghasilkan hash cocok dengan data asli.

Menghasilkan sembarang hash untuk satu set transaksi bitcoin akan menjadi hal yang sepele untuk komputer modern, jadi untuk mengubah proses menjadi "kerja, " jaringan bitcoin menetapkan tingkat "kesulitan" tertentu. Pengaturan ini disesuaikan sehingga blok baru "ditambang" – ditambahkan ke blockchain dengan menghasilkan hash yang valid – kira-kira setiap 10 menit. Kesulitan pengaturan dicapai dengan menetapkan " target" untuk hash:semakin rendah target, semakin kecil kumpulan hash yang valid, dan semakin sulit untuk menghasilkannya. Dalam praktek, ini berarti hash yang dimulai dengan string panjang nol:hash untuk blok #429818, Misalnya, adalah 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Blok itu berisi 2, 012 transaksi yang melibatkan lebih dari 1, 000 bitcoin, serta header dari blok sebelumnya. Jika pengguna mengubah satu jumlah transaksi sebesar 0,0001 bitcoin, hash yang dihasilkan tidak akan dapat dikenali, dan jaringan akan menolak penipuan.

Karena kumpulan data tertentu hanya dapat menghasilkan satu hash, bagaimana penambang memastikan mereka menghasilkan hash di bawah target? Mereka mengubah input dengan menambahkan integer, disebut nonce ("nomor digunakan sekali"). Setelah hash yang valid ditemukan, itu disiarkan ke jaringan, dan blok ditambahkan ke blockchain.

Penambangan adalah proses yang kompetitif, tapi itu lebih seperti lotere daripada balapan. Rata-rata, seseorang akan menghasilkan bukti kerja yang dapat diterima setiap sepuluh menit, tapi siapa yang akan menjadi adalah tebakan siapa pun. Penambang berkumpul bersama untuk meningkatkan peluang blok penambangan, yang menghasilkan biaya transaksi dan, untuk waktu yang terbatas, hadiah dari bitcoin yang baru dibuat.

Bukti kerja membuatnya sangat sulit untuk mengubah aspek apa pun dari blockchain, karena perubahan seperti itu akan membutuhkan penambangan ulang semua blok berikutnya. Ini juga mempersulit pengguna atau kumpulan pengguna untuk memonopoli daya komputasi jaringan, karena mesin dan daya yang dibutuhkan untuk menyelesaikan fungsi hash mahal.