Bitcoin Güvenlik Açığı: Zaman Eğrisi Saldırısını Tartışmak
Son günlerde, bir Bitcoin geliştiricisi, Bitcoin protokolündeki uzun süredir var olan birkaç açık ve zayıflığı düzeltmeyi amaçlayan "Büyük Konsensüs Temizliği" adlı bir soft fork önerisi sundu. Bunlardan biri "Zaman Çarpıtma Saldırısı" olarak adlandırılan ciddi bir açık olup, bu makalede derinlemesine incelenecektir.
Bitcoin blok zaman damgası koruma mekanizması
Zaman bükme saldırılarını tartışmadan önce, mevcut zaman manipülasyon koruma kurallarını gözden geçirelim:
Medyan geçmiş zamanı (MPT) kuralı: Blok zaman damgası, önceki 11 blokun medyan zamanından daha geç olmalıdır.
Gelecek blok zaman kuralları: Blok zaman damgası, düğüm eşlerinin medyan zamanından 2 saatten fazla ileri olamaz. Düğüm zamanının yerel sistem saatine maksimum izin verilen farkı 90 dakikadır.
Bu kurallar, blok zaman damgalarının gerçek zamandan çok fazla sapmasını önlemeyi amaçlamaktadır. Ancak, zaman bozulması saldırıları, zaman damgalarını sahte bir şekilde geçmişe doğru büyük ölçüde geri almakla ilgilidir.
Satoshi Nakamoto'nun "bir eksik" hatası
Bitcoin'in zorluk ayarlama döngüsü 2016 blok içerir ve yaklaşık iki hafta sürer. Madencilik zorluğu ayarlaması hesaplanırken, protokol ilgili 2016 blok penceresindeki ilk ve son blokların zaman damgaları arasındaki farkı karşılaştırır. Ancak, bu pencere gerçekte 2015 blok aralığı içerir. Bu nedenle, doğru hedef zaman 1,209,000 saniye olmalıdır, ancak Bitcoin protokolü 1,209,600 saniye kullanır. Bu %0,05'lik hata, gerçek hedef aralık zamanının 10 dakika 0.3 saniye olmasına neden olur.
Bu hata kendisi pek etki etmese de, daha ciddi bir sorunu gündeme getiriyor. Zorluk hesaplaması, her 2016 blokluk pencere içindeki ilk ve son bloklara dayanıyor, önceki pencerenin son bloğu ile mevcut pencerenin son bloğu arasındaki fark yerine. Bu hesaplama yöntemi, zaman çarpıtma saldırıları için bir olanak yaratıyor.
Zaman Bükme Saldırısı Prensibi
Zaman çarpıtma saldırısı 2011 yılında ilk kez keşfedildi. Bu saldırıda, madenciliğin tamamen merkezileştiği varsayılır, madenciler protokolün izin verdiği aralıkta herhangi bir zaman damgası ayarlayabilir. Saldırgan, çoğu blokun zaman damgasını bir önceki bloktan yalnızca bir saniye ileri olacak şekilde ayarlarken, MTP kurallarına uyar. Zamanı mümkün olduğunca yavaş ilerletmek için, madenciler altı blok boyunca aynı zaman damgasını koruyabilir ve ardından bir sonraki blokta bir saniye artırabilir.
Bu işlem, blok zincirinin zamanının gerçek zamandan giderek geride kalmasına neden olacaktır. Ancak, saldırı etkisini artırmak için madenciler, her zorluk ayarlama döngüsünün son bloğunda gerçek dünya zaman damgasını kullanır. Bir sonraki döngünün ilk bloğu ise, önceki döngünün sondan bir önceki bloğundan sadece bir saniye önce geçmişe ayarlanır.
Bu tür bir saldırı, zorluğun ikinci ayarlama döneminden sonra düşmeye başlamasına neden olur. Madenciler ardından çok hızlı bir şekilde blok oluşturabilir, büyük miktarda Bitcoin üretebilir ve bunu satarak kar elde edebilir.
Saldırı Fizibilite Analizi
Teorik olarak bu tür bir saldırının yıkıcı etkisi vardır, ancak uygulanmasında bazı zorluklar bulunmaktadır:
Çoğu hesaplama gücünü kontrol etmeniz gerekebilir.
Dürüst madencilerin varlığı, saldırı zorluğunu artıracaktır.
MTP kuralları ve dürüst zaman damgaları kötü niyetli zaman damgalarının geriye dönük derecesini sınırlayabilir.
Eğer dürüst madenciler herhangi bir zorluk ayarlama penceresinin ilk bloğunu üretirse, o döngüdeki saldırılar geçersiz olacaktır.
Saldırı süreci herkes tarafından görülebilir, bu da topluluğa acil bir düzeltme yayınlamak için yeterli zaman verebilir.
Çö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 hata düzeltin.
MTP kuralını iptal et, her blokta zamanın ilerlemesi gerektiği şartını getir.
Yeni zorluk dönemi için ilk blok zamanının, bir önceki dönemin son blok özel dakika sayısından daha erken olmaması gerektiği belirtilmiştir.
Şu anda, büyük bir uzlaşı temizleme önerisinde üçüncü bir yöntem kullanılmakta ve zaman sınırı 2 saat olarak belirlenmiştir. Bu plan, zaman çarpıtma saldırılarını etkili bir şekilde hafifletirken, beklenmedik geçersiz blokların riskini de en aza indirmektedir.
Genel olarak, zaman bükme saldırısının teorik olarak ciddi bir tehdit olmasına rağmen, pratikte uygulanması oldukça zordur. Uygun protokol güncellemeleri ile bu potansiyel riski tamamen ortadan kaldırmayı ve Bitcoin ağının güvenliğini ve istikrarını daha da artırmayı umuyoruz.
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.
23 Likes
Reward
23
8
Repost
Share
Comment
0/400
ShamedApeSeller
· 07-11 15:09
Yeniden Hedefleme Zorluğu, benim pastamı hareket ettiriyor.
View OriginalReply0
Web3ProductManager
· 07-11 10:40
tutma metriklerine baktığımda, bu zaman kayması düzeltmesi btc'nin ağ etkileri için çok önemli, açıkçası
View OriginalReply0
SandwichTrader
· 07-08 19:46
Hızla düzelt, yine oyalanma.
View OriginalReply0
bridge_anxiety
· 07-08 19:45
Güvenlik hala çok önemlidir.
View OriginalReply0
HodlVeteran
· 07-08 19:41
Eski enayiler sayısız tuzağa düştü, hepsi de yeni nesile bir basamak oluşturmak için.
View OriginalReply0
FarmToRiches
· 07-08 19:41
Kod yine hata verdi~
View OriginalReply0
nft_widow
· 07-08 19:28
Açık bir güvenlik açığı bulduktan sonra hala saklamak mı istiyorsun?
Bitcoin Zaman Bükme Saldırısı: Potansiyel Riskler ve Onarım Çözümleri Üzerine İnceleme
Bitcoin Güvenlik Açığı: Zaman Eğrisi Saldırısını Tartışmak
Son günlerde, bir Bitcoin geliştiricisi, Bitcoin protokolündeki uzun süredir var olan birkaç açık ve zayıflığı düzeltmeyi amaçlayan "Büyük Konsensüs Temizliği" adlı bir soft fork önerisi sundu. Bunlardan biri "Zaman Çarpıtma Saldırısı" olarak adlandırılan ciddi bir açık olup, bu makalede derinlemesine incelenecektir.
Bitcoin blok zaman damgası koruma mekanizması
Zaman bükme saldırılarını tartışmadan önce, mevcut zaman manipülasyon koruma kurallarını gözden geçirelim:
Medyan geçmiş zamanı (MPT) kuralı: Blok zaman damgası, önceki 11 blokun medyan zamanından daha geç olmalıdır.
Gelecek blok zaman kuralları: Blok zaman damgası, düğüm eşlerinin medyan zamanından 2 saatten fazla ileri olamaz. Düğüm zamanının yerel sistem saatine maksimum izin verilen farkı 90 dakikadır.
Bu kurallar, blok zaman damgalarının gerçek zamandan çok fazla sapmasını önlemeyi amaçlamaktadır. Ancak, zaman bozulması saldırıları, zaman damgalarını sahte bir şekilde geçmişe doğru büyük ölçüde geri almakla ilgilidir.
Satoshi Nakamoto'nun "bir eksik" hatası
Bitcoin'in zorluk ayarlama döngüsü 2016 blok içerir ve yaklaşık iki hafta sürer. Madencilik zorluğu ayarlaması hesaplanırken, protokol ilgili 2016 blok penceresindeki ilk ve son blokların zaman damgaları arasındaki farkı karşılaştırır. Ancak, bu pencere gerçekte 2015 blok aralığı içerir. Bu nedenle, doğru hedef zaman 1,209,000 saniye olmalıdır, ancak Bitcoin protokolü 1,209,600 saniye kullanır. Bu %0,05'lik hata, gerçek hedef aralık zamanının 10 dakika 0.3 saniye olmasına neden olur.
Bu hata kendisi pek etki etmese de, daha ciddi bir sorunu gündeme getiriyor. Zorluk hesaplaması, her 2016 blokluk pencere içindeki ilk ve son bloklara dayanıyor, önceki pencerenin son bloğu ile mevcut pencerenin son bloğu arasındaki fark yerine. Bu hesaplama yöntemi, zaman çarpıtma saldırıları için bir olanak yaratıyor.
Zaman Bükme Saldırısı Prensibi
Zaman çarpıtma saldırısı 2011 yılında ilk kez keşfedildi. Bu saldırıda, madenciliğin tamamen merkezileştiği varsayılır, madenciler protokolün izin verdiği aralıkta herhangi bir zaman damgası ayarlayabilir. Saldırgan, çoğu blokun zaman damgasını bir önceki bloktan yalnızca bir saniye ileri olacak şekilde ayarlarken, MTP kurallarına uyar. Zamanı mümkün olduğunca yavaş ilerletmek için, madenciler altı blok boyunca aynı zaman damgasını koruyabilir ve ardından bir sonraki blokta bir saniye artırabilir.
Bu işlem, blok zincirinin zamanının gerçek zamandan giderek geride kalmasına neden olacaktır. Ancak, saldırı etkisini artırmak için madenciler, her zorluk ayarlama döngüsünün son bloğunda gerçek dünya zaman damgasını kullanır. Bir sonraki döngünün ilk bloğu ise, önceki döngünün sondan bir önceki bloğundan sadece bir saniye önce geçmişe ayarlanır.
Bu tür bir saldırı, zorluğun ikinci ayarlama döneminden sonra düşmeye başlamasına neden olur. Madenciler ardından çok hızlı bir şekilde blok oluşturabilir, büyük miktarda Bitcoin üretebilir ve bunu satarak kar elde edebilir.
Saldırı Fizibilite Analizi
Teorik olarak bu tür bir saldırının yıkıcı etkisi vardır, ancak uygulanmasında bazı zorluklar bulunmaktadır:
Çözüm
Bu açığı düzeltmek için birkaç olası yöntem vardır:
Şu anda, büyük bir uzlaşı temizleme önerisinde üçüncü bir yöntem kullanılmakta ve zaman sınırı 2 saat olarak belirlenmiştir. Bu plan, zaman çarpıtma saldırılarını etkili bir şekilde hafifletirken, beklenmedik geçersiz blokların riskini de en aza indirmektedir.
Genel olarak, zaman bükme saldırısının teorik olarak ciddi bir tehdit olmasına rağmen, pratikte uygulanması oldukça zordur. Uygun protokol güncellemeleri ile bu potansiyel riski tamamen ortadan kaldırmayı ve Bitcoin ağının güvenliğini ve istikrarını daha da artırmayı umuyoruz.