Bitcoin protokol zaman çarpıtma saldırı açığı ifşası ve düzeltme planı

robot
Abstract generation in progress

Bitcoin protokolündeki zaman bükülmesi saldırı açığı

26 Mart 2025'te, bir Bitcoin geliştiricisi, Bitcoin protokolündeki uzun süredir var olan birden fazla güvenlik açığını ve zayıflığı düzeltmek için bir soft fork aracılığıyla yeni bir iyileştirme önerisi sundu. Üzerinde durulması gereken güvenlik açığı "zaman bükme saldırısı" olarak adlandırılmakta olup, bu makalede derinlemesine incelenecektir.

Bitcoin'in zaman damgası koruma mekanizması

Zaman bükme saldırıları hakkında konuşmadan önce, Bitcoin'in mevcut zaman manipülasyon koruma kurallarını anlamamız gerekiyor:

  1. Medyan geçmiş zaman ( MPT ) kuralı: Blok zaman damgası, önceki 11 bloğun medyan zamanından daha geç olmalıdır.

  2. Gelecekteki blok zaman kuralı: Blok zaman damgası, düğüm eşdeğerinin medyan zamanından 2 saatten fazla ileri olamaz. Ayrıca, düğüm zamanı ile yerel sistem saati arasındaki izin verilen maksimum fark 90 dakikadır.

Bu kurallar, blok zaman damgalarının aşırı manipüle edilmesini önlemeyi amaçlamaktadır. Ancak, başlangıç blok zinciri senkronizasyonunun gereklilikleri nedeniyle, geçmiş zaman damgalarının kullanımını tamamen engelleyecek benzer gelecekteki blok kurallarının uygulanması mümkün değildir. Zaman çarpıtma saldırısı tam olarak bunu kullanarak, geçmişe çok uzak bir zaman damgası sahteleyerek saldırı gerçekleştirmektedir.

Bitcoin güvenlik açığı: Zaman bükme saldırısı

Protokoldeki hesap hatası

Bitcoin zorluk ayarlama döngüsü 2016 blok içerir ve teorik olarak yaklaşık iki hafta sürer. Madencilik zorluğu ayarlarken, protokol ilgili 2016 blok penceresindeki ilk ve son bloklar arasındaki zaman damgası farkını hesaplar. Ancak, bu hesaplama sürecinde küçük ama önemli bir hata vardır.

Doğru hesaplama şöyle olmalıdır: 60 saniye * 10 dakika * 2015 aralık = 1.209.000 saniye. Ancak kullanılan değer: 60 saniye * 10 dakika * 2016 = 1.209.600 saniye. Bu yanlışlık, hedef zamanın olması gerekenin %0.05 daha uzun olmasına neden oldu ve Bitcoin'in gerçek hedef aralık zamanı 10 dakika 0.3 saniye oldu.

Bu 0.3 saniyelik hata önemsiz gibi görünse de, daha ciddi bir sorunla ilişkilidir. Zorluk hesaplaması, her 2016 blok penceresindeki ilk ve son blok temel alınarak yapılır, önceki pencerenin son bloğu ile mevcut pencerenin son bloğu arasındaki fark değil. Bu hesaplama yöntemi, zaman distorsiyon saldırıları için bir olanak yaratmaktadır.

Bitcoin güvenlik açığı: Zaman bükme saldırısı

Zaman Çarpıtma Saldırısının Prensibi

Zaman bükme saldırısı 2011 yılında ilk kez keşfedildi. Bu saldırıda, madenciliğin tamamen merkezi olduğu varsayıldığında, saldırgan blok zaman damgalarını şu şekilde manipüle edebilir:

  1. Çoğu blok için zaman damgasını bir önceki bloktan yalnızca bir saniye ileriye ayarlayın.
  2. Her altı blok aynı zaman damgasını korur, ardından bir sonraki blokta bir saniye eklenir.
  3. Her zorluk ayarlama döngüsünün son bloğunda, zaman damgasını gerçek dünya zamanı olarak ayarlayın.
  4. Yeni zorluk ayarlama döneminin ilk blok zaman damgası geçmişe ayarlandı, bir önceki dönemden ikinci son bloğundan bir saniye önce.

Bu işlem, blok zincirinin zamanının gerçek zamandan giderek daha geride kalmasına neden olmakta, zorluğun sürekli olarak azalmasına yol açmakta ve saldırganların blokları çok hızlı bir şekilde oluşturmalarına olanak tanımakta, potansiyel olarak büyük miktarda Bitcoin üretmelerine neden olmaktadır.

Bitcoin güvenlik açığı: Zaman bükme saldırısı

Saldırının Etkisi ve Uygulanabilirliği

Teorik olarak, bu tür bir saldırı felaket sonuçlara yol açabilir. Aşırı durumlarda, zorluk sürekli olarak azaltılabilir ve saniyede 6'dan fazla blok üretilmesine kadar gidebilir. Ancak, bu tür bir saldırıyı uygulamanın birçok zorluğu vardır:

  1. Çoğu ağ hesaplama gücünü kontrol etmeniz gerekiyor.
  2. Dürüst madencilerin varlığı saldırı zorluğunu artırır.
  3. Saldırı süreci tamamen görülebilir, acil onarıma yol açabilir.
  4. MTP kuralları ve dürüst madencilerin zaman damgaları saldırı etkisini sınırlayacaktır.

Bitcoin güvenlik açığı: Zaman bükme saldırısı

Potansiyel Çözümler

Bu açığı onarmak için yöntem oldukça basit, ancak soft fork protokol değişikliği gerektirebilir. Şu anda önerilen bir çözüm şudur:

Yeni zorluk döngüsünün ilk blok zamanının, önceki döngünün son blok zamanından daha erken olmaması gerektiği belirli bir süre (önerilen süre 2 saat) olmalıdır. Bu basit kural, zaman çarpıtma saldırılarını etkili bir şekilde önlemeye yardımcı olurken, beklenmedik geçersiz blok riskini de en aza indirir.

Bu 2 saatlik kısıtlama, zorluk ayarlama döngüsü hedef süresinin yaklaşık %0,6'sıdır ve zorluğu aşağıya manipüle etme yeteneğini büyük ölçüde kısıtlamaktadır. Bu, saldırganların her döngüde zorluğu yaklaşık %0,6 oranında aşağıya manipüle etmesine izin verse de, bu sadece tek seferlik bir değişimdir ve birikmez.

Genel olarak, zaman bozulma saldırılarının teorik olarak ciddi tehditler oluşturmasına rağmen, pratikte uygulama zorluğu yüksektir. Uygun protokol güncellemeleri ile bu potansiyel zayıflık etkili bir şekilde hafifletilebilir ve Bitcoin ağının güvenliği ve istikrarı daha da artırılabilir.

Bitcoin güvenlik açığı: Zaman bükme saldırısı

BTC-0.99%
View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Reward
  • 4
  • Share
Comment
0/400
P2ENotWorkingvip
· 17h ago
Ne yapıyorsun? Beni bulup çözüm bulacak kimse yok mu?
View OriginalReply0
FlashLoanLordvip
· 17h ago
Bu sorunu çoktan çözmeliydik.
View OriginalReply0
HodlBelievervip
· 17h ago
Blok Zinciri Bankacısı/Risk Değerlendirme Uzmanı/4 yıldır her gün Kapanış Fiyatı Teknik Analizi

Alt düzey risk yönetimi açısından gerekli bir düzeltmedir.
View OriginalReply0
PerennialLeekvip
· 17h ago
Bu kadar çok açık var, oynamayacağım! Dağıldık dağıldık.
View OriginalReply0
  • Pin
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)