2025 Martında, Bitcoin geliştirme topluluğu "Büyük Konsensüs Temizliği" adlı bir yazılım çatallanma teklifini sundu. Bu teklif, Bitcoin protokolündeki uzun süredir var olan birkaç açığı ve zayıflığı düzeltmeyi amaçlıyor; bunlar arasında yakın zamanda tartıştığımız tekrar eden işlem sorunu da var. Daha ciddi bir açık ise "zaman bükme saldırısı" olarak adlandırılıyor, bu da bu yazının odaklanacağı konudur.
Bitcoin blok zaman damgası koruma mekanizması
Zaman bükme saldırısını tartışmadan önce, mevcut Bitcoin ağındaki zaman manipülasyonu koruma kurallarını anlamamız gerekiyor:
Medyan geçmiş süre (MPT) kuralı: Yeni blokun zaman damgası, önceki 11 bloğun zaman damgalarının medyanından daha geç olmalıdır.
Gelecek blok zaman kuralı: Yeni blokun zaman damgası, ağ düğümlerinin medyan zamanından 2 saatten fazla ileri olamaz. Aynı zamanda, düğümler arasında izin verilen maksimum zaman farkı 90 dakikadır, bu da başka bir güvence sağlamaktadır.
MPT kuralları, blok zaman damgalarının aşırı geriye dönük olmasını önlerken, gelecekteki blok kuralları zaman damgalarının aşırı ileriye gitmesini kısıtlar. Geçmiş zaman damgalarına benzer gelecekteki blok kurallarının kısıtlamalarının uygulanamayacağına dikkat edilmelidir, çünkü bu, blok zincirinin başlangıç senkronizasyon sürecini etkileyebilir. Zaman çarpıtma saldırısı, oldukça geriye dönük zaman damgaları sahteleyerek gerçekleştirilir.
Satoshi Nakamoto'nun "bir eksik" hatası
Bitcoin'in zorluk ayarlama döngüsü 2016 blok içerir ve 10 dakikalık blok süresi hesaplandığında yaklaşık iki haftadır. Madencilik zorluğu ayarlaması yapılırken, protokol 2016 blok penceresindeki ilk ve son blokların zaman damgası farkını hesaplar. Bu pencere aslında 2015 blok aralığını içerir (2016-1). Dolayısıyla, teorik olarak kullanılması gereken hedef süre 60 saniye × 10 dakika × 2015 aralığı = 1,209,000 saniyedir. Ancak, Bitcoin protokolü hedef süreyi hesaplamak için 2016 sayısını kullanır: 60 saniye × 10 dakika × 2016 = 1,209,600 saniye. Bu tipik bir "bir eksik" hatasıdır ve muhtemelen Satoshi Nakamoto blok sayısı ile blok aralığı sayısını hesaplayarak karıştırmıştır.
Bu hata, hedef zamanın gerçekte olması gereken süreye göre %0.05 daha uzun olmasına neden oldu. Başka bir deyişle, Bitcoin'in gerçek hedef blok aralığı 10 dakika değil, 10 dakika 0.3 saniyedir. Bu küçük fark, gerçek çalışmada önemli değildir, çünkü Bitcoin'in doğuşundan bu yana, hesap gücündeki sürekli artış nedeniyle, ortalama blok aralığı her zaman yaklaşık 9 dakika 36 saniye civarında kalmıştır ve bu, 10 dakikadan belirgin şekilde kısadır. Bu, neden son zamanlardaki yarılanma olayının 2024 Nisan'ına, 2025 Ocak'ına değil de, neden öne alındığını da açıklıyor. Bu 0.3 saniyelik hata önemsiz gibi görünse de, daha ciddi bir güvenlik açığına yol açmıştır.
Zaman Bükme Saldırı Prensibi
Zaman çarpıtma saldırısı 2011 yılında ilk kez keşfedildi ve Satoshi Nakamoto'nun zorluk hesaplamasındaki hatasını kullandı. Madenciliğin tamamen merkezileştiğini varsayarsak, madenciler protokolün izin verdiği sınırlar içinde istedikleri zaman damgasını ayarlayabilirler. Saldırgan, çoğu blokun zaman damgasını bir önceki bloktan sadece bir saniye önceye ayarlayarak blok zincirinin zaman olarak yavaş ilerlemesini sağlar ve MTP kurallarına uyar. Zamanın ilerlemesini en üst düzeye çıkarmak için, saldırgan altı blok boyunca aynı zaman damgasını koruyabilir ve yedinci blokta bir saniye artırarak bu döngüyü sürdürebilir.
Bu işlem, blok zinciri zamanının gerçek zamana giderek geride kalmasına ve zorluğun sürekli artmasına neden olur, bu da madenciliği giderek daha zor hale getirir. Ancak, saldırı etkisini artırmak için, saldırgan her zorluk ayarlama periyodunun son bloğunda zaman damgasını gerçek dünya zamanına ayarlayacaktır. Bir sonraki periyodun ilk bloğu ise geçmişe ayarlanacak, bir önceki periyodun sondan ikinci bloğundan sadece bir saniye önce olacaktır. Bu uygulama yine de MTP kurallarına uygundur, çünkü tek bir anormal değer 11 bloğun medyanını etkilemez.
Bu saldırı uygulandıktan sonra, ilk periyodun zorluğu etkilenmeyecek. Ancak ikinci ayarlama periyodundan itibaren, zorluk önemli ölçüde düşmeye başlayacak. Sonrasında, saldırganlar çok hızlı bir şekilde bloklar oluşturabilir ve potansiyel olarak büyük miktarda Bitcoin basarak kâr elde edebilirler.
Saldırı Geçerlilik Analizi
Teorik olarak bu tür bir saldırı yıkıcı olabilir, ancak pratikte uygulanması birçok zorlukla karşı karşıyadır:
Çoğu ağ hesaplama gücünü kontrol etmeniz gerekebilir.
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ük etkisini sınırlayacaktır.
Eğer dürüst madenciler herhangi bir zorluk ayarlama penceresinin ilk bloğunu üretirse, o döngünün saldırısı etkisiz hale gelecektir.
Saldırı süreci herkes tarafından görülebilir, acil bir yumuşak çatallanma düzeltmesini tetikleyebilir.
Potansiyel Çözümler
Bu açığı düzeltmenin birkaç olası yolu vardır:
Zorluk ayarlama algoritmasını değiştirin, farklı 2016 blok pencereleri arasındaki zaman aralığını hesaplayın ve "bir eksik" hatasını düzeltin. Ancak bu, sert bir çatal gerektirebilir.
MTP kuralını iptal edin, her blok için zamanın kesin olarak artış göstermesini gerektirir. Ancak bu, zaman damgasının aşırı öne alınmasına veya madenciler arasındaki saat farklarından kaynaklanan sorunlara yol açabilir.
Daha basit bir çözüm, yeni zorluk döneminin ilk blok zamanının, önceki dönemin son bloğunun belirli bir dakika sayısından daha önce olmaması gerektiğini talep etmektir. Şu anda tartışılan zaman aralığı 10 dakikadan 2 saate kadar değişmektedir.
Son büyük konsensüs temizleme önerisinde, geliştiriciler 2 saatlik bir sınırı benimsemeyi tercih ediyor. Bu zaman dilimi, zorluk ayarlama döngüsü hedef zamanının yaklaşık %0.6'sına denk geliyor ve zorluğun aşağı yönlü manipülasyon alanını etkili bir şekilde sınırlayabiliyor.
Sonuç olarak hangi çözümün benimsenmiş olursa olsun, bu uzun süredir var olan açığın kapatılması Bitcoin ağının güvenliğini ve 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.
20 Likes
Reward
20
6
Share
Comment
0/400
TeaTimeTrader
· 07-07 18:30
Bu hata gerçekten kripto dünyasına engel oldu.
View OriginalReply0
GasFeeCrier
· 07-07 15:25
Gün boyu gas ücretlerinin pahalı olduğunu haykırıyorsanız, bu şaka değil.
View OriginalReply0
ShibaOnTheRun
· 07-04 22:21
Birini öldürdüm, bakalım bu sorun biraz ciddi.
View OriginalReply0
NeverPresent
· 07-04 22:15
Er geç bir şey olacağını düşünmemiştim, bu kadar hızlı olacağını beklemiyordum.
View OriginalReply0
ChainComedian
· 07-04 22:07
Endişelenmeyin, madenciler aptal değil.
View OriginalReply0
GasWastingMaximalist
· 07-04 21:59
Yine Konsensüs değiştirmemiz gerekecek, btc gerçekten çok sorun çıkarıyor.
Bitcoin protokol açığı ifşa edildi: Zaman bükülme saldırısı büyük çaplı zorluk manipülasyonuna yol açabilir
Bitcoin protokol açığı: Zaman bükme saldırısı
2025 Martında, Bitcoin geliştirme topluluğu "Büyük Konsensüs Temizliği" adlı bir yazılım çatallanma teklifini sundu. Bu teklif, Bitcoin protokolündeki uzun süredir var olan birkaç açığı ve zayıflığı düzeltmeyi amaçlıyor; bunlar arasında yakın zamanda tartıştığımız tekrar eden işlem sorunu da var. Daha ciddi bir açık ise "zaman bükme saldırısı" olarak adlandırılıyor, bu da bu yazının odaklanacağı konudur.
Bitcoin blok zaman damgası koruma mekanizması
Zaman bükme saldırısını tartışmadan önce, mevcut Bitcoin ağındaki zaman manipülasyonu koruma kurallarını anlamamız gerekiyor:
Medyan geçmiş süre (MPT) kuralı: Yeni blokun zaman damgası, önceki 11 bloğun zaman damgalarının medyanından daha geç olmalıdır.
Gelecek blok zaman kuralı: Yeni blokun zaman damgası, ağ düğümlerinin medyan zamanından 2 saatten fazla ileri olamaz. Aynı zamanda, düğümler arasında izin verilen maksimum zaman farkı 90 dakikadır, bu da başka bir güvence sağlamaktadır.
MPT kuralları, blok zaman damgalarının aşırı geriye dönük olmasını önlerken, gelecekteki blok kuralları zaman damgalarının aşırı ileriye gitmesini kısıtlar. Geçmiş zaman damgalarına benzer gelecekteki blok kurallarının kısıtlamalarının uygulanamayacağına dikkat edilmelidir, çünkü bu, blok zincirinin başlangıç senkronizasyon sürecini etkileyebilir. Zaman çarpıtma saldırısı, oldukça geriye dönük zaman damgaları sahteleyerek gerçekleştirilir.
Satoshi Nakamoto'nun "bir eksik" hatası
Bitcoin'in zorluk ayarlama döngüsü 2016 blok içerir ve 10 dakikalık blok süresi hesaplandığında yaklaşık iki haftadır. Madencilik zorluğu ayarlaması yapılırken, protokol 2016 blok penceresindeki ilk ve son blokların zaman damgası farkını hesaplar. Bu pencere aslında 2015 blok aralığını içerir (2016-1). Dolayısıyla, teorik olarak kullanılması gereken hedef süre 60 saniye × 10 dakika × 2015 aralığı = 1,209,000 saniyedir. Ancak, Bitcoin protokolü hedef süreyi hesaplamak için 2016 sayısını kullanır: 60 saniye × 10 dakika × 2016 = 1,209,600 saniye. Bu tipik bir "bir eksik" hatasıdır ve muhtemelen Satoshi Nakamoto blok sayısı ile blok aralığı sayısını hesaplayarak karıştırmıştır.
Bu hata, hedef zamanın gerçekte olması gereken süreye göre %0.05 daha uzun olmasına neden oldu. Başka bir deyişle, Bitcoin'in gerçek hedef blok aralığı 10 dakika değil, 10 dakika 0.3 saniyedir. Bu küçük fark, gerçek çalışmada önemli değildir, çünkü Bitcoin'in doğuşundan bu yana, hesap gücündeki sürekli artış nedeniyle, ortalama blok aralığı her zaman yaklaşık 9 dakika 36 saniye civarında kalmıştır ve bu, 10 dakikadan belirgin şekilde kısadır. Bu, neden son zamanlardaki yarılanma olayının 2024 Nisan'ına, 2025 Ocak'ına değil de, neden öne alındığını da açıklıyor. Bu 0.3 saniyelik hata önemsiz gibi görünse de, daha ciddi bir güvenlik açığına yol açmıştır.
Zaman Bükme Saldırı Prensibi
Zaman çarpıtma saldırısı 2011 yılında ilk kez keşfedildi ve Satoshi Nakamoto'nun zorluk hesaplamasındaki hatasını kullandı. Madenciliğin tamamen merkezileştiğini varsayarsak, madenciler protokolün izin verdiği sınırlar içinde istedikleri zaman damgasını ayarlayabilirler. Saldırgan, çoğu blokun zaman damgasını bir önceki bloktan sadece bir saniye önceye ayarlayarak blok zincirinin zaman olarak yavaş ilerlemesini sağlar ve MTP kurallarına uyar. Zamanın ilerlemesini en üst düzeye çıkarmak için, saldırgan altı blok boyunca aynı zaman damgasını koruyabilir ve yedinci blokta bir saniye artırarak bu döngüyü sürdürebilir.
Bu işlem, blok zinciri zamanının gerçek zamana giderek geride kalmasına ve zorluğun sürekli artmasına neden olur, bu da madenciliği giderek daha zor hale getirir. Ancak, saldırı etkisini artırmak için, saldırgan her zorluk ayarlama periyodunun son bloğunda zaman damgasını gerçek dünya zamanına ayarlayacaktır. Bir sonraki periyodun ilk bloğu ise geçmişe ayarlanacak, bir önceki periyodun sondan ikinci bloğundan sadece bir saniye önce olacaktır. Bu uygulama yine de MTP kurallarına uygundur, çünkü tek bir anormal değer 11 bloğun medyanını etkilemez.
Bu saldırı uygulandıktan sonra, ilk periyodun zorluğu etkilenmeyecek. Ancak ikinci ayarlama periyodundan itibaren, zorluk önemli ölçüde düşmeye başlayacak. Sonrasında, saldırganlar çok hızlı bir şekilde bloklar oluşturabilir ve potansiyel olarak büyük miktarda Bitcoin basarak kâr elde edebilirler.
Saldırı Geçerlilik Analizi
Teorik olarak bu tür bir saldırı yıkıcı olabilir, ancak pratikte uygulanması birçok zorlukla karşı karşıyadır:
Potansiyel Çözümler
Bu açığı düzeltmenin birkaç olası yolu vardır:
Zorluk ayarlama algoritmasını değiştirin, farklı 2016 blok pencereleri arasındaki zaman aralığını hesaplayın ve "bir eksik" hatasını düzeltin. Ancak bu, sert bir çatal gerektirebilir.
MTP kuralını iptal edin, her blok için zamanın kesin olarak artış göstermesini gerektirir. Ancak bu, zaman damgasının aşırı öne alınmasına veya madenciler arasındaki saat farklarından kaynaklanan sorunlara yol açabilir.
Daha basit bir çözüm, yeni zorluk döneminin ilk blok zamanının, önceki dönemin son bloğunun belirli bir dakika sayısından daha önce olmaması gerektiğini talep etmektir. Şu anda tartışılan zaman aralığı 10 dakikadan 2 saate kadar değişmektedir.
Son büyük konsensüs temizleme önerisinde, geliştiriciler 2 saatlik bir sınırı benimsemeyi tercih ediyor. Bu zaman dilimi, zorluk ayarlama döngüsü hedef zamanının yaklaşık %0.6'sına denk geliyor ve zorluğun aşağı yönlü manipülasyon alanını etkili bir şekilde sınırlayabiliyor.
Sonuç olarak hangi çözümün benimsenmiş olursa olsun, bu uzun süredir var olan açığın kapatılması Bitcoin ağının güvenliğini ve istikrarını daha da artıracaktır.