Çift harcama (double-spend) nedir, çift harcamadan nasıl korunursunuz?
Çift harcama (double-spend) saldırısı, dün BitMEX’in araştırma birimi tarafından yayınlanan bir gönderi ile bir kere daha gündeme geldi.
Söz konusu gönderi ve devamında yayınlanan birkaç haber, Bitcoin yatırımcılarını aslında gereksiz bir paniğe sürükledi. Bitcoin’de dün ve bugün görülen satışlar, diğer faktörlerin yanında bu paniğe de atfedilebilir.
Çift harcama saldırısı, esasen bir %51 saldırısı ile geldiğinde endişe vericidir. Dünkü durumda ise bunu görmüyoruz.
Daha önce çift harcama yöntemine birkaç defa açıklık getirdik fakat burada daha detaylı bir şekilde ele almayı planlıyoruz.
Çift harcama nedir?
Öncelikle çift harcama, aynı kripto paranın birden fazla kez harcanması anlamına geliyor. Gerçek hayattan örnek vermek gerekirse, bir kahve dükkanına girdiniz ve cebinizdeki nakit 10 TL ile ödeme yaptınız. 10 TL, dükkanın kasasına girdi. Şimdi aynı 10 TL ile bir de kurabiye aldığınızı düşünün. Çift harcamanın blok zincirindeki karşılığı budur. Bu senaryo, gerçek hayatta kasadaki parayı çalmadıkça mümkün olmasa da kripto paralarda mümkün olabiliyor.
Bitcoin’de bir çift harcama saldırısını önüne geçmek için gerekli savunma mekanizmaları mevcut. Özellikle küçük blok zincirlerinde bu saldırı büyük bir problem ve geçmişte sayısız defa pek çok zincire başarılı saldırılar uygulandı. Örneğin geçen yıl Ethereum Classic ağının yüzde 51’lik çoğunluk kontrolü ele geçirilmiş ve ardından çift harcama saldırılarıyla bazı borsalar milyonlarca doları bulan zarara uğratılmıştı.
Küçük PoW zincirleri savunmasız
Bitcoin’de olduğu gibi proof-of-work (PoW) sistemine dayalı küçük zincirler, böyle bir saldırı için gereken işlem gücünü toplamak kolay olduğundan %51 saldırısına karşı daha savunmazdır. Bitcoin’de ise böyle bir gücü elde etmek çok maliyetlidir, aynı zamanda böyle bir saldırıyı yürütmek mükemmele yakın bir koordinasyon gerektirir. Dolayısıyla bu tür bir saldırıya kalkışmak için ortada bir ekonomik teşvik yoktur. Bitcoin’in en güvenli blok zinciri olmasının temelinde de bu yatar.
Yukarıda Ethereum Classic blok zincirinin yakın zamana kadar birkaç defa %51 saldırısına maruz kaldığından söz ettik. Bitcoin ile bir kıyaslama yapmak için Ethereum Classic ağında hash rate 7 TH/s iken Bitcoin ağında bu 150,000,000 TH/s’dir. Hash rate, ağın işlemci gücünü ifade eder. Bugüne kadar Bitcoin’e karşı başarılı bir %51 saldırısı yürütülemedi. Ethereum Classic ise başarılı %51 saldırılarına örnek tek zincir değil, daha önce Bitcoin Gold, Vertcoin, ZenCash gibi zincirler de bunu yaşadı.
Çift harcamadan korunmak
Kişisel olarak çift harcama saldırılarına karşı henüz ağda onay almamış işlemleri kabul etmemek iyi bir korunma yöntemidir. Yani eğer, Bitcoin ile araba veya başka bir şey satıyorsanız Bitcoin transferi için en az 3 blok onayı bekleyin. Bazıları 6 blok onayını daha garanti görüyor. Borsaların Bitcoin transferlerini hesaba yansıtmak için 1 blok veya daha fazla blok onayı beklemelerinin nedeni çift harcama saldırısından korunmaktır.
Dün ortaya çıkan “double-spend” hikayesi
İlk paragraflarda ifade edildiği gibi dünkü olay, BitMEX araştırma ekibi tarafından keşfedilip yayınlandıktan sonra kısa sürede yanlış yöne çekildi. BitMEX, 666,833 numaralı blokta ‘bayat’ bir Bitcoin bloku belirlediğini, madencilik havuzu SlashPool’un ‘yarışta’ F2Pool’u mağlup ettiğini ve yaklaşık 0.00062063 BTC’lik küçük bir çift harcama göründüğünü bildirmişti.
Bitcoin geliştiricisi ve bilgi güvenliği uzmanı Andreas Antonopoulos, yanlış yöne çekilen konuya ayrıntılı bir açıklama getirdi ve şöyle dedi:
“Bitcoin blok zincirinde bir zincir reorganizasyonu (yeniden düzenleme) vardı. Bu, Bitcoin’in normal işleyişinin bir parçası olan yaygın bir durum. Proof-of-work’e dayalı merkezi olmayan fikir birliğinin bir sonucu. Tüm PoW zincirleri bunu yapar. Aynı blok yüksekliği için yarışan, aynı ana bloka ait iki blok neredeyse aynı anda çıkarıldı. Uzun vadede sadece biri kalıcı olabilir. Farklı nodların ve madencilerin ilk önce birini veya diğerini görmesi, onun ‘kazanan’ olduğunu varsayması mümkündür. Bu durum, merkezi olmayan bir fikir birliği algoritmasında da normaldir. Sonunda, ortalama 10 dakika içinde başka bir blok çıkarılır. Bu yeni blokun ana bloku ise iki rakip bloktan biri ama hangisi? Madenci ilk önce gördüğünü kazanan olarak varsaydı ancak yeni blok, zinciri uzatarak sorunu çözer.”
Antonopoulos’a göre, tüm bu süreç tamamen normal işleyişin parçası ve ortalama her iki haftada bir 1 blokluk zincir reorganizasyonu görülüyor. 2 blokluk yeniden düzenleme ise daha seyrek, yılda birkaç kez gerçekleşiyor. Antonopoulos, 3 blokluk yeniden düzenlemeyi ise daha önce görmediğini vurguladı.
Bitcoin geliştiricisi, bir bütün olarak blok zinciri açısından bir çift harcama saldırı yaşanmadığının altını çizdi ve “Bitcoin olması gerektiği gibi çalışmaya devam ediyor.” dedi.
Kaynak:uzmancoin