# Bitcoin: Eşten Eşe Nakit Ödeme Sistemi **Published by:** [awedGnu5](https://paragraph.com/@awedgnu5/) **Published on:** 2022-04-28 **URL:** https://paragraph.com/@awedgnu5/bitcoin-e-ten-e-e-nakit-deme-sistemi ## Content Merhabalar, Sizlere kripto paraların en başında gelen Bitcoin’in ne işe yaradığını anlatacağım. Keyifli okumalar dilerim. Şu an yaptığımız harcamalarda veya ödemelerimizde her zaman bir aracı kurum/kuruluşa ihtiyaç duyuyoruz. Bu aracı kuruluşlar sayesinde çoğu işimizi halledebiliyorken, Bitcoin bu duruma bir çözüm olarak doğmuştur. Bitcoin ile kişiler birbirlerine kolaylıkla ödeme yapabilir ve bunun için herhangi bir çevrimiçi ödeme yöntemine ihtiyaç duymaz. Ancak tekrar eden ödemeler için hala bir üçüncü tarafa ihtiyaç duyuluyorsa temel faydasını kaybetmiş olur. Bunun içinde tekrar eden harcamalar için eşler arası ağ kullanımını kullanmak çözüm olarak duruyor. Ağ işlemleri sayesinde sürekli özet bir fonksiyon elde edilir ve bu sayede yapılan işi veya çevrimiçi ödemeyi zincire ekler. İşlemleri yapmak için çok büyük bir CPU’ya (İşlemci Gücü) sahip olmak gerekmektedir. CPU gücü ağa saldırmak istemeyen kişilerin elinde olacağından, ağa bir saldırı düzenlense dahi saldırı önlenebilecektir. Buraya kadar özet bir bilgi olarak Bitcoin’i anlattık. Sırada detaya girmek var. İnternet üzerinden alışveriş yapmak güvenilir üçüncü taraf bir ödeme sistemi olmadan çok zayıflık barındırmaktadır. Üçüncü taraf bir ödeme sistemini olması, alınan hizmetin bedelini arttırır ve mümkün olan en küçük ödeme işlemlerini sınırlar. Bununla alınan hizmetlerle birlikte geri döndürülemeyen ödemelerde daha yüksek maliyetlere çıkabiliyor. İşlemi geri döndürme ihtimali, karşı tarafa güveni de arttırır. Bu sayede de dolandırıcılığın ve müşterilere şüpheyle yaklaşmanın önüne geçilebilir. Bu maliyetler ve ödeme belirsizlikleri, yüzyüze alışverişlerde para kullanımı ile güvenli hale getirilebilir ve üçüncü bir taraf ödeme sistemini ortadan kaldırmış oluruz. Burada güven yerine ihtiyacımız olacak şey, iki tarafında üçüncü bir kişiye veya kuruluşa gerek duymadan işlem yapabileceği kriptografik temellere dayalı bir elektronik ödeme sistemidir. Geri döndürülmesi imkansız olan işlemlerden satıcıları böyle bir çözüm ancak kurtaracaktır. Bu yöntem ile yapılmak istenen şey, eşten eşe dağıtık bir zaman sunucusunun işlemlerini tarihsel sırasını hesaba katarak harcama problemlerine bir çözüm üretiliyor. Sistemdeki sağlıklı zincirler, saldırgan zincirlerden fazla CPU gücünü elinden bulunduracağından dolayı güvenilir olacaktır. Elektronik para bir dijital imza zinciri olarak tanımlanıyor. Paranın el değiştirmesi sırasında her kullanıcı parayı bir sonraki kullanıcıya gönderirken kendi dijital imzası ile birlikte önceki işlemin özetini (HASH) , bir sonraki kullanıcının açık anahtarını imzalar ve bu imzayı paranın sonuna ekler. Ödeme alan kişi ise zinciri doğrulamak için imzaları kontrol edebilir. Buradaki asıl problem, ödemenin alındığı zincirdeki önceki kullanıcıların bunu tekrar eden bir işlem yapıp yapmadığı olmalıdır. En çok kullanılan çözüm, merkezi bir kurum/kuruluşun, örneğin bankalar, tekrar eden bir harcama olup olmadığını kontrol etmesidir. Her işlemden sonra harcanan tutar merkeze geri döner ve yerine merkez piyasaya yeni bir para sürer. Bu nedenle de merkez tarafından doğrudan piyasaya sürülen paraların tekrar eden harcama olmadığı anlaşılır. Buradaki sorun paranın kaderinin merkezi olarak bahsettiğimiz, banka veya finansal bir kuruluşun elinde olmasından kaynaklanmaktadır. Bu sorunun üstesinden gelmek için ise gelen paranın hangi kullanıcıdan geldiğini bulmak olacaktır. Bu gibi bir durumda sadece yapılan en eski işleme önemli olmaktadır. Sonrasında yapılan işlemler bizim için önemli değildir. Bir işlemin gerçekleşmediğini kanıtlamanın tek yolu tüm işlemleri kontrol etmekten geçer. Finansal kuruluşlar merkezi bir model kullandıkları için hangi işlemin ne zaman yapıldığına karar verebilirler. Aracı bir kuruluş kullanmadan bunu başarabilmek için işlemleri açık bir şekilde göstermek gerekir. Bununla birlikte kullanıcıların işlemlere kolaylıkla ulaşacağı ve işlemleri kolaylıkla takip edecekleri bir sistem kurmak gereklidir. Her işlem sırasında alınan ödemenin tekrar etmemiş bir ödeme olduğu bu zincir tarafından onaylanacak bir sisteme ihtiyacı vardır. Önerilen çözüm için başlangıcında bir zaman damgası sunucusu kullanmamız gerekmektedir. Bir zaman damgası sunucusu damgalamayı bekleyen bir işlem bloğunun özetini alarak bu özeti gazete, Usenet gibi mecralarda yayınlar. Zaman damgassı mesajı yayınladığı anda verinin özete girdiğini anlayabiliriz. Oluşan zaman damgaları bir önceki zaman damgalarını içinde barındırarak bir zincir oluşturur ve eklenen her zincir bir önceki damgayı güçlendirir. Eşten eşe dağıtık bir zaman sunucusu uygulaması için gazete veya Usenet kullanımı yerine Adam Back’in Hashcash sistemine benzer bir iş kanıtı sistemi kullanılması daha sağlıklı olacaktır. İş kanıtının temelinde SHA-256 gibi bir özet fonksiyonununda özet çıktısının belli bir sayıda 0 biti ile başlamasını sağlayacak bir amaç değerinin aranması yatar. Ortalama gerekli olan iş yükünün özetinin hesaplanması için sınanabilen 0 bitlerin sayısı ile üssel olarak orantılı olmalıdır. Zaman damgası ağımız için iş kanıt modelini, blok özetinde istenen sayıda 0 biti ile başlayıncaya kadar blok içindeki amaç değerinin değiştirilmesi üzerine inşa ederiz. İş kanıtını CPU tüketimi gerçekleştikten sonra blok eğerki aynı işi yapmazsa değiştiremeyiz. Bu yüzden de zincire en son eklenen bloklar diğer bloklara bağlı olacağından bir bloğu değiştirmek kendisinden önce gelen bütün blokların tekrardan hesaplanmasını gerektirecektir. İş kanıtı (PoW), çoğunluk kararının temsil edilmesini de çözer. Eğer çoğunluk kararı IP adresi ile hesaplanan bir sistem olsaydı farklı birçok IP adresine sahip kişiler tarafından kötü niyetli kullanılabilirdi. İş kanıtı yöntemi ile bu CPU gücüne eşitlenmiştir. Çoğunluk kararı en fazla iş kanıtının yapıldığı en uzun zincir tarafından temsil edilir. CPU gücü, dürüst blokların elindeyse sağlıklı zincir daha uzun olacaktır. Böylelikle de saldırgan zincirleri alt edebilecektir. Saldırgan düğümlerin dürüst düğümleri alt etmesi için dürüst düğümlerden daha çok CPU gücüne ihityacı olacaktır. Artan donanım hızlarına göre iş düğümlerinin oluşması da orantılı bir şekilde daha zorlaşacaktır. Eğer çok hızlı bir şekilde bloklar üretilmeye başlandıysa buna orantılı olarak blokların zorluk seviyesi de artacaktır. Ağ oluşturma adımları: Düğümler her zaman en uzun zincirin doğru olduğunu kabul ederek bu zincir üzerinde çalışırlar. Eğer iki dürüm aynı bloğun farklı versiyonlarını aynı anda bulup yayınlarsa düğümler burada farklılık gösterebilir. Bu durumda bir düğüm kullanılırken diğer düğümü de sonra uzama ihtimaline karşı saklarlar. Bundan sonrasında ise bir sonraki iş kanıtı bulunduğunda ve dallardan birisi daha uzun hale gelmeye başladığında bozulmuş olacak ve diğer düğümler daha uzun tarafa geçmiş olacaklardır. Yeni işlemlerin tüm düğümlere ulaşması gerekmez. Yeni işlemlerin yeteri kadar düğüme ulaştıklarında çok geçmeden bir blokta yerlerini almaya başlarlar. Blok yayınları mesaj kayıplarına karşı da dayanaklıdır. Eğer bir düğüm bir bloğu alamdıysa bir sonrakini aldığında kayıop olanı farkedip istekte bulunur. İlk işlem bloğu yaratanın sahip olacağı yeni bir parayı dolaşıma çıkardığı için özel bir işlem olarak sayabiliriz. Bu düğümlerin ağı desteklemelerini teşvik eder. Aynı zamanda, para basacak merkezi bir kurum olmadığından paranın dolaşıma katılmasını da sağlar. Sabit bir miktardaki para miktarının dolaşıma girmesini piyasaya yeni altın sürmek olarak düşünebiliriz. Farklı olarak burada tüketilen şey CPU işlem gücü ve elektriktir. Teşvik işlem ücretlerinden de elde edilebilir. Bir işlemin çıktısı girdilerinden küçükse, aradaki işlem ücreti olarak işlemi ihtiva eden bloğun teşvik miktarına eklenir. önceden belirlenmiş bir miktar para piyasaya çıktıktan sonra teşvik bu çıkan para üzerinden alınır ve enflasyonda böylece sıfıra iner. Teşvik düğümlerin dürüst kalmalarını sağlar. Eğer ki saldırgan bir kullanıcı dürüst düğümlerden daha fazla işlem gücünü toplarsa bunu insanları dolandırmak için veya yeni para üretmek için kullanabilir. Oyunu kurallarına uygun oynamayı daha karlı bulmalıdır. Sistemi kandırıp kendi zenginliğinin geçerliliğini zedelemektense kurallara uyarak herkesten daha fazla para kazanabilir. Bir paranın kullanıldığı son işlem yeteri kadar bloğun altında kaldığında öncesinde harcama işlemleri saklama alanından tasarruf etmek üzere silinebilir. Bunu sağlamak içinde bloğun üzerindeki işlemlerin özeti bir Merkle ağacında tutulur ve sadece kökü bloğun özetine dahil edilir. Eski bloklar ağaç dalları budanarak sıkıştırılabilir. Ara özetlerin saklnamasına da gerek yoktur. Bir blok başlığı işlemler haricinde 80 byte uzunluğundadır. Her 10 dakikada bir yeni blok üretildiğini varsayarsak 80 x 6 x 24 x 365 = 4.2 MB/yıl eder. 2008 Yılında tipik bir bilgisayarın 2 GB Ram ile satıldığı düşünüldüğünde, Moore yasasına dayanarak senede 1.2 GB büyüme öngörüsüyle, blok başlıkları hafızada tutulsa dahi depolamada herhangi bir sorun yaşanmayacaktır. Tam bir düğüm işletmeden de ödemeleri doğrulamak mümkündür. Kullanıcı saddece en uzun iş kanıtı zincirine dahil olan blokların başlıklarının bir kopyasını saklamalıdır. En uzun zincire sahip olduğuna kanaat getirinceye kadar ağdaki düğümleri sorgulayarak bu başlıkları toplar ve işlemi damgalandığı bloğa bağlayan Merkle dalını elde eder. İşlemi kendisi doğrulayamaz ama zincirdeki bir yer ile ilişkilendirmekle bir ağ düğümünün kabul ettiğini görür. Ardından eklenen bloklar da ağın işlemi kabul ettiğini onaylarlar. Bu sebeple, doğrulama dürüst düğümler ağ kontrolünü ellerinde bulundurdukları sürece güvenilirdir. Hesaplama gücünün çoğunluğu saldırganın elindeyse daha savunmasızdır. Ağ düğümleri işlemleri kendileri doğrulayabilirken basitleştirilmiş yöntem saldırganın ağa hakim olduğu süre boyunca ürettiği sahte işlemler ile kandırılabilir. Bu soruna karşı korunma stratejilerinden biri ağ düğümlerinin geçersiz bir bloğu farkettiklerinde alarm üreterek kullanıcıdan tüm bloğu ve şüpheli işlemleri yüklemesini istemesi olabilir. Sık ödeme alan işyerleri muhtemelen güvenliklerini sağlamada daha bağımsız olmak ve daha hızlı doğrulama yapabilmek için kendi ağ düğümlerini işletmek isteyeceklerdir. Her bir parayı teker teker takip etmek mümkün olsa da havale edilecek her kuruş için ayrı ayrı işlem açmak pratik olmazdı. Değerin bölünebilmesi ve birleştirilebilmesi için işlemler birden fazla girdi ve çıktıdan oluşur. Genellikle ya önceki büyük bir işlemden gelen tek bir girdi ya da küçük miktarları birleştiren birden fazla girdi olur. En fazla da iki çıktı olur: Birisi ödeme tutarıdır, diğeri de, varsa, parayı gönderene geri dönen para üstüdür. Unutulmamalıdır ki dallanma, yani her bir işlemin birçok işleme bağlı olması ve o işlemlerin de daha da fazla işleme bağlı olmaları burada bir sorun değildir. Hiçbir zaman işlem tarihçesinin tam bir kopyasını çıkartmaya ihtiyaç yoktur. Geleneksel bankacılık modeli bilgiye erişim yetkisini ilgili taraflar ve güvenilir bir üçüncü tarafla sınırlayarak bir noktaya kadar gizliliği sağlar. Tüm işlemlerin açık şekilde ilan edilmesi ihtiyacı bu yöntemi kullanışsız bırakır ama bilgi akışını başka bir noktadan keserek hala gizlilik sağlanabilir: Açık anahtarları isimsiz tutarak. Dışarıdan birisinin bir başkasına belli bir miktar gönderdiği izlenebilir ancak işlemi kimin yaptığı bilgisi yoktur. Bu borsaların işlemlerle ilgili açıkladıkları bilgi miktarına benzer. Tek tek her alış satış işleminin zamanı ve miktarı herkesin görebileceği şekilde ilan edilir fakat tarafların kimlikleri gizlidir. İlave bir bariyer olarak, açık anahtarın sahibi ile ilişkisini gizlemek için her işlemde yeni bir anahtar çifti kullanılmalıdır. Çok girdili işlemlerde bir miktar ilişkilendirme kaçınılmazdır ve işlemin girdilerinin aynı kişiye ait olduğunu açığa çıkarırlar. Korkulan olay anahtarın sahibinin belli olması durumunda aynı kişiye ait diğer işlemlerin de açığa çıkmasıdır. Dürüst zincirden daha hızlı şekilde alterantif bir zincir oluşturmaya çalışan saldırganın senaryosunu ele alalım. Eğer bunu başarabilse bile bu olay sistemi yoktan para var etmek, ya da hiç sahip olmadığı bir parayı elde etmek gibi keyfi değişikliklere karşı savunmasız hale getirmez. Düğümler geçersiz bir işlemi ödeme olarak kabul etmeyeceklerdir. Dürüst düğümler de bu işlemleri barındıran blokları asla kabul etmeyeceklerdir. Dürüst zincir ile saldırgan arasındaki yarışı Binom Rastgele Yürüyüş şeklinde tariflemek mümkündür. Başarılı olma durumu dürüst zincirin bir blok uzamasıdır ve +1 puan öne geçirir. Başarısızlık durumu da saldırganın zincirini bir blok uzatmasıdır ve aradaki farkı -1 puan kadar azaltır. Saldırganın belirli bir gecikme farkını kapatabilme olasılığını Kumarbazın İflası problemine benzetebiliriz. Sınırsız krediye sahip bir kumarbazın bir borç ile oyuna başladığını ve başabaş noktasına gelebilmek için sonsuz sayıda deneme yapabileceğini varsayalım. Kumarbazın beraberliğe ulaşma olasılığını ya da saldırganın dürüst zinciri yakalama olasılığını şöyle hesaplayabiliriz p > q varsayımıyla, saldırganın yakalamak zorunda kaldığı blok sayısı arttıkça olasılık üssel olarak azalır. Kendi dezavantajına işleyen olasılıklar karşısında eğer en başlarda şanslı bir dizi hamle yapamazsa daha da geride kaldıkça kazanma ihtimali yok denecek kadar azalır. Şimdi de yeni bir işlemdeki alacaklının, gönderenin işlemi değiştiremeyeceğinden emin olana dek ne kadar beklemesi gerektiğini ele alalım. Gönderenin alıcıyı para ödediğine bir süreliğine inandırmak isteyen ve bir süre sonra işlemi paranın kendisine geri dönmesi için değiştirmeyi planlayan bir saldırgan olduğunu varsayıyoruz. Bu olay olduğunda alıcı haberdar olacaktır. Ama saldırgan bunun için çok geç olmasını ümit eder. Alıcı yeni bir çift anahtar üreterek açık anahtarı imzalamadan hemen önce gönderene iletir. Bu şekilde göndericinin önceden bir blok zinciri hazırlaması ve üzerinde çalışarak öne geçtiği şanslı anında işlemi gerçekleştirmesi engellenir. İşlem gönderildiğinde kötü niyetli gönderici gizlice işlemin farklı bir versiyonunu içeren paralel bir zincir üretmek için çalışmaya koyulur. Alıcı işlemin bir bloğa eklenmesini ve ardından bloğa z blok daha bağlanmasını bekler. Saldırganın tam olarak ne kadar ilerleme kaydedebildiğini bilmiyordur ama dürüst blokların ortalama beklenen zamanda üretildiklerini varsayarsak saldırganın potansiyel ilerleme miktarı beklenen değere göre Poisson dağılımı olur. Sonuç olarak ise, güvene dayalı olmayan bir elektronik transfer sistemi önerdik. Dijital imzalardan oluşan sıradan bir para sistemi modeliyle başladık. Bu sistem sahipliği düzgün bir şekilde kontol edebiliyordu ancak çifte harcama problemini engellemediğinden eksikti. Bunu çözmek için iş kanıtını işlem tarihçesini kaydetmek için kullanan eşten-eşe bir ağ önerdik. Bu tarihçeyi bir saldırganın değiştirmesi işlem gücünün çoğunluğu dürüst düğümlerde olduğu sürece neredeyse imkansızdır. Ağ kendi yapılandırılmamış basitliği içinde sağlamdır. Düğümler aynı anda çok az eşgüdüm ile çalışır. Kimlik doğrulamasına gerek yoktur çünkü mesajlar belirli bir yere doğru yönlendilmezler ve sadece diğer düğümlerin ellerinden geldiğince dağıtılır. Düğümler dilediklerinde ağdan ayrılabilirler ve tekrar katılabilirler. İş kanıtı zincirini kendileri ağda yokken olan bitenin kanıtı olarak kabul ederler. İşlem güçleri oranında oy kullanırlar, geçerli bloklar üzerinde çalışarak ve uzamalarını sağlayarak kabul ettiklerini, üzerinde çalışmayarak da reddettiklerini ifade etmiş olurlar. İhtiyaç duyulan tüm kurallar ve teşvikler bu uzlaşma mekanizması ile empoze edilebilir. ## Publication Information - [awedGnu5](https://paragraph.com/@awedgnu5/): Publication homepage - [All Posts](https://paragraph.com/@awedgnu5/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@awedgnu5): Subscribe to updates