Bitcoin protokolünün zaman bükme saldırı açığı ve onarımı
26 Mart 2025'te, Bitcoin geliştiricileri "Büyük Konsensüs Temizliği" adında bir yazılım çatalı önerisi sundu. Bu öneri, Bitcoin protokolündeki uzun süredir var olan birkaç açığı ve zayıflığı düzeltmeyi amaçlıyor. Bunlar arasında en ciddi açık "zaman bükme saldırısı" olarak adlandırılıyor ve bu makalede bu konu derinlemesine incelenecektir.
Bitcoin blok zaman damgası koruma mekanizması
Zaman bükme saldırısını tartışmadan önce, mevcut zaman manipülasyonu koruma kurallarını anlamamız gerekiyor:
Medyan geçmiş süre (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 önce olamaz. Düğüm tarafından sağlanan zaman ile yerel sistem saati arasındaki izin verilen maksimum fark 90 dakikadır.
Bu kurallar, blok zaman damgalarının ne çok geride ne de çok ileride olmalarını sağlamayı amaçlamaktadır. Ancak, zaman çarpıtma saldırısı, zaman damgalarını sahtesini yaparak, çok uzak geçmişe gitmelerini sağlamakla gerçekleştirilir.
Satoshi Nakamoto'nun "bir eksik" hatası
Bitcoin'in zorluk ayarlama dönemi 2016 blok içermekte olup, 10 dakikalık blok hedefi ile hesaplandığında yaklaşık iki haftalık bir süreyi kapsamaktadır. Madencilik zorluğu ayarlaması hesaplanırken, protokol 2016 blokluk pencere içindeki ilk ve son blok arasındaki zaman damgası farkını hesaplamaktadır. Ancak, Satoshi Nakamoto hedef zamanı hesaplarken küçük bir hata yaptı: 2016 yerine 2015'i çarpan olarak kullandı.
Bu hata, hedef sürenin aslında olması gereken süreden %0.05 daha uzun olmasına neden oldu ve Bitcoin'in gerçek hedef aralık süresi 10 dakika 0.3 saniye oldu. Bu hata önemsiz gibi görünse de, daha ciddi bir açığın tohumlarını ekmiştir.
Zaman Bükülmesi Saldırısı Prensibi
Zaman bükme saldırısı, Satoshi Nakamoto'nun zorluk hesaplamasındaki hatalarını kullanır. Saldırganlar, blok zaman damgalarını manipüle ederek, blok zincirinin zaman açısından yavaş ilerlemesini sağlar ve aynı zamanda MTP kurallarına uyar. Özellikle, saldırganlar şunları yapabilir:
Çoğu blok için zaman damgasını bir önceki bloktan sadece bir saniye önce ayarlayın.
Her altı blokta bir zaman damgası bir saniye ileriye alınır.
Her zorluk ayarlama döngüsünün son bloğunda, zaman damgasını gerçek dünya zamanı olarak ayarlayın.
Bir sonraki zorluk ayarlama döngüsünün ilk blok zaman damgası tekrar geçmişe döndü.
Bu işlem, blok zinciri zamanının gerçek zamandan giderek daha fazla geride kalmasına ve zorluk seviyesinin sürekli artmasına neden olur. Ancak, ikinci ayarlama döngüsünden sonra, zorluk düzeyi aşağı yönlü ayarlanmaya başlayacak ve saldırganlar çok hızlı bir hızda blok oluşturabilir, potansiyel olarak büyük miktarda Bitcoin üretebilir.
Saldırının Geçerliliği ve Sınırlamaları
Teorik olarak bu tür bir saldırı yıkıcı olsa da, uygulanması birçok zorlukla karşı karşıyadır:
Çoğu hesaplama gücünü kontrol etmek gerekiyor.
Dürüst madencilerin varlığı saldırı zorluğunu artıracaktır.
MTP kuralları ve dürüst madencilerin zaman damgaları kötü niyetli zaman damgalarının geriye dönük etkisini sınırlamaktadır.
Saldırı süreci kamuya açık olarak gözlemlenebilir, topluluğa acil onarım yapmaları için zaman tanır.
Çözüm
Zaman çarpıtma saldırılarını önlemek için, öneri yeni zorluk döngüsü başladığında basit bir kural eklemeyi öneriyor: yeni döngünün ilk bloğunun zamanı, önceki döngünün son bloğundan belirli bir zaman diliminden daha erken olmamalıdır. Şu anda tartışılan zaman dilimi 10 dakikadan 2 saate kadar değişmektedir.
Son büyük konsensüs temizleme önerisinde, bu süre 2 saat olarak belirlenmiştir. Bu kısıtlama, zorluk ayarlama döngüsü hedef süresinin yalnızca %0,6'sını kapsamakta ve aşağıya doğru zorluğu manipüle etme yeteneğini etkili bir şekilde sınırlamaktadır.
Bu yöntem, doğrudan zorluk ayarlama algoritmasını değiştirmeye kıyasla daha basittir ve sert bir hard fork gerektirmez. Hem zaman çarpıtma saldırılarını etkili bir şekilde önleyebilir hem de beklenmedik geçersiz blok riskini en aza indirebilir, aynı zamanda mevcut gelecek blok zaman damgası kurallarıyla tutarlı kalır.
Bu düzeltmenin uygulanmasıyla, Bitcoin ağı olası zaman manipülasyonu saldırılarına karşı daha iyi savunma sağlayacak ve güvenliğini ile istikrarını daha da artıracaktır.
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.
17 Likes
Reward
17
5
Share
Comment
0/400
JustHodlIt
· 07-11 01:42
Güvenlik hissi daha da arttı. Rahatladım, rahatladım~
View OriginalReply0
SchrodingerWallet
· 07-10 02:19
Açıklar kapatıldı, basit ve sert bir şekilde.
View OriginalReply0
DefiEngineerJack
· 07-10 02:19
*aslında* proof of work üstünlüğünü kanıtlayan başka bir önemli güvenlik yaması... açıkçası proof of stake'de daha kötü istismarlar gördüm.
View OriginalReply0
ProbablyNothing
· 07-10 01:57
btc açığı kapatıldı, bu sefer güvende değil mi?
View OriginalReply0
MemecoinResearcher
· 07-10 01:53
temele dayalı protokol düzeltmesi ama istatistiksel anlamlılık elde edebilir miyiz?
Bitcoin protokolü zaman bükme saldırı açığını düzeltti: Büyük Konsensüs Temizleme Teklifi Analizi
Bitcoin protokolünün zaman bükme saldırı açığı ve onarımı
26 Mart 2025'te, Bitcoin geliştiricileri "Büyük Konsensüs Temizliği" adında bir yazılım çatalı önerisi sundu. Bu öneri, Bitcoin protokolündeki uzun süredir var olan birkaç açığı ve zayıflığı düzeltmeyi amaçlıyor. Bunlar arasında en ciddi açık "zaman bükme saldırısı" olarak adlandırılıyor ve bu makalede bu konu derinlemesine incelenecektir.
Bitcoin blok zaman damgası koruma mekanizması
Zaman bükme saldırısını tartışmadan önce, mevcut zaman manipülasyonu koruma kurallarını anlamamız gerekiyor:
Medyan geçmiş süre (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 önce olamaz. Düğüm tarafından sağlanan zaman ile yerel sistem saati arasındaki izin verilen maksimum fark 90 dakikadır.
Bu kurallar, blok zaman damgalarının ne çok geride ne de çok ileride olmalarını sağlamayı amaçlamaktadır. Ancak, zaman çarpıtma saldırısı, zaman damgalarını sahtesini yaparak, çok uzak geçmişe gitmelerini sağlamakla gerçekleştirilir.
Satoshi Nakamoto'nun "bir eksik" hatası
Bitcoin'in zorluk ayarlama dönemi 2016 blok içermekte olup, 10 dakikalık blok hedefi ile hesaplandığında yaklaşık iki haftalık bir süreyi kapsamaktadır. Madencilik zorluğu ayarlaması hesaplanırken, protokol 2016 blokluk pencere içindeki ilk ve son blok arasındaki zaman damgası farkını hesaplamaktadır. Ancak, Satoshi Nakamoto hedef zamanı hesaplarken küçük bir hata yaptı: 2016 yerine 2015'i çarpan olarak kullandı.
Bu hata, hedef sürenin aslında olması gereken süreden %0.05 daha uzun olmasına neden oldu ve Bitcoin'in gerçek hedef aralık süresi 10 dakika 0.3 saniye oldu. Bu hata önemsiz gibi görünse de, daha ciddi bir açığın tohumlarını ekmiştir.
Zaman Bükülmesi Saldırısı Prensibi
Zaman bükme saldırısı, Satoshi Nakamoto'nun zorluk hesaplamasındaki hatalarını kullanır. Saldırganlar, blok zaman damgalarını manipüle ederek, blok zincirinin zaman açısından yavaş ilerlemesini sağlar ve aynı zamanda MTP kurallarına uyar. Özellikle, saldırganlar şunları yapabilir:
Bu işlem, blok zinciri zamanının gerçek zamandan giderek daha fazla geride kalmasına ve zorluk seviyesinin sürekli artmasına neden olur. Ancak, ikinci ayarlama döngüsünden sonra, zorluk düzeyi aşağı yönlü ayarlanmaya başlayacak ve saldırganlar çok hızlı bir hızda blok oluşturabilir, potansiyel olarak büyük miktarda Bitcoin üretebilir.
Saldırının Geçerliliği ve Sınırlamaları
Teorik olarak bu tür bir saldırı yıkıcı olsa da, uygulanması birçok zorlukla karşı karşıyadır:
Çözüm
Zaman çarpıtma saldırılarını önlemek için, öneri yeni zorluk döngüsü başladığında basit bir kural eklemeyi öneriyor: yeni döngünün ilk bloğunun zamanı, önceki döngünün son bloğundan belirli bir zaman diliminden daha erken olmamalıdır. Şu anda tartışılan zaman dilimi 10 dakikadan 2 saate kadar değişmektedir.
Son büyük konsensüs temizleme önerisinde, bu süre 2 saat olarak belirlenmiştir. Bu kısıtlama, zorluk ayarlama döngüsü hedef süresinin yalnızca %0,6'sını kapsamakta ve aşağıya doğru zorluğu manipüle etme yeteneğini etkili bir şekilde sınırlamaktadır.
Bu yöntem, doğrudan zorluk ayarlama algoritmasını değiştirmeye kıyasla daha basittir ve sert bir hard fork gerektirmez. Hem zaman çarpıtma saldırılarını etkili bir şekilde önleyebilir hem de beklenmedik geçersiz blok riskini en aza indirebilir, aynı zamanda mevcut gelecek blok zaman damgası kurallarıyla tutarlı kalır.
Bu düzeltmenin uygulanmasıyla, Bitcoin ağı olası zaman manipülasyonu saldırılarına karşı daha iyi savunma sağlayacak ve güvenliğini ile istikrarını daha da artıracaktır.