Ali Ali olduğunu tüm herkese ispatlamak zorunda ki Veli'ye kendi bitcoinlerini gönderebilsin.
Eğer Dijital imzalar olmadan bitcoin'i çalıştırsaydık "çok basitçe" Ali ve Veli'nin arasında geçen bitcoin aktarımının arasına girer, Ali'nin Veli'ye değil de Saldırgan'a bitcoin gönderiyormuş gibi o işlemi "spoof" (sızma) ederek değiştirebilirdik. Bu durumda
1- Veli hiçbir şekilde bitcoini alamaz.
2- Ali elindeki bitcoinden olur.
spoof nasıl olabilir ki biraz daha detaylandırabilir misin ? şöyle mi adam bir sistem kurmuştur gördüğü her işlemin hedef adresini kendi adresi ile değiştirir otomatik olarak ki bu da sıkıntılı bazı düğümler kabul eder bazıları etmez çünkü mesaj farklı düğümlere farklı zamanlarda ulaşıyor sistem bu durumda karmakarışık olur ve sanırsam sadece böyle bir spoof olabilir.
"Dijital imzasız bir bitcoin ağında nasıl spoof yapılır" örneği anlatıyorum şu anda;
Ali ile Veli arasında işlem gerçekleşeceğini biliyorum ve Ali'nin ağı ile arasındaki bağlantıyı Man In The Middle Attack* ile kendi üzerime alıyorum. Yani Ali kendi ağına bağlanırken benim üzerimden bağlanıyor.
Burada Ali'nin Bitcoin ağına broadcast ettiği mesajı buluyorum. Mesaj şu şekilde: "Ali -> Veli , 10 BTC" (Ali'nin Veli'ye gönderdiği 10 BTC'lik işlem). Bu mesaj bitcoin ağına broadcast edilmeden önce benim üzerimden geçeceği için bu bilgiyi içeren ağ paketlerini alıp manipüle edebilirim. Bu mesajı şu şekilde editliyorum: "Ali -> Saldırgan, 10 BTC" ve bu şekilde bitcoin ağına broadcast ediyorum.
Bu durumda Ali 10 BTC'yi Veli'ye gönderdiğini düşünürken Bitcoin ağı bu işlemin Ali'den Saldırgan'a gittiğini düşünür ve buna göre işleme alır.
MITMA* =
https://tr.wikipedia.org/wiki/Man-in-the-middle_attackBu sadece bir örnektir, çok daha farklı metodlarla spoof edilebilir transactionlar elbette.
Dijital imza olduğunda;
Ali ile Veli'nin arasına saldırgan girip değiştirmeye çalıştığında olacaklara bakalım.
"Ali -> Veli , 10 BTC, Dijitalimza1" şeklinde mesaj broadcast edilir.
Araya saldırgan girer.
"Ali -> Saldırgan, 10 BTC, Dijitalimza1" şeklinde mesajı editleyebilir. Ancak girdi mesajı değiştiği için dijital imza da değişecektir bu durumda geçersiz imza sebebiyle bu işlem bitcoin ağındaki düğümler ve madenciler tarafından reddedilecektir.
Saldırganın böyle bir aktarımı geçerli kılabilmesi için "Ali -> Saldırgan, 10 BTC, Dijitalimza2" şeklinde bir mesaj üretmesi gerekir. Burada Dijitalimza2'yi hesaplayabilmek için Ali'nin özel anahtarını bilmelidir. Ali'nin özel anahtarını öğrenmeden böyle bir mesajı geçerli bir şekilde imzalayamazsınız. (Brute force ile tahmin etmeye çalışırsın ama torununun torununun torununun torunu bile göremeyebilir Ali'nin özel anahtar değerini)