İçeriğe geç
32:52

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

32:52 YouTube'da aç

00:00Selamünaleyküm. Rabbi yessir ve la tuassir. Rabbi tenvin bilhar. Allah'ım zorlaştırma, kolaylaştır, işlerimi hayırla sonuçlandır.

00:10Bugünkü videoda blockchain ve Bitcoin üzerine bazı konuşmalar yapacağım. Çünkü Bitcoin genel olarak parasal niteliği bakımından, borsadaki fiyat hareketliliği bakımından vesaire bu tarz

00:23yönlerinden, iktisadi yönlerinden çokça tartışılıyor, konuşuluyor, biliniyor.

00:29Fakat işin teknik kısmından veya normal paraya göre Bitcoin aslında nasıl bir devrim yarattı? İçerisinde nasıl bir teknoloji var? Ve bu teknoloji neden daha önce yoktu? Tam olarak neyi

00:42çözüyor? Nasıl çözüyor? Buna dair açıklayıcı ama herkesin de anlayabileceği bir video yapma kararı aldım. Bu videoda aslında Bitcoin'in çalışma mantığını arkasındaki esas teknoloji olan blockchain'in nasıl

00:56çalıştığını, hangi sorunları çözdüğünü, nasıl bir mekanizmaya sahip olduğunu [homurdanır] herkesin anlayabileceği bir dilde aşırı teknik detaya kaçmadan sayısalcı birisinin rahatlıkla aa demek

01:09ki problem buymuş, bunu çözüyormuş, faydası buymuş. Olay da demek ki bu şekildeymiş diye tüm kavramları anlayabileceği tarihi bir şekilde anlatacağım bir video olacak. Aslında burada eee bilgisayar bilimleri denilen

01:23işte computer science diye de geçen bilim dalının yani bilgisayardaki bu algoritmalar, yazılımlar eee bunun üzerine t önceden beri makaleleri var, çalışmaları var. Matematikle de iç içe geçen bir konu bu. Çünkü burada aslında

01:38problem şu. Ortada hiçbir merkezi yapı olmadan milyonlarca insan birbirine para gönderecekler. Birbirlerinin defterlerini tutacaklar. Ekonomik hareketlilik yapacaklar ama merkezi bir

01:51yer bunu kaydetmeyecek. Bu güvenilirlik nasıl sağlanır? Bu aslında iktisadi bir soru gibi gözükse de bilgisayar bilimlileri ve matematiğin konu alanına giriyor ve buralardan zaten çözümler

02:04çıkmış durumda. İmkansız gibi görünen bu problemi blockchain ve Bitcoin birleşerek çözdüler. Biz de burada aslında önce problemi tanımlayacağız.

02:13Daha sonra da nasıl çözüldüğünü aşama anlatacağız. Şimdi öncelikle mesela bir köy düşünelim.

02:21Burada bir bakkal olsun değil mi? Bakkal nesi vardır? Şu da defteri olsun.

02:28Şimdi bakkalın bir defteri vardır. D olsun ismi. Köyde bir sürü eee insanlar var. Köyde bir sürü kişi var. Böyle insanlar var.

02:42Şimdi normalde ne oluyor? Bu insanlar tüm defterlerini, tüm kayıtlarını merkezi bir yer olan bakkalda tutuyorlar. Yani bakkal aslında kimin bana ne kadar borcu var, benim kime ne

02:55kadar borcum var? Merkezi bir yerde bunu tutabiliyor. Bunu farklı örneklerle de anlatabiliriz. Devletler içer içinde mesela Merkez Bankası bu kayıtları tutuyor veya bankalar içinde biz tüm

03:08para transferlerimizi bankalar üzerinden yapıyoruz. Birilerine parayı bankadan gönderiyoruz. Maaşımızı oradan alıyoruz vesaire. Tüm bu kayıtlar nerede tutuluyor? Bankanın merkezindeki defterde tutuluyor. Aslında böyle bir

03:21analoji yapabiliriz. Dolayısıyla merkezi bir yerden bir defter tutma durumu var ve bu güveni genel olarak sağlıyor. Ama hataya açık bir sistem. Neden? Tek bir merkeze bağlıyız. Merkezdeki herhangi

03:34bir hata tüm bu işlemlerin yanlış olmasına veya yok olmasına, silinmesine çeşitli problemlere sebep olabilir.

03:44Çünkü tek bir merkezde olduğu için. Peki biz bu merkezi dağıtmak istersek nasıl olacak? Yani ben merkezin bu hata yapma olasılığına karşı merkezi kaldırmak

03:59istiyorum. O zaman ne yapabilirim?

04:01Merkezi kaldıracağım. Merkez olmasın. O zaman bu defterlerin birilerinde durması lazım. O zaman dedik ki herkes kendi defterine sahip olsun. Herkes kendi defterini kendisi tutsun. Dağıtık sistem bu demek. Yani herhangi bir merkezi

04:14olmayacak. Herkes kendi defterini kendisi tutacak. Ben Ahmet'ten Ali'ye işte para gönderdim. Defterlerini herkes işleyecek. Tamam da herkesin defteri nasıl aynı senkronlukta olacak? Veya ben defterime herkes bana işte Ahmet bana

04:28100 lira verdi, Veli bana 100 lira verdi, Ayşe bana 100 lira verdi diye sahte kayıtlar da yazabilirim. Daha sonra bunu kim doğrulayacak? Ayşe geldiğinde aa benim defterimde bu yazmıyor. Sen senin defterinde benim sana borcum yazıyor ama bende yazmıyor

04:43deyip nasıl anlaşacaklar? Herkes kendi dfterini tutsun. dağıtık olsun, merkezde olmasın. Tamam ama burada bir güvenilirlik sorunu var ve karışıklık çıkma ihtimali var. Bu karışıklık kötü niyetten de kaynaklanıyor olabilir. E

04:56herhangi birisinin yaptığı hatadan kaynaklanıyor da olabilir. Bu problem nasıl çözülecek? Aslında temelde problemin tanımı bu. Dağıtık sistemlerdeki bilgi güvenliği, herkesin eşit bilgiye sahip olması, herkesin

05:10senkron bilgiye sahip olması nasıl çözülebilir? Bunun için konsensus algoritmaları geliştiriliyor. Konsensüs dediğimiz şey nedir? Mutabakattır aslında.

05:24Konsensus yani mutabakat. Bunun için ne gerekiyor? Bir kere uzlaşma gerekiyor.

05:38Yani herkes diyecek ki, eee, bu kayıt defterlerimize olduğu konusunda uzlaşıyoruz. Yani bir ortak fikir birliğine varmaları lazım ki herkesin defterinde aynı kayıtlar olabilsin.

05:50Geçerlilik yani defterde saçma sapan şeyler, kimisi işte resim çizer, kimisi şarkı sözü yazar, öyle şeyler değil kardeşim. Bu defter sadece ticari kayıtlar için kullanılacak. Geçerli bir kayıt ve bu kayıt formatı şu şekilde olacak. alıcı,

06:04satıcı, miktar, tarih ve e gönderim açıklaması gibi bir format. Sadece bu formatta yazılır. Dolayısıyla geçerli olup olmadığı eee sadece geçerli şeyler, kayıtlar bu defterlerde yer alabilmeli

06:17ve sonlu olması yani bitebilmesi gerekiyor. Bu da şu demek. Hepimiz şimdi aynı kayıtlar üzerinde uzlaşmamız gerekiyor. Ya uzlaşmak için konuşmamız gerekiyor. Eee birbirlerin birbirimizde sende bu var mı, bende bu var mı dememiz

06:31gerekiyor. Ama bir noktada da karar vermemiz lazım. Yani defterin final halini tamam burada anlaştık artık dememiz lazım. Yıllarca, yüzyıllarca bu karar vermeden devam etmemeli bir noktada. Tamam defterin son hali budur,

06:41kayıtlar budur, karar verdik şeklinde.

06:44Eee sonunu bitebilmesi lazım bu kararların. Değilse hep askıda kalır, hep havada kalır. Defter hiçbir zaman stabil duruma geçemez. Şey gibi düşünebiliriz. Bir analiz yapacak olursak mesela bir WhatsApp'tan arkadaşlarla biz 10 kişilik bir grubuz.

06:56Bir eee yemeğe gideceğiz. Normalde bir grubumuz olsaydı merkezi bir yer oluyor değil mi? grup WhatsApp grubunda merkezi bir yer oluyor. Eee gruptan yazıyoruz arkadaşlar yemeğe hangi restorana gidelim? Balık restoranına mı gidelim?

07:09Et restoranına mı gidelim diye soruyoruz. Mesela merkezden grupta herkes birbirinin yazdığını gördüğü için tıpkı bakkal örneğindeki gibi, tıpkı banka örneğindeki gibi güvenilirlik %100 sağlanabiliyor. Herkes oyunu veriyor.

07:20Herkes ortak gruptan görüyor. İşte et restoranına gidiyoruz. Peki grubumuz yoksa ama 10 tane de arkadaşsak yani herkes birbiriyle özel olarak mesajlaşacak. Böyle bir durumda yani dağıtık sistem olmuş oluyor. Merkezde bir grubumuz yok. Herkes birbiriyle

07:34bağımsız mesajlaşabilir ve farklı zamanlarda ve istediği zamanlarda mesajlaşabilir. E bu durumda biz hangi restorana gideceğimize nasıl karar vereceğiz? Buradaki sonlu bitebilmesi demek yani bizim bu akşam bu restorana gitmemiz lazım. Böyle yani bu

07:49karar verme aşaması günlerce, haftalarca hatta yıllarca sürmemesi lazım. Bu akşama kadar en geç saat 6'ya kadar akşam bu kararın verilmesi gerekiyor.

07:58Sonluğu demek o demek. geçerlilik demek.

08:00Yani bu konu üzerinde fikir beyan edilmesi lazım. Gidip arkadaşlar konsere ha nereye gidiyoruz değil yani şu an biz bu akşama kadar bir an önce hangi restoranda yemek yiyeceğimize karar vermemiz lazım. O yüzden geçerli mesajlaşmalar yapmamız gerekiyor.

08:12Uzlaşmada en son bir noktada da çoğunluğun kararına göre de bir uzlaşma yaşamamız gerekiyor. İşte böyle bir analoji ile durumu anlayabiliriz. Bu arkadaş grubu mesajlaşarak nasıl doğru sonuca güvenilir bir şekilde ulaşabilir?

08:26Problem bu aslında. Bu arkadaş grubunda bir de şey düşünün. İşte interneti yavaş olan, e işte dağlık bir bölgede şu an olan veya işte internetin çekmediği bir bodrum katında olan, orada çalışan bir arkadaş düşünün. İş yerine internetin e

08:39zar zor çektiği, onun mesajı geç gidiyor, geç geliyor. Bu tarz problemleri de hesaba kattığımızda tam bir kaotik durum söz konusu. Bu arkadaşların bir şekilde güvenilir bir şekilde uzlaşmasını sağlamamız lazım.

08:49Çözmemiz gereken problem bu.

08:51Blockchain'in Bitcoin'in de çözdüğü problem bu aslında. Şimdi bu problemi parçalara bölelim. Yavaş yavaş ilerlemeye çalışalım. İki general problemi denilen bir problem var.

09:04Şimdi bu iki general probleminde olay şu.

09:10İki tane generalimiz var.

09:14Birbirlerini görmüyorlar. Sadece eee ulakla birbirlerine mesaj gönderebiliyorlar. Şimdi böyle bir durumda bir karar almaları gerekiyor.

09:24İkisi de şehre aynı anda saldırmaları gerekiyor. Bunun için de ortak hareket etmeleri gerekiyor. İşte şafakta mı saldıracağız, akşam mı saldıracağız, öğlen mi saldıracağız? Yani bunun bir kararının verilmesi gerekiyor. Bu iki

09:37general acaba güvenilir bir şekilde nasıl mesajlaşabilirler?

09:42E problemin tanımı bu. Şimdi mesela bu generalimiz mesaj gönderir. Örneğin Şafak'ta saldıralım.

09:52Tamam. Eee mesajı gönderdi ama mesajın gidip gitmediğinden hiçbir zaman emin olamaz. Değil mi? Acaba yolda başına bir şey mi geldi? Ulan eee mesaj doğru gitti mi? Ya da yolda belki düşmanlar tarafından adamım öldürüldü veya mesajı

10:06değiştirildi. Farklı bir mesaja çevrildi. Bundan bundan hep şüphe duyacak. Hiçbir zaman kesin emin olamayacak mesajın ulaşıp ulaşmadığına.

10:13Peki tamam. O zaman mesajın oluşup oluşmadığından emin olması için buradaki arkadaş buna bir mesaj daha yollasın.

10:20Mesajını aldım.

10:23Okey desin mesela. Yani şafakta saldıracağının mesajını aldım. Okey desin. Bu sefer de bu arkadaş acaba benim eee bu okeyleme mesajımı diğer general aldı mı? Yolda ulağın başına bir şey geldi mi? İşte yolda şey kesildi mi?

10:37Yani çünkü okeyi almadıysa bu sefer bu arkadaş tam emin olamayacağı için yine saldırmayabilir. Çünkü bu arkadaşın saldırması için karşıdan okey mesajının gelmesini beklediğini biliyor ya değil mi? O zaman mesela bu arkadaş okeyini

10:51aldım sorun yok atsın. Okeyini aldım.

10:56Okey.

10:58Bu sefer yine bu mesajın tam olarak gidip gitmediğinden emin olamayacak. Bu da okeyini aldım. Okeyi aldıktan sonra saldırırım ben. Sorun yok diye düşündü.

11:05düşünüyorsa mesela aralarında böyle anlaştılarsa gitmeden önce bu sefer bu mesaj kesin geldi mi gitti mi o belli değil. Bu sefer onu tekrar okeyini aldım. Okeyini aldım.

11:19Okey. Ya bu sonsuza kadar bu şekilde gidebilir ve hiçbir zaman iki generalde tam olarak %100 bir şekilde karşının mesajı alıp almadığına emin olamıyor.

11:29Yani buradaki problemin tanımı şu. %100 bir şekilde kesin eminim karşısı mesajı aldı. Şafak'ta %100 saldırıyoruz.

11:36Buradaki kesinliğin %100 olması yani eee ikinciden sonra 3üncü 5 6 7 mesaj 8 mesajdan sonra artık bir sürü mesajlar gidip gelmiş. Ya dersin ki demek ki ha mesaj gidip gelmesinde çok problem

11:50olmuyor. Çünkü 3 4 5 defa bayağı mesaj yolladık birbirimize. Demek ki iletişimde problem yok. %98 eee biz birbirimizin mesajını alabiliyoruz ve sorun yok deyip saldırabilirler. Bakın ama %98 hiçbir zaman %100 değildir. Her zaman

12:03ihtimaldir. Bu problemin tanımı şudur.

12:05Doğ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. Mesaj sayısı arttıkça olasılığı artar. Mesela bir mesajda sadece şu mesajda mesela

12:19olasılık %50 iken bir okey mesajı geldiğinde %70'e çıkarır. Birkaç defa daha yaptıklarında %98'lere doğru olasılık çıkar ama hiçbir zaman %100 olmaz. E problemin tanımı bu. Yani yine WhatsApp üzerinden gidecek olursak

12:32arkadaşınıza mesela yazıyorsunuz.

12:35WhatsApp yokken eskiden SMS'lerle yazılıyordu. Mesela yazıyorsun akşam 6'da buluşuyoruz planladığımız gibi.

12:42Sorun yok. Eee değil mi yazıyorsun karşıdaki cevap vermiyor. Şimdi burada ne düşünebilirsin? Ya yoğun olduğu için cevap vermemiş olabilir. Mesaj gitmemiş olabilir. Görmüş ama eee okeylememe ihtiyacı hissetmemiş olabilir. Emin

12:54olamıyorsun değil mi? Bu sefer evet yazıyor mesela ama senin onu görüp görmediğinden yine emin olamaz.

13:00Muhtemelen gördüğünü düşünüyordur. SMS'e güvendiği için öyle düşünüyordur ama sen hala onu görmemiş olabilirsin. Yani e mantık aynı. Hiçbir zaman %100 bir eminlikte olamayız. Her zaman bir olasılığa razı olmak zorundayız. Yüksek

13:14bir olasılık olabilir bu ama günün sonunda bu bir olasılıktır. Şimdi bir problem daha var.

13:20O da Bizans generalleri problemi denilen bir problemimiz daha var. Şimdi buradaki problem şu. Bir sürü Bizans generali olduğunu 5 tane mesela general

13:35var diye düşünelim. Ortada da bir şehir var.

13:39Bu Bizans generalleri bu şehri kuşatmışlar. Şehrin surları var vesaire.

13:47Şimdi bunların eee bir karar vermesi gerekiyor. Şehre saldıralım mı yoksa geri mi çekilelim? Yani uzlaşarak bir karar vermeleri gerekiyor. Aynı kararı da uygulamaları gerekiyor. Eğer bir kısmı saldırırsa, bir kısmı geri

14:00çekilirse ordu bertaraf olur.

14:02Verebilecek en kötü karar budur. En yanlış karar da budur. Dolayısıyla herkes uzlaşıyla ya saldıracaklar ya geri çekilecekler. Toplu şekilde bunu nasıl yapabilirler? Yine birleriyle sadece e ulaklar vasıtasıyla eee haberleşme yapabiliyorlar. Aynı mantık

14:17buralarda da devam ediyor.

14:22Acaba bu konsensusa nasıl varabilirler ve aralarında hainler varsa acaba ne olur? Kaç tane haine bu sistem direnebilir? Bu problemin çözmeye çalıştığı şey bu. Şimdi düşünelim.

14:37Mesela herkesin bir kendi kararı var değil mi burada? Eee, öncelikle onları yazalım. Mesela bu saldır diyor. Örneğin kendi kararı bu. Yani bunun saldır desin, bu, saldır desin.

14:50Bu da saldır desin. Bu geri çekil desin mesela.

14:54Değil mi? Normalde yani herkese diğer dört generalden mesaj gelecek. Herkesin elinde diğer dört generalden gelen mesaj olacak. Değil mi? Buna gelen mesajlar ne olacak? Saldır. Saldır. Bakın buradan saldır geldi. Buradan saldır geldi. Bir

15:09saldırı daha geldi. Öbüründen de geri çekil mesajı geldi. Bunun elindeki mesajlar böyle. Hepsinin elindeki mesajları yazalım. Bu saldır geldi.

15:17Saldır saldır geri çekil geldi. Aynı mesajlar. Bu saldır saldır saldır geri çekil. Bu saldır saldır saldır geri çekil. Bu saldır saldır saldır saldır.

15:28Diğerlerinden saldır geldi. Kendi kararı da geri çekildi. Şimdi hepsi oy çopuna göre kararını verecek. Bakıyor. O saldırmamız gerekiyor. Oy çotuna göre bakıyor. Kendi kararına dahil ediyor.

15:37Beş tane oy var. Saldırmam gerekiyor.

15:39Saldırmam gerekiyor. Hepsi bakın saldırması gerektiğini anlıyorlar ve şehre saldırıyorlar. Tamam. Buraya kadar sorun yok. Peki şöyle bir durumda ne olur diyor. Bu problemin tanımlamaya

15:53çalıştığı şey de bu. Ben bazı generalleri hain yaparsam mesela bu iki general hain olsun. Hain ne yapar?

16:03hain grubun bir kısmına saldır der. Bir kısmına geri çekil der. Böylece ordunun bir kısmına saldırıp bir kısmını geri çekerek kuvveti böler ve ordunun dağılmasına yol açar. Hainin yapacağı

16:15şey budur. Peki diyorlar ki kaç tane hain olursa sistem dayanabilir? Şimdi öncelikle mesela hain eee senaryosunu da biz bu yaptığımız örnekte inceleyelim.

16:27Bu hain dolayısıyla bir kısmına saldır diyecek. Bir kısmına da geri çekil diyecek.

16:33eee 4 tane kişiye mesaj attığı için şu ikisini eee mesela geri çekil desin.

16:40Şunlar kalsın ama bunlara da saldır desin mesela. Buna saldır buna da saldır dedi. Değil mi? Değiştirdi fikrini.

16:47Çünkü yarısına öyle yarısına böyle dedi.

16:49Kendi fikri yok. Duruma göre bakacak.

16:52Peki bu arkadaş eee ne yapıyor? Bu da aynısını yapacak. Normalde kendi fikri artık yok. E saldır diyordu buna. saldır demiş olsun. Buna saldır demiş olsun ama

17:03bunlara da geri çekil demiş olsun.

17:13Şimdi ne oldu bu? Baktı iki tane geri çekili var. 3 tane saldırı var. Allah Allah. Biraz arada kaldı. Oy çokluğu gibi düşünüyor ama eee geri çekilme şeyi de fazla. Şimdi bu bakıyor. Aynı şekilde geri çekil. Bu full saldırma modunda.

17:25Yani herkes saldırı demiş. Harika diyor.

17:27Tam orduları hazırlıyor. Bu ikisi de duruma göre bakılar. Mesela geri çekiliyor. Bu bu kendisi. Bu da geri çekiliyor. Ordu dağılıyor görüldüğü gibi. Ya burada bu problemin tanımladığı

17:38şey şu. Ben kaç tane haine karşı hala doğru karar, güvenilir karar bu şekilde arada kalmalı değil de daha konsensüa dayalı eee güvenilir bir karar verebilirim. Şu şekilde de bir analoji

17:53kuruluyor buna.

17:56İşte komutan var ve iki tane de teymeni var. Komutan eee bir karar alacak.

18:04Teymenlere kararı verecek. Teymenler de kendi arasında konuşuyorlar değil mi?

18:11Şimdi bu sistem diyor ki eğer teymenin bir tanesi hainse mesela komutan ne dedi? Diyelim ki saldır saldır emrini verdi. Ama bu teymen buna

18:25diyor ki komutan bana geri çekil dedi diyor.

18:33Komutan bana geri çekil dedi diyor buna.

18:38E bu diyor ki Allah komutan saldır dedi bana ama diğer teymen geri çekil dediğini diyor. Acaba aradaki ulak mı hata yaptı yoksa bir hain mi var? Bir şey mi var? Yani tereddütte kalacak. Eee

18:51tam olarak doğru kararı veremeyecek değil mi? Mesela bunu şeye çevirelim.

18:59Eee yine 5'e çevirelim. 4 teymen e bir komutan gibi düşünebiliriz. Yine bir tane mesela hain olsun. Şimdi bu bu

19:09arkadaşa diğerlerinden gelen haber ne?

19:14Saldırı gelecek şu arkadaştan. Diğer dürüst arkadaştan da saldırı gelecek.

19:17Bir tanesinden de hain arkadaştan da geri çekil diye bir şey gelecek. Bu diyecek ki Allah komutan saldır diyor ama bir tane geri çekil haberi geldi.

19:25Eee acaba o ulakta mı problem var? Yani saldır haberinin çokluğuna göre bu diyecek ki ha bir tanesinde sadece geri çekiliyor. Demek ki onun ulağı problemli. E veya onan haber yanlış gitti. Sorun yok. Çoğunluk saldırı dediğine göre ben galiba e saldıracağım

19:40diye düşünebilir. Yani bu bir güven derecesi. Bir tane daha geri çekili olsaydı ama burada iki saldırı iki geri çekili olsaydı e örneğin bir tane daha hain olsaydı bu sefer ne olacaktı? Eee tereddütte kalacaktı değil mi? İki saldır iki geri

19:54çekil. Aa acaba bir problem mi var?

19:57Şimdi komutandan böyle geldi. Diğer arkadaşlar komutanın böyle söylediğini söylüyor. Eee hiçbir zaman emin olamayacaktı. çok tereddütte kalmış olacaktı. İşte bu eee [boğazını temizler] Bizans generalleri

20:08problemi matematiksel olarak şu formülü üretti.

20:14N> = 3h + 1. Şimdi bu ne demektir? Bu şu demek.

20:22H hain sayısı benim bu formüle göre yani güvenilir bir sistem kurabilmem için en azından olasılıksal olarak kesinlik zaten hiçbir zaman olmadığını söylemiştik ama olasılıksal olarak yüksek oranda

20:36güvenilir bir sistem kurabilmem için hain sayısını şuraya yazıyoruz. Mesela bir hainin olduğu sistemde 3 x 1 + 1 kaç yapıyor? 4 eee dör tane dürüst adama

20:48ihtiyacım var demek oluyor. Yani kısacası şöyle de söylüyor. Hainler sistemin 1/3'ünden fazlaysa

21:02güven kesinlikle tesis edilemez.

21:07Formülün söylediği şey bu. O yüzden eee tüm bu blockchain eee teknik dokümanlarında her yerde bu tarz güvene dayalı bu bu problemlerde dağıtık sistemlerde 1/3 ibaresini göreceğiz.

21:18Çünkü 1/3 hain varsa güven tesis edilemiyor. Bu 1/3'ü matematiksel olarak bu Bizans generalleri probleminden bulunmuş bir oran. Şimdi bir diğer

21:33konseptimize geçiyoruz.

21:38PLP imkansızlığı denilen bir kuramı ortaya attılar 1985'te.

21:46Bu ne demek? Bu aslında matematiksel olarak bir şeyin ispatı. O da şu.

21:51Asenkron bir a'da asenkron a ne demek?

21:54Üstten örnek verelim. Şimdi ben birbirimle eee sürekli mesajlaşıyorum ya. Bunlar hep birbirleriyle aslında mesajlaşıyorlar. Birbirlerine mesaj gönderiyorlar.

22:04eee dağıtık sistemlerde böyle olur değil mi? Herkes birbirine e her şekilde mesajlarını gönderir.

22:11Şimdi böyle asenkron demek de şu ya herkes farklı zamanlarda çünkü uzaklıkları farklı aralarındaki mesajın gideceği zaman farklı, mesajı tam gönderme zamanları farklı, asenkron yani senkron hareket etmiyorlar. Farklı zamanlarda farklı uzaklıklara mesajlar

22:24göndermeye çalışıyorlar. Farklı zamanlarda geliyor dolayısıyla mesajlar.

22:28Bu FLP teoremi diyor ki bu tarz asenkron bir sistemde bir tane düğümün çökmesi düğüm dediği işte bir general veya bir insan veya sistemdeki [homurdanır] dağıtık e mimarideki bir sunucu, bir

22:41oyuncu düğüm denilen şey bu oluyor. Bir tane düğümün çökmesi deterministik karar almayı imkansız kılar. Şimdi bu ne demek? Deterministik eee karar ne demek?

22:54Yani deterministik karar demek kesin karar demek. 0 ve 1 demek. Evet ve hayır demek. Tam demek. Doğru demek. Yani ben asenkron bir sistemdeysem bir düğüm çöktüğü anda artık deterministik karar alamıyorum. Probabilistik yani

23:08olasılıksal karar alabilirim yalnızca.

23:11Çünkü şöyle bir şey var. Şimdi bu bir düğüm olsun.

23:15Bu da bir düğüm olsun.

23:17Şimdi asenkron olduğu için bir zaman kıstası bir sınırım yok değil mi? Bu mesaj bir saniyede de gidebilir, bir günde de gidebilir, bir yılda da teknik olarak gidebilir. Şimdi ben şöyle düşünürsem işte telefon açtık. Analoji

23:30yapacak olursak konuşuyoruz, konuşuyoruz. Telefonda ben konuşuyorum, konuşuyorum işte mesajı yolluyorum, yolluyorum değil mi?

23:36Konuşmam. Karşı tarafa mesaj yollamak.

23:37Yolluyorum, yolluyorum, yolluyorum karşıdan çıt çıkmıyor. Konuşmuyor abi adam. Adamdan ses alamıyorum. Bir süre sonra derim ki Allah hat mı koptu? Adama mı bir şey oldu? Mikrofonu mu bozuldu?

23:49Bir problem mi var? şey yapamam. Emin olamamaya başlarım değil mi? Bir süre sonra karşıdan bana haber gelmeye başlamayınca. Dolayısıyla süre arttıkça eee benim güven derecem olasılıksal olarak azalır karşıya. Yani bilgimin

24:04karşıya gidip gitmediğine emin olamam.

24:06Ya işte biraz daha bekleyeyim belki cevap gelir. Biraz daha bekliyorum mesela cevap verir belki diye. Biraz daha bekliyorum. Biraz daha bekliyorum.

24:12Yani bu beklemenin sınırı ne? Nerede beklersem cevap gelecek kadar beklemiş olurum?

24:18Bunu hiçbir zaman deterministik olarak, kesin olarak bilemem, değil mi?

24:22Deterministik demek şu demek işte. E mesela saat 13.30'da bana cevap geleceğini biliyorum. Yani belirli olması demek bir şeyin belirli olması, kesin olması yani eee bir plan dahilinde olması, bir bir takvim dahilinde olması,

24:36bir zaman çizelgesinin olması anlamına geliyor. Determistik olması burada olasılıksal. Biraz daha beklesem cevap gelebilir. Evet, gelmeye debilir ama yani hiçbir zaman bundan emin olamam.

24:46İşte FLP imkansızlığı bunu söylüyor.

24:49Dağıtık sistemde bir düğüm bile sorun yaşasa, çökse e ulaşılamasa ona deterministik

25:02hesaplama imkansızdır.

25:08Her şey olasılık hesabına döner diyor. Matematiksel olarak bunun ispatları var. işte ispatını yapıyor. Daha sonrasında bizim buradan anlayacağımız şey şu. Bizim sistemimizde dağıtık bir sistem olduğu için bu

25:23şekilde ve mesajlar asenkron olduğu için farklı zamanlarda belli bir çizelge dahilinde olmadığı için herkes mesaj geldiğinde başkasına yayınlıyor mesajı.

25:31Farklı zamanlarda, farklı uzaklıklarda dünyanın farklı yerlerindeki farklı internet hızlarında bu oluyor. O zaman asenkron bir ağdayız. E bir düğüm bile bir internet problemi yaşasa, bir offline olsa, bir elektrikleri gitse,

25:43bir şey olsa demek ki benim sistemim deterministik olamaz. Yani bu tarz dağıtık sistemler eee bir çizelge, bir takvime, bir kesinliğe asla ulaşamaz.

25:52Her zaman olasılıksal hareket ederler ve her zaman eee sonuç olasılıksaldır. Bunu matematiksel olarak ifade eden bir teorem bu. Şimdi gelelim konsensus algoritmalarına.

26:04Konsensus neydi? Fikir birliğine bak.

26:07Varma, uzlaşı sağlama. Şimdi bu problemleri çözmeye çalışan çeşitli algoritmalardan bahsedeceğiz. Buna PBFT denilen 1999'da bir çözüm bulal failure tolerant diye

26:20bir e algoritma. Bu temelde burada da şu 1/3 ve daha az hain varsa sistemi ben mutabakata bağlayabiliyorum

26:34dedi. Bunu da üç turlu oylama algoritması denilen bir şeyle yaptı. Şimdi algoritmanın çok detaylarına gerek yok. Yani şunu dedi.

26:44Hala 1/3 kuralı geçerli. Bu tüm algoritmalarda geçerli. 1/3 ve daha az hain varsa ben bir şekilde yüksek olasılıkta işte 95 neyse 98 90 üzeri eee olasılıklarda

26:58mutabakatı sağlıyorum. Konsensusa vardırıyorum dedi. Tamam. Peki ama şöyle bir problemimiz var. Bizim burada tanımladığımız tüm problemler kapalı devre sistemler. Yani oyuncu sayısı

27:11belli. Ne diyoruz? İşte 7 kişinin olduğu bir ortamda iki kişi hainse filan. Yani kişi sayısı belli, ortam belli, her şey belli. Yani sistem kapalı devre. Peki açık internette nasıl olacak bu?

27:26Her an bir düğüm sisteme katılabilir, çıkabilir.

27:38Tamamen serbest ortam değil mi? Açık internet. Ben bu algoritmamı internete açtığım zaman dağıtık mimari yeni bir cüzdan açılır.

27:48Yeni bir düğüm hemen girer çıkar. Yani 5 kişi var, 7 kişi var. Şu an sistemde.

27:51İşte 500.000 kişi var. 1 milyon madenci var. Madenciler de bir düğümdür. İşte bu dağıtık sistemdeki her bir oyuncu aslında bir düğüm olmuş oluyor.

28:00İstenilen kadar düğüm girer, çıkar, offline olur, elektriği gider. Yani sürekli dinamizm var, değil mi? Hep bir dinamizm var. Ben 1/3'ü geldi mi çıktı mı ya onu hesap etme onu şey yapma. eee sağlama tüm algoritmamı ona göre yazma

28:13şansım yok. Açık internette ben eee bu şeyi nasıl çözeceğim? Şimdi burada bir zaten önce atak eee tanımı var. Önce onu tanımlayalım. Cible attack denilen bir atak türü var. Cle demek ya cible

28:27bir psikolojik hastanın ismi.

28:30Bu hasta çoklu kişilik bozukluğuna sahipmiş. kendisini 11 farklı çeşit kişi gibi çeşitli zamanlarda eee rol alıyor.

28:38Yani role play gibi yapıyor ama bu kendi hissediyor bunu. Sürekli karakter değiştiriyor. Yani bir çok iyi biri oluyor, bir çok kötü biri oluyor, bir çok neşeli biri oluyor. Yani bambaşka insanlara eee evriliyor her gün gibi.

28:50Buna dair filmler vardı. Glass diye bir film vardı veya işte 46 yok olan diye de bir dizi vardı. Orada da adam iki farklı karaktere bürünüyordu. İşte gündüz farklı, akşam farklı falan gibi.

28:59İzlediyseniz bilirsiniz. Yani sibil hata şu demek aslında. Buradan geliyor ismi bu farklı karakterlerden.

29:04Abi internete açık sistem bu. Doğru. O zaman ben yeterince serbest değil mi? İstediğim kadar hemen düğün bulurum, sunucu bulurum, eee işte bilgisayar bulurum, bir şey bulurum.

29:18yeterince fazla yani sisteme giriş maliyeti düşük olduğundan yeterince fazla düğüm ile sisteme girip

29:321/3 hain çokluğuna hemen ulaşır.

29:42sistemin mutabakata, konsensusa erişmesini engelleyebilirim.

29:51Atağın olayı bu. Bu atak temelde bunu söylüyor. Sisteme giriş maliyetim eee çok düşük veya ben bir sürü bilgisayar sistemde 100 bilgisayar var değil mi? Ben hemen 50 tane bilgisayar

30:05bulup sisteme sokup, açık internet değilim ya, e maliyetim de düşük, 50 tane bilgisayar bulup hemen sisteme sokup hain sayısına 1/3 hain sayısından fazla olabildiğim için sistemin artık konsensüa erişmesini, mutabakata erişmesini engelleyebiliyorum. Buna

30:18sivil hata deniliyor. Şey gibi düşünebiliriz. Şimdi analoji vermemiz gerekirse yine mesela işte yılın en iyi öğretmeni anketi yapılıyor arkadaşlar.

30:25Herkes oy versin. İnternete açık bir anket yapılıyor. Hemen ne yapılıyor?

30:29İşte bu Tesla falan da hangi ile Tesla süper Chararjer kuralım diye bir anket yayınlamıştı mesela. Bu tarz online anketlerde Türkler ne yapıyor? Yani sadece mail hesap açıp hemen oy verebiliyorsun ya. Bir kişi 100 tane mail açıp 100 tane oy kullanabiliyor.

30:42İşte bu civil atak. Yani normalde senin bir oy kullanman lazım. Ama sisteme giriş maliyeti o kadar düşük ki hatta işte 10 dakikalık geçici email siteleri falan var değil mi? Oradan bir email alıyorsun hemen kaydolup oy veriyorsun.

30:54Bizdekiler işte yüzlerce bir kişi yüzlerce binlerce oy verebiliyor.

30:58Ayıracağı vakte göre değişir. Bu sivil hata. Sisteme girmek kolay. Herhangi bir maliyeti yok. Birazcık zaman ayırarak, birazcık kaynak ayırarak sistemi direkt manipüle edebiliyorum ve bozabiliyorum.

31:08Bunun analojisi bu. Buna sivil hatağı deniliyor. Bizim bu dağıtık sistemlerde bu sivil atağını da çözmemiz gerekiyor.

31:14Ve eee Bitcoin bu sivil atağına karşı mesela madencilik. Bu madenciler ne yapıyor? Çok fazla enerji harcıyor diyoruz değil mi? çok elektrik tüketiyor. Çok fazla böyle algoritmik işlemler yapıyor. Bu neden var? Buna proof of work deniliyor. Bu neden var?

31:28Aslında ön bilgi veriyorum şu anda.

31:30Proof of work deniliyor. Bu neden oluyor? Çünkü sisteme giriş maliyetini yükseltmek istemiş Bitcoin ki sivil atağına uğramasın. Yani sibil atağını böyle çözüyor. Senin sistemin 1/3 hain çokanna ulaşabilmen için bir sürü eee

31:42çok pahalı Bitcoin madencilik makinelerından alman lazım. Onlardan kurman lazım. Ve yetmiyor. Elektrik harcaman gerekiyor. Sistemin, tüm sistemin harcadığı elektriğin 1/3'ünden daha fazlasını senin harcaman gerekiyor.

31:55Bu zaten milyarlarca dolar yaptığı için ama karşılığında o kadar fazla bir şey alamayacağın eee için feible olmamaya başlıyor. Sibil hatağını da bu şekilde engellemiş oluyor Bitcoin. Bu videoyu burada sonlandırmış olalım çok uzamaması

32:09için. Eee, aslında temel bilgi problemi, dağıtık sistemlerdeki olasılıksal problemler bunlar. Bitcoin'in şimdi bunlara ve blockchain'i bunlara çözümleri bir sonraki eee, videoda

32:22verebiliriz. İşte burada e hash algoritmaları, kriptografi nasıl kullanılıyor?

32:28İşte demin bahsettiğim, ön bilgi verdiğim proof of work algoritmalarıyla sibil atakları nasıl engelleniyor?

32:33Burada olay şu. Sibil hatağını engelleyeceksin. Bir de hızlı bir konsensusa varma, mutabakata varma algoritması geliştireceksin ve bunu güvenilir bir şekilde inşa edeceksin. Bu problemi bu şekilde çözüyor blockchain e

32:47ve Bitcoin. Diğer videolarda da bunlara değiniriz. Teşekkür ederim. Yeah.