Bitcoin protokol zaman kıvrımı açığı analizi ve düzeltme önerisi tartışması

robot
Abstract generation in progress

Bitcoin protokolündeki zaman açığı: Zaman çarpıtma saldırısının derinlemesine analizi

Genel Bakış

Son zamanlarda, Bitcoin geliştirme topluluğu, Bitcoin protokolündeki uzun süredir var olan birkaç güvenlik açığını ve zayıflığı düzeltmeyi amaçlayan yeni bir yumuşak çatallanma önerisi sundu. Bunlardan biri "zaman bükme saldırısı" olarak adlandırılan oldukça ciddi bir güvenlik açığıdır ve bu yazının derinlemesine inceleyeceği konudur.

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

Bitcoin blok zaman damgası koruma mekanizması

Zamanda bükme saldırısını tartışmadan önce, mevcut Bitcoin protokolündeki zaman manipülasyonu koruma mekanizmalarını anlamamız gerekiyor:

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

  2. Gelecek blok zaman kuralı: Blok zaman damgası, ağ düğümlerinin 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.

MPT kuralları, blok zaman damgalarının fazla geriye gitmesini engellerken, gelecekteki blok kuralları zaman damgalarının aşırı ileri gitmesini sınırlamaktadır. Dikkat edilmesi gereken bir nokta, geçmiş zaman damgalarını tamamen engelleyecek gelecekteki blok kurallarına benzer bir mekanizmanın uygulanamayacağıdır, çünkü bu, başlangıç blok zinciri senkronizasyon sürecini etkileyebilir.

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

Satoshi Nakamoto'nun "bir eksik" hatası

Bitcoin'in zorluk ayarlama döngüsü 2016 blok içermektedir, 10 dakikalık blok süresi hesaplandığında yaklaşık iki haftadır. Madencilik zorluğu ayarlaması yapılırken, protokol 2016 blokluk pencere içindeki ilk ve son blok arasındaki zaman damgası farkını hesaplar.

Ancak, Satoshi Nakamoto orijinal kodda küçük ama dikkat çekici bir hata yaptı. Hedef zamanı hesaplamak için 2016 yerine 2015 kullandı ve bu da hedef zamanın, olması gerekenin %0.05 daha uzun olmasına neden oldu. Bu, Bitcoin'in gerçek hedef blok aralığının 10 dakika 0.3 saniye olduğu anlamına geliyor, bu da tam 10 dakika değil.

Bu 0.3 saniyelik hata önemsiz gibi görünse de, başka bir daha ciddi sorunla bağlantılıdır. 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 yerine. Bu hesaplama yöntemi, zaman bükme saldırıları için bir olasılık yaratmaktadır.

Zaman Bükme Saldırısının Prensibi

Zaman çarpıtma saldırısı, Satoshi Nakamoto'nun zorluk hesaplamasındaki hatalarından faydalanır. Bu tür bir saldırıda, kötü niyetli madenciler zorluk ayarlamalarını etkilemek için blok zaman damgalarını manipüle eder. Saldırı adımları aşağıdaki gibidir:

  1. Çoğu blok için, madenciler zaman damgasını bir önceki bloktan yalnızca 1 saniye önce ayarlar.

  2. Zaman ilerlemesini en aza indirmek için, madenciler ardışık 6 blok boyunca aynı zaman damgasını koruyabilirler, ardından bir sonraki blokta zamanı 1 saniye artırabilirler.

  3. Her zorluk ayarlama döngüsünün son bloğunda, madenciler zaman damgasını gerçek dünya zamanı olarak ayarlar.

  4. Bir sonraki zorluk ayarlama penceresinin ilk blok zaman damgası, geçmişe geri ayarlandı ve yalnızca önceki penceredeki ikinci son bloktan 1 saniye önce.

Bu saldırı modeli, blok zincirinin zamanının gerçek zamandan giderek daha fazla geride kalmasına ve zorluğun sürekli artmasına neden olur. Ancak, ikinci ayarlama döneminden itibaren zorluk aşağı ayarlanmaya başlayacaktır. Bu, madencilerin kısa sürede büyük miktarda blok üretmelerine ve potansiyel olarak normal dağıtım hızının üzerinde Bitcoin yaratmalarına olanak tanır.

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

Saldırıların Uygulanabilirliği ve Zorlukları

Teorik olarak bu tür bir saldırı yıkıcıdır, ancak pratikte uygulanması bazı zorluklarla karşılaşmaktadır:

  1. Çoğu ağ hesaplama gücünü kontrol etmek gerekiyor.

  2. Dürüst madencilerin varlığı saldırı zorluğunu artırır.

  3. Eğer dürüst madenciler herhangi bir zorluk ayarlama penceresinin ilk bloğunu üretirse, o dönemdeki saldırılar başarısız olacaktır.

  4. Saldırı süreci açıkça görülebilir ve acil bir yumuşak çatallanma onarımını tetikleyebilir.

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

Çözüm

Bu açığı düzeltmenin birkaç olası yolu var:

  1. Zorluk ayarlama algoritmasını değiştirin, 2016 blok pencereleri arasındaki zaman aralığını hesaplayın.

  2. MPT kuralını iptal et, her blok için zaman damgasının kesinlikle artan bir sıraya sahip olmasını talep et.

  3. Yeni sınırlama kuralları ayarlama: Yeni zorluk döneminin ilk blok zamanının, önceki dönemin son blokunun belirli dakikası (, örneğin 2 saat )'dan daha erken olmaması gerekir.

Şu anda, geliştiriciler üçüncü seçeneği tercih ediyorlar ve zaman kısıtlamasını 2 saat olarak belirliyorlar. Bu seçenek, zaman bozulması saldırılarını etkili bir şekilde hafifletirken, istenmeyen geçersiz blokların üretilme riskini de en aza indiriyor.

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

Sonuç

Zaman bükme saldırısı, Bitcoin protokolündeki potansiyel bir güvenlik açığını ortaya koymaktadır. Bu tür bir saldırının uygulanması gerçekte birçok zorlukla karşılaşsa da, blockchain teknolojisinin altyapısını sürekli olarak gözden geçirmemiz ve geliştirmemiz gerektiğini hatırlatmaktadır. Önerilen yumuşak çatallanma düzeltme çözümü ile Bitcoin topluluğu, bu potansiyel tehdide karşı aktif bir şekilde yanıt vermekte ve ağın güvenliğini ve istikrarını daha da artırmaktadır.

BTC1.35%
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
  • 5
  • Share
Comment
0/400
MEVEyevip
· 1h ago
On-chain tehlikeleri koruma
View OriginalReply0
SocialAnxietyStakervip
· 14h ago
Açıkların onarılması derinlemesine incelenmeye değerdir.
View OriginalReply0
ser_we_are_ngmivip
· 19h ago
BTC de saldırıya uğrayabilir.
View OriginalReply0
GateUser-1a2ed0b9vip
· 19h ago
Anahtar açıklar gerçekten zor.
View OriginalReply0
InscriptionGrillervip
· 19h ago
Değiştirsen bile işe yaramıyor.
View OriginalReply0
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)