Isi kandungan
- Memahami Blockchain
- Berurusan Dengan Pengeluaran Double
- Bukti Kerja & 'Perlombongan'
Salah satu kebimbangan utama dari mana-mana pemaju cryptocurrency adalah isu perbelanjaan dua kali ganda. Ini merujuk kepada insiden individu membelanjakan keseimbangan cryptocurrency itu lebih dari satu kali, dengan berkesan mewujudkan perbezaan antara rekod perbelanjaan dan amaun cryptocurrency yang tersedia, serta cara ia diedarkan.
Masalah perbelanjaan dua kali adalah masalah yang tidak ada tunai; jika anda membayar untuk sandwic dengan tagihan $ 10, menukar tagihan tersebut kepada pembuat roti sandwic, anda tidak dapat menghidupkan dan membelanjakan $ 10 yang sama di tempat lain. Transaksi yang menggunakan mata wang digital seperti bitcoin, bagaimanapun, berlaku secara digital. Ini bermakna bahawa mungkin untuk menyalin butiran transaksi dan menyiarkan semula supaya BTC yang sama dapat dibelanjakan berkali-kali oleh pemilik tunggal. Di bawah ini, kami akan mengkaji bagaimana peminjam cryptocurrency telah menginsuranskan bahawa perbelanjaan dua kali tidak dapat berlaku.
Takeaways Utama
- Isu teknikal yang timbul dengan pengertian mata wang digital adalah keupayaan seseorang untuk menduplikasi wang digital dan membelanjakannya secara serentak di dua atau lebih tempat. Masalah 'berbelanja dua' ini dihalang dalam cryptocurrencies berasaskan blokchain seperti Bitcoin oleh menggunakan mekanisme konsensus yang dikenali sebagai bukti kerja (PoW). PoW ini dilakukan oleh rangkaian 'penambang' yang tidak terdetensi yang tidak hanya menjamin kesetiaan transaksi masa lalu di lejar blok kecil tetapi juga mengesan dan mencegah perbelanjaan dua kali ganda.
Memahami Blockchain
The blockchain yang mengalami mata wang digital seperti bitcoin tidak dapat menghalang perbelanjaan dua kali dengan sendirinya. Sebaliknya, semua urus niaga yang berbeza yang melibatkan cryptocurrency yang berkaitan akan diposkan kepada blok block, di mana ia disahkan secara berasingan dan dilindungi oleh proses pengesahan. Dalam hal bitcoin dan banyak lagi cryptocurrency, transaksi yang telah disahkan dengan cara ini menjadi tidak dapat dipulihkan; mereka disiarkan secara terbuka dan dikekalkan selamanya.
Bitcoin merupakan mata wang digital utama yang pertama untuk menyelesaikan isu perbelanjaan dua kali. Ia berbuat demikian dengan melaksanakan mekanisme pengesahan ini dan mengekalkan sistem lejar umum yang universal. Dengan cara ini, pelekat bitcoin mengekalkan rekod urus niaga masa yang dicadangkan akan kembali kepada penubuhan cryptocurrency pada tahun 2009.
Dalam istilah Bitcoin, "blok" adalah fail data yang direkod secara kekal. Semua urus niaga baru-baru ini ditulis dalam blok, sama seperti lejar transaksi saham pada bursa. Maklumat dari blok ditambah kepada lejar setiap beberapa minit; semua nod di rangkaian itu menyelenggara salinan lejar roket. Pengguna dapat menavigasi blockchain untuk bitcoin dan menyemak transaksi dari segi kuantiti sahaja. Butiran tentang identiti pembeli dan penjual dalam mana-mana transaksi dilindungi oleh penyulitan peringkat tinggi, yang juga melindungi lejar daripada mengganggu oleh sumber luar. Apabila buku leher blockchain dikemas kini, begitu juga semua dompet bitcoin.
Berurusan Dengan Pengeluaran Double
Bayangkan anda mempunyai 1 BTC dan anda cuba membelanjakannya dua kali dalam dua transaksi berasingan. Anda boleh cuba melakukan ini dengan menghantar BTC yang sama kepada dua alamat dompet bitcoin berasingan. Kedua-dua urus niaga tersebut akan masuk ke dalam kumpulan urus niaga yang belum disahkan. Transaksi pertama akan diluluskan melalui mekanisme pengesahan dan kemudian disahkan ke dalam blok berikutnya. Walau bagaimanapun, transaksi kedua akan diiktiraf sebagai tidak sah oleh proses pengesahan dan tidak akan disahkan. Jika kedua-dua urus niaga ditarik dari kolam untuk pengesahan serentak, urusniaga dengan bilangan pengesahan yang tertinggi akan dimasukkan ke dalam blockchain, sementara yang lain akan dibuang.
Walaupun ini berkesan menangani isu perbelanjaan dua kali, ia bukan tanpa masalahnya. Sebagai contoh, penerima yang dimaksudkan untuk urus niaga kedua (gagal) tidak akan mempunyai bahagian dalam urus niaga itu sendiri gagal, tetapi orang itu tidak akan menerima bitcoin yang dia jangkakan. Banyak peniaga menunggu sekurang-kurangnya 6 pengesahan transaksi (bererti bahawa 6 blok urusniaga berikutnya ditambah ke blok bar setelah transaksi yang dipersoalkan). Pada ketika ini, saudagar dengan selamat boleh menganggap bahawa transaksi itu sah.
Terdapat kerentanan lain dalam sistem ini yang boleh membenarkan serangan berbilang belanja berlaku. Contohnya, jika penyerang entah bagaimana dapat mengawal sekurang-kurangnya 51% daripada kuasa rangkaian, dia boleh melakukan perbelanjaan ganda. Sekiranya penyerang entah bagaimana dapat menguasai kuasa pengiraan yang banyak ini, dia boleh membalikkan transaksi dan membuat blok penghalang yang berasingan. Walau bagaimanapun, pertumbuhan pesat bitcoin telah hampir menginsuranskan bahawa serangan jenis ini tidak mungkin. (Untuk lebih, lihat Waspadalah terhadap Penipuan Lima Bitcoin Ini)
Bukti Kerja & 'Perlombongan' Dijelaskan
Sekarang mari kita dapatkan lebih sedikit teknikal. Cara pengguna mengesan mengganggu seperti percubaan untuk melakukan perbelanjaan dua kali ganda adalah melalui hash, nombor panjang nombor yang berfungsi sebagai bukti kerja (PoW). Masukkan set data yang diberikan melalui fungsi hash (bitcoin menggunakan SHA-256), dan ia hanya akan menghasilkan satu hash. Oleh kerana "kesan avalanche, " bagaimanapun, walaupun sedikit perubahan kepada mana-mana bahagian data asal akan menghasilkan hash yang sama sekali tidak dapat dikenali. Walau apa pun ukuran set data asal, hash yang dijana oleh fungsi yang diberikan akan panjang sama. Hash adalah fungsi satu hala: ia tidak boleh digunakan untuk mendapatkan data asal, hanya untuk memastikan data yang dihasilkan hash sepadan dengan data asal.
Menjana apa-apa hash untuk satu set transaksi bitcoin akan menjadi remeh untuk komputer moden, jadi untuk mengubah proses menjadi "kerja, " rangkaian bitcoin menetapkan tahap tertentu "kesukaran." Tetapan ini diselaraskan supaya blok baru "dilombong" - ditambahkan pada blockchain dengan menghasilkan hash yang sah - kira-kira setiap 10 minit. Menetapkan kesukaran dicapai dengan mewujudkan "target" untuk hash: semakin rendah sasaran, lebih kecil set hash yang sah, dan semakin sukar untuk menghasilkan satu. Dalam amalan, ini bermakna hash yang bermula dengan rentetan sifar panjang: hash untuk blok # 429818, sebagai contoh, adalah 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Blok itu mengandungi 2, 012 transaksi yang melibatkan lebih dari 1, 000 bitcoin, serta tajuk blok sebelumnya. Sekiranya pengguna mengubah satu jumlah urus niaga dengan 0.0001 bitcoin, hash yang terhasil akan tidak dapat dikenali, dan rangkaian akan menolak penipuan.
Oleh kerana set data yang diberikan hanya boleh menghasilkan hash, bagaimana peniaga memastikan mereka menghasilkan hash di bawah sasaran? Mereka mengubah input dengan menambah integer, dipanggil nonce ("nombor yang digunakan sekali"). Setelah hash sah dijumpai, ia disiarkan ke rangkaian, dan blok tersebut ditambahkan pada blok block.
Perlombongan adalah proses yang kompetitif, tetapi ia adalah lebih banyak loteri daripada perlumbaan. Rata-rata, seseorang akan menghasilkan bukti kerja yang boleh diterima setiap sepuluh minit, tetapi siapa yang akan ditebak oleh sesiapa. Miners bersama bersama untuk meningkatkan peluang mereka untuk blok pertambangan, yang menghasilkan yuran transaksi dan, untuk masa yang terhad, ganjaran bitcoin yang baru dibuat.
Bukti kerja menjadikannya sangat sukar untuk mengubah mana-mana aspek blockchain, kerana perubahan seperti itu memerlukan penambangan semula semua blok berikutnya. Ia juga menjadikan sukar bagi pengguna atau kumpulan pengguna untuk memonopoli kuasa pengkomputeran rangkaian, memandangkan jentera dan kuasa yang diperlukan untuk menyelesaikan fungsi hash adalah mahal.
