Sejak peluncuran, algoritma penambangan bitcoin memiliki kesalahan komputasi yang memungkinkan blok ditambang dengan kecepatan yang sangat tinggi. Hal ini diungkapkan oleh peneliti Loic Morel.

Setiap 2016 blok (sekitar setiap dua minggu) node menghitung ulang target sehingga satu blok muncul setiap 10 menit, terlepas dari daya komputasi para penambang. Untuk penyesuaian ini, node mengukur durasi periode terakhir, membandingkannya dengan nilai target (2016 x 600 = 1 209 600 detik), dan kemudian mengubah kesulitan sesuai kebutuhan.

«Di perhitungan inilah kesalahannya. Untuk mengukur ketepatan waktu blok pada periode yang telah berlalu, simpul membandingkan stempel waktu blok pertama dalam periode tersebut dengan stempel waktu blok terakhir. Secara naluriah ini tampak masuk akal, tetapi sebenarnya itu adalah kesalahan, karena jarak antara blok pertama dan terakhir dalam satu periode hanya 2015 interval, bukan 2016», — jelas Morel. 

Jika t0 didefinisikan sebagai stempel waktu blok pertama, dan t2015 sebagai stempel waktu yang terakhir, maka simpul menghitung waktu yang telah berlalu sebagai T = t2015 — t0. Dengan demikian diperoleh 2015 interval (dari t0 hingga t1 > dari t1 hingga t2 > … > dari t2014 hingga t2015). 

Untuk mendapatkan 2016 interval, perlu menggunakan rumus lain: T = t2015 — t-1, di mana t-1 adalah stempel waktu blok terakhir dari periode sebelumnya. 

Ini disebut kesalahan «pergeseran satu unit». Bug ini memperkenalkan galat sekitar 0,05% ke arah kompleksitas yang sedikit lebih tinggi. 

Namun masalah sebenarnya terletak pada hal lain. Kekurangan ini menyebabkan periode penyesuaian tidak saling tumpang tindih—stempel waktu blok terakhir pada satu periode tidak diperhitungkan saat menghitung periode berikutnya.

Manipulasi waktu

Kesenjangan ini membuat serangan «distorsi waktu» menjadi mungkin. Prinsipnya adalah sebagai berikut:

https://forklog.com/news/v-mehanizme-majninga-bitkoina-obnaruzhili-oshibku-nulevogo-dnya/#origin=https%3A%2F%2Fwww.google.com%2F&cap=swipe,education&webview=1&dialog=1&viewport=natural&visibilityState=prerender&prerenderSize=1&viewerUrl=https%3A%2F%2Fwww.google.com%2Famp%2Fs%2Fforklog-com.cdn.ampproject.org%2Fc%2Fs%2Fforklog.com%2Fnews%2Fv-mehanizme-majninga-bitkoina-obnaruzhili-oshibku-nulevogo-dnya%3Fusqp=mq331AQIUAKwASCAAgM%25253D&amp_kit=1$BTC $BTC #US-IranTalksFailToReachAgreement $