699 / 736TIMEWARP

Timewarp Attack

Menyerang kesulitan penambangan melalui waktu blok

Bitcoin memperkirakan laju penambangan dari waktu yang tercatat dalam blok, padahal penambang sendiri yang menuliskannya. Timewarp Attack memanfaatkan celah antara aturan waktu dan perhitungan kesulitan: kelompok yang cukup kuat dapat membuat penambangan tampak lebih lambat agar blok berikutnya lebih mudah ditambang.

Timewarp Attack adalah manipulasi terkoordinasi terhadap penanda waktu pada header blok yang menyimpangkan perhitungan kesulitan berikutnya. Serangan dapat menurunkan kesulitan tanpa penurunan hashrate yang sepadan, sehingga produksi blok dipercepat.

Bitcoin menghitung ulang kesulitan setiap 2016 blok, dengan sasaran rata-rata 10 menit antarblok. Waktu blok pertama dalam periode dikurangkan dari waktu blok terakhir, sehingga hanya mencakup 2015 interval. Interval antara blok terakhir suatu periode dan blok pertama periode berikutnya tidak masuk dalam selisih itu. Pada batas ini waktu dapat dimundurkan tanpa kedua perhitungan menyambungkan periode secara terus-menerus. [4] [3]

Waktu blok baru harus lebih besar daripada Median Time Past (MTP), median waktu 11 blok sebelumnya. Namun, waktu itu tidak harus lebih baru daripada blok yang tepat mendahuluinya. Penyerang dapat menetapkan sebagian besar waktu hanya 1 detik di atas MTP, memberi blok terakhir periode waktu yang mendekati waktu nyata, lalu kembali memakai waktu lama. Mereka memanipulasi blok baru, bukan menulis ulang header yang telah dikonfirmasi. [1]

Skenario klasik mengandaikan mayoritas hashrate, atau minoritas dengan pengaruh tambahan atas urutan blok, misalnya melalui Selfish Mining. Dibutuhkan kendali berkelanjutan atas rangkaian waktu, bukan satu blok dengan waktu aneh. Persiapan serangan klasik memakan waktu sekitar satu bulan dan meninggalkan jejak yang terlihat publik pada rantai. [1]

Pada periode kedua yang diserang, waktu dapat memberi kesan rata-rata 20 menit per blok dan menurunkan kesulitan kira-kira separuh. Periode berikutnya ditambang lebih cepat, tetapi waktu yang dimanipulasi kembali meminta penurunan. Batas perubahan empat kali lipat dalam satu penyesuaian tidak mencegah pengulangan. Batas teoretis jangka panjang dari MTP setara sekitar 6 blok per detik; ini bukan janji kapasitas praktis jaringan. [1] [3]

Blok lebih cepat akan memajukan subsidi blok masa depan ke rentang waktu lebih singkat; hal itu sendiri tidak menaikkan batas 21 juta BTC. Node harus memverifikasi dan meneruskan data lebih cepat. Prosesor yang kewalahan, koneksi tidak memadai, cabang bersaing, dan reorganisasi yang sering akan melemahkan keandalan konfirmasi. [1]

BIP 113 menggunakan MTP blok sebelumnya untuk menilai kunci absolut nLockTime yang dinyatakan sebagai waktu. Kunci yang dinyatakan sebagai ketinggian blok tetap memakai ketinggian. Selama serangan, MTP dapat bergerak jauh lebih lambat daripada jam nyata. Dana dalam kontrak dengan syarat waktu bisa tidak tersedia lebih lama dari perkiraan, dan protokol lebih rumit dapat kehilangan koordinasi antartahap. [5] [1]

Usulan ini membatasi waktu blok pertama suatu periode: tidak boleh lebih dari 7200 detik, atau dua jam, lebih awal daripada blok sebelumnya. Waktu blok terakhir juga tidak boleh mendahului blok pertama. Spesifikasi berstatus Complete. Artinya usulan sudah selesai, bukan sudah diaktifkan: penerapan wajib aturan konsensus baru di mainnet memerlukan aktivasi tersendiri. [2]

Bandingkan waktu header, MTP, batas setiap 2016 blok, laju penambangan nyata, kesulitan, dan hashrate. Bedakan serangan klasik dari varian Murch–Zawy serta aturan testnet dari mainnet. Perangkat lunak dapat lebih dahulu membuat templat blok yang lebih aman; itu belum berarti seluruh jaringan menolak setiap blok yang melanggar perlindungan usulan tersebut. [3] [2]

Untuk gambaran yang lebih utuh, baca entri ini bersama Difficulty Adjustment, Penambangan, Proof of Work, Consensus Cleanup, Timelock, Reorg. Entri ini juga dirujuk dari Consensus Cleanup.

01Apakah serangan membutuhkan mayoritas hashrate?

Skenario klasik mengandaikan mayoritas atau keunggulan lain yang memberi pengaruh memadai atas urutan blok. Penambang lebih kecil tanpa keunggulan itu tidak cukup mengendalikan waktunya.

02Apakah perlindungan Median Time Past sudah cukup?

Belum. MTP membatasi setiap penanda waktu, tetapi tidak menutup celah pada batas periode. BIP 54 mengusulkan batas tambahan pada hubungan antara waktu blok pertama dan terakhir.

DOC · 001Bitcoin Optech — Time warpDokumentasi DOC · 002BIP 54 — Consensus CleanupSpesifikasi DOC · 003Bitcoin Core — pow.cppSumber primer DOC · 004Bitcoin Developer Guide — Block chainDokumentasi DOC · 005BIP 113 — Median time-past as endpoint for lock-time calculationsSpesifikasi
Direvisi: Utamakan sumber · Bukan nasihat investasi