2. İçindekiler
Kripto para(crypto currency) nedir?
P2P(Peer to Peer) yapı nedir?
Blok zinciri (blockchain) nedir?
Blok zinciri uygulama alanları nelerdir?
Blok zinciri nasıl çalışır?
Akıllı Sözleşme(Smart Contracts) nedir?
Hash algoritması nedir, nasıl çalışır?
Tek Anahtarlı şifreleme algoritmaları nelerdir?
Çift anahtarlı şifreleme algoritmaları nelerdir?
Sayısal imza nedir, nasıl oluşturulur, doğrulaması nasıl yapılır?
Bitcoin adresi nasıl oluşturulur?
Base58Check nedir?
Bitcoin Madenciliği nedir?
Neden CPU değil GPU? ASIC nedir?
Proof of Work Algoritması nedir?
HashCash Örneği
Kripto-para madenciliği teknolojileri
Kripto-para sistemine Saldırılar
Madencilik Havuzuna Saldırılar
Kriptografik açıdan güvenlik durumu
Hash Fonksiyonlarına Saldırılar
3. Kripto para(1)
Mevcut Finansal birimler, alıcı ve satıcı arasında yer alarak
aracı görevi görürler ve bu işlemi para karşılığı yaparlar.
Merkezi bir banka sunucusu üzerinden tüm işlemler
yürütülür.
Ticaret yapan taraflar arasındaki anlaşmazlıkta, banka
devreye girerek tüm problemleri çözer. Satıcı parayı alıp
ürünü göndermeyebilir, alıcı ürünü aldığı halde «Almadım»
diyebilir. Dürüst olmayan satıcıya karşı farklı koruma
mekanizmaları vardır. Sonuçta uluslarası ticarette birçok
prosedür bulunmaktadır.
Özellikle uluslararası para transferi yavaş olduğundan,
vergisiz, hızlı ve düşük masraflı kripto parayı insanlar kısa
sürede benimsedi. Şu an 1372 farklı kripto para
bulunmaktadır, 606 milyar $ Pazar hacmine sahiptir.
Toplam bitcoin pazarı 268 milyar $’dır.
4. Kripto para(2)
İlk dijital para 1982 yılında Chaum tarafından önerilmiştir.
2008 yılında Satoshi Nakamoto adını kullanan bir kişi, merkezi
sistemlerin sıkıntılarından dolayı, merkezi olmayan bir yapı
(P2P) önerdi.
Merkezi olmayan bu yapıda, bankalar gibi güvenilir bir finansal
otorite yoktur.
Elektronik ödeme sistemlerinde ise, kriptografik tekniklerle
güvenliği sağlayıp, hızlı bir şekilde alış veriş hedeflendi.
Dijital para için bir hesaba(account), bakiyeye(balance) ve
işleme(transaction) ihtiyaç vardı.
Ayrıca paranın iki defa aynı hesaptan çekilmesinin de bu dağıtık
yapıda sağlanması gerekliydi.
Peki merkezi bir sunucu olmadan bu işlemler nasıl yapılacaktı?
5. P2P Yapı nedir?
P2P(Peer to Peer) Yapı, merkezi olmayan, ağdaki
tüm düğümlerin eş yetkiye sahip olduğu ağ
yapısıdır. P2p dosya paylaşım programları örnek
verilebilir. Eşler arası ağ olarak da isimlendirilir.
Merkezi Merkezi olmayan Dağıtık
6. Kripto Para (CryptoCurrency)
Peki merkezi bir veritabanı yoksa, kayıtların tutulması
hakkında ağdaki düğümler nasıl anlaşacaklar?
Merkezi olmayan yapıda, sunucu olmayacağı için ağdaki
her düğümün bilgileri tutması gerekir. Gelecek işlemlerin
sağlıklı yapılabilmesi ve çift çekimin önlenmesi için tüm
işlem listesinin bilinmesi gerekmektedir.
Düğümlerin birinde bile farklı bir bilgi olursa sistem
çökecektir. Merkezi bir birim olmadan, sistem nasıl kontrol
edilecek?
Bitcoin’de tüm işlemler, açık yapıda bir dağıtık sistemdeki
kayıtlarda tutulmaktadır, buna da blockchain (blok zinciri)
adı verilir.
8. Blok zinciri nedir?
Block zinciri, fikir Birliği(Consensus) algoritmalarıyla birçok site,
ülke ve/veya enstitü arasında kopyalanmış, paylaşılmış ve
senkronize edilmiş bir veri yapısıdır. Klasik finansal birimler gibi,
tarafları arasında aracı yoktur. Ağda meydana gelen her olay,
düğümlerde doğrulanır ve kaydedilir.
Devletler, şirketler, hastaneler arasındaki tüm işlemler blok
zincirinde tutulabilir.
Blok Zinciri 1.0 – Para transferi, havale ve dijital ödeme
Blok Zinciri 2.0 – Akıllı Sözleşmelerin gelişmesiyle birlikte, hisse
senetleri, tahviller, vadeli işlemler, krediler, ipotek gibi
piyasalarda ve finansal işlemlerde
Blok Zinciri 3.0 – Hükümet, sağlık, bilim, kültür sanat gibi para
ve maliye piyasalarının haricindeki alanlarda kullanılmaktadır.
(Swan, 2015)
9. Blok Zinciri amaçları
Belgeleri, sözleşmeleri vb. değerleri Koruma,
İşlemleri hızlandırma,
Kolayca doğrulama,
Hataları azaltma,
Herkese açık, şeffaf bir sistem oluşturma,
Genişleyebilir, kalıcı bir yapı oluşturabilme,
Ucuz hizmet sağlama,
Verimliliği artırma,
Kullanışlılığı artırma,
Yeniliklere açık bir sistem oluşturma,
Sonuçta zaman, paradan kazandırma, stresi azaltma.
Kaynak: https://blockgeeks.com/guides/blockchain-applications/
10. Blok Zinciri Uygulamaları
Varlık Yönetimi(Asset Management): Geleneksel ticaret,
özellikle de ülke sınırlarını aşan ticaret, riskli ve pahalıdır.
İşlemdeki her bir taraf, kayıtları verimsiz ve hatalara açık
bir şekilde tutar. Blok zinciri defterleri ise, kayıtları
şifreleyerek hataları azaltır, aynı zamanda aracıya gerek
kalmadan işlemleri basitleştirir.
Sigorta(Claims processing): Hasar talebi işleme siniri
bozucu ve kimsenin yapmak istemediği bir iştir.
Sigortacılar düzmece-hileli işlemler, parçalı veri kaynakları,
iptal edilmiş poliçeler gibi birçok problemle uğraşırlar ve
formlar elle doldurulduğundan hataya açıktır. Blok zinciri,
kusursuz, risksiz ve herkesin görebileceği şeffaf bir yapı
sağlar, şifreleme özelliği sigorta şirketlerinin sigortalanacak
varlıkların sahibini ele geçirmelerine izin verir.
11. Blok Zinciri Uygulamaları(2)
Ödeme(Sınırları aşan ödemeler): Klasik ödeme
sistemleri hataya açık, masraflı ve kara para aklamaya
müsaittir. Blok zinciri, havale şirketleriyle(Abra, Align
Commerce ve Bitspark gibi) uçtan uca havale çözümü
sağlar. Santander, 2004 yılında ödeme uygulamasıyla
blok zincirini birleştiren ilk bankadır. Böylece
müşteriler, günün 24 saati uluslararası ödeme
yapabildiler.
12. Blok Zinciri Uygulamaları(3)
Eğitim: Eğitim belgeleri, diploma ve sertifika gibi belgeleri
saklamak için kullanılır. Belgeyi saklayan kurum, eğitim
verisini blok zincirine ekler. Anahtara sahip kullanıcılar,
çevrimiçi bu blok zincirine erişip belgeleri doğrularlar.
Blok zincirindeki veriler, değişikliğe karşı korunduğundan
güvenlik sağlanmış olmaktadır.
Checkdiploma.org, etheryum ağı üzerinde akıllı
sözleşmelerle diploma bilgilerini saklayan bir sitedir(2017).
MIT Üniversitesi de, 2017 yılından itibaren, mezunların
diploma doğrulama işlemlerini Blockcert adresinden
yapmalarına olanak sağlamıştır (www.blockcerts.org)
13. Blok Zinciri Uygulamaları(4)
Akıllı Mülk: Arabalar, evler gibi somut mallar bir tarafta,
patentler, şirket hisseleri, mülkiyet evrakları gibi somut olmayan
mallar diğer tarafta olmak üzere, bunlar içlerine gömülü akıllı
teknolojiler olabilir.
Bir mülkün sahipliği, sözleşme detayları ile birlikte blok zinciri
defterinde saklanabilir. Akıllı anahtarlar, izin verilen tarafa
erişimi kolaylaştırabilir. Sözleşme bir defa onaylanınca, defter
depolar ve bu anahtarların değiş tokuşuna izin verir.
Merkezi olmayan defterler, kayıtlar veya akıllı anahtarın
kaybedilmesi durumunda akıllı sözleşmelerin çoğaltılmasına
olanak sağlamanın yanı sıra mülkiyet haklarını kaydetmek ve
yönetmek için de bir sistem haline gelir. (Avukatların sonumu
geliyor)
Akıllı mülk sahibi olmak, dolandırıcılıktan, komisyon
ücretlerinden ve şüpheli işlere girme risklerinden sizi kurtarır.
Aynı zamanda, güven ve verimliliği artırır.
14. Blok Zinciri Uygulamaları (5)
Akıllı mülkün ilkel biçimleri vardır. Örneğin,
immobilizer ile donatılmış bir araç anahtarınız, sadece
anahtar üzerindeki doğru protokole dokunduğunuzda
etkinleştirilebilir. Akıllı telefonunuz da sadece doğru
PIN kodunu yazdığınızda aktif olur. Her ikisi de
mülkiyetinizi korumak için kriptografi kullanır.
Akıllı mülkün ilkel biçimlerinde, anahtar genelde
araba anahtarı veya SIM kart gibi fiziksel taşıyıcıda
tutulur. Bunların kolayca transfer edilememesi ve
kopyalanamaması problemdir. Blok zinciri defterinde,
blok zinciri madencileri kayıp bir protokolün yerini
alarak ve çoğaltmasına izin vererek bu problemi
çözebilir.
15. Blockchain nedir, nasıl çalışır?
• Blok zincirinde ilk başlangıç bloğuna genesis blok ismi
verilir.
• Her blok, kendinden önceki bloğun hash
algoritmasından geçirilmiş içeriğine sahiptir.
Blok zinciri sisteminde her kullanıcı kendi bilgisayar
kaynaklarını kullanır. Ağdaki her bir düğüm tüm
defter kaydının tam kopyasına sahiptir.
17. Hash Algoritması nedir?
Hash(Özüt) algoritmaları, girdi metni ne kadar büyük olursa
olsun, sabit uzunlukta bir çıktı üreten algoritmalardır.
Özüt algoritmaları tek yönlü(one-way) algoritmalardır. Yani
üretilen bir çıktıdan tekrar orijinal metine dönmek imkansızdır.
Hash algoritmaları sayısal imza oluşturulmasında ve güvenlik
protokollerinde önemli rol oynarlar.
Birçok özüt algoritması geliştirilmiştir. MD5 algoritması 128 bit,
SHA-1 algoritması 160 bit, RIPEMD algoritması 160 bit, SHA-256
algoritması 256 bit büyüklüğünde bir çıktı üretir.
İki farklı metin hash algoritmasından geçirildiğinde aynı sonuç
elde ediliyorsa, çakışma oluşmuştur ve o algoritma artık
kullanılmaz. SHA-1, MD5 gibi algoritmalar artık
kullanılmamaktadır.
Blockchain sisteminde kullanılan özüt algoritması SHA-256’dır.
18. Hash Algoritması
Mesaj
Sabit uzunlukta
Mesaj Özütü
* Hash algoritmaları, şifreleme algoritması kategorisinde değildir.
Çünkü mesaj özütünden tekrar mesaja geri dönülemez.
* MD5(128 bit), SHA-1(160 bit), SHA-2(256 bit), SHA-3(512 bit),
HAVAL-128, RIPEMD(160 bit)
Hash
Algoritması
19. Tek Anahtar(Symmetric Key) Şifreleme
Mesajları şifrelemede ve şifre çözme işleminde aynı anahtar
kullanılır. Eğer bu anahtar ele geçirilirse tüm mesajlar çözülebilir.
Secret Key Encryption (Gizli Anahtar Şifreleme) olarak da
adlandırılır.
Tek anahtar şifrelemeden, fiziksel iletişimi olmayan iki taraf
arasında anahtar dağıtımı problemdir.
AES, DES, 3DES, RC2, RC4, RC5, RC6, Camelia, TEA, GHOST,
Twofish, Blowfish, Serpent, Safer, Skipjack, IDEA, CAST5 gibi
şifreleme algoritmaları örnek verilebilir.AES algoritması, yüzlerce
algoritma arasından finale kalan Rijndael algoritması tabanlıdır.
Şifreleme ve şifre çözme işlemleri iki anahtarlı(public key) sisteme
göre hızlıdır.
Simetrik algoritmalar, blok tabanlı ve akış(stream) tabanlı olabilir.
20. Tek Anahtar(Symmetric Key) Şifreleme
Orijinal
Metin
(P)
Şifreleme
EK(P) = C
Şifreli
Metin
(C)
Anahtar (K)
Deşifreleme
DK(C) = P
Anahtar (K)
Şifreli
Metin
(C)
Orijinal
Metin
(P)
21. Çift Anahtar(Asymmetric Key) Şifreleme
Mesajları şifreleme için bir anahtar(public key), şifreyi çözmek
için başka anahtar(private key) kullanılır. Farklı anahtarlar
kullanıldığı için anahtar dağıtımı, simetrik tarza göre daha
rahattır.
Public Key Encryption(Genel Anahtar Şifreleme) olarak da
adlandırılır.
Genel anahtar(public key) herkese açıktır, şifreleme için ve sayısal
bir imzayı doğrulamak için kullanılır.
Özel anahtar(private key) gizlidir, şifre çözme ve imzalama için
kullanılır.
RSA, Elgamal, Elliptic Curve, McEliece örnek verilebilir. RSA, en
çok kullanılan ve bilinen asimetrik anahtar şifreleme
algoritmasıdır. Merkle Hellman Knapsack ise artık
kullanılmamaktadır.
SSL, SSH, TLS, S/MIME, PGP ve GPG gibi internet standartlarının
altında asimetrik anahtar şifrelemesi kullanılmaktadır.
22. Çift Anahtar(Asymmetric Key) Şifreleme
Şifreleme
EKpub(P) = C
Genel Anahtar Kpub Özel Anahtar Kpriv
Şifre Çözme
DKpriv(C) = P
Orijinal
Metin
(P)
Şifreli
Metin
(C)
Orijinal
Metin
(P)
23. Kriptonaliz için Anahtar boyutları karşılaştırması
KAYNAK: W.Stallings – Crytography and Network Security, Prentice Hall,2011.
24. Sertifika Otoriteleri
Genel Anahtarın göndericiye ait olduğunun bilinmesi
önemlidir.
Bu sorunu çözmek için sertifika otoriteleri kurulmuştur.
Noter niteliğindeki sertifika otoriteleri aracılığıyla genel
anahtar ile kişi arasındaki ilişki doğrulanmış olur.
Örneğin A kişisi B kişisine şifreli mesaj gönderecekse, önce
sertifika otoritesinden o kişinin genel anahtarını temin
ederek, kişinin kimliğinden de emin olur.
Örneğin Outlook içine sertifika yükleyerek istediğiniz
kişiye şifreli mesaj gönderebilirsiniz. Uluslararası Sertifika
otoriteleri yıllık bir bedel alırlar. Globalsign, Verisign gibi.
Sayısal imzalar da sertifika otoritesinden temin edilen
genel anahtar ile doğrulanır.
25. Sayısal İmza
Sayısal İmza işleminde, önce mesaj hash
algoritmasından geçirilerek, 256 bit gibi sabit
uzunlukta bir mesaj özütü elde edilir.
Sonra bu mesaj özütü, Özel Anahtar(private key) ile
imzalanarak sayısal imza oluşturulur. Artık bu şekilde
karşı tarafa orijinal mesaj ile iletilebilir.
26. Sayısal İmzalama
Sayısal imzada sabit uzunlukta çıktı üreten özüt algoritması
kullanılarak, küçük bir bilgi üzerinde işlem yapılır, böylece zamandan
ve hesaplama maliyetinden kazanılır.
27. Sayısal İmza Kontrolü
Sayısal imza ve mesajı alan karşı taraf da aşağıdaki
işlemleri yaparak kontrolü sağlar.
Birinci adımda, alıcı taraf gelen mesajı hash
algoritmasından geçirerek mesaj özütünü elde eder.
İkinci adımda, aldığı sayısal imzayı gönderenin genel
anahtarı ile çözer ve mesaj özütünü elde eder.
Birinci ve ikinci adımda elde ettiği mesaj özütlerini
karşılaştırır, aynı ise imza doğrudur.
29. Bitcoin
Bitcoin’de en küçük para birimi Satoshi’dir. Bir bitcoinim
yüz milyonda biridir. 1 satoshi=0.00000001 BTC
Bitcoin’de bir kullanıcının adresi, genel anahtarının hash
algoritmasından geçirilmiş halidir. Uaddress= H(KPub)
Kullanıcı, sanal cüzdanında yer alan bitcoin’i kendi özel
anahtarıyla işlemi imzalayarak harcar.
Bitcoin, sayısal imzalar zincirinden ibarettir. Bir kullanıcı
bitcoinini önceki işlemin hash özütünü kendi özel
anahtarıyla imzalayarak ve yeni sahibinin genel anahtarını
da iliştirerek geçirir.
Yeni kullanıcı da imzayı doğrulayarak sahiplik zincirini
doğrulamış olur.
32. Kripto para Madenciliği nedir?
Madencilik işlemi aracılığıyla bitcoinler yayınlanır(broadcast
işlemi).
Blok zincirine, bir blok içinde yeni bir işlem kaydı eklenmesi
aktivitesine mining adı verilir. En son blok zincirine yeni eklenen
blok tüm düğümlere gönderilir. Her blok üretiminde yeni bitcoinler
yayınlanır ve blok’u ekleyene ödül olarak verilir.
Kullanıcı, kendi bilgisayar kaynaklarını kullanarak işlemleri
doğrular ve ödemeleri kaydeder. Oluşturulan ödeme işleminin
karşılığında ödül olarak bitcoin kazanır. Her 210.000 blokta bir ödül
yarıya düşer. İlk başta 50 BTC iken şimdi 6.25 BTC civarıdır.
Bloktaki ilk işlem(transaction) coinbase transaction olarak
adlandırılır.
Bitcoin, diğer para birimleriyle değiştirilebilir, ürün ve hizmet satın
alınması yapılabilir.
Kullanıcılar gerçek isimlerini yayınlamayabilirler, tüm işlemler
herkes tarafından görülebilir, tam anonim bir yapı hakimdir.
33. Madencilik
Ekran kartları üzerindeki GPU (Grafik İşlem Birimi) işlemcileri
ile madencilik işlemleri hızlı şekilde yapılmaktadır. Crossover
şeklinde birden fazla ekran kartı aşağıdaki gibi bağlanmıştır.
34. Sunucu Çiftliği
Madencilik işlemlerinde hesapsal güç ne kadar fazla olursa,
Bitcoin ödülünü alabilmek o kadar kolaylaşır. Bu nedenle
binlerce GPU’nun bağlandığı sunucu çitlikleri mevcuttur.
35. Neden CPU değil de GPU?
GPU’lar yani Grafik İşlemci Birimleri, matematiksel
problemleri çözmede, işlemcilere(CPU) göre daha
verimlidir.
Tek bir GPU çekirdeği, CPU çekirdeğinden daha yavaş
çalışır. Fakat GPU’da çok fazla işlemci paralel olarak
işlem yaptığından hız artar.
GPU’lar grafikleri hızlı işlediğinden, bu işler için
optimize edildiğinden oyunlarda da tercih edilirler.
Derin Öğrenme(Deep Learning) algoritmalarında da
GPU’lar tercih edilirler.
36. ASIC nedir?
2013 yılından itibaren madencilik işlemi için özel geliştirilmiş
ASIC donanımlar kullanılmaya başlanmıştır.
ASIC (application specific integrated circuit) kelime anlamı
olarak, uygulamaya yönelik özel devre anlamına gelir. Kriptopara
sisteminde hash algoritmasının mümkün olduğu kadar hızlı
işletilebilmesi için tasarlanmış çipler diyebiliriz.
Bir Bitcoin ASIC, en iyi CPU’dan 100.000 kat daha hızlıdır.
ASIC’ler ucuz değildir, belli şirketler tarafından tasarlanırlar, tek
ASIC 3000$ civarıdır.
Hash işlemine odaklı olduklarından aşırı ısınırlar ve
soğutulmaları için fan gerektirir, bu da gürültü demektir. Fazla
güç çekimi de elektriğin fazla tüketilmesine ve elektrik
faturasının yüklü gelmesine neden olur.
https://coincentral.com/asic-gpu-cpu-mining/
38. Proof of Work
Blok başlangıç kısmında, nonce adı verilen bir bilgi eklenir.
Böylece DOS(Denial of Service – Servis Yalanlaması) vb. kötü
kullanım saldırılarına karşı sistem korunmuş olur.
Bu sistem, kullanıcının bir efor harcayarak, belli bir süreçten
sonra işleri tamamlamasıdır.
Proof of work işlemi bir puzzle gibidir, biraz zaman alır,
çözülmesi için efor sarf edilir, uğraştırır ama kolayca doğrulanır.
Blok algoritmasını çözmek çok çekirdekli GPU(grafik işlemci)
gücü gerektirdiğinden dolayı, fazla GPU’su olanın ödülü alma
ihtimali yüksektir.
Bitcoin, Proof of Work algoritmasını HashCash ismiyle kullanır.
HashCash’de, hash değeri belli sayıda sıfır ile başlar. İstenilen
direkt olarak elde edilemeyeceğinden, kullanıcı belli bir efor ve
zaman harcar.
Bir nonce(başlangıç) değeri artırılarak istenilen sayıda hash’in
başında sıfır olana kadar devam ettirilerek hascash
gerçekleştirilir.
39. Proof of Work’un dezavantajları
Bu algoritma yüksek grafik işlemci gücü
gerektirdiğinden biraz masraflıdır.
Ödül matematiksel problemi çözen tek kişiye verildiği
için Madenciler birbirleriyle yarışırlar.
Çok fazla enerji tüketilir. PoW’ün en çok eleştirilen
noktası budur.
Yavaştır, yeni eklenen blok’un doğrulaması 10 dk
sürmektedir. Klasik kredi kartları hemen çekim
yaparken, beklenilen bu süre eleştirilmektedir.
(Yılda en fazla 365 x 24 x 6= 52.560 blok dahil edebilir.)
40. HashCash Örneği
Bu örnekte HashCash işlemi hash sonucunun başında
6 tane sıfır olana kadar devam ettirilmiştir. İstenilen sonuca
ulaşıncaya kadar 1454 deneme yapılmıştır.
41.
42. Madenci Havuzu
Hesaplama gücünü artırarak, blokların doğrulama
zamanını etkilemek ve daha fazla ödül kapmak amacıyla
madencilerin birleşerek oluşturdukları yapılardır.
Madenci havuzları, çözülmemiş işlem birimlerini havuz
üyelerine(madenciler) ileten, havuz yöneticisi tarafından
kontrol edilir.
Havuzdaki üyeler, PPoW (Kısmi PoW) ve FPoW(tam PoW)
üretip yöneticiye paylaşması için gönderirler. Madenci bir
defa yeni bir blok keşfederse, FPoW aracılığıyla gönderilir,
müdür de ödül almak için Bitcoin ağına yayınlar.
Havuz Yöneticisi ödülü, katılan madenciler arasında
paylaşım oranına göre dağıtır. PPoW tabanlı sisteme göre
madenciler ödüllendirilir.
43. Bitcoin Havuzlarına göre Hash Oranları Dağılımı
Kaynak: https://btc.com/stats/pool?pool_mode=year Erişim: 01.07.2018
% 13.2 ile F2Pool, sonra %11,8 Antpool, %10,6 BTC Guild
44. Eleştiriler
Bitcoin’de yapılan işlemi geri almak mümkün değildir, bu
adım satıcıyı korumak için yapıldığı belirtilse de sistemin
yapısından ötürü işlemin gerçekleştirilemediği aşikardır.
Sistemin bir dezavantajı olarak; kötü niyetli kişilerce işlemler
takip edilip, kullanıcıların kimlikleri açığa çıkarılırsa,
güvenlik sorunları yaşayabilirler. Çünkü bitcoin’i gönderen ve
alan adres de bellidir. Avantaj olarak da görülebilir, işlemler
incelenerek kişinin illegal olup olmadığı anlaşılabilir.
Ayrıca ticari sırların ortaya çıkması söz konusudur. Rakip
firmalar hesap hareketlerini görüp üstünlük sağlayabilirler.
46. Kripto para sistemine saldırılar
%51 Saldırı Durumu
Double Spending veya Race Saldırısı
Finney Saldırısı
Brute Force Saldırısı
Vector 76 saldırısı
Blok atma veya Bencil Madencilik
Bribery, Refund, Punitive and Feather forking,
Transaction Malleability, Wallet theft, Time jacking,
Routing, Tampering, Eclipse veya Netsplit Saldırısı,
Sybil Saldırısı
47. %51 Saldırısı
Bir organizasyonun veya kişinin bitcoin ağ madenciliğinin
büyük çoğunluğunu kontrol etmesidir. Bitcoin’in güvenliği,
tüm madencilik işiyle uğraşanlar tarafından mütabık
kalınmış bir ana kayıt olan blok zincirine tarafından
sağlanır. Bitcoin düğümleri geçerli blok zinciri üzerinde
birbirlerini doğrularlar.
Eğer madencilerin çoğu tek bir varlık tarafından kontrol
edilirse, hangi işlemin onaylanıp onaylanmayacağına bu
varlık karar verebilir. Diğer işlemleri onaylamayıp, sadece
kendi bitcoinlerini birçok defa onaylayarak double
spending(çift harcama) yapabilir.
%51 saldırısı teorik olarak mümkün olan, fakat çok düşük
olasılıkla gerçekleşebilecek bir saldırı türüdür.
48. Çoklu Harcama(Double Spending) Saldırısı
Bitcoin ağında iki farklı parasal işlemde(transaction) aynı bitcoin
harcaması eş zamanlı olarak gerçekleşirse, çift harcama meydana
gelebilir. Örneğin, ard arda gönderilen iki farklı işlem çakışabilir.
Kötü niyetli bir kişi (Cd) bir işlem oluşturarak (TV
Cd), t
zamanında Bc bitcoin kümesini kullanarak satıcının adresine (V)
ürün almak isteyebilir. Cd, bitcoin ağında TV
Cd yi yayımlar, t’
zamanda (t’ yaklaşık t), Cd aynı bitcoinleri(Bc) kullanarak diğer
bir işlem TCd
Cd işlemi başlatabilir. Bu senaryoda Cd tarafından
çift harcama gerçekleşecektir.
Bitcoin’de madenci ağı, yalnızca harcanmayan bitcoinlerin
önceki işlem çıkışının takip eden işlemde kullanıldığından emin
olarak, tüm işlemleri doğrular ve işletir. Bu kural, çift
harcamalara karşı çalışma zamanında dinamik olarak işlettirilir.
Dağıtık zaman damgalı ve PoW tabanlı protokol, blok zincirinde
eskiden yapılan işlemleri depolanmasında kullanılır. Böylece bir
madenci gelen TV
Cd ve TCd
Cd işlemlerine bakar, bir tanesini
işletir, diğerini reddeder.
50. Finney Saldırısı
Bir çoklu harcama(double spending) saldırı biçimidir.
Düşman TCd
Cd işlemini içeren bir blok’u önceden madenler ve sonra
TV
Cd işlemini aynı bitcoini V satıcısı için oluşturur. Madencilikle
elde edilen blok ile ilgili ağ bilgilendirilmez ve Cd düşmanı TV
Cd
işlemi, V tarafından kabul edilene kadar bekler.
Diğer taraftan V, sadece madencilerden TV
Cd ‘nin doğru olduğuna
dairdoğrulama alınca ve blok zincirine eklendiği bildirilince sadece
TV
Cd yi kabul eder. Bir defa Cd düşmanı V üreticisinden ürün alınca,
saldırgan önceden madenlediği blok’u ağda serbest bırakır, böylece
var olan fork(Bfork) ile aynı uzunlukta blok zinciri fork’u (B’fork)
oluşturur.
Bundan sonra, ağda gelecek madenlenen blok Bfork yerine B’fork
olacaktır. Sonra bitcoin ağındaki kurallara göre tüm madenciler
B’fork üzerine zinciri inşa edeceklerdir. B’fork ağdaki en uzun zincir
olunca, tüm madenciler Bfork’u yok sayacaktır ve bu nedenle
Bfork’taki TvCd içeren üst blok geçersiz olacaktır.
Sonuçta, TV
Cd geçersiz olunca, müşteri müşteri TCd
Cd işlemi ile
coin’lerini geri alacak fakat V satıcısı ürünü kaybedecektir.
51. Finney Saldırısı(2)
Finney saldırısından kaçınmak için, ürünü müşteriye
göndermeden önce üretici, çoklu onaylamayı
beklemelidir.
Çoğul onaylamayı(multiple confirmations) beklemek
sadece saldırgan için çift harcama saldırısını
zorlaştıracaktır, fakat çift harcama saldırısının
gerçekleşme olasılığı mümkün olabilecektir.
52. Sybil Saldırısı
Sybil saldırısı ile madenci birçok sahte sanal düğüm oluştururlar.
Bu düğümler yanlış bilgi göndererek hem gereksiz olarak ağı
meşgul edip, yavaşlatırlar hem de yanlış bilgi araya karıştırarak
sistemi çökertmeye çalışırlar
Örneğin oylama sonucu negatif iken pozitif gösterebilirler. PoW
uzlaşma protokolü ile madenciler, matematiksel hesaplama
işlemleri yapılarak doğrulama yaparlar ve sanal düğümlerin
gerçek düğüm olmadıkları anlaşılır.
Bir defa kullanılan sayı(bks) değerinden başlanarak sürekli özüt
algoritmasından geçirilip istenen sonuç el edilene kadar
hesaplamalar yapılır. İstenilen sonuca ulaşınca bulmaca(puzzle)
çözülmüş olur ve bulmacayı çözen bloku zincire ekler. Bu işlemi
sanal düğümler yapamaz çünkü doğrulama işlemi için ağdaki
düğümlerin yoğun hesaplama yapılması gerekir, sadece kimlik
belirterek ağda aktif olarak yer almak mümkün değildir. Sonuç
olarak sanal düğümler yoğun hesaplama yapamayacağı ön
görüsünden yola çıkılarak sybil saldırısının yapılamayacağı
düşünülmektedir.
53. Netsplit ve Eclipse Saldırısı
Eclipse saldırısında, blok zinciri ağ yapısına yapılan saldırıdır,
düşman eşler arası ağın(P2P) kontrolünü elinde tutmaya çalışır.
Eşler arası ağda düşman tarafından kurban kuşatılmaktadır. Bu
saldırı şekli %51, Çift harcama ve bencil madencilik saldırısının
gerçekleşmesi için zemin oluşturmaktadır.
Marcus ve arkadaşları tarafından yayınlanan bir çalışmada,
komşu düğüm keşfi amacıyla eşler arası ağa yapılan saldırıda,
eclipse saldırısı ile ağ sömürülmüştür. Sadece tek IP adresine
sahip iki düğüm ile saldırı başlatılmıştır. Eclipse saldırgan daha
sonra kurbanın gelen ve giden tüm bağlantılarını kontrol altına
alarak, düşmanı ağın geri kalanından izole etmiştir[21]. Bu saldırı
ile Ethereum ağının zayıflığı üzerine çalışılmıştır
54. Kaba Kuvvet Saldırısı(Brute Force)
Finney saldırısının geliştirilmiş halidir.
Becerikli saldırgan, ağdaki n düğümü kontrol altına alır.
Bu düğümler beraberce, çift harcama saldırısını gerçekleştirmek
amacıyla özel bir madencilik şeması üzerine çalışırlar.
Önceki durumda olduğu gibi saldırgan, özel blok zincirini
genişletmek üzerine çalışıyordur. (B’fork).
Üreticinin işlem kabul etmeden önce x tane onay beklediğini
farz edelim, sonra da x onaydan sonra ürünü göndersin.
Daha sonra x tane bloğu madenleyerek ağa bıraksın. Bfork’dan
daha uzun olduğu için B’fork ağdaki diğer madenciler tarafından
genişletilecektir. Bu durum sonucunda Finney saldırısı ile aynı
etkiyi yapacak ve çift harcama saldırısı gerçekleşmiş olacaktır.
55. Vektor 76 Saldırısı
Double spend saldırısının farklı bir biçimidir.
Dijital Pazar Yeri; bitcoin satın alma, satma veya diğer değerlerle
bitcoin’i takas etme işlemine Bitcoin değiş-tokuşu(bitcoin exchange)
denmektedir.
Saldırgan (Cd), mevduat(depozito) uygulanan işlemi içeren
madenlenen(pre-mined) bloğu alıkoyar.
Saldırgan gelecek blok duyurusunu bekler ve hızlıca son madenlenen
blokla birlikte önceden madenlenmiş blok’u direkt gönderir veya yakın
eş aracılığıyla değiş tokuş ümidiyle da Bitcoin exchange piyasasına
gönderir. Bazı yakın eş’ler de ihtimalen önceden madenlenmiş (B’fork)
bloğu içeren blok zincirinin ana zincir gibi düşünürler.
Saldırgan, önceki işlemde kendisi tarafından depozit olarak verilen
aynı coin’lerin değiş tokuşunun geri çekilmesini içeren diğer bir işlemi
hızlıca gönderir.
Eğer aynı zamanda, saldırgan tarafından kullanılan işlemi içermeyen
bir fork(Bfork), coin’lerin yaşaması için depolanırsa, depozito geçersiz
olacaktır fakat saldırgan tarafından zaten geri çekilme işlemi
gerçekleştirilmiştir. Böylece değiş dokuş işleminde coin’ler kaybedilir.
Mevduat: bir bankaya, faiz karşılığında ve belli bir süre sonunda ya da istenildiğinde geri alınmak koşuluyla
yatırılan para.
56. Balance Saldırısı
Bitcoin’de, PoW tabanlı konsensus mekanizmasına yapılan saldırı
şeklidir.
Bu saldırı, dengelenmiş hash gücüne sahip birçok bitcoin madenci
alt grubu arasında haberleşmenin gecikmesinden oluşan saldırı
şeklidir.
Ağ haberleşmesindeki gecikme ile Eteryum’da çift harcama için
ihtiyaç duyulan madencilik gücü arasında trade-off vardır.
Sonuç olarak; eğer bir madenci(veya madenci havuzu) Bitcoin
ağının geri kalanından daha hızlı madencilik yapabiliyorsa, çift
harcama saldırısının gerçekleşmesi yüksek oranda mümkündür.
Madenci veya madencilerin bir blok’u madenleme oranı ilgili
PoW’un çözülmesine bağlıdır. Bu kişilerin bilgisayar gücü ne kadar
güçlüyse, o kadar hızlı PoW’u çözerler ve tehlike yaratabilirler.
Bilgisayar kaynağı dışında, çift harcama saldırısının gerçekleşmesi
başka faktörlere de bağlıdır. Ağ yayılma gecikmesi, satıcı, müşteri,
ve Bitcoin değiş-tokuş servislerinin bağlanabilirliği ve bitcoin
ağındaki pozisyonları ve dürüst madencilerin sayısı.
57. Madenci Havuzuna Saldırılar
Madenci havuzuna yapılan saldırılar iki kısma ayrılır.
İç Saldırılar: Madenciler, kollektif ödülün adilin
dağılımından daha fazlasını havuzdan kötü niyetli bir
şekilde toplarlar veya başarılı madencilik
girişimlerinden uzak bir şekilde havuzun işleyişini
bozarlar.
Dış Saldırılar: Madenciler yüksek hash gücünü
kullanarak çift harcama gibi saldırıları gerçekleştirirler.
58. Madenci Havuzuna Saldırılar
Eğer düşman, havuzun %30 Hash Oranına(HR) sahip ise,
her madenlenen blok için ödül paylaşımından 0.3 BTC ödül
alacaktır.
Ödüllerden elde ettiği bu miktar ile daha fazla madencilik
ekipmanı alacak ve hissesini daha da artıracaktır. Mevcut
HR’nin %1’i kadar zenginleşecektir.
Standart madencilik stratejisinde %1 eklenen HR için
ancak 0.0069 BTC ek gelir kazanacaktır.
Havuzdan parça alma stratejisini gerçekleştirerek, saldırgan
kendi havuzundan ödül alırken, diğer havuzlardan da %1
HR’sini paylaşarak ek ödüller alabilecektir. Bu kötü niyetli
davranış tespit edilemeyecektir.
59. Bencil madencilik (Blok Atma Saldırısı)
Bencil Madencilik(selfish mining) ya da diğer popüler
adıyla bilinen Blok atma saldırısında(block discarding
attack) dürüst olmayan saldırganlar, madenlediği
bloğu tutarak bilgi gizlemenin yanı sıra aşağıdaki
yollarla da sisteme zarar verirler.
1) Harcadığı hesaplama gücünden daha büyük ve adil
olmayan ödülü elde ederler.
2) Diğer madencilerin kafasını karıştırarak,
kaynaklarını yanlış yönde harcamaları için
yönlendirirler.
60. Bencil Madencilik
Genel zincirde dürüst madenciler yeni blok eklemeleri
yaparak devam ederlerken (Bfork), düşman özel zincire
ekleme yapıp farklı bir çatal oluşturuyor(B’fork)
Eğer bencil madenci B’fork’da uzun süre liderlik yaparsa,
daha fazla ödül elde etme şansı artarken, dürüst
madencilerin de coin kaybetme si o oranda artmaktadır.
Bencil madenciler kaybetme olasılığından kaçınmak için,
Bfork ile B’fork aynı uzunluğa erişince bencil madenciler
madenledikleri blokları öne sürerler.
61. Bencil Madencilik(2)
Tüm madenciler, bundan sonra blok zincirindeki en
uzun kuralına göre, Bfork haline gelen B’fork çatalını
benimsemek durumunda kalırlar.
Dürüst madenciler, önceki blok zincirine blok olarak
eklenen, ödüllerini de kaybedeceklerdir.
Analizler göstermiştir ki, bilgisayar kaynakları ve
dürüst madencilere ait ödüllerin bencil madenci
havuzunda boşa gitmesinin yanında bencil
madencilerin oluşturduğu havuz %50’yi aşarsa blok
zinciri sistemi için felaket olacaktır.
63. Blok tutma saldırısı-BWH
Blok tutma saldırısında (Block Withholding Attack-BWH),
bencil madenciliğe benzer şekilde düşmanlar blokları
ellerinde tutarlar fakat asla paylaşmazlar. Böylece havuz
gelirine sabotaj yapmış olurlar. PPoW’den oluşan
madenlenmiş blokları gönderirken FPoW’leri
göndermezler.
Aslında kaynaklarda[] iki tip blok tutma saldırısından
bahsedilir. Sabotaj: Düşman bu saldırıda herhangi bir
bitcoin kazanmaz, fakat diğer havuz üyeleri bitcoin
kaybeder.
Pusuya Yatma: Düşman bu saldırıda, bencil madencilik
saldırısına benzer şekilde kompleks blok gizleme
gerçekleştirir.
PoW : Proof of Work (Çalıştığının ispatı), FPoW: Tam PoW, PPoW: Parçalı PoW
64. Sabotaj Saldırısı
Saldırgan hiçbir ekstra blok göndermez. Saldırganın kendisinin
direkt kar etmediği havuz operatörüne ve katılımcılara zarar
verdiği saldırı türüdür.
D geçerli bloğu bulma zorluğu, her paylaşım p=1/D geçerli bloğu
elde etme olasılığında olacaktır. Eğer tek madenci ise 1 paylaşım
bulmak için sarf edeceği efor karşılığında pB ödemesi
bekleyecektir. Eğer bir havuzda ise yine pB bekleyecek veya
havuzun operatör ücreti göz önüne alınırsa (1 - f)pB miktar
bekleyecektir.
Her bir turun sonunda bir blok bulunduğunda havuz B ödülünü
alacaktır. h Saldırganının hash oranı, H Havuzun toplam hash
oranı, f yüzde olarak havuz ücreti ise;
Havuz operatörü fB ücretini alacak,
(1 - f)B ise madenciler arasında hisse oranına göre dağıtılacaktır.
Eğer madenci listesi belli ve sabit paylaşım varsa
(1-f)pB olacaktır
65. Sabotaj Saldırısı(2)
PPS, Hisse başına ödeme (Pay per share), Katılımcılar hisse
başına elde edebilecekleri miktar;
(1 - f)(1 - h/H)pB
Havuz operatörünün hisse başına elde edebileceği miktar;
(f -h/H)pB
f burada yüzde bir-iki olacağından kazanç eksiye döner ve
havuz iflas edebilir.
Bu önemli bir miktardır, fakat tespit edilmesi güç
olduğundan havuzun terk edilmesine veya uzun süreli
bozulmalara neden olmayacaktır.
Kaynak: M. Rosenfeld, “Analysis of bitcoin pooled mining reward systems,” CoRR, vol. abs/1112.4980, 2011.
66. Oyun Teorisi
Bir olay sonucu polis merkezine iki suçlu getirilir. Bu iki
kişinin suçlu olup olmadığını tam olarak bilmiyorsunuz
sadece olay yerinde bulunan suça karışabileceği muhtemel
iki kişiyi alıp sorgu yerine getiriyorsunuz. İlk olarak
yasalara göre bazı suç kuralları vardır. Bunlar;
Elinizdeki iki mahkum A ve B olmak üzere A mahkumu B
mahkumu aleyhinde ifade verirse ve B mahkumu da
susmayı tercih ederse A mahkumu serbest kalır fakat B
mahkumu 20 yıl hapis yatar.
Eğer A mahkumu ve B mahkumu aynı anda birbirleri
aleyhinde ifade verirse ikisi de 5’er yıl hapis yatacak,
Fakat her ikisi de sessiz kalırsa delil yetersizliğinden dolayı
1’er yıl hapis yatacaktır.
67. Oyun Teorisi(2) ya diğeri konuşursa?
Bu durumda hiçbir şekilde kimse 1’er yıl hapis
yatamayacaktı. Eğer konuşmaya başlarsanız ya serbest
kalacaksınız ya da karşı tarafında konuşması ile 5 yıl
hapis yatacaksınız. Bu noktada John Nash’ın oyunlar
kuramında yaptığı çalışmalar sonucunda yukarıda
verilen dilemmada birkaç değişiklik oldu.
Oyunun içinde şayet bir kişi kendi menfaatini
düşündüğü sürece zararlı çıkacaktır. Yani taraflar
kendi çıkarını değil, grubun çıkarını gözettiği sürece
karlı çıkacaktır.
69. FAW Saldırısı
FAW(Fork After Withholding) Saldırısı, BWH saldırısından
4 kez daha sık rastlanan saldırı türüdür.
Ayrıca bu saldırı türünde birçok maden havuzunda
işletilmesi ile BWH’den yaklaşık %56 daha fazla ekstra ödül
alınmaktadır.
FAW saldırısında, belli koşullar altında madenci ikilemde
kalmayabilir. Örneğin iki havuzda FAW saldırısı
çalıştırılırsa, daha büyük olan havuz sürekli kazanacaktır.
FAW saldırısı, kasıtlı çatallama kullanılırken daha pratik
olarak çalıştırılması bakımından bencil madenciliğe
benzemez.
Kaynak: Y. Kwon, D. Kim, Y. Son, E. Vasserman, and Y. Kim, “Be selfish and avoid dilemmas: Fork after withholding (faw)
attacks on bitcoin,” in Proceedings of the 2017 ACM SIGSAC Conference on Computer and
Communications Security, ser. CCS ’17. ACM, 2017, pp. 195–209.
70. FAW Saldırısı (2)
FAW Saldırısını oyun teorisine göre, iki havuzun
birbirine yaptığı bir saldırı üzerinde inceleyelim,
oyunda Nash Dengesi vardır.
Ancak BWH saldırısından farklı olarak daha büyük
havuzun her zaman kazanacağı koşulu vardır. Bu
durumda madencinin ikilemi(dilemma) olmayabilir.
Bu nedenle, iki havuzun saldırıya karar verip
vermediği FAW saldırı oyununun dengesi bir Pareto
optimal olabilir.
71. Havuz Sıçrama Saldırısı (Pool Hoping Attack)
Bu saldırıda, bencil madenciliği gerçekleştirmek amacıyla
havuzdaki hisse sayısı hakkındaki bilgiyi kullanır.
Düşman yeni bir blok keşfetmek için, madenci
arkadaşlarının hangi sayıda hisse gönderdiğini sürekli
analiz etmektedir.
Bu saldırıdaki ana fikir, eğer büyük miktarda hisse zaten
gönderilmişse ve o zamana kadar yeni blok
bulunamamışsa, düşman ödülden küçük bir hisse
alabilecektir, çünkü gönderilen hisseye bağlı olarak ödül
dağıtılacaktır. Böylece, düşman için diğer havuza geçmek
veya bağımsız olarak madencilik yapmak daha karlı
olabilecektir.
72. Rüşvet Saldırısı(Bribery Attack)
Saldırgan, rüşvet ile bilgisayar kaynaklarının büyük bölümüne
kısa bir süre için sahip olur. Üç yolla ağda gerçekleşebilir.
Bant dışı ödeme: Düşman direkt olarak bilgisayar kaynaklarının
sahibine ödeme yapar, o da düşman tarafından atanan blokları
madenler.
Negatif Ücret Madenci Havuzu: Saldırgan, daha yüksek ödeme
yaparak havuzu istediği şekilde biçimlendirilmesini yapar.
Çatallama aracılığıyla bant içi ödeme: Saldırgan, herhangi bir
madenci tarafından serbest şekilde alınabilecek rüşvet ücretinin
olduğu bir çatal oluşturarak, rüşvet vermeye kalkışır. Yüksek
hash gücüne sahip olmasıyla birlikte, saldırgan DDOS ve çift
harcama gibi saldırıları gerçekleştirebilir. Rüşveti alan
madenciler kısa süreli bir fayda elde edebilirler, fakat bu fayda
DDOS ve Golfinger saldırılarıyla veya değiş-tokuş oranı ile uzun
bir süre sonra zarara dönüşebilir.
Kaynak: B. J., “Why buy when you can rent?” Financial Cryptography and
Data Security. FC 2016. Lecture Notes in Computer Science, vol 9604.
Springer, Berlin, Heidelberg, 2016
73. Cezalandırıcı Çatal ile Kara Listeye Alma
%50’den fazla hash oranına sahip bir düşman, cezalandırıcı
çatallama ile kara listeye aldırabilir.
Cezalandırıcı çatallamanın amacı, belli kişilere Bitcoin
adreslerine sansür uygulamaktır. Örneğin Ayşe onların kendi
bitcoin’lerini harcamasına engel olabilir. Kara listeye alma üç
şekilde olabilir.
1) %50’den fazla hash oranına sahip düşman Ayşe’nin bitcoin
adresinden yapılan harcama işlemlerini içeren blok zincirinin
genişlemeyeceğini duyurur.
2) Eğer diğer madenciler blokta Ayşe’den gelen işlemleri
kendilerine dahil ederlerse, düşman hemen daha uzun başka bir
çatallayacak daha uzun bir blok zinciri oluşturacaktır.
3) Ayşe’nin işlemini içeren blok geçersiz kılınmış, ve asla
yayınlanmamışsa Ayşe’nin işlemine blok ekleyenler blok
ödüllerini kaybedecektir.
74. Cezalandırıcı Çatallama
Cezalandırıcı çatallanma yapılabilmesi için, düşmanın özüt
oranının %50’den büyük olması gerekir.
Düşman bizim gri renkte gösterilen işlemin zincirini devre dışı
bırakarak kendisi başka bir çatallanma oluşturmuştur. Bu
işlemde blok engellenirken arkamızdaki blok ya da bloklar da
işlem dışı bırakılmış olur.
Böylelikle arkamızdaki bloklar ödüllerini de kaybetmiş
olacaklardır ve asla yayınlanmayacaklardır.
75. Köpük Çatallanma Saldırısı(Feather Fork)
Bu işlemde, saldırgan kötü niyetli madencilikle, blok zincirinde
bizim işlemi içeren bloğu görürse çatallanma girişiminde
bulunacağını duyurur, fakat bir süre sonra vazgeçer.
Kazanana kadar kendi başına çatalını genişletmeyi sürdürecektir
fakat bizim işlemi içeren blok r tane doğrulama aldıktan sonra
özel çatallanmadan vazgeçecektir.
Düşman %50’den daha az özüt oranına sahip olabilir, çok yüksek
olasılıkla ödülleri kaybedebilir, fakat büyük olasılıkla kara
listedeki işlemi engelleme yeteneğine sahiptir.
Ayrıca, eğer düşman seçtiği işlemi engelleyebileceğini
gösterebilirse ve gerektiğinde misilleme çatalı gerçekleştirebilir.
Eğer saldırgan misilleme yapar ve kazanırsa, geri kalan
madenciler kayıptan kaçmak için kara listelenmiş işlemleri
bloklamaya eğilimli olacaklardır.
,
Kaynak: . Narayanan, J. Bonneau, E. Felten, A. Miller, and S. Goldfeder, “Bitcoin and cryptocurrency technologies: A comprehensive
introduction.” Princeton, NJ, USA: Princeton University Press, 2016.
77. Kriptografik açıdan Güvenlik Durumu
Şifreleme algoritmalarının güvenliği, aşağıdaki üç zor
matematiksel yönteme bağlıdır.
a) Tam sayı faktörizasyon problemi
b) Ayrık Logaritma Problemi
c) Eliptik Eğri Ayrık Logaritma Problemi
Post Kuantum Kriptografi, klasik Kuantum kriptografiden
farklıdır ve kuantum bilgisayarının saldırılarına karşı güvenlidir.
Yukarıdaki matematiksel yöntemlerin hepsi güçlü kuantum
bilgisayarı ile Shor’un algoritması kullanılarak çözülebilecektir.
Simetrik algoritmalar ve hash fonksiyonları halen kuantum
bilgisayarlara karşı dayanıklıdır. Grover’in algoritması simetrik
şifrelemeye karşı saldırıları hızlandırmasına rağmen, anahtar
uzunluğu iki kat artırılarak güvenli hale getirilebilir.
78. Hash fonksiyonları için Öngörüntü Saldırısı
Kriptografide, Öngörüntü(Preimage) saldırısı, spesifik
hash değerinin bir mesaj için bulunmasıdır.
Kriptografik hash fonksiyonu öngörüntü saldırılarına
karşı dayanıklı olmalıdır.
Öngörüntü direnci: Çıktı olarak alınan Hash
sonucundan yola çıkılarak, giriş değerinin
hesaplanmasının mümkün olmamasıdır. Matematiksel
olarak ifade edecek olursak, verilen y değeri için;
h(x)=y fonksiyonunda x’in bulunamamasıdır.
79. Hash fonksiyonları için Çakışma Saldırısı
Çakışma(Collision) Hash fonksiyonundan geçirilen
farklı mesajların sonucunun aynı çıkmasıdır.
Matematiksel olarak ifade edecek olursak; x ve x’ farklı
mesajlar olsun h(x)=h(x’) ise çakışma meydana
gelmiştir.
Bu durumda hash fonksiyonu artık kullanılamaz.
Çünkü ne olursa olsun, hash fonksiyonu iki farklı giriş
verisinden aynı çıkışı üretmemelidir.
80. Kaynaklar
[1] D. Chaum, "Blind signatures for Untraceable payments," Advances in Cryptology: Proceedings of Crypto 82, Springer US, 1983.
[2] Wikipedia, “List of cryptocurrencies”, https://en.wikipedia.org/wiki/List_of_cryptocurrencies, Erişim Tarihi: 15.07.2018.
[3] “Bitcoin Bitcoin (BTC) price stats and information”, https://bitinfocharts.com/bitcoin/, Erişim Tarihi: 15.07.2018.
[4] S. Nakamoto, "Bitcoin: A Peer-to-Peer Electronic Cash System", 2008, https://bitcoin.org/bitcoin.pdf, Erişim tarihi: 06.07.2018.
[5] What are smart contracts on blockchain? https://www.ibm.com/blogs/blockchain/2018/07/what-are-smart-contracts-on-blockchain/ Erişim tarihi:
17.07.2018
[6] ASIC vs GPU mining, Erişim Tarihi: 24.07.2018, http://jkcrypto.com/asic-mining-vs-gpu-mining/
[7] A. Back, "Hashcash - A Denial of Service Counter-Measure", 2002. Erişim Tarihi: 06.06.2018, http://www.hashcash.org/hashcash.pdf.
[8] Basic primer, Blockchain Consensus Protocol https://blockgeeks.com/guides/blockchain-consensus/, Erişim tarihi:18.07.2018
[9] M.Conti, S. Kumar E, C. Lal, S.Ruj, «A Survey on Security and Privacy Issues of Bitcoin», IEEE Communication and Survey, 2018.
[10] M. Swan, “Blockchain blueprint for a new economy”, O'Reilly Media, Inc., 2015.
[11] Blockchain Applications, Erişim Tarihi:13.07.2018 https://blockgeeks.com/guides/blockchain-applications/
[12] J. J. Xu, ”Are blockchains immune to all malicious attacks?”, SpringerOpen, 2016.
[13] M.Crosby , P. Nachiappan Pattanayak, S. Verma, V. Kalyanarama, “Blockchain technology: Beyond bitcoin”, 2016.
[14] “51% Attack”, , Erişim tarihi:20.06.2018, https://learncryptography.com/cryptocurrency/51-attack
[15] G. O. Karame, E. Androulaki, and S. Capkun, “Two Bitcoins at the Price of One? Double-spending attacks on fast payments in bitcoin,”, ACM Conference
on Computer and Communications Security (CCS’12), 2012.
[16] Y Sompolinsky, A Zohar, Bitcoin's Security Model Revisited, Erişim: 10.06.2018, https://arxiv.org/abs/1605.09193, 2016.
[17] Vector76, “Fake bitcoins?, Erişim Tarihi: 20.06.2018, https://bitcointalk.org/index.php?topic=36788.msg463391#msg463391, 2011,
[18] J. Heusser, “Sat solvingan alternative to brute force bitcoin mining”, Erişim Tarihi:20.06.2018, https://jheusser.github.io/2013/02/03/satcoin.html, 2013.
[19] C. Natoli and V. Gramoli, “The Balance Attack Against Proof-Of-Work Blockchains: The R3 Testbed as an Example” CoRR, 2016.
[20] Douceur, John R (2002). "The Sybil Attack". Peer-to-Peer Systems. Lecture Notes in Computer Science. 2429. pp. 251–60. doi:10.1007/3-540-45748-
8_24. ISBN 978-3-540-44179-3
[21] Y. Marcus, E. Heilman, S. Goldberg, “Low-Resource Eclipse Attacks on Ethereum's Peer-to-Peer Network”,
[22] E. Heilman, A. Kendler, A. Zohar, and S. Goldberg. Eclipse attacks on bitcoin’s peer-to-peer network, USENIX Security, 2015.
[23] N. T. Courtois and L. Bahack, “On Subversive Miner Strategies and Block Withholding Attack in Bitcoin Digital Currency ”, CoRR, 2014.
[24] I. Eyal and E. G. Sirer, “Majority is not enough: Bitcoin mining is vulnerable,” in Financial Cryptography and Data Security: 18th International
Conference, Springer Berlin Heidelberg, 2014.
[25] J. Bonneau, “Why buy when you can rent?” Financial Cryptography and Data Security. FC 2016. Lecture Notes in Computer Science, vol 9604. Springer,
Berlin, Heidelberg, 2016.
[26] M. Rosenfeld, “Analysis of bitcoin pooled mining reward systems”, CoRR, vol. abs/1112.4980, 2011.
[27] M. Rosenfeld, “Mining pools reward methods,” Presentation at Bitcoin 2013 Conference, 2013.
[28] Rogaway, P.; Shrimpton, T. “Cryptographic Hash-Function Basics: Definitions, Implications, and Separations for Preimage Resistance, Second-Preimage
Resistance, and Collision Resistance”. Fast Software Encryption (2004). Springer-Verlag, Erişim Tarihi: 01.06.2018,
http://web.cs.ucdavis.edu/~rogaway/papers/relates.pdf
[29] K. Aoki, J. Guo, K. Matusiewicz, Y. Sasaki, L. Wang, “Preimages for step-reduced SHA-2”, Advances in Cryptology–ASIACRYPT 2009.
[30] Daniel J. Bernstein, Johannes Buchmann, «Post-Quantum Cryptography»,Springer, 2009.