Bitcoin'in Zaman Bükme Saldırısı: Potansiyel Bir Güvenlik Tehdidi
2025年3月26日, Bitcoin geliştiricileri, "Büyük Konsensüs Temizliği" adlı bir yazılım çatallama önerisi sundular. Bu öneri, Bitcoin protokolündeki uzun süredir var olan birkaç açığı ve zayıflığı düzeltmeyi amaçlıyor. Bunlar arasında daha önce tartıştığımız tekrar eden işlem problemi de bulunuyor. Daha ciddi bir açık ise "zaman bükme saldırısı" olarak adlandırılıyor; bu, bu makalenin derinlemesine inceleyeceği konudur.
Bitcoin blok zaman damgası koruma mekanizması
Zaman bozulma saldırısını tartışmadan önce, mevcut zaman manipülasyonu koruma kurallarını anlamamız gerekiyor:
Medyan geçmiş zamanı (MPT) kuralı: Blok zaman damgası, son on bir bloğun medyan zamanından daha geç olmalıdır.
Gelecek blok zaman kuralı: MAX_FUTURE_BLOCK_TIME sabitine dayanarak, blok zaman damgası ağın medyan zamanından 2 saatten fazla ileri olamaz. Düğüm zamanı ile yerel sistem saati arasındaki izin verilen maksimum fark 90 dakikadır, bu başka bir güvence sağlar.
MPT kuralları, blokların "geçmişe geri dönmesini" önlerken, gelecekteki blok kuralları da onların "geleceğe geçmesini" engeller. Geçmiş zaman damgasına sahip blokları önlemek amacıyla benzer gelecekteki blok kurallarının uygulanamayacağına dikkat edilmelidir, çünkü bu, başlangıç blok zinciri senkronizasyon sürecini etkileyebilir. Zaman çarpıtma saldırısı, geriye doğru sahte zaman damgaları oluşturarak gerçekleştirilir.
Satoshi Nakamoto'nun "bir eksik" hatası
Bitcoin'in zorluk ayarlama süresi 2016 blok içermektedir ve 10 dakikalık blok hedef süresine göre yaklaşık iki haftadır. Madencilik zorluğu ayarlamasını hesaplamak için protokol, ilgili 2016 blok penceresindeki ilk ve son blok arasındaki zaman damgası farkını hesaplar. Bu 2016 blok penceresi aslında 2015 blok aralığını içerir (yani 2016'dan 1 çıkarılır). Bu nedenle, kullanılan ilgili hedef zaman 60 saniye × 10 dakika × 2015 aralığı olmalıdır, bu da 1,209,000 saniye eder. Ancak, Bitcoin protokolü hedefi hesaplamak için 2016 sayısını kullanmaktadır. 60 saniye × 10 dakika × 2016 = 1,209,600 saniye. Bu, "bir eksik" hatasıdır ve muhtemelen blok sayısı ile blok aralığı sayısının karıştırılmasından kaynaklanmaktadır.
Bu hata, hedef zamanın olması gereken süreden %0.05 daha uzun olmasına neden oldu. Aslında, Bitcoin'in hedef blok aralığı 10 dakika değil, 10 dakika 0.3 saniyedir. Bu küçük fark, 2009'dan bu yana, sürekli artan hash gücü nedeniyle, günlük işlemlerde neredeyse önemsizdir; zira gerçek ortalama blok aralığı her zaman 10 dakikadan daha az olmuştur.
Zaman Bükme Saldırısının Prensibi
Zaman bükme saldırısı 2011 civarında ilk kez keşfedildi ve Satoshi Nakamoto'nun zorluk hesaplamasındaki bu hatayı kullandı. Saldırının temel fikri şudur:
Çoğu blok için zaman damgası, bir önceki bloktan sadece bir saniye ileriye ayarlanır.
Her altı blokta bir zaman damgası bir saniye ileri alınır, MPT kurallarına uymak için.
Her zorluk ayarlama döngüsünün son bloğunda, zaman damgasını gerçek dünya zamanı olarak ayarlayın.
Bir sonraki dönemin ilk blok zaman damgası tekrar geçmişe ayarlandı.
Bu işlem, blok zinciri zamanının gerçek zamandan giderek daha geride kalmasına neden olur ve zorluk sürekli artar. Ancak, her döngünün sonundaki son blok gerçek zaman damgasını kullandığı için, zorluk hesaplaması zamanın gerçekte olduğundan daha yavaş geçtiğini düşünür ve bu nedenle ikinci ayarlama döngüsünden sonra zorlukta büyük bir düşüş başlamaya başlar.
Saldırının Potansiyel Etkileri
Eğer başarılı bir şekilde uygulanırsa, bu saldırı şunlara yol açabilir:
Zorluk hızla düştü
Blok üretim hızı önemli ölçüde arttı
Kısa sürede büyük miktarda Bitcoin yaratmak
Piyasada karışıklığa neden olabilir
Ancak, bu saldırıyı uygulamak birçok zorlukla karşı karşıya kalıyor:
Çoğu ağ hash gücünü kontrol etmeniz gerekiyor.
Dürüst madencilerin varlığı zorluğu artıracaktır.
Saldırı süreci zamanında tespit edilebilir ve önlem alınabilir.
Çözüm
Bu açığı düzeltmek için birkaç olası yöntem var:
Zorluk ayarlama algoritmasını değiştirin, "bir eksik" hatasını tamamen düzeltin.
MPT kuralını kaldırın, her blokta zamanın her zaman ileriye doğru hareket etmesini gerektirir.
Yeni sınırlama kurallarını ayarlayın: Yeni zorluk döneminin ilk blok zamanının, önceki dönemin son bloğundan belirli bir süre (örneğin 2 saat) daha erken olmamasını gerektirir.
Mevcut "Büyük Konsensüs Temizleme" önerisi üçüncü bir yöntemi benimsemekte ve 2 saatlik bir sınır koyulmasını önermektedir. Bu çözüm, zaman çarpıtma saldırılarını etkili bir şekilde önlerken, aynı zamanda yanlışlıkla geçersiz blokların oluşma riskini de en aza indirmektedir.
Bitcoin topluluğu bu önerileri aktif bir şekilde tartışıyor ve geliştiriyor, ağın uzun vadeli güvenliği ve istikrarını sağlamak için. Teknolojinin sürekli gelişimiyle birlikte, Bitcoin ağının daha güçlü ve güvenilir hale geleceğine inanmak için nedenlerimiz var.
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.
11 Likes
Reward
11
4
Share
Comment
0/400
LiquidityHunter
· 21h ago
Büyük sabahda bir güvenlik açığı daha çıktı, fiyat düşüşü var, bir Arbitraj fırsatını değerlendirmek için gitmek lazım mı?
View OriginalReply0
GasWastingMaximalist
· 21h ago
Ne oluyor, yine kuralları mı değiştirecekler?
View OriginalReply0
ZenMiner
· 22h ago
Kazarken uyuyakaldım, ne de olsa acelemiz yok.
View OriginalReply0
faded_wojak.eth
· 22h ago
Bu hata korkutucu geliyor, bütün gün ona bakıyorum.
Bitcoin Zaman Bükülmesi Saldırısı: Gizli Açıklar ve Onarım Çözümleri Analizi
Bitcoin'in Zaman Bükme Saldırısı: Potansiyel Bir Güvenlik Tehdidi
2025年3月26日, Bitcoin geliştiricileri, "Büyük Konsensüs Temizliği" adlı bir yazılım çatallama önerisi sundular. Bu öneri, Bitcoin protokolündeki uzun süredir var olan birkaç açığı ve zayıflığı düzeltmeyi amaçlıyor. Bunlar arasında daha önce tartıştığımız tekrar eden işlem problemi de bulunuyor. Daha ciddi bir açık ise "zaman bükme saldırısı" olarak adlandırılıyor; bu, bu makalenin derinlemesine inceleyeceği konudur.
Bitcoin blok zaman damgası koruma mekanizması
Zaman bozulma saldırısını tartışmadan önce, mevcut zaman manipülasyonu koruma kurallarını anlamamız gerekiyor:
Medyan geçmiş zamanı (MPT) kuralı: Blok zaman damgası, son on bir bloğun medyan zamanından daha geç olmalıdır.
Gelecek blok zaman kuralı: MAX_FUTURE_BLOCK_TIME sabitine dayanarak, blok zaman damgası ağın medyan zamanından 2 saatten fazla ileri olamaz. Düğüm zamanı ile yerel sistem saati arasındaki izin verilen maksimum fark 90 dakikadır, bu başka bir güvence sağlar.
MPT kuralları, blokların "geçmişe geri dönmesini" önlerken, gelecekteki blok kuralları da onların "geleceğe geçmesini" engeller. Geçmiş zaman damgasına sahip blokları önlemek amacıyla benzer gelecekteki blok kurallarının uygulanamayacağına dikkat edilmelidir, çünkü bu, başlangıç blok zinciri senkronizasyon sürecini etkileyebilir. Zaman çarpıtma saldırısı, geriye doğru sahte zaman damgaları oluşturarak gerçekleştirilir.
Satoshi Nakamoto'nun "bir eksik" hatası
Bitcoin'in zorluk ayarlama süresi 2016 blok içermektedir ve 10 dakikalık blok hedef süresine göre yaklaşık iki haftadır. Madencilik zorluğu ayarlamasını hesaplamak için protokol, ilgili 2016 blok penceresindeki ilk ve son blok arasındaki zaman damgası farkını hesaplar. Bu 2016 blok penceresi aslında 2015 blok aralığını içerir (yani 2016'dan 1 çıkarılır). Bu nedenle, kullanılan ilgili hedef zaman 60 saniye × 10 dakika × 2015 aralığı olmalıdır, bu da 1,209,000 saniye eder. Ancak, Bitcoin protokolü hedefi hesaplamak için 2016 sayısını kullanmaktadır. 60 saniye × 10 dakika × 2016 = 1,209,600 saniye. Bu, "bir eksik" hatasıdır ve muhtemelen blok sayısı ile blok aralığı sayısının karıştırılmasından kaynaklanmaktadır.
Bu hata, hedef zamanın olması gereken süreden %0.05 daha uzun olmasına neden oldu. Aslında, Bitcoin'in hedef blok aralığı 10 dakika değil, 10 dakika 0.3 saniyedir. Bu küçük fark, 2009'dan bu yana, sürekli artan hash gücü nedeniyle, günlük işlemlerde neredeyse önemsizdir; zira gerçek ortalama blok aralığı her zaman 10 dakikadan daha az olmuştur.
Zaman Bükme Saldırısının Prensibi
Zaman bükme saldırısı 2011 civarında ilk kez keşfedildi ve Satoshi Nakamoto'nun zorluk hesaplamasındaki bu hatayı kullandı. Saldırının temel fikri şudur:
Bu işlem, blok zinciri zamanının gerçek zamandan giderek daha geride kalmasına neden olur ve zorluk sürekli artar. Ancak, her döngünün sonundaki son blok gerçek zaman damgasını kullandığı için, zorluk hesaplaması zamanın gerçekte olduğundan daha yavaş geçtiğini düşünür ve bu nedenle ikinci ayarlama döngüsünden sonra zorlukta büyük bir düşüş başlamaya başlar.
Saldırının Potansiyel Etkileri
Eğer başarılı bir şekilde uygulanırsa, bu saldırı şunlara yol açabilir:
Ancak, bu saldırıyı uygulamak birçok zorlukla karşı karşıya kalıyor:
Çözüm
Bu açığı düzeltmek için birkaç olası yöntem var:
Mevcut "Büyük Konsensüs Temizleme" önerisi üçüncü bir yöntemi benimsemekte ve 2 saatlik bir sınır koyulmasını önermektedir. Bu çözüm, zaman çarpıtma saldırılarını etkili bir şekilde önlerken, aynı zamanda yanlışlıkla geçersiz blokların oluşma riskini de en aza indirmektedir.
Bitcoin topluluğu bu önerileri aktif bir şekilde tartışıyor ve geliştiriyor, ağın uzun vadeli güvenliği ve istikrarını sağlamak için. Teknolojinin sürekli gelişimiyle birlikte, Bitcoin ağının daha güçlü ve güvenilir hale geleceğine inanmak için nedenlerimiz var.