İçeriğe geç
32:52

Bitcoin Hangi Problemi Nasıl Çözüyor? Bölüm 1

32:52 0 izlenme YouTube'da aç

Birbirine güvenmeyen ve merkezi bir otoritesi bulunmayan binlerce bilgisayar, aynı veri üzerinde nasıl %100 uzlaşıya varabilir? Bitcoin ve Blockchain teknolojisinin arkasındaki bilgisayar bilimleri mucizesini keşfetmeye hazır mısınız?

Bu videoda; bilgisayar bilimlerinin en klasik ve çözülmesi en zor problemlerinden biri olan İki General Problemi ile başlıyor, ağdaki hainlere rağmen güvenliği sağlayan Bizans Generalleri Problemi'ne geçiyoruz. Merkeziyetsiz sistemlerin en büyük tehditlerinden biri olan Sybil (Klon/Kimlik) Saldırıları'nın mantığını inceliyor; dağıtık sistemlerin neden deterministik (kesin) değil, probabilistik (olasılıksal) bir mutabakat mekanizmasına ihtiyaç duyduğunu matematiksel ve mantıksal çerçevede masaya yatırıyoruz.

Sadece kripto para dünyasını değil, modern dağıtık sistem mimarisini ve geleceğin ağ yapılarını anlamak isteyenler için derinlemesine bir rehber!

Videonun Amacı

Bitcoin genellikle fiyat hareketleri ve parasal niteliği üzerinden tartışılıyor. Bu videoda ise işin teknik tarafı ele alınıyor: Bitcoin'in arkasındaki blockchain teknolojisi tam olarak hangi problemi çözüyor, bu problem neden daha önce çözülememişti ve mekanizma nasıl işliyor? Anlatım, sayısal altyapısı olmayan birinin de takip edebileceği, tarihsel bir sırayla ilerliyor.

Konu görünüşte iktisadi olsa da çözüm bilgisayar bilimleri ve matematik alanından geliyor.

Ortada hiçbir merkezi yapı olmadan milyonlarca insan birbirine para gönderecekler. Birbirlerinin defterlerini tutacaklar. Ama merkezi bir yer bunu kaydetmeyecek. Bu güvenilirlik nasıl sağlanır?Bölüm 01:38

Merkezi Defterden Dağıtık Deftere

Bir köy düşünelim: bakkalın bir defteri var, köydeki herkesin borç-alacak kaydı bu tek defterde tutuluyor. Merkez Bankası, bankalar ve para transferleri de aynı mantıkla çalışır; tüm kayıtlar merkezdeki defterde durur.

Bu yapı güveni sağlar ama tek bir noktaya bağımlıdır:

  • Merkezdeki tek bir hata tüm işlemleri bozabilir
  • Kayıtlar silinebilir, yok olabilir veya yanlış işlenebilir
  • Sistemin tamamı tek bir aktörün doğruluğuna emanettir

Merkezi kaldırıp herkesin kendi defterini tuttuğu dağıtık sisteme geçtiğimizde ise yeni sorunlar doğar:

  1. Herkesin defteri nasıl aynı anda senkron kalacak?
  2. Biri defterine sahte kayıt yazarsa bunu kim doğrulayacak?
  3. İki defter çeliştiğinde taraflar nasıl anlaşacak?

Karışıklık yalnızca kötü niyetten değil, sıradan hatalardan da kaynaklanabilir.

Konsensüs (Mutabakat) Nedir?

Bu problemi çözmek için konsensüs algoritmaları geliştiriliyor. Konsensüs, yani mutabakat, üç şart gerektirir:

  • Uzlaşma: Herkesin kayıtların ne olduğu konusunda ortak fikre varması
  • Geçerlilik: Deftere yalnızca belirli formatta (alıcı, satıcı, miktar, tarih, açıklama) geçerli kayıtların girebilmesi
  • Sonluluk: Tartışmanın bir noktada bitip "defterin son hali budur" denebilmesi

Analoji: 10 kişilik bir arkadaş grubu akşam nerede yemek yiyeceğine karar verecek. WhatsApp grubu varsa merkez vardır, herkes herkesin oyunu görür, güven %100 sağlanır. Grup yoksa ve herkes birbiriyle ayrı ayrı mesajlaşıyorsa sistem dağıtıktır. Üstelik birinin interneti yavaştır, biri bodrum katındadır, mesajlar geç gider geç gelir. Kaotik bir tablo çıkar ama yine de saat 6'ya kadar karar verilmesi gerekir.

İki General Problemi

İki general birbirini görmüyor, sadece ulakla haberleşebiliyor ve şehre aynı anda saldırmaları gerekiyor.

  1. Birinci general "şafakta saldıralım" mesajını gönderir, ama mesajın ulaştığından emin olamaz
  2. İkinci general "mesajını aldım, okey" der; bu kez o, onayının ulaşıp ulaşmadığından emin olamaz
  3. "Okeyini aldım" mesajı gönderilir; aynı belirsizlik yine devam eder
  4. Bu döngü sonsuza kadar sürebilir

Mesaj sayısı arttıkça kesinlik %50'den %70'e, oradan %98'e çıkar; fakat asla %100 olmaz. Bir noktada taraflar yüksek olasılıkla yetinip harekete geçmek zorundadır.

Doğrudan birbiriyle iletişimi olmayan, bir mesaj kanalı vasıtasıyla iletişimi olan iki kişi hiçbir zaman %100 kesinlikte bilgi gönderemezler.Bölüm 12:05

Günlük hayattaki karşılığı: SMS ile "akşam 6'da buluşuyoruz" yazarsınız, cevap gelmez. Meşgul müdür, mesaj gitmemiş midir, görüp onaylama ihtiyacı mı duymamıştır? Emin olmak mümkün değildir.

Bizans Generalleri Problemi

Bu kez 5 general bir şehri kuşatmış durumda ve ya hep birlikte saldıracaklar ya da hep birlikte çekilecekler. Bir kısmı saldırıp bir kısmı çekilirse ordu bertaraf olur; verilebilecek en kötü karar budur.

Herkes dürüstse oy çokluğu işe yarar: dört "saldır", bir "geri çekil" oyu varsa tüm generaller saldırı kararına ulaşır.

Ama aralarında hain varsa iş değişir. Hain, grubun bir kısmına "saldır", bir kısmına "geri çekil" der; kendi sabit bir fikri yoktur, amacı kuvveti bölmektir. İki hain olduğunda oylar dengelenir, dürüst generaller tereddütte kalır ve ordu dağılır.

Aynı durum komutan–teğmen kurgusuyla da anlatılabilir: komutan "saldır" der, hain teğmen diğerine "komutan bana geri çekil dedi" der. Dürüst teğmen ulakta mı hata var, ortada hain mi var ayırt edemez.

Problemin matematiksel sonucu şu formüldür:

N ≥ 3h + 1

Yani 1 hain varsa sistemde en az 4 dürüst düğüm gerekir.

Hainler sistemin 1/3'ünden fazlaysa güven kesinlikle tesis edilemez.Bölüm 21:02

Blockchain'in teknik dokümanlarında sürekli karşımıza çıkan "1/3" oranının kaynağı budur.

FLP İmkansızlığı (1985)

Asenkron sistem, mesajların farklı zamanlarda, farklı uzaklıklardan, herhangi bir takvim olmadan geldiği sistemdir. Dağıtık mimariler doğası gereği asenkrondur.

FLP teoremi şunu matematiksel olarak ispatlar:

Bir tane düğümün çökmesi deterministik karar almayı imkansız kılar.Bölüm 22:41

Deterministik karar demek kesin karar, 0 veya 1, evet veya hayır demektir. Asenkron bir ağda tek bir düğüm çöktüğü anda yalnızca probabilistik, yani olasılıksal karar alınabilir.

Telefon analojisi: karşı taraftan ses gelmiyor. Hat mı koptu, mikrofonu mu bozuldu, adam mı susuyor? Biraz daha bekleyebilirsiniz, ama beklemenin sınırını kesin olarak bilemezsiniz. Süre uzadıkça güven derecesi olasılıksal olarak azalır.

Sonuç: dağıtık sistemler hiçbir zaman kesinliğe ulaşamaz, her zaman olasılıkla çalışır.

Konsensüs Algoritmaları ve PBFT

1999'da geliştirilen PBFT (Practical Byzantine Fault Tolerance), üç turlu oylama yöntemiyle mutabakat sağlar. Temel kural yine aynıdır: hain sayısı 1/3 ve altındaysa sistem yüksek olasılıkla (%90-98 bandında) konsensüse ulaştırılabilir.

Ancak burada kritik bir kısıt vardır: bu problemlerin tamamı kapalı devre sistemler için tanımlanmıştır.

  • Oyuncu sayısı bellidir
  • Kimin katıldığı bellidir
  • 1/3 hesabı sabit bir tabana göre yapılabilir

Açık internette ise durum tamamen farklıdır: her an yeni bir düğüm girer, çıkar, offline olur, elektriği kesilir. Sürekli bir dinamizm vardır ve 1/3 oranını sabitlemek mümkün değildir.

Sybil Saldırısı

Adını çoklu kişilik bozukluğu olan bir hastadan alır; kendini farklı zamanlarda 11 ayrı kişilik gibi yaşayan bu vaka, tek bir aktörün çok sayıda kimliğe bürünmesini iyi anlatır.

Açık bir sistemde saldırı şöyle işler:

  1. Sisteme giriş maliyeti düşüktür
  2. Saldırgan çok sayıda düğüm, sunucu veya bilgisayarı sisteme sokar
  3. Hain oranı hızla 1/3'ü aşar
  4. Sistem artık mutabakata erişemez

Analoji: internete açık "yılın en iyi öğretmeni" anketi. Bir kişi 100 tane mail hesabı açıp 100 oy kullanabilir; 10 dakikalık geçici e-posta siteleriyle bu maliyet neredeyse sıfırdır. Biraz zaman ve kaynak ayıran biri sonucu doğrudan manipüle eder.

Bitcoin'in Çözümü: Proof of Work

Madencilerin çok enerji harcaması, çok elektrik tüketmesi ve ağır algoritmik işlemler yapması tesadüf değil. Bunun adı proof of work ve varlık sebebi doğrudan Sybil saldırısıdır.

Sisteme giriş maliyetini yükseltmek istemiş Bitcoin ki Sybil atağına uğramasın.Bölüm 31:30

Sisteme saldırmak isteyen birinin yapması gerekenler:

  • Çok pahalı madencilik makineleri satın almak
  • Bu makineleri kurmak ve işletmek
  • Tüm ağın harcadığı elektriğin 1/3'ünden fazlasını harcamak

Bu maliyet milyarlarca doları bulduğu ve karşılığında elde edilecek kazanç bunu karşılamadığı için saldırı ekonomik olarak mantıksız hale gelir. Bitcoin, Sybil problemini kriptografiyle değil ekonomik maliyetle çözer.

Özet ve Sonraki Adım

Blockchain'in çözmesi gereken iki işi vardır:

  1. Sybil saldırısını engellemek
  2. Hızlı ve güvenilir bir konsensüs algoritması kurmak

Bu videoda problemler tanımlandı. Hash algoritmaları, kriptografinin nasıl kullanıldığı ve proof of work'ün detayları bir sonraki videoda ele alınacak.