Satoshi

Satoshi

Son güncelleme: Kasım 4, 2017

Satoshi Nakamoto kitabını ücretsiz olarak pdf formatında buradan indirebilirsiniz.

Satoshi
Evrim DÖNMEZGEL
Eylül 2017, İstanbul
Satoshi E. Dönmezgel
2
3 Ocak 2009. Soğuk bir kış sabahı. Satoshi
gözlerini zor açık tutuyordu. Kendine bir fincan siyah
kahve daha doldurdu. Şeker katmadan yudumladı.
Notlarına son bir kez göz gezdirdi. Uykusuz geçen haftalar
boyunca üzerinde çalıştığı Bitcoin kodlarını artık neredeyse
tamamlamıştı. Yaşamının en büyük projesini hayata
geçireceği için heyecanlıydı. Blockchain teknolojisinin
finans sistemleri ve ekonomi başta olmak üzere dünyadaki
pek çok sorunu çözeceğinden emindi.
Bundan üç ay önce, yani 1 Kasım 2008’de, Satoshi fikrini
küçük fakat ünlü bir grup matematikçi, kriptograf ve
istatistikçinin bulunduğu mail grubunda yayımlamıştı.
“Güvenilir bir üçüncü parti olmaksızın tamamen eşler
arası yeni bir elektronik nakit sistemi üzerinde
çalışıyorum” dedi.
Topluluk Satoshi’nin fikrinin neden çalışmayacağıyla ilgili
onlarca sebep ileri sürdü. Bir kere ölçeklenemezdi ve
Satoshi sistemin çalışması için gerekli kaynağa sahip
değildi.
“Böyle bir sisteme çok ama çok ihtiyacımız var, ancak
teklifini doğru anladıysam şayet, gerekli hacme göre
ölçeklendirilmiş gibi görünmüyor.” dedi biri.
“Transfer edilebilir iş kanıtlarının (Proof of Work) bir
değerinin olabilmesi için parasal değerinin olması gerekir.
Parasal değere sahip olabilmek için de, çok büyük bir ağ
içerisinde transfer edilmesi gerekir” dedi başka biri.
Satoshi E. Dönmezgel
3
Satoshi her soruya tutkuyla geri yanıt verdi ve yavaş yavaş
ama kendinden emin bir şekilde Bitcoin’in çalışabileceğine
gruptakileri ikna etti. Onlar ise şüpheyle dinlediler.
Şimdi, üç ay sonra, her sıkıntıyı ve tüm aksaklıkları
çözdükten sonra, Satoshi hazırdı. Bitcoin’in ilk sürümü
hazırdı.
Dizüstü bilgisayarına baktı. Yanıp sönen ekranında
Blockchain’i başlatacak ilk komutu çalıştırır çalıştırmaz,
yolsuzluğa batmış hükümetlerin elindeki politikayı ve gücü
alıp halka devredeceğini biliyordu.
Satoshi, Blockchain’e bir şeyler yerleştirmek istediğine
karar verdi. Bu bir mesaj olacaktı. Geçmişten geleceğe bir
mesaj. Fakat nasıl bir mesaj? Kararsız kalmıştı. O esnada
gözüne masasında duran gazetenin manşeti ilişti ve bu
manşeti olduğu gibi kodun içine yerleştirdi.
“Chancellor on Brink of Second Bailout for Banks”.
Türkçesi “Şansölye, bankalar için ikinci kurtarma planının
eşiğinde” gibi bir şeydi.
Satoshi merkezi olmayan bir sistemi hayal etmişti. Önünde
duran manşet tam hayal ettiği şey ile örtüşüyordu:
batmakta olan bankalar ve onları kurtarmaya çalışan
hükümetler.
Mesajı kodun içine yerleştirdi. Kahvesinden bir yudum
daha aldı ve Enter’a bastı.
Genesis bloku yaratılmıştı! Bitcoin böylece doğmuştu!
Satoshi E. Dönmezgel
4
Satoshi koltuğuna yaslandı. Ekranı izlemeye başladı. Tarih
yeniden yazılıyordu.
Satoshi E. Dönmezgel
5
Bitcoin: Eşler Arası Elektronik Nakit Sistemi
Satoshi Nakamoto
satoshin@gmx.com
www.bitcoin.org
Özet. Elektronik nakitin tamamen eşler arası bir versiyonu
çevrimiçi ödemelerin bir finansal kuruluşa gitmeden
doğrudan bir taraftan diğerine gönderilmesini sağlar.
Dijital imzalar çözümün bir parçasını oluşturuyor ancak
güvenilir bir üçüncü tarafın hala çift-harcamayı önlemesi
gerekirse ana faydalar kayboluyor. Eşler arası ağ
kullanarak çift-harcama sorununa bir çözüm öneriyoruz.
Ağ zaman damgaları işlemleri, devam eden bir hashtemelli
çalışma kanıtı haline getirerek ve çalışma kanıtını
yeniden düzenlemeden değiştirilemeyen bir kayıt
oluşturarak kaydeder. En uzun zincir, yalnızca tanık
oldukları olayların sırasının kanıtı olarak değil, aynı
zamanda en büyük CPU güç havuzundan geldiğini
kanıtlıyor. CPU gücünün büyük bir çoğunluğu ağa
saldırmak için işbirliği yapmayan nodlar tarafından
kontrol edildiği sürece, en uzun zinciri ve dışarıya
saldıracak saldırganları üretirler. Ağın kendisi minimal
yapı gerektirir. Mesajlar en iyi çaba temelinde yayınlanır
ve nodlar ağı terkedebilir ve ağa yeniden katılabilirler, iş
zincirinin en uzun ispatını, kendileri yok iken kanıt olarak
kabul ederler.
Giriş
İnternette ticaret, neredeyse münhasıran elektronik
ödemeleri işleme koymak için güvenilir üçüncü şahıslar
olarak hizmet veren finansal kurumlara sırtını dayıyor.
Satoshi E. Dönmezgel
6
Sistem, çoğu işlem için yeterince iyi çalışıyor olsa da,
güven temelli modelin özünde bulunan zayıf yönlerini hala
yaşıyor. Finansal kuruluşlar anlaşmazlıklara aracılık etmeyi
engelleyemediğinden, tamamen geri çevrilemez işlemler
gerçekten mümkün değildir. Arabuluculuk maliyeti, işlem
maliyetlerini arttırır, minimum pratik işlem boyutunu
sınırlar ve küçük geçici işlemler için imkânı ortadan
kaldırır ve geri döndürülemez hizmetler için geri
dönüşümsüz ödemelerin yapılabilmesi için daha büyük bir
maliyet oluşur. Tersine dönme imkânı ile güven duygusuna
ihtiyaç duyulmaktadır. Tüccar, müşterilerine karşı dikkatli
olmalı, aksi takdirde ihtiyaç duyacaklarından daha fazla
bilgi için onları rahatsız edecektir. Dolandırıcılığın belirli
bir yüzdesi kaçınılmaz olarak kabul edilir. Bu maliyetler ve
ödeme belirsizlikleri şahsen fiziksel para birimini
kullanarak önlenebilir, ancak güvenilir bir parti olmadan
bir iletişim kanalı üzerinden ödeme yapmak için herhangi
bir mekanizma mevcut değildir.
İhtiyaç duyulan şey, güven yerine kriptografik kanıt
üzerine kurulu ve istekli herhangi iki tarafın, güvenilir bir
üçüncü tarafa ihtiyaç duymadan birbirleriyle doğrudan
işlem yapmasına izin veren bir elektronik ödeme
sistemidir. Matematiksel olarak tersine çevirmesi zor olan
işlemler, satıcıları dolandırıcılıktan koruyacak ve alıcıları
korumak için rutin emanet mekanizmaları kolayca
uygulanabilecektir. Bu makalede, işlemlerin kronolojik
sıralamasına ait hesaplama kanıtı oluşturmak için eşler
arası bir dağıtılmış zaman damgası sunucusu kullanarak
çift harcamalı soruna bir çözüm önermekteyiz. Dürüst
nodlar, işbirliği yapan herhangi bir saldırgan nodlar
grubundan topluca daha fazla CPU gücü kontrol ettiği
sürece sistem güvenlidir.
Satoshi E. Dönmezgel
7
İşlemler
Elektronik parayı bir dijital imza zinciri olarak
tanımlıyoruz. Her sahibi bir önceki işlemin sağlamasını ve
bir sonraki sahibinin genel anahtarını dijital olarak
imzalayıp bunları paranın sonuna ekleyerek parayı diğerine
aktarır. Bir alacaklı, mülkiyet zincirini doğrulamak için
imzaları doğrulayabilir.
Elbette ki sorun, alacaklının, sahiplerinden birinin parayı
çift-harcama yapıp yapmadığını doğrulayamamasıdır.
Ortak bir çözüm, çift harcama için her hareketi kontrol
eden güvenilir bir merkezi otoriteyi veya darphaneyi
getirmektir. Her işlemden sonra yeni bir para basmak için
işlenen para geri gönderilmeli ve doğrudan darphaneden
verilen paraların iki defa harcanmadıklarına güvenilir. Bu
çözümün problemi, tüm para sisteminin kaderinin
darphaneyi işleten şirkete bağlı olması ve her işlemin bir
banka gibi onlardan geçmesi gerektiğidir.
Alacaklının, önceki sahiplerin daha önceki işlemleri
imzalamamış olduğunu bileceği bir yola ihtiyacımız var.
Bizim amaçlarımız için, en erken işlem önemlidir,
dolayısıyla daha sonra iki defa harcama girişiminde
bulunmamızın önemi yoktur. Bir işlemin yokluğunu
onaylamanın tek yolu, tüm işlemlerin farkında olmaktır.
Darphane tabanlı modelde, darphane tüm işlemlerin
farkındaydı ve hangisinin önce geldiğine karar verdi. Bunu
güvenilir bir parti olmadan gerçekleştirmek için işlemler
halka açıklanmalı ve katılımcıların, aldığı siparişin tek bir
tarihini kabul etmeleri için bir sisteme ihtiyaç duyuyoruz.
Alacaklı, her işlem anında nodların çoğunun ilk kez aldığı
noktasında anlaştığı kanıtlara ihtiyaç duyuyor.
Satoshi E. Dönmezgel
8
Zaman Damgası Sunucusu
Önerdiğimiz çözüm, bir zaman damgası sunucusu ile
başlar. Bir zaman damgası sunucusu, bir blokluk bir
sağlamanın zaman damgası haline getirilmesi ve yaygın bir
şekilde bir gazete veya Usenet yayınında yayınlanması
yoluyla çalışır. Zaman damgası, karma belleğe girmek için
o esnada var olması gerektiğini kanıtlıyor. Her bir zaman
damgası, zincir oluşturan önceki zaman damgasını içerir ve
her ek zaman damgası kendisinden önce olanları
güçlendirir.
İş İspatı
Dağıtık bir zaman damgası sunucusunu eşler arası temelde
uygulamak için gazete veya Usenet yayınlarından ziyade
Adam Back’in Hashcash’ine benzer bir çalışma sistemi
kanıtını kullanmamız gerekecek. İşin kanıtı, SHA-256 gibi,
hash’lendiğinde sağlamanın birkaç sıfır bitiyle başladığı bir
değeri taramayı içerir. Gerekli ortalama iş gerekli olan sıfır
bit sayısıyla üstel olur ve tek bir sağlama çalıştırılarak
doğrulanabilir.
Zaman damgası ağımız için işin kanıtını, bloğun hash’ını
gerekli sıfır bitlerini veren bir değer bulunana kadar bloğun
içindeki bir olmayan değeri arttırarak uyguluyoruz. CPU
eforu çalışma kanıtını tatmin edecek şekilde harcanırsa,
blok, işi yeniden yapmaksızın değiştirilemez. Sonradan
bloklar zincirlenirken, bloğu değiştirmek için yapılan işten
sonra tüm blokları yeniden düzenlemeyi de içerir.
İş ispatı çoğunlukla karar verme sürecinde temsili
belirleme sorununu da çözmektedir. Çoğunluk bir IP
Satoshi E. Dönmezgel
9
adresi-bir oy temelinde yapılmışsa, birçok IP tahsis
edebilen herkes tarafından kırılabilir. İş ispatı aslında bir
CPU-bir oydur. Çoğunluk kararı, en büyük kanıtlama
çalışması çabasına sahip olan en uzun zincir tarafından
temsil edilir. CPU gücünün büyük bir çoğunluğu dürüst
nodlarla kontrol edilirse, dürüst zincir en hızlı büyüyecek
ve rakip zincirleri aşacaktır. Geçmişteki bir bloğu
değiştirmek için, bir saldırgan bloğun ve ardından gelen
tüm blokların işlem kanıtını yeniden oluşturmalı ve daha
sonra dürüst nodların işine yetişmeli ve aşmamalıdır.
Sonradan göstereceğiz ki, daha yavaş bir saldırganın
yetişme olasılığı, takip eden bloklar eklendikçe, katlanarak
azalacaktır.
Artan donanım hızını ve çalışan nodlara olan ilgiyi
zamanla telafi etmek için, çalışma zorluğunun kanıtı saat
başına ortalama bir blok sayısını hedefleyen hareketli bir
ortalamayla belirlenir. Çok hızlı üretilirlerse zorluk artar.

Ağı çalıştırmak için gerekli adımlar şunlardır:
1. Yeni işlemler tüm nodlara yayınlanır.
2. Her nod bir blok içine yeni işlemler toplar.
3. Her nod, blokları için zor bir iş ispatı bulmaya
çalışır.
4. Bir nod iş belgesi bulursa, bloğu tüm nodlara
yayınlar.
5. Nodlar, yalnızca tüm işlemler geçerli olduğu
halde ve önceden harcanmadığı takdirde bloğu
kabul eder.
6. Nodlar, kabul edilen bloğun hash’ini önceki
hash’i kullanarak, zincirdeki bir sonraki bloğu
Satoshi E. Dönmezgel
10
oluşturmaya çalışarak blok kabullerini ifade
eder.
Nodlar her zaman en uzun zinciri doğru olan kabul eder ve
onu genişletmeye çalışmaya devam edecektir. İki nod bir
sonraki bloğun farklı sürümlerini aynı anda yayınlıyorsa,
bazı nodlar bir veya öncekini alabilir. Bu durumda, ilk
aldıkları üzerinde çalışıyorlar, ancak diğer dalı da daha
uzun hale gelir diye saklıyorlar. Bağ, bir sonraki iş belgesi
bulununca kırılacak ve bir dal daha uzun olacak; diğer dal
üzerinde çalışan nodlar daha uzun olana geçecektir.
Yeni işlem yayınlarının mutlaka tüm nodlara erişmesi
gerekmez. Birçok noda eriştikleri sürece, kısa bir süre
sonra bir blok içine girecekler. Blok yayınlar da düşen
mesajlara toleranslıdır. Bir nod bir blok almazsa, bir
sonraki bloğu aldığında onu talep eder ve onu kaçırdığının
farkına varır.
Teşvik
Kurallara göre, bir bloğun ilk işlemi, bloğun yaratıcısı
tarafından sahip olunan yeni bir coin başlatan özel bir
işlemdir. Bu, ağın desteklenmesi için nodlara bir teşvik
getirir ve onları dağıtmak için merkezi bir yetkisi
bulunmadığından, coin’leri dolaşıma sokmanın bir yolunu
sağlar. Yeni coin’lerin sabit bir şekilde eklenmesi altın
madencilerinin dolaşıma altın eklemek için kaynakları
harcamasına benzer. Bizim durumumuzda, harcanan CPU
zamanı ve elektriğidir.
Teşvik, işlem ücretleriyle de finanse edilebilir. Bir işlemin
çıktı değeri girdi değerinden düşükse, fark, işlemi içeren
Satoshi E. Dönmezgel
11
bloğun teşvik değerine eklenen bir işlem ücretidir.
Önceden belirlenmiş sayıda coin dolaşıma girdikten sonra,
teşvik tamamen işlem ücretlerine geçebilir ve tamamen
enflasyona dönüşebilir.
Teşvik, nodların dürüst olmaya teşvik edilmesine yardımcı
olabilir. Açgözlü bir saldırgan tüm dürüst nodlardan daha
fazla CPU gücü toplayabilirse, ödemelerini geri çalarak
insanları aldatmak için kullanmak veya yeni paralar
üretmek için onu kullanmak arasında seçim yapmalıdır.
Kurallara göre oynamayı daha karlı bulmalıydı; sistemi ve
kendi servetinin geçerliliğini baltalamaktan ziyade,
herkesten daha fazla yeni coinlerle onu tercih eden
kuralları.
Disk Alanını Geri Kazanma
Bir coin’deki en son işlem yeterli bloklar altına
gömüldüğünde, harcanmış işlemler disk alanından tasarruf
etmek için atılabilir. Blok hash’ini bozmadan bunu
kolaylaştırmak için, işlemler, bloğun hash’ine yalnızca kök
dahil edilmiş bir Merkle ağacında hash edilir. Daha sonra
eski bloklar ağacın dallarını boşaltarak sıkıştırabilir. Dahili
hash değerlerin depolanması gerekmez.
Hiçbir işlem yapılmayan bir blok başlığı yaklaşık 80 bayt
olacaktır. Her 10 dakikada bir blok üretildiğini varsayarsak,
80 bayt * 6 * 24 * 365 = yılda 4.2MB. 2008 yılı itibariyle
genellikle 2GB RAM ile satılan bilgisayar sistemleri ve
yılda 1.2GB’lık mevcut büyümesini tahmin eden Moore
Yasası ile, blok başlıkları hafızasında tutulsalar bile
depolama bir sorun olmamalı.
Basitleştirilmiş Ödeme Doğrulaması
Satoshi E. Dönmezgel
12
Ödemeleri, tam bir ağ nodu çalıştırmadan doğrulamak
mümkündür. Bir kullanıcının, en uzun zincire sahip
olduğuna ikna edinceye kadar ağ nodlarını sorgulayarak
elde edebileceği en uzun çalışma zinciri kanıtı olan blok
başlıklarının bir kopyasını tutması ve içinde işlemin zaman
damgasına tabi bloğa bağlandığı Merkle şubesini elde
etmesi yeterlidir. İşlemi kendisi kontrol edemez, ancak
zincirdeki bir yere bağlayarak, bir ağ nodunun onu kabul
ettiğini ve ağın onu kabul ettiğini doğruladıktan sonra
blokları eklediğini görebilir.
Bu nedenle doğrulama, dürüst nodlar ağı kontrol ettiği
sürece güvenilir ancak ağ bir saldırgan tarafından
engellenirse daha savunmasız olur. Ağ nodları işlemleri
kendi başına doğrulayabilirken, basitleştirilmiş yöntem
saldırganın yapmış olduğu işlemler tarafından saldırganın
ağa yenik düştüğü sürece kandırılabilir. Buna karşı bir
strateji, geçersiz bir blok algıladıklarında ağ nodlarından
gelen uyarıları kabul etmek ve kullanıcının yazılımının tam
bloğunu indirmesini ve uyuşmayan hareketleri doğrulamak
için uyarılan işlemleri belirtmek olacaktır. Sık yapılan
ödemeleri alan işletmeler muhtemelen hala daha bağımsız
güvenlik ve daha hızlı doğrulama için kendi nodlarını
çalıştırmak isteyecektir.
Birleştiren ve Bölünen Değer
Coinleri tek tek ele almak mümkün olsa da, bir transfer
sırasında her yüzde için ayrı bir işlem yapmak hantal
olurdu. Değerin bölünmesine ve birleşmesine izin vermek
için, işlemler çoklu giriş ve çıkışlar içerir. Normalde daha
büyük bir önceki işlemden gelen tek bir girdi veya daha
küçük miktarları birleştiren çoklu girişler ve en fazla iki
Satoshi E. Dönmezgel
13
çıkış olacaktır: biri ödeme için, diğeri de varsa göndericiye
geri gönderilecek para üstüdür.
Bir işlemin çeşitli işlemlere bağlı olduğu ve bu işlemlerin
çok daha fazla bağımlı olduğu çıkış yelpazesinin burada bir
sorun olmadığını belirtmek gerekir. Bir işlem geçmişi için
eksiksiz bir bağımsız kopyanın çıkartılması gerekmez.
Gizlilik
Geleneksel bankacılık modeli, taraflara ve güvenilir üçüncü
partiye bilgi erişimini sınırlandırarak bir gizlilik seviyesine
erişir. Tüm işlemlerin duyurularak açıklanması gerekliliği
bu yöntemi kesinlikle engellemektedir, ancak gizlilik halen
başka bir yerde bilgi akışı koparılarak muhafaza edilebilir:
açık anahtarların isimsiz tutulması. Halk, birisinin bir
başkasına bir miktar gönderdiğini, ancak işlemi herhangi
birine bağlamayan bir bilgi olarak görebilir. Bu, borsalarda,
bireysel ticaretlerin zaman ve boyutlarının kamuya
açıklandığı, ancak tarafların kim olduğunu söylemeden
açıklanan bilgilerin seviyesine benzer.
Ek bir güvenlik duvarı olarak, ortak bir müşteriye
bağlanmalarını önlemek için her işlem için yeni bir anahtar
çifti kullanılmalıdır. Bazı bağlar, girdilerinin aynı malikin
mülkiyetinde olduğunu ortaya koyan çok girişli işlemlerle
kaçınılmazdır. Risk, bir anahtarın sahibi ortaya çıkarsa,
bağlantı kurulması aynı sahibine ait diğer işlemleri ortaya
çıkarabilir.
Hesaplamalar
Satoshi E. Dönmezgel
14
Bir saldırganın, dürüst zincirden daha hızlı bir alternatif
zincir üretmeye çalıştıkları bir senaryoyu düşünelim. Bu
yapılsa bile, sistemi ince havadan değer yaratmak veya
saldırgana zaten hiç ait olmayan parayı almak gibi keyfi
değişikliklere açık tutmaz. Nodlar geçersiz bir işlemi
ödeme olarak kabul etmeyecek ve dürüst nodlar bunları
içeren bir bloğu asla kabul etmeyecektir. Bir saldırgan,
yalnızca son harcadığı parayı geri alabilmek için kendi
işlemlerinden birini değiştirmeye çalışabilir.
Dürüst zincir ve saldırganın zinciri arasındaki yarış
Binomalı Rasgele Yürüyüş olarak nitelendirilebilir. Başarı
olayı, dürüst zincirin bir blok genişletilmesi ve
öncülüğünün +1 artması ve başarısızlık olayı saldırganın
zincirinin bir blok uzatılması ve bu boşluğu -1 azaltmasıdır.
Belirli bir açığı yakalayacak bir saldırganın olasılığı, bir
Kumarbazın Harabe Sorunu’na benzer. Sınırsız kredisi olan
bir kumarbazın bir açığa başladığını ve başabaş noktasına
ulaşmaya çalışmak için potansiyel olarak sınırsız sayıda
deneme oynadığını varsayalım. Şimdiye kadar
ulaştıracağının olasılığını hesaplayabiliriz ya da bir
saldırganın dürüst bir zincire aştığını şu şekilde hesaplarız:
p = dürüst bir nodun bir sonraki bloğu bulma ihtimali
q = saldırgan bir sonraki bloğu bulma ihtimali
qz = saldırganın arkasındaki z bloklarını yakalama ihtimali
p > q varsayımımıza göre, saldırganın yakalamak zorunda
olduğu blokların sayısı arttıkça, olasılık katlanarak düşer.
Satoshi E. Dönmezgel
15
Karşı ihtimali varsa, eğer erkenden şanslı bir atlama
yapmazsa, şansı daha da geriye düştüğünde kaybolur.
Şimdi, yeni bir işlemin alıcısının, gönderenin işlemi
değiştiremeyeceğinden yeterince emin olmadan önce ne
kadar beklemesi gerektiğini düşünüyoruz. Göndereni,
alıcıyı bir süre kendisine ödediğine inandırmak isteyen,
daha sonra bir süre sonra kendisine geri ödeme yapmaya
karar veren bir saldırgan varsayıyoruz. Böyle bir durumda
alıcıya uyarı verilecek, ancak gönderen çok geç olacağını
ümit eder.
Alıcı, yeni bir anahtar çifti üretir ve imzalamadan kısa bir
süre önce gönderene genel anahtar verir. Bu, göndericinin,
ileride yeteri kadar ilerleyip o andaki işlemi
gerçekleştirmesi için şanslı oluncaya kadar, üzerinde
çalışarak önceden bir blok zinciri hazırlamasını engeller.
İşlem gönderildikten sonra sahtekâr olmayan gönderen,
işleminin alternatif bir sürümünü içeren bir paralel zincir
üzerinde gizli çalışmaya başlar.
Alıcı, işlem bir bloğa eklenene kadar bekler ve ardından z
blokları bağlanır. Saldırganın yaptığı ilerlemenin kesin
miktarını bilmiyor, ancak dürüst blokların blok başına
ortalama beklenen süreyi aldığını varsayarsak, saldırganın
potansiyel ilerlemesi beklenen değere sahip bir Poisson
dağılımı olacak:
Saldırganın hala yetişebileceği olasılığı elde etmek için o
noktadan yetişebileceği ihtimalle yapabileceği her ilerleme
miktarı için Poisson yoğunluğunu çarparız:
Satoshi E. Dönmezgel
16
Dağıtımın sonsuz kuyruğunun toplamından kaçınmak için
yeniden düzenliyoruz…
C koduna dönüştürüyoruz…
#include <math.h>
double AttackerSuccessProbability(double q, int z) {
double p = 1.0 – q;
double lambda = z * (q / p);
double sum = 1.0;
int i, k;
for (k = 0; k <= z; k++)
{
double poisson = exp(-lambda);
for (i = 1; i <= k; i++)
Satoshi E. Dönmezgel
17
poisson *= lambda / i;
sum -= poisson * (1 – pow(q / p, z – k));
} return sum;
}
Bazı sonuçları çalıştırdığımızda, olasılığın z ile katlanarak
düştüğünü görebiliriz.
Satoshi E. Dönmezgel
18
% 0.1’den az P için çözüm…
Satoshi E. Dönmezgel
19
Sonuç
Güvene dayanmayan elektronik işlemler için bir sistem
önermiştik. Mülkiyetin güçlü kontrolünü sağlayan, ancak
çift harcamayı önlemenin bir yolu olmaksızın eksik olan
dijital imza formatındaki coin’lerle başlamıştık. Bunu
çözmek için dürüst nodların CPU gücünün çoğunluğu
kontrol etmesi durumunda bir saldırganın değişime
uğraması için hızlı bir şekilde hesaplamaya karşı pratik
olmayan bir işlem geçmişi kaydetmek için kanıt istihdamı
kullanan bir eşler arası ağ önerdik. Yapılandırılmamış
basitliği ile ağ sağlamdır. Nodlar çok az koordinasyon ile
aynı anda çalışır. İletilerin belirli bir yere
yönlendirilmemesi ve yalnızca en iyi çaba temelinde
sunulması gerektiğinden, tanımlanması gerekmez. Nodlar
ağdan ayrılıp yeniden birleşebilir, çalışırken kanıtlanmış
zinciri gittiklerinde onların kanıtı olarak kabul edebilir.
CPU gücüyle oy kullanırlar, onları genişletmeye çalışarak
ve geçersiz blokları reddetmek için çalışarak geçerli
blokları kabul ettiklerini ifade ederler. Bu mutabakat
mekanizması ile gerekli tüm kurallar ve teşvikler
uygulanabilir.
Satoshi E. Dönmezgel
20
Satoshi’nin Email Yazışmaları
Satoshi 1 Kasım 2008 ünlü istatistikçi, matematikçi ve
kriptografların bulunduğu mail grubuna bitcoin projesiyle
ilgili ilk emailini gönderdi.
Satoshi, 1 Kasım 2008 :
“Güvenilir bir üçüncü parti olmaksızın tamamen eşler arası
yeni bir elektronik nakit sistemi üzerinde çalışıyorum.
Ana özellikleri:
 Eşler arası ağ sayesinde çift-harcama engellenir.
 Darphane veya diğer güvenilir taraflar olmaz.
 Katılımcılar anonim olabilir.
 Yeni paralar Hashcash tarzı iş kanıtlarından üretilir.
 Yeni para üretmenin iş kanıtı, ağın çift harcamayı
önlemesi için de ayrıca güç sağlar.
Satoshi’ye ilk cevap bir gün sonra yani 2 Kasım’da James
A. Donald adlı grup üyesinden gelir. Bu aslında
Satoshi’nin tezine bir karşı argümandı. Sistemin
ölçeklendirilemeyeceği ve bant genişliği sorununun
olabileceği vurgulanıyordu.
James A. Donald, 2 Kasım 2008 :
Böyle bir sisteme çok çok ihtiyacımız var, ancak teklifini
doğru anladıysam, gerekli boyuta göre ölçeklendirilmiş
gibi görünmüyor.
Satoshi E. Dönmezgel
21
Transfer edilebilir iş kanıtlarının değerli olabilmeleri için
parasal değeri olmalıdır. Parasal değere sahip olmak için,
çok büyük bir ağ içerisinde transfer edilmeleri gerekir –
örneğin bittorent ağı gibi.
Çifte harcama olayını zamanında algılamak ve reddetmek
için -ki burada çok naifçe uygulanmış- her bir eşin
geçmişte gerçekleşen en eski işlemlere sahip olmasını
gerektirir. Yüz milyonlarca insan işlem yaparsa, bu çok
fazla bant genişliği demektir – çünkü her bir eşin tüm işlem
bilgisini ya da önemli bir bölümünü bilmesi gerekir.
Satoshi Nakamoto, 2 Kasım 2008 :
Ağ bu kadar geniş bir noktaya yaklaşmadan çok önce
kullanıcıların çifte harcamayı kontrol etmek için yalnızca
blok başlıklarının zincirine sahip olmayı gerektiren, ve
günde yaklaşık 12KB’lik bir data üreten Basitleştirilmiş
Ödeme Doğrulaması’nı (bölüm 8) kullanmaları güvenli
olacaktır. Yalnızca yeni paralar üretmeye çalışan insanların
ağ düğümlerini çalıştırması yeterlidir. Başlangıçta çoğu
kullanıcı ağ düğümlerini çalıştırır, ancak ağ belli bir
noktanın ötesine geçtikçe uzmanlaşmış donanım gerekir.
Bir sunucu grubu ağ üzerinde yalnızca bir düğüme ihtiyaç
duyar ve LAN’ın geri kalanının bu bir düğümle bağlantı
kurması gerekir.
Bant genişliği sandığınız kadar engelleyici olmayabilir.
Tipik bir işlem yaklaşık 400 bayt olacaktır (ECC oldukça
kompakttır). Her bir işlem iki kez yayınlanmalıdır, bu
nedenle işlem başına 1KB diyelim. Visa, 2008 mali yılında
37 milyar işlem gerçekleştirmiş veya günde ortalama 100
Satoshi E. Dönmezgel
22
milyon işlem gerçekleştirmiştir. Bu işlemler 100GB bant
genişliği harcar veya 12 DVD veya 2 HD kalitesinde film
ya da bugünkü fiyatlarla yaklaşık 18$ demektir.
Ağ büyürse, bu işlem birkaç yıl sürebilirdi ve o zamana
kadar, İnternet üzerinden 2 HD film göndermek büyük
olasılıkla büyük bir sorun gibi gözükmüyor.
3 Kasım’da John Levine isimli bir başka kullanıcı farklı bir
endişeyi dile getirdi. Satoshi’nin tezine göre ağ üzerinde
dürüst düğümlerin sayısı fazla olduğu sürece en uzun zincir
üretilebilir ve saldırganlar etkisiz hale getirilebilirdi. John
bunun mümkün olmayacağını, kötü adamların her zaman
en fazla CPU gücüne sahip olacağını söylüyordu.
John Levine, 3 Kasım 2008 :
“..dürüst düğümler ağdaki en fazla CPU gücünü kontrol
ettiği sürece, en uzun zinciri üretebilir ve saldırganları
etkisiz hale getirebilirler.”
Hayır kontrol etmiyorlar. Kötü adamlar rutin olarak
100.000 makine veya daha fazlasının zombi çiftliklerini
kontrol ediyor. Bu konuyu bilen insanlar bana günde bir
milyon yeni zombi gördüğünü söylüyor.
Aynı nedenle, hashcash günümüz internetinde
çalışmayacaktır – iyi adamlar, kötü adamlardan çok daha az
hesaplama gücüne sahiptir.
Diğer konularla ilgili de şüphelerim var, ama bu konu asıl
en önemli olan..

 

 

Bir Cevap Yazın