Bitcoin protokolündeki zaman bükme saldırısı açığı
Bitcoin geliştiricisi Antoine Poinsot, 26 Mart 2025'te Bitcoin protokolündeki uzun süredir var olan birkaç açığı ve zayıflığı düzeltmek için bir yazılım çatalı aracılığıyla yeni bir iyileştirme önerisi sundu. "Büyük Konsensüs Temizliği" olarak adlandırılan bu öneri, daha önce tartışılan çift harcama sorununu çözmenin yanı sıra, daha ciddi bir açığa — "zaman kıvrımı saldırısı" — yönelik bir çözüm de öneriyor.
Bitcoin'in zaman damgası koruma mekanizması
Zamanda bükülme saldırısını tartışmadan önce, Bitcoin'in mevcut zaman manipülasyonu koruma kurallarını gözden geçirelim:
Medyan geçmiş zamanı(MPT) kuralı: Blok zaman damgası, önceki 11 bloğun medyan zamanından daha geç olmalıdır.
Gelecek blok zaman kuralları: Blok zaman damgası, düğüm eşdeğerinin medyan zamanından 2 saatten fazla olmamalıdır. Ayrıca, düğüm zamanı ile yerel sistem saati arasındaki maksimum izin verilen fark 90 dakikadır.
Bu kuralların amacı, blok zaman damgalarının gerçekteki zamandan çok fazla sapmasını önlemektir, ister geçmişe ister geleceğe. Ancak, zaman çarpıtma saldırısı, gerçekteki zamandan çok daha önceki zaman damgalarını sahteleyerek gerçekleştirilir.
Satoshi Nakamoto'nun "bir eksik" hatası
Bitcoin'in zorluk ayarlama döngüsü 2016 blok içerir ve teorik olarak yaklaşık iki hafta sürer. Madencilik zorluğu ayarlaması hesaplanırken, protokol bu 2016 blok arasındaki ilk ve son blokların zaman damgası farkını hesaplar. Ancak, bu 2016 blok aslında 2015 blok aralığını içerir. Doğru hedef süre 60 saniye × 10 dakika × 2015 = 1,209,000 saniye olmalıdır, ancak Bitcoin protokolü 2016 sayısını kullanarak hesaplama sonucunu 1,209,600 saniye olarak belirler. Bu küçük hata, hedef sürenin gerçekte olması gereken süreden %0.05 daha uzun olmasına neden olur.
Bu hata önemsiz gibi görünse de, daha ciddi bir sorunu tetikliyor. Zorluk hesaplaması, her 2016 blok penceresinin ilk ve son bloğuna dayanmakta, önceki pencerenin son bloğu ile mevcut pencerenin son bloğu arasındaki farkı dikkate almamaktadır. 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ı yaklaşık 2011'de ilk kez keşfedildi. Bu saldırıda, madenciliğin tamamen merkezi olduğu varsayılır, madenciler protokolün izin verdiği sınırlar içinde istediği zaman damgasını ayarlayabilir. Saldırgan, çoğu bloğun zaman damgasını bir önceki bloktan sadece bir saniye ileri ayarlayacak veya her altı blokta bir saniye ileriye taşıyarak zamanı mümkün olduğunca yavaş ilerletecektir.
Bu işlem, blok zincirinin zamanının giderek gerçek zamandan geri kalmasına ve zorluğun sürekli artmasına neden olacaktır. Saldırı etkisini artırmak için, her zorluk ayarlama dönemi sonundaki son blokta, saldırgan zaman damgasını gerçek dünya zamanına ayarlayacaktır. Bir sonraki dönemin ilk bloku ise, önceki dönemin sondan ikinci bloğundan bir saniye daha geri ayarlanacaktır.
Bu şekilde, saldırganlar ikinci ayarlama döngüsünden sonra madencilik zorluğunu önemli ölçüde azaltabilir ve böylece çok hızlı bir şekilde blok oluşturup büyük miktarda Bitcoin elde edebilirler.
Saldırının Uygulanabilirliği ve Zorlukları
Teorik olarak bu tür bir saldırı ciddi sonuçlar doğurabilir, ancak pratikte uygulanması birçok zorlukla karşı karşıyadır:
Çoğu hesaplama gücünü kontrol etmeniz gerekiyor.
Dürüst madencilerin varlığı saldırı zorluğunu artırır.
MTP kuralları ve dürüst zaman damgaları kötü niyetli zaman damgalarının geriye dönüş seviyesini sınırlayacaktır.
Eğer dürüst madenciler herhangi bir zorluk ayarlama penceresinin ilk bloğunu üretirse, o döngüdeki saldırı geçersiz olacaktır.
Saldırı süreci herkes tarafından görülebilir, acil bir yumuşak çatallanma düzeltmesini tetikleyebilir.
Çözüm
Bu açığı düzeltmek için birkaç olası yöntem vardır:
Zorluk ayarlama algoritmasını değiştirin, farklı 2016 pencere blokları arasındaki zaman aralığını hesaplayın ve "bir eksik" hatasını düzeltin.
MTP kuralını iptal edin, her bloğun zamanının ileriye doğru hareket etmesi gerekmektedir.
Yeni kısıtlama kurallarını ayarlayın, yeni zorluk döngüsündeki ilk bloğun zamanı, önceki döngünün son bloğunun belirli dakika sayısından önce olmamasını şart koşun.
Poinsot'un "Büyük Konsensüs Temizliği" önerisi, üçüncü bir yöntemi benimsemekte ve zaman kısıtlamasını 2 saat olarak önermektedir. Bu plan, zaman çarpıtma saldırılarını etkili bir şekilde hafifletmenin yanı sıra, beklenmedik şekilde geçersiz blokların ortaya çıkma riskini de en aza indirmektedir.
Genel olarak, Bitcoin topluluğu bu potansiyel tehdide aktif bir şekilde yanıt veriyor ve ağın uzun vadeli güvenliği ve istikrarlı çalışmasını sağlamak için sürekli olarak protokolu iyileştiriyorlar, örneğin soft fork gibi yöntemlerle.
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.
14 Likes
Reward
14
5
Share
Comment
0/400
SatoshiSherpa
· 07-14 18:42
Bug düzeltmek gerçekten de bug düzeltmek gibi.
View OriginalReply0
FUD_Whisperer
· 07-14 18:38
Hata düzeltildi mi? Çoktan düzeltilmesi gerekiyordu.
View OriginalReply0
OldLeekConfession
· 07-14 18:38
Bu hata 4 yıldır mı düzeltiliyor?
View OriginalReply0
GweiWatcher
· 07-14 18:35
Bu hata çoktan düzeltilmeliydi, gerçekten dayanılmaz hale geldi.
View OriginalReply0
PumpingCroissant
· 07-14 18:34
2025'te düzeltilecek, bu hatayı beklemek uzun sürecek.
Bitcoin, zaman çarpıtma saldırısı açığını gidermeyi planlıyor; Soft Fork çözümü bekleniyor.
Bitcoin protokolündeki zaman bükme saldırısı açığı
Bitcoin geliştiricisi Antoine Poinsot, 26 Mart 2025'te Bitcoin protokolündeki uzun süredir var olan birkaç açığı ve zayıflığı düzeltmek için bir yazılım çatalı aracılığıyla yeni bir iyileştirme önerisi sundu. "Büyük Konsensüs Temizliği" olarak adlandırılan bu öneri, daha önce tartışılan çift harcama sorununu çözmenin yanı sıra, daha ciddi bir açığa — "zaman kıvrımı saldırısı" — yönelik bir çözüm de öneriyor.
Bitcoin'in zaman damgası koruma mekanizması
Zamanda bükülme saldırısını tartışmadan önce, Bitcoin'in mevcut zaman manipülasyonu koruma kurallarını gözden geçirelim:
Medyan geçmiş zamanı(MPT) kuralı: Blok zaman damgası, önceki 11 bloğun medyan zamanından daha geç olmalıdır.
Gelecek blok zaman kuralları: Blok zaman damgası, düğüm eşdeğerinin medyan zamanından 2 saatten fazla olmamalıdır. Ayrıca, düğüm zamanı ile yerel sistem saati arasındaki maksimum izin verilen fark 90 dakikadır.
Bu kuralların amacı, blok zaman damgalarının gerçekteki zamandan çok fazla sapmasını önlemektir, ister geçmişe ister geleceğe. Ancak, zaman çarpıtma saldırısı, gerçekteki zamandan çok daha önceki zaman damgalarını sahteleyerek gerçekleştirilir.
Satoshi Nakamoto'nun "bir eksik" hatası
Bitcoin'in zorluk ayarlama döngüsü 2016 blok içerir ve teorik olarak yaklaşık iki hafta sürer. Madencilik zorluğu ayarlaması hesaplanırken, protokol bu 2016 blok arasındaki ilk ve son blokların zaman damgası farkını hesaplar. Ancak, bu 2016 blok aslında 2015 blok aralığını içerir. Doğru hedef süre 60 saniye × 10 dakika × 2015 = 1,209,000 saniye olmalıdır, ancak Bitcoin protokolü 2016 sayısını kullanarak hesaplama sonucunu 1,209,600 saniye olarak belirler. Bu küçük hata, hedef sürenin gerçekte olması gereken süreden %0.05 daha uzun olmasına neden olur.
Bu hata önemsiz gibi görünse de, daha ciddi bir sorunu tetikliyor. Zorluk hesaplaması, her 2016 blok penceresinin ilk ve son bloğuna dayanmakta, önceki pencerenin son bloğu ile mevcut pencerenin son bloğu arasındaki farkı dikkate almamaktadır. 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ı yaklaşık 2011'de ilk kez keşfedildi. Bu saldırıda, madenciliğin tamamen merkezi olduğu varsayılır, madenciler protokolün izin verdiği sınırlar içinde istediği zaman damgasını ayarlayabilir. Saldırgan, çoğu bloğun zaman damgasını bir önceki bloktan sadece bir saniye ileri ayarlayacak veya her altı blokta bir saniye ileriye taşıyarak zamanı mümkün olduğunca yavaş ilerletecektir.
Bu işlem, blok zincirinin zamanının giderek gerçek zamandan geri kalmasına ve zorluğun sürekli artmasına neden olacaktır. Saldırı etkisini artırmak için, her zorluk ayarlama dönemi sonundaki son blokta, saldırgan zaman damgasını gerçek dünya zamanına ayarlayacaktır. Bir sonraki dönemin ilk bloku ise, önceki dönemin sondan ikinci bloğundan bir saniye daha geri ayarlanacaktır.
Bu şekilde, saldırganlar ikinci ayarlama döngüsünden sonra madencilik zorluğunu önemli ölçüde azaltabilir ve böylece çok hızlı bir şekilde blok oluşturup büyük miktarda Bitcoin elde edebilirler.
Saldırının Uygulanabilirliği ve Zorlukları
Teorik olarak bu tür bir saldırı ciddi sonuçlar doğurabilir, ancak pratikte uygulanması birçok zorlukla karşı karşıyadır:
Çözüm
Bu açığı düzeltmek için birkaç olası yöntem vardır:
Poinsot'un "Büyük Konsensüs Temizliği" önerisi, üçüncü bir yöntemi benimsemekte ve zaman kısıtlamasını 2 saat olarak önermektedir. Bu plan, zaman çarpıtma saldırılarını etkili bir şekilde hafifletmenin yanı sıra, beklenmedik şekilde geçersiz blokların ortaya çıkma riskini de en aza indirmektedir.
Genel olarak, Bitcoin topluluğu bu potansiyel tehdide aktif bir şekilde yanıt veriyor ve ağın uzun vadeli güvenliği ve istikrarlı çalışmasını sağlamak için sürekli olarak protokolu iyileştiriyorlar, örneğin soft fork gibi yöntemlerle.