Bitcoin internet teknolojisine dayanan ve kriptografi, sağlama algoritması, blok zinciri ve benzeri matematiksel ve yazılımsal kavramlar üzerinden gelişen bir para birimidir. Dolayısıyla internet üstünde meydana gelebilecek güvenlik açıklarının dolaylı yoldan Bitcoin güvenliğini etkileyeceği kaçınılmazdır. Bu bölümde tüm yazılımların ve uygulamaların görevlerini düzgün şekilde yapmalarını engelleyen ve sistemlerin algoritmasını bozarak çalışmaz hale getiren genel tehditler olan virüs, trojan ve diğer tehditlerden bahsedilmeyecek olup, Bitcoin ağına özel güvenlik açıkları durumlarından ve kullanıcıların durumların risklerini nasıl en aza indirebileceklerinden bahsedilecektir.
Bitcoin ağına ve onun ödeme aracı olmasına karşın yapılması muhtemel çeşitli saldırı türleri bulunmaktadır. Bitcoin protokolü yetkisiz harcama, çifte harcama, sahte Bitcoin üretimi, blok zinciri sistemini karıştırmak gibi bazı saldırı türlerine karşı kendini koruyacak özelliklere sahiptir. Kişisel anahtarların çalınması gibi bazı saldırı türleri ise aslında tüm saldırı türlerinde olduğu gibi kullanıcının özen göstermesi sayesinde bertaraf edilebilir.
Yetkisiz Harcama
Yetkisiz harcama, Bitcoin’in genel-kişisel anahtar şifrelemesi uygulaması sayesinde azaltılmaktadır. A kişisi B kişisine Bitcoin gönderdiğinde, B kişisi Bitcoin’in yeni sahibi olmaktadır. İşlemi gözlemleyen C kişisi, B kişisinin yeni elde ettiği Bitcoin’i harcamak isteyebilir ancak C kişisi B kişisinin kişisel anahtar bilgisine sahip olmadan işlemi gerçekleştiremez.
Çifte Harcama
Bitcoin benzeri bir internet üstünden ödeme sisteminin çözmesi gereken bir başka problem ise, kullanıcının aynı Bitcoin’i aynı anda iki ya da daha fazla kişiye göndermesi olan çifte harcamadır. Bu tipte bir problem şöyle örneklendirilebilir; eğer C kişisi, A kişisine gönderdiği Bitcoin’i daha sonra B kişisine de göndermektedir. Bitcoin ağı bunun önüne tüm Bitcoin transferlerinin tutulduğu ve diğer kullanıcılara açık olan bir hesap defterine (blok zinciri) kaydederek geçmekte ve transfer edilen tüm Bitcoin’lerin daha önce kullanılmamış olduğunu garanti etmektedir.
Yarış Saldırısı
Eğer C kişisi A kişisine elde ettiği mal ve hizmetler karşılığında Bitcoin ödemeyi önerir ve ilgili işlemin gerçekleşmesi için onay verse bile, yine aynı zamanda aynı Bitcoin’i B kişisine gönderdiği farklı bir işlem yapabilir. Kurallara göre, sistem aynı Bitcoin’in birden fazla kez harcanmasına izin vermeyeceği için sadece bir işlem gerçekleşir. Hangi işlemin daha önce gerçekleşeceği konusunda bir yarış olduğundan, bu saldırı yarış saldırısı olarak adlandırılır. A kişisi bu durum karşısında C kişisinin kendisine yaptığı ödeme blok zincirinde yer almadan önce söz konusu malı göndermeyerek bu tip bir saldırı riskini azaltabilmektedir.
Yarış saldırısının bir başka versiyonu (Hal Finney’e atıfta bulunarak Finney saldırısı olarak da adlandırılır) ise bir Bitcoin madencisinin katılımını gerektirmektedir. C kişisi, A ve B kişilerine gerçekleştireceği ödeme emrini ağa göndermek yerine, sadece A kişisine olan ödemenin emrini sisteme gönderirken, iş birlikçisi de A kişisi yerine B kişisine olan ödeme emrinin yer aldığı bloğu çözmeye çalışmaktadır. Madencinin ağdan önce başarılı olması açısından pozitif bir olasılık vardır ki bu durumda A kişisine olan ödemeyi sistem reddedecektir. Çifte harcama tehlikesinde olduğu gibi, bu durumda da A kişisi ürünü göndermeden önce ödemenin blok zincirinde yer almasını bekleyerek bu tarz bir saldırının riskini azaltabilir.
İşlem Geçmişini Değiştirme
Bitcoin’i usulsüz şekilde elde etmenin bir başka teorik olası yolu da blok zinciri kayıt girdilerini değiştirmektir. Örneğin; C kişisi, A kişisinden herhangi bir ürün satın alabilir ve blok zinciri kayıt defterine ‘C kişisi A kişisine 10 Bitcoin öder’ şeklinde bir kayıt girer. Daha sonra, ürünü almasını takip eden süreçte, C kişisi ‘C kişisi A kişisine 1 Bitcoin öder’ şeklinde blok zinciri kayıt defteri girdisini değiştirebilir ya da kayıtta bulunan alıcı adresini kendi adreslerinden biri ile değiştirebilir. Dijital imza ile imzalanmış olması bu girdinin değiştirilmesine engel teşkil etmez. Değiştirilmiş olan girdi yine C kişisi tarafından dijital olarak imzalanabilir.
Bu tip bir girdi değişikliğini önlemek için, blok zincirine işlenen her işlem bloğu, bloğun içindeki bilgi ile olduğu kadar bir önceki çözülmüş bloktan elde ettiği sağlama kodunu içeren şifreli bir sağlama koduna sahiptir. Bitcoin yazılımı eğer rekabet halindeki iki blok olduğunu fark ederse, çözülmek için daha fazla uğraşılan bloğun geçerli blok olduğunu varsayar. Dolayısıyla kötü niyetli birisi eğer bir blok zincirindeki bloğu değiştirmek isterse sadece kendi girdisinin olduğu bloğu değil ondan sonra gelen tüm blokları da değiştirmek zorunda kalacaktır. Sonuç olarak, bu saldırının başarıya ulaşması için, saldırıyı yapan kişinin ağın ‘dürüst’ işlem yapan geri kalan kısmından daha büyük bir performans sergilemesi gerekecektir.
Blok zincirine eklenen her bir blok, söz konusu işlemin bulunduğu bloktan sonra geliyorsa, buna işlem doğrulama bloğu adı verilir. İdeal olarak, bir satıcı veya kurum eğer Bitcoin ile ödeme alıyorsa işlemin tamamlandığını varsayması için en az bir doğrulama bloğunun oluşmasını beklemelidir. Satıcı ne kadar fazla doğrulama bloğunun eklenmesini beklerse, bu kötü niyetli kişi için o işlemin geriye dönük olarak değiştirilmesini o ölçüde imkânsız kılacaktır. Örneğin eğer kötü niyetli kişi Bitcoin ağının işlem kapasitesinin %10’unu elinde tutuyorsa ve satıcı 6 doğrulama bloğunun blok zincirine eklenmesini bekliyorsa, bu saldırının başarıya ulaşma olasılığı matematiksel olarak % 0,02428 olacaktır.
Bencil Madencilik
Bu saldırı türü ilk kez Cornell Üniversitesi’nden Ittay Eyal ve Emin Gün Sirer tarafından Kasım 2013’te gündeme getirilmiştir. Kötü niyetli kişi normal şartlarda bulması üzerine blokları yayınlamaz. Kendi kişisel zincirinde madencilik yapar ve sonucunda (biri kendi bloğunu bulduğunda) art arda birkaç blok yayınlar. Bu işlem ağın ‘dürüst’ madencilik yapan kısmının elindeki işleri bırakıp, kötü niyetli kişinin alanına girmesini sağlayacaktır. Sonuç olarak, dürüst madenciler kendi gelirlerinin önemli bir kısmını kaybederken, göreceli sağlama gücü değişiklikleri sonucunda karını arttıracaktır.
Yazarlara göre bu durum, rasyonel hareket eden madencilerin önceliklerini değiştirecek ve kötü niyetli kişinin işlem havuzuna katılmalarını sağlayacaktır ki böylelikle kötü niyetli kişinin potansiyel olarak %51 saldırısı düzenlemesine yol açacak doğrulama gücünü artacaktır.
Kullanıcıların De-Anonimizasyonu
Bitcoin adresleri arasındaki bağlantıyı ortaya çıkarma yetisine sahip olan işlem grafik analizi ile birlikte, kullanıcı Tor kullansa bile kullanıcı adını IP adresine bağlayacak bir saldırı gerçekleştirilebilir. Bu da aslında ana avantaj noktası anonimizasyon olan bir sistem ve bu sistemde kullanılan para birimi için oldukça tehlikeli bir durumdur.
