Verge Hack, Açıkladı
Zaman Çözgüleri, Madencilik İstismarları, Hizmet Reddi ve Daha Fazlası!
Cryptocurrency meraklıları sıradan sivillere en sevdikleri sikkeleri güçlendiren Blockchain protokollerini ne kadar güvenli ve sağlam kılmaya isteklidirler. Gerçekten de, Bitcoin ve Ethereum gibi büyük kripto-para birimleri, geçmişte olan herhangi bir diğer dijital varlık / ödeme sisteminden daha iyi, tartışmalı bir şekilde, çok iyi korunmuşlardır. atasözleri üzerinde etkili multi-milyar dolarlık ödül.
Ancak, birçoğu bir adım daha ileri giderek, söz konusu kripto paranın tam anlamıyla “unhackable” olamayacağını ilan ediyor. Bu, en azından, bir “taklit” memenin çoğalmasının, ne zaman ne kadar tuhaf bir pozisyona girdiğine dikkat çekiyor. ve eğer belli olaylar ortaya çıkarsa. Bir kesmek gibi.
Böyle bir durumda, başka bir şey yoksa, bir açıklamanın gerektiği gibi görünüyor.
Geçtiğimiz ay, henüz kimliği belirlenemeyen bir saldırgan, nispeten küçük, gizlilik odaklı bir kripto para birimi olan Verge’ı ciddi şekilde tehlikeye atabildi. Gizemli bir hacker, herhangi bir kullanıcının herhangi bir ödeme yapmasını engellemek için, 4 ve 6 Nisan arasında bir defada, birkaç saat aralıklarla ağı üç kez yönetmeyi başardı. Daha da kötüsü, bu aralıkta, etkili bir şekilde taklit edilen Verge'i, saniyede 1,560 Verge jetonu (yaklaşık 80 $) oranında oluşturarak, bir milyon dolar değerindeki para birimini paraya çevirdi.
Bush etrafında dövmek gerek yok - bu bir felaket oldu. Şey, yüksek cennete hacklendi.
Ama kim suçlanacak? Bu, Verge geliştiricilerinin bir bölümünde insan hatası, kripto temellerinin zayıflaması ya da aralarında bir şey mi var? Böyle bir şey tekrar olabilir, belki daha büyük para birimleri için, ve eğer öyleyse, bunu önlemek için ne yapılabilir?
Bu tür ihlallerle birlikte, pek çok ayrıntı kaçınılmaz olarak karışıktır. Ancak, bu durumda, temel istismarlar açıkça anlaşılabilir. Onward:
Zaman Damgası Spoofing (Ya: Dürüst Yanlışlar vs Tehlikeli Yalanlar)
Sömürünün kökü, bir şey gibi görünmek için bir şey gibi görünecek, ama aslında kasıtlı bir özellik: “yanlış” zaman damgaları oluşturma yeteneği. Blockchain protokollerinde, bireysel işlemler (genellikle bir partiden diğerine yapılan ödemeler), bir bütün olarak teyit edilen tek bir blok halinde toplanır. Her blok, oluşturulma tarihinin bir zaman damgasıyla gelir. Bir blockchain protokolü düzgün bir şekilde çalışıyor olsa bile, bu zaman damgalarının sıralanması bazen sıra dışı olabilir; Yani, 100 bloğu, gerçekten 101 bloğundan sonra gelen bir zaman damgasına sahip olabilir. Bunun sebebi, merkezi olmayan ağlarda, üçüncü taraflara herhangi bir özel yetki vermeyi sürekli olarak reddettiği için, zaman senkronizasyonunu doğru bir şekilde uygulamak, basit bir konu değildir.. Verilerin eşler arası ağ üzerinden yayılması için gereken süredeki öngörülemeyen varyans göz önüne alındığında, tüm taraflar dürüstçe olsa bile, blok zamanlarının “düzenin dışında” görünmesi tamamen mümkündür. Başka bir deyişle, bir dereceye kadar esnekliğe izin vermek adildir; Verge söz konusu olduğunda (yine de hack'ten önce), protokol, düğümlerin o andaki saat hakkında, en fazla iki saat boyunca “katılmama” nı sağladı .
Hacker için giriş noktası, geçmişten gelmiş gibi görünen, ancak ayrılan iki saatlik pencerede bulunan ve böylece diğer düğümler tarafından kabul edilmek için uygun olan blokları göndererek, sahte zaman damgası başlatmaktı.
Bu, ağ güvenliği için niçin önemli olacaksa, iş kanıtı madenciliğinin doğasıyla ilgisi vardır.
Madencilik Zorluğu (Ya da: Sadece Kalkanlar Kaldırıldıklarında İşler)
Verge ağının merkezi olmayan bir şekilde saklanması, oldukça küçük ölçekli cihazların (macbookların), ağ yazılımının çalıştırılmasına katılabilmesini sağlamayı gerektirir. Bu da, ağdaki ödeme etkinliği hacmini sınırlamak anlamına gelir; Örneğin, net bir hedef blok süresinin ayarlanması (ve ağın işlem başına saniyedeki bir limiti). Verge için, hedef 30 saniyede bir bloktur. Şimdi, ağın merkezsizleştirildiği düşünüldüğünde, bir kişi bu soruyu nasıl uygulayabilir? Tarafların blokları çok daha hızlı bir şekilde göndermelerini engelleyen nedir? Bu önemsiz bir problem değil; kabul edilen bir bloğun göndericisini bir blok ödülü kazanması koşuluyla, göndericinin blokları olabildiğince hızlı bir şekilde teyit etme isteğindedir.
Cevap, kısaca, iş madenciliğinin kanıtıdır. Bir bloğun ağ tarafından geçerli kabul edilmesi için, doğrudan bloğun kendisindeki verilerden türetilen bir kriptografik olarak zor hesaplama problemine bir çözüm içermesi gerekir. Bu problemin doğası, zorluğun serbestçe ayarlanabileceği şekildedir. Verge için hedef blok zamanı, her 30 saniyede bir bloktur ve madencilik bloklarının zorluğu, mevcut blok onayları oranına göre sürekli olarak ayarlanır; Daha çok insan Verge blokları üretmek için daha fazla madencilik gücü vermeye karar verirse ve daha fazla blok daha hızlı işlenirse, protokol madenciliğin zorluğunu arttırır ve teslimiyetin azaltılması daraltılır. Tersine, madencilik gücü düştüğünde ve zamanın artmasını engelledikçe madencilik daha kolaylaşır. Böylelikle, düzgün çalıştığı zaman, düzensiz gerçek sözcük faktörleri değişse bile - ekonomik dalgalanmalar,
Verge'nin mevcut zorlukları hesaplamak için kullandığı algoritma Dark Gravity Wave olarak bilinir; Bu, hareketli iki saatlik bir pencere üzerinde blok onaylama oranının ağırlıklı ortalamasını almayı içerir. Bu biraz karmaşık ve detaylar burada önemli değil - önemli olan şudur: madencilik zorluğu son blok frekansının bir işlevidir ve blok frekansında çalışan hesaplamalar doğal olarak blokların zaman damgalarına bakmayı içerir.
Ve dolayısıyla sorun: Yeterli zaman damgası oluşturuluyorsa, tüm bahisler kapalıdır. Ve bu hacker'ın yaptığı şey, blok zincir verilerinin incelenmesi, hack (ler) in süresi boyunca, protokolün madencilik ayarlama algoritmasını trajik bir şekilde karıştırdığı, diğer bir bloğun, kabaca bir saat önce bir zaman damgasıyla sunulduğunu ortaya koymaktadır. Protokolün İngilizce konuşkan ve akıcı olsaydı, “Oh hayır! Son zamanlarda yeterli blok gönderilmedi! Madencilik çok zor olmalı - daha kolay yapalım! ”Zaman damgası sürekli olarak sahteciliğinden beri, protokol madenciliği kolaylaşıncaya kadar sürekli olarak zorluğu azaltmıştır. Genel bir fikir vermek için, ilk saldırıdan önceki saatlerde ortalama zorluk 1393093.39131 iken, saldırı sırasında 0.00024414'e kadar düştü, % 99.999999'un üzerinde bir zorlukla düşüş. Bir bloğun sunulmasında daha düşük zorluk, daha fazla blokun sunulmasını gerektirir - bu durumda, her saniye kabaca bir blok.
Bu saldırının zekiliği, içinden patlamaya çalışmak yerine madenciliğin engelini nasıl aştığıdır. Eğer madencilik gücü tarafından sağlanan güvenlik ağın etrafını saran bir kapı ise - kırılmayacak kadar güçlü ve tırmanmak için çok yüksek olan bir kapı - bu kırbaç onu yere kadar çok yakın bir yere indirerek geçebilir. adım atmak
Zaten bariz değilse, bu, kendi başına, kötü haber. Amaçlanan bu protokolün ihlali, basitçe iyi bir görünüm değildir. Ek olarak, büyük ölçüde artmış blok başvuru oranı, protokolün verilmiş olandan çok daha yeni çıkmış bir Verge anlamına gelir; bu, eğer tahmin edilemeyecek kadar yüksek stok akışına sahip bir ses parası olan bir ekonomist iseniz sizi rahatsız edecek şekilde bağlıdır. oranı .
Ancak, zorluğun azaltılması sadece hikayenin yarısıdır; tecritte, aslında saldırganın herhangi bir avantajı olmaz. Büyük ölçüde azaltılmış zorluk ile, madencilik blokları saldırgan için daha kolay hale gelir, ama aynı zamanda herkes için daha kolay olur ; Madenciler hala önceki gibi birbirleriyle rekabet ediyorlar. Görmeyi umduğumuz şey, evet, blokların daha hızlı işlenmesine rağmen, başarılı madencilerin kimlikleri, daha önce olduğu gibi dağıtılmış ve demokratik olmalıdır. Ya da, başka bir deyişle, zorluk ne olursa olsun, tek bir saldırgan ağa hakim olmak için madencilik gücünün% 51'ine ihtiyaç duyardı , ki bu da saldırıdan önce olduğu kadar zordu.
Ancak, bu hacker gerçekten tüm ağı ele geçirdi ve bunu karma oranının% 51'inden daha azıyla gerçekleştirmeyi başardı. Bunu yapmalarını sağlayan şey, bu istismarın ikinci bileşeni olup, Verge'nin çoklu madencilik algoritmalarını kullanmasıyla ilgilidir.