Wei Dai's b-money (Turkish)

Translated in Turkish from http://www.weidai.com/bmoney.txt by Yunus Emre Özbucak (https://www.linkedin.com/in/yunusozbucak/)

Tim May'in kripto-anarşi anlayışı beni büyülüyor. "Anarşi" kelimesiyle geleneksel olarak ilişkilendirilen toplulukların aksine, kripto-anarşide hükümet geçici olarak yok edilmez; kalıcı olarak yasaklanır ve kalıcı olarak gereksiz hale getirilir. Bu, şiddet tehdidinin etkisiz olduğu bir topluluğun var olması için gerekli ortamın zeminini hazırlar; çünkü katılımcılar gerçek isimleriyle ya da fiziksel konumlarıyla ilişkilendirilemeyeceği için şiddet uygulanması imkânsızdır.

Şimdiye kadar teorik olarak dahi böyle bir topluluğun nasıl faaliyet gösterebileceği kanıtlanamamıştır. Bir topluluk, üyelerinin desteği ile hayat bulur ve sözleşmeleri uygulamak için bir değişim aracına (para) ihtiyaç duyar. Geleneksel olarak bu hizmetler hükümetler ya da sadece hükümet tarafından desteklenmiş ve yasal instütüler veya yasal merciler tarafından sağlanmıştır. Bu makalede, bu hizmetlerin takip edilemeyen varlıklara ve hangi varlıklar tarafından sağlanabileceği bir protokolü anlatacağım.

Aslında iki protokol anlatacağım. İlki pratik değildir çünkü eşzamanlı ve takibi mümkün olmayan bir anonim yayın kanalı için ortalamanın üstünde güç harcar. Ancak daha pratik olan ikinci protokolün önü açıktır. Her iki durumda da göndericilere ve alıcılara sadece dijital takma adlar (açık anahtarlar gibi) tanımlandığı ve her mesajın göndericisi tarafından imzalandığı ve alıcısına şifrelendiği izlenemez bir ağın varlığını aktaracağım.

İlk protokolde, her üye dijital takma ada ait ne kadar para olduğuna dair (farklı) bir veritabanına sahiptir. Bu hesaplar toplu olarak paranın varlığını ve sahipliğini doğrulamakta olup bu hesapların nasıl güncellendiği bu protokolün ana konusudur.

  1. Paranın üretilmesi. Herkes daha önce çözülmemiş bir hesaplama probleminin çözümünü yayınlayarak kendi para birimini üretebilir. Tek şart, problemi çözmek için ne kadar bilgisayar gücü harcandığını belirleme işleminin kolay olması ve çözümün başka türlü pratik ya da entelektüel herhangi bir değere sahip olmaması. Üretilen varlığın birim miktarı, hesaplama gücünün toplam maliyeti baz alınarak belirlenir. Örneğin, bir problemi en ekonomik şekilde çözen bilgisayarda çözmek 100 saat sürüyorsa ve bu bilgisayarda 100 saatlik işlem süresi açık piyasada 3 standart sepet (değer birimi) karşılığında satın alınabiliyorsa, o zaman bu problemin çözümü yayınlandığında herkes, yayınlayanın hesabına 3 birim kredi yazar.

  2. Para transferi. Alice (K_A takma adın sahibi) Bob'a (K_B takma adının sahibi) X birim para transfer etmek isterse, K_A tarafından imzalanmış “K_B'ye X birim para veriyorum” mesajını herkesle paylaşır. Bu mesajın yayınlanmasının ardından, herkes K_A'nın hesabını X birim borçlandırır ve K_B'nin hesabını X birim alacaklandırır, ancak bu durum K_A'nın hesabında negatif bakiye oluşturması durumunda mesaj dikkate alınmaz.

  3. Sözleşmelerin yürürlüğe girmesi. Geçerli bir sözleşme, sözleşmeye taraf olan her bir üye için gecikme durumunda maksimum tazminat tutarını içermelidir. Ayrıca, bir anlaşmazlık olması durumunda tahkimi gerçekleştirecek bir taraf da bulunmalıdır. Hakem de dahil olmak üzere bir sözleşmenin tüm tarafları, sözleşme yürürlüğe girmeden önce imzalarını yayınlamalıdır. Sözleşmenin ve tüm imzaların yayınlanmasının ardından, her üye kendi maksimum tazminat tutarı kadar her bir tarafın hesabını borçlandırır ve maksimum tazminat tutarı kadar sözleşmenin güvenli bir hash'i ile tanımlanan özel bir hesabı alacaklandırır. Borçlar her bir taraf için negatif bakiyeye ulaşılmadan başarıyla kapatılırsa sözleşme geçerli olur, aksi takdirde sözleşme feshedilir ve açılan hesaplar kapatılır. Örnek bir sözleşme şöyle görünebilir:

    K_A, K_B'ye P probleminin çözümünü 0:0:0 1/1/2000 tarihinden önce göndermeyi kabul eder. K_B, 0:0:0 1/1/2000 tarihinden önce K_A'ya 100 PB (Para Birimi) ödemeyi kabul eder. K_C anlaşmazlık durumunda tahkim yapmayı kabul eder. K_A temerrüt halinde en fazla 1.000 PB ödemeyi kabul eder. K_B temerrüt halinde azami 200 PB ödemeyi kabul eder. K_C temerrüt halinde azami 500 PB ödemeyi kabul eder.

  4. Sözleşmelerin sonuçlandırılması. Bir sözleşme anlaşmazlıkla sonuçlanırsa, her bir taraf imzalı bir mesaj yayınlar “SHA-1 hash H ile sözleşme tazminatsız sonuçlanmıştır.” veya muhtemelen “SHA-1 hash H ile sözleşme aşağıdaki tazminatlarla sonuçlanmıştır: ...” Tüm imzaların şeffaflıkla yayınlanmasının ardından üyeler, her bir tarafın hesabını maksimum tazminat tutarı kadar alacaklandırır, sözleşme hesabını kapatır, ardından varsa tazminat planına göre tarafların hesabını alacaklandırır veya borçlandırır.

  5. Sözleşmelerin uygulanabilirliği. Bir sözleşmenin tarafları hakemin yardımıyla bile uygun bir sonuç üzerinde anlaşamazlarsa, taraflardan her biri önerilen bir tazminat/ceza tutarlarını ve kendi lehine olan argümanları veya kanıtları yayınlar. Her bir üye nihai tazminat ve/veya para cezasına ilişkin bir karar verir ve mevzubahis hesapları buna göre günceller.

    İkinci protokolde, kimin ne kadar parası olduğuna dair hesaplar herkes yerine üyelerin bir alt kümesi (artık sunucu olarak adlandırılan) tarafından tutulur. Bu sunucular Usenet-tarzı bir yayın kanalı ile birbirine bağlıdır. Bu kanalda yayınlanan işlem mesajlarının formatı ilk protokolde olduğu gibi aynı kalır ancak her işlemin etkilenen üyeleri, mesajın sunucuların rastgele seçilen bir alt kümesi tarafından alındığını ve başarıyla işlendiğini doğrulamalıdır.

    Sunuculara bir dereceye kadar güvenilmesi gerektiğinden, yapıyı sağlam tutmak için bazı güvenlik mekanizmalarına ihtiyaç vardır. Her sunucu suistimalin tespit edilmesi durumunda potansiyel para cezası veya ödül amaçlı kullanılmak üzere özel bir hesaba belirli bir miktar para gönderilmesini talep edecek. Ayrıca, her sunucu periyodik olarak mevcut para üretimlerini ve para sahiplik veritabanlarını yayınlamalı ve taahhüt etmelidir. Her üye kendi hesap bakiyelerinin doğru olduğunu ve hesap bakiyelerinin toplamının basılan toplam para miktarından fazla olmadığını doğrulamalıdır. Bu şekilde tam bir gizli anlaşma içinde olsalar bile sunucuların para arzını kalıcı ve maliyetsiz bir şekilde genişletmesi engellenir. Yeni sunucular da mevcut sunucularla senkronize olmak için yayınlanan veri tabanlarını kullanabilir.

Bu makalede önerilen protokol, izlenemeyen anonim varlıkların birbirleriyle daha verimli bir şekilde iş birliği yapmalarına olanak tanıyarak onlara bir değişim aracı ve sözleşmeleri uygulama yöntemi sunmaktadır. Protokol muhtemelen daha verimli ve güvenli hale getirilebilir ancak bunun kripto-anarşisini teorik olduğu kadar pratik bir olasılık haline getirmeye yönelik bir adım olmasını umuyorum.


Appendix A: Alternatif b-money basım modeli

B-money protokolünün en sorunlu kısımlarından biri basım sürecidir. Protokolün bu kısmı, tüm hesap sahiplerinin belirli hesaplamaların maliyetine karar vermesini ve üzerinde anlaşmasını gerektirir. Ne yazık ki bilgi işlem teknolojisi hızla ilerleme eğiliminde olduğundan ve her zaman kamuya açık olmadığından, yanlış hesaplamalar olabilir veya zamanla güncelliğini yitirmiş olabilir, tüm bunlar protokol için ciddi sorunlara neden olur.

Bu nedenle hesap sahiplerinin (ilk protokolde herkes, ikinci protokolde sunucular) bunun yerine her dönem basılacak b-money miktarına karar verip anlaştığı ve bu parayı basmanın maliyetinin bir açık artırma ile belirlendiği alternatif bir para basım alt protokolü öneriyorum. Her para basım dönemi aşağıdaki gibi dört aşamaya ayrılır:

  1. Planlama. Hesap sahipleri bir sonraki dönem için para arzında en uygun artışı belirlemek üzere hesaplama yapar ve birbirleriyle müzakere ederler. Hesap sahipleri bir uzlaşmaya varabilsinler ya da varamasınlar, her biri kendi para basım kotasını ve miktarını desteklemek için yapılan makroekonomik hesaplamaları yayınlar.

  2. Teklif verme. B-money yaratmak isteyen herkes <x, y> şeklinde bir teklif yayınlar; burada x basmak istediği b-money miktarı, y ise önceden belirlenmiş bir problem kümesindeki çözülmemiş bir problemdir. Bu sınıftaki her bir problemin kamunun üzerinde anlaştığı nominal bir maliyeti (örneğin MIPS-yıl cinsinden) olmalıdır.

  3. Hesaplama. Teklifleri gördükten sonra, teklif verme aşamasında teklif yapan kişiler artık teklif ettikleri problemleri çözebilir ve çözümleri yayınlayabilir.

  4. Para basımı. Her hesap sahibi, (gerçekten çözüm yayınlayanlar arasından) birim b-money başına nominal maliyet açısından en yüksek teklifleri kabul eder ve teklif sahiplerinin hesaplarına buna göre kredi yazar.


Düzenli olarak sosyal medya hesaplarımdan yaptığım paylaşımlarımı okumak için beni Linkedln, X (Twitter) ve Medium üzerinden takip edebilirsiniz!