Blockchain Güvenliği: %51 Saldırısı
Blockchain’in güvenli bir yapı olduğunu biliyoruz. Güvenliği yüksek olsa da blockchain kusursuz bir yapı değil ve hala blockchainlerin çözüm getiremediği zaafiyetler bulunmakta. Bu zaafiyetlerden en biliniri ve teorik olarak imkansız gözükeni %51 saldırısıdır. Teorik olarak imkansız görünse de imkansız olmadığını bu yazının sonunda farkedeceksiniz.
Haydi başlayalım.
%51 Saldırısı Nedir?
%51 saldırısı blockchaine özgü bir saldırı türüdür.
%51 saldırısı, tek bir kötü niyetli kullanıcının veya grubun ağın toplam hash gücünün yarısından fazlasını ele geçirmeyi başardığı, blok zinciri sistemine yapılan bir saldırıyı ifade eder.
Bu saldırıda amaçlanan: karar düğümlerinin veya madencilerin çoğunluğunun(%51) kontrolünü ele geçirmektir.
Blokchain farklı düğümler tarafından doğrulandığından, yanlış olan bir şeyi doğrulamak istiyorsanız, bunun gerçekleşmesi için düğümlerin çoğuna ihtiyacınız olacaktır, bu da bilgi işlem gücünün çoğunluğu anlamına gelir.
Saldırgan böyle bir saldırı gerçekleştirse neler yapabilir?
- Zinciri kullanmanızı engelleyebilirler, yani beğenmedikleri herhangi bir işlemi engelleyebilirler. Buna sansür denir.
- Zinciri geri alabilirler, yani belirli sayıda bloğu geri alabilir ve bunlardaki işlemlerin sırasını değiştirebilirler.
- Kazanılan kripto parayla iki kez harcama yapabilir. (Double Spending)
Ancak Bitcoin büyüklüğünde bir ağ için bu neredeyse imkansız.
Bu tür bir saldırıya göre bir blockchainin gücü, ağın hash oranıdır: daha fazla madenci, daha güvenlidir.
Hash oranı, ağın işleyebileceği saniye başına hash sayısıdır, hash, bir bilgiyi kriptografik olarak dönüştürmek için kullanılan anahtardır ve madencilerin bulmaya çalıştığı şey budur.
%51 Saldırısı Nasıl Gerçekleşir?
İlk başta, tek bir madenci veya bir grup madenci, ağın madencilik gücünün %51'inden fazlasını elde eder. Bu durum, büyük ağlardan ziyade daha küçük ağlarda ortaya çıkabilir.
Saldırgan gücü aldıktan sonra, diğer tüm düğümlerin blokları çıkardığı genel Blockchain ile eşzamanlı olarak çalışan özel zincirinde blok madenciliği yapmaya başlar.
Meşru genel Blockchain, mevcut özel sahte zincirin farkında olmayacaktır. Bu arada, saldırgan meşru zincire bir miktar token aktarır ve sahte zincir tarafından onaylanmaz.
Saldırgan, network üzerinde ağın geri kalanından daha fazla hakimiyete sahip olduğu zaman daha hızlı blok üreteceği için, belirli bir süreden sonra sahte zincir meşru zincirin uzunluğunu geçecektir ve saldırgan ağa hakim olacaktır.
Madenciler ya da doğrulayıcılar, üzerinde çalıştıkları zincirden daha uzun bir zincir gördükleri zaman, ödül kazanmaya devam edebilmek için saldırganın yönettiği, sahte olan daha uzun zinciri, meşru zincir olarak kabul edeceklerdir.
Sahte zincir artık meşru zincir sayıldığı için, diğer zincirdeki işlemler kabul görmez ve saldırgan parasını istediği gibi harcayabilir.
%51 Saldırıları Nasıl Önlenebilir?
%51 saldırılarını önlemek için protokol tasarımcısı, saldırıyı gerçekleştirmek için harcanması gereken maliyetin saldırı sonunda elde edilecek faydadan daha yüksek olduğu bir sistem oluşturmalıdır. (Kısacası %51 saldırısı gerçekleşse bile saldırganın zararlı çıkacağı bir protokol tasarlamalıdır.)
Bir saldırının potansiyel faydaları, oracle ağı tarafından desteklenen ve oracle’lara dayanan piyasalardaki likidite miktarıyla sınırlandırılan finansal araç türlerine göre belirlenir. Ancak, müşterilerinin taleplerini karşılamaları gerektiğinden, bunları protokol açısından kontrol etmek zordur. Bu nedenle, oracle sağlayıcıları, bir saldırının sermaye maliyetleri veya sisteme saldırıdan kaynaklanan örtülü kayıplar nedeniyle gerçekleştirilemez hale gelmesi için yeterince yüksek bir maliyet belirlemeye çalışırlar.
Bu maliyetler staking yoluyla uygulanabilir. Bir Oracle ağında stake yapmak, doğrulayıcıların doğrulamaya başlamadan önce Oracle protokolünün yerel kripto para biriminin belirli bir miktarını kilitlemesini gerektirir. Bu şekilde, ağı güvenilmez kılmak için hareket ederlerse, hisseleri değersiz hale gelir.
Buna ek olarak, medyandan önemli ölçüde sapan bilgiler gönderen doğrulayıcıların stake edilen kripto para birimini ortadan kaldıran mekanizmalar vardır. Bu slashing olarak bilinir.
Proof of Work(PoW) Protokolünde %51 Saldırısını Önlemek
Potansiyel saldırganların karşılaştığı maliyetler, kullanılan protokolün türüne bağlıdır. Proof of Work protokolleri, doğrulayıcıların hem veri tahminlerini hem de çözümü bir iş kanıtı zorluğuna göndermelerini gerektirir. Blok zincirine rapor edilen veriler, n’nin keyfi olarak seçilen bir sayı olduğu, iş kanıtı sunan ilk n doğrulayıcının tahminlerinin medyanıdır. Bu durumda, potansiyel saldırganların karşılaştığı maliyet, iş kanıtı bulmacasını tamamlayan doğrulayıcıların çoğunu kontrol etmek için yeterli hash gücü elde etmenin sermaye maliyetinin yanı sıra kontrol ettikleri her doğrulayıcı için stake edilen kripto para birimidir.
Bu, uzun bir süre boyunca pahalı olsa da, yalnızca bir veri gönderimine yönelik bir saldırının sermaye maliyeti oldukça düşük olabilir.
Bunun nedeni, potansiyel saldırganların bu hash gücünü yalnızca veri tahminlerini bir kez göndermeye yetecek kadar uzun süre kontrol etmeleri gerektiğidir. Önceki örneğimizi kullanmak gerekirse, Bitcoin’in fiyatı 1 $ olarak bildirilirse, sözleşme sahibi büyük bir kazanç potansiyeli ile zorunlu alımını hemen yapabilir. O zaman saldırganın hash gücü için ödeme yapmaya devam etmesine gerek kalmaz. Tüm saldırı, Oracle protokolünün tek bir veri tahmini sunması kadar kısa sürede sona erebilir. Bu nedenle, bu sermaye maliyeti, Oracle protokollerinin tek bir tahmin sunmak için kullandığı süreye bağlıdır. Bunlar, daha yüksek bir sermaye maliyeti gerektiren daha fazla süre ile 3 dakikadan birkaç saate kadar değişebilir. Bununla birlikte, saldırganın sadece kısa bir süre için ihtiyaç duyması halinde yüksek bir hash gücü maliyetine bile maruz kalabileceği bir noktadır. Dolayısıyla, bu protokoldeki saldırıları önlemenin anahtarı, tahminleri alınan doğrulayıcıların sayısını artırmak (böylece sermaye maliyetlerini yükseltmek) ve gerekli miktarda stake edilen kripto para birimini yükseltmektir.
Bunların her ikisi de bazı sorunları beraberinde getiriyor. Tahminleri alınan doğrulayıcı sayısı, sistemdeki doğrulayıcı sayısı ile sınırlıdır, bu nedenle hash gücü fiyatı yeterince düşükse, tüm doğrulayıcıların tahminlerini almak bile saldırıları caydırmak için yetersiz olabilir.
Öte yandan, istekliler doğrulayıcıların kripto paralarını yeniden stake etmelerini beklediklerinden, stake edilen kripto para biriminin miktarını artırmak ağın yavaşlamasına neden olabilir.
Saldırı maliyetini artırmak için her iki yöntemin bir kombinasyonu gereklidir, ancak alınan tahminlerin sayısını artırmak daha akıcı ve tercih edilen bir seçenektir.
Proof of Stake Protokolünde %51 Saldırılarını Önlemek
%51 saldırılarını engellemenin diğer bir yöntemi de Proof of Stake protokolüdür. Bu protokolde, tüm doğrulayıcılar ya sabit ya da gönüllü bir kripto para birimi tutar ve tüm doğrulayıcılar veri tahminlerini sunar.
Veri tahminlerini gönderme ödülleri daha sonra ya eşit olarak (sabit bir miktar olması durumunda) ya da doğrulayıcının ağdaki tüm kripto para birimi yüzdesiyle orantılı olarak dağıtılır (doğrulayıcıların ne kadar bahis yapmak istediklerini seçmesi durumunda).
Doğrulayıcıların tahminlerinin ağırlıklı bir medyanı alınır ve ardından blok zincirine yayınlanır.
Potansiyel saldırganlar, gönderdikleri her tahmin için alınan ve stake edilen kripto para biriminin yalnızca yarısını kontrol etmek yerine, artık doğrulayıcılar tarafından stake edilen tüm kripto para biriminin yarısını kontrol etmelidir.
Büyük ağlar için bu neredeyse imkansızdır. Ancak, daha küçük ağlar için bile bu oldukça pahalı olabilir.
İlk olarak, potansiyel bir saldırgan, stake edilen para biriminin %51'ini kontrol ederek, kripto para biriminin başarısında örtülü bir çıkara sahip olur. Bu kadar büyük miktarda para birimi satın almak ve onu kilitlemek, fiyat üzerinde yukarı yönlü bir baskı yaratır. Bir aktör başarılı bir saldırı gerçekleştirirse, Oracle protokolüne olan güven düşer ve para birimindeki tüm paylarını değersiz hale getirir.
İkincisi, bir saldırının potansiyel faydası, Oracle’ın tahminlerini kullanan sistem içindeki likidite miktarıyla sınırlıdır. Bu ağ küçükse, likidite, stake edilen kripto para biriminin %51'ini satın alma maliyetini karşılayacak kadar büyük olmayabilir. Dolayısıyla, ağın küçük olması durumunda, hissenin %51'ine sahip saldırganlar, daha küçük bir kısa vadeli kazanç için gelecekteki büyük kazançlarından vazgeçiyor.
Delayed Proof of Work(DPoW) Protokolü ile %51 Saldırısına Önlem Oluşturma
Proof of Work, bir blok zincirini güvence altına almak için oldukça güvenilir bir yöntem olsa da, büyük bir kusura sahiptir: hash gücünün potansiyel merkezileşmesi.
Hash gücü merkezileştirme sorunu, blok zinciri topluluğu içinde tartışmalı bir konudur.
Örneğin, Bitcoin blok zincirinin hash gücü, bir büyük madencilik holdingleri havuzu tarafından yönlendirilir. Hash gücünün merkezileştirilmesi, blok zinciri teknolojisinin temelde merkezi olmayan doğası için potansiyel bir tehdittir, ancak kripto ekonomisini önemli ölçüde istikrarsızlaştırdığı kanıtlanmış ek bir risk sunar — %51 saldırıları.
Delayed Proof of Work(Gecikmeli İş Kanıtı) nedir?
DPoW, herhangi bir harcanmamış işlem çıktısı tabanlı blok zincirinin fikir birliği mekanizmasına eklenebilen ikincil bir fikir birliği katmanıdır ve Bitcoin ağının büyük hash gücünden Bitcoin defterindeki işlemleri “kontrol noktası” için yararlanır.
DPoW, 2016'nın başlarında DPoW ile ilgili ilk araştırmayı yayınlayan Komodo baş geliştiricisi James Lee’nin buluşudur.
Basitçe söylemek gerekirse, DPoW, topluluk tarafından seçilen 64 noter düğümünden oluşan bir ağ kullanarak her on dakikada bir Bitcoin ağı üzerindeki blok karmalarını noter tasdik eder. Her noter onayı, DPoW kullanan tüm ağın doğrulanmasını sağlayan ve doğrulanmamış zincirlerin oluşturulmasını önleyen bir kontrol noktası oluşturur. Daha da önemlisi, DPoW, blok karmalarını her on dakikada bir Bitcoin defterine noter tasdik eder. Bir DPoW zincirine karşı başarılı bir %51 saldırı uygulamak için, bir saldırganın zinciri çatallaması, yeterli miktarda blok madenciliği yapması, yeni zinciri birincil zincir olarak yeniden tanıtması ve çift harcama saldırısı gerçekleştirmesi gerekir — hepsi 10 dakika içinde .
Bu, %51 saldırısının başarılı bir şekilde yürütülmesini neredeyse imkansız hale getirir.
DPoW, Komodo platformunun ayrılmaz bir parçasıdır ve platform 2016'nın sonlarında Zcash’ten çatallandığında Komodo koduna yapılan ilk taahhüt olmuştur.
DPoW Kullanımı
DPoW çözümünün %51 saldırılarını başarıyla önlediği zaten kanıtlanmıştır. Ekim 2018'de, anonim etik hacker GeoCold, Komodo platformunun dışında şu anda DPoW’u entegre eden dört platformdan biri olan Einsteinium’a %51 saldırısını canlı yayınlayacağını duyurdu. Ancak Einsteinium’un DPoW güvenliğini kullandığını keşfettikten sonra GeoCold, planlanan %51 saldırısını hızla terk etti ve başka bir platforma geçti.
Ancak Einsteinium sonunda %51 saldırısına maruz kaldı. Şubat 2019'da. Ağa yönelik başarısız bir saldırı, yeniden düzenleme girişiminin ardından 100'den fazla yetim bloğun oluşturulmasıyla sonuçlandı. Ancak Gecikmeli İş Kanıtı güvenlik katmanı, Komodo’nun ikinci katman güvenlik çözümünün etkinliğini göstererek saldırıyı tamamen önledi.
DPoW gibi ikinci katman güvenlik protokollerinin mevcudiyeti, Bitcoin ağının devasa hash gücünden yararlanma kabiliyetine sahip daha küçük ölçekli blok zincirler sağlayarak blok zinciri endüstrisinde yeniliği ve büyümeyi teşvik eder ve %51 saldırıları her zamankinden daha zor hale getirir.
ChainLocks
ChainLocks, DASH güvenliğini sağlamak için geliştirilmiş bir güvenlik tekniğidir. %51 saldırısını azaltmak için uzun ömürlü masternode yeterli sayı(LLMQ’lar) uygulanmasından kaynaklanır.
ChainLocks, “ilk görülen” bir politika içeren ağ çapında bir oylama süreci yürütür. Her belirli blok için, çok sayıda ana düğümden oluşan bir LLMQ onaylanır. Aktif zincirin uzatılabilmesi için her katılımcının fark edilen bloğu imzalamasını gerektirir. Katılımcıların çoğunluğu, %60 veya daha fazlası, farklı bloğu doğrular ve ağdaki diğer tüm düğümleri olay hakkında bilgilendirmek için bir P2P mesajı (CLSIG) oluşturur.
Yeterli sayıda üye buna uymadıkça (CLSIG) mesajı oluşturulamaz. Mesaj, orijinallik için geçerli bir imza içerir ve ağ içindeki tüm düğümler tarafından doğrulanabilir.
Bu güvenlik koruma tekniğinde, ilk onaydan sonra işlem onaylanır. Onaylandıktan sonra, imzalanan blok daha sonra onaylanamayacağından geri alınamaz. Bu güvenlik özelliği, altı onay özelliğini kaldırır ve yalnızca bir onaydan sonra güvenli bir işlemi geliştirir.
ChainLocks hakkında daha detaylı bilgiye erişmek için: https://github.com/dashpay/dips/blob/master/dip-0008.md
PirlGuard
PirlGuard, %51 saldırısını azaltmak için geliştirilmiş bir güvenlik protokolüdür. %51 saldırısına karşı koruma sağlamak için fikir birliği algoritmasını değiştirir.
PirlGuard protokolü, Horizen’in ceza protokolünün özelliklerine dayanmaktadır, ancak esas olarak Ethash için oluşturulmuştur.
Bir saldırgan, özel olarak oluşturulmuş bloklarını onaylayarak ağ ile eşlemeye başladığında, PirlGuard, x sayıda blok madenciliği yapmak için cezalandırarak özel bloğu anında terk eder. Cezalandırılan blokların sayısı, düşmanın gizlice kazmayı başardığı blokların sayısına göre belirlenir.
PirlGuard ayrıca ana düğümler(masternodes) tarafından kontrol edilen noter sözleşmelerini de sunar. Ana düğümlerin ana görevi, blok zincirinin noter tasdik edilmesini ve Pirl blok zincirindeki yasal fikir birliğini alarak kötü niyetli aktörleri cezalandırmayı içerir.
PirlGuard hakkında daha detaylı kaynak önerisi: Rado Minchev
Peki %51 Saldırısını anladığımıza göre akıllardaki bir diğer soruyu cevaplayalım. Bu zamana kadar herhangi bir proje %51 saldırısına uğradı mı?
-Evet uğradı, aşağıdaki listede gerçekleşmiş saldırıları sıraladık.
Gerçekleşmiş %51 Saldırıları
MonaCoin, Bitcoin Gold, ZenCash, Verge, LiteCoin Cash ve Ethereum Classic gibi piyasa değeri yüksek kripto paraların %51 saldırısına uğradığını biliyor muydunuz?
2018'in Haziran ayında yukarıdaki 5 kripto para arka arkaya %51 saldırısına uğradı. Ethereum Classic ise 2019'un Ocak ayında %51 saldırısına uğradı.
MonaCoin 90.000$, ZenCash 500.000$, Verge 1.7 Milyon$ zarara uğradı.
Saldırganlar 1.1 Milyon$ değerindeki Ethereum Classic’i ele geçirmeyi başardı. — Kaynak
Firo($FIRO) 20 Ocak 2021 tarihinde %51 saldırısına uğradı. — Kaynak
Grin Network($GRIN) 7 Kasım 2020 tarihinde %51 saldırısına uğradığını açıkladı. Saldırı sonucunda ağın hash oranının %58'inin ele geçirildiği açıklandı. — Kaynak
Callisto Network Şubat 2019'da %51 saldırısına uğradı. — Kaynak
Cryptopia, AurumCoin(AU)’in %51 saldırısına uğraması sonucunda 500.000$ zarar etti. — Kaynak