Merkezden nasıl kurtuluruz?

Cem Say Y
Merkezden nasıl kurtuluruz?

Son yıllarda ekonomi haberlerinin izleyicileri “kriptopara”larla ve bu yeni para cinsinin en ünlü örneği olan “Bitcoin” ile karşı karşıya geldiler. Herhalde çoğu kişinin bu gerçekten karmaşık kavramı ilk seferde anlamadığını söylemek yanlış olmaz. Kriptoparaların nasıl çalıştığını açıklamak için üstüne kuruldukları devrimci bilgisayar bilimi fikrinin, yani “blok zinciri”nin ne olduğunu anlatmak gerek, o da tek yazıda olacak iş değil. Yeni bir yazı dizisine hoş geldiniz!

Sanırım en kolayı, blok zincirinin çözmeyi amaçladığı sorunun ne olduğunu ortaya koyarak başlamak. Önemli bilgilerin (sözgelimi kimin kime ne kadar para havale ettiğine ilişkin kayıtların, tapu sicillerinin, vatandaşların farklı hastanelerde yaptırdıkları tahlil sonuçlarının, vs.) tutulduğu bir kütük (bilgisayarcılıktaki deyimiyle, “veri tabanı”) düşünün. Bu veri tabanının kimin kontrolünde olduğu çok önemli, değil mi? Ali Veli’ye 1000 TL havale gönderdiğini, Veli ise bu parayı almadığını iddia ederse kimin haklı olduğu Ali veya Veli’nin defterlerine değil, bankadaki merkezî kayda bakılarak anlaşılıyor. Peki ya bu merkezî merciyi aradan kaldırmak istiyorsak?

“Bunu neden isteyelim?” mi dediniz? Bir dizi nedenimiz olabilir: Bilgi güç demektir, bilginin tek muteber kopyasına sahip bir aracının bu gücü haksız şekilde kullanması (mesela bankanın havale edilen paradan “nakil ücreti” adında büyük bir kesinti yapması, veya yolsuzluğa batmış bir iktidarın yönettiği hayali bir ülkede yaşıyorsanız bir sabah uyandığınızda tapu kayıtlarıyla oynandığını ve evinizin bir yandaşın malı olarak göründüğünü görüvermeniz) ihtimalinden kaygılanıyor olabilirsiniz. Peki ama bu veriler “merkezde” tutulmazsa nerede tutulacak?


Her yerde! Daha doğrusu, dünyanın her köşesinde, birbirini tanımayan kişilere ait on binlerce bilgisayarda! Böylece kötü kalpli bir müdahalecinin verinin tek kopyasını değiştirerek indireceği bir darbeden kurtulabiliriz. O kadar bilgisayarın hepsini birden ele geçirecek halleri yok ya bu kötülerin! Yapılan her yeni işlem, kütüğe eklenen her yeni kayıt, işlemi yapan kişinin bilgisayarından diğer tüm bilgisayarlara duyurulsun, her bilgisayar kendi kütük kopyasını güncellesin. Teknik adıyla bir “eş düzeyliler ağı” olan bu düzende herkes bilgilerini herkesle paylaşır (aslında, herkes duyduğu her şeyi komşularına söyler, o komşular da kendi komşularına...), yani ha bire her yönde iletişim olur, merkezi yok etmek için ödediğimiz bedel budur. Ama bir dakika, o zaman karşımıza başka bir dizi sorun çıkıyor:

Kimi hassas bilgilerimizi, örneğin bankada ne kadar paramız olduğunu tüm bu bilgisayarların sahibi olan yabancıların görmesini ister miyiz?

Kötü niyetli kişilerin müdahalesiyle, veya kütüğe yasal değişiklikler (mesela yeni havaleler) yapıldığına ilişkin mesajların iletişim koşulları nedeniyle değişik bilgisayarlara değişik sırada ulaşmasından ötürü farklı bilgisayarlarda kütüğün farklı kopyaları oluşursa işin tadı kaçmaz mı? Bu çok sayıda bağımsız bilgisayarda tutulan veri tabanlarının tıpatıp aynı içerikte olmasını nasıl garanti edeceğiz? Merkeze güvenmiyorsak bu bilgisayarların hiç tanımadığımız sahiplerine neden güvenelim?

Zaten birbirini tanımayan on binlerce kişi neden tüm bu zahmete girsin ki? Başka işleri yok mu?

Sırayla bu problemlerin çarelerini ele alacağız.

Birinci sorun, açık anahtarlı şifrelemeyle çözülüyor: Her kullanıcının bir (herkese duyurduğu) “açık”, bir de (kimselere söylemediği) “gizli” anahtarı oluyor. (Bu anahtarları kolayca üretebildiğiniz iki sayı olarak düşünün.) Gizli anahtar, bu iş için geliştirilmiş özel bir program aracılığıyla, istenen herhangi bir metni “imzalamak” (yani o metnin altına sadece sizin üretmiş olabileceğiniz bir başka metin eklemek) için kullanılıyor. En ünlü blok zinciri uygulaması olan Bitcoin ağındaki diğer kişiler sizin adınızı değil, açık anahtarınızı biliyorlar örneğin. Açık anahtarınız, başka bir program yardımıyla, sizin imzalamış olduğunuz iddia edilen bir metni kontrol etmek için kullanılabiliyor. Bir açık anahtar, sadece kendisine karşılık gelen gizli anahtarla imzalanmış bir metni onaylayabiliyor, başka imzalarla karşılaştığında alarm veriyor. Böylece hem gerçek kimliğinizi gizli tutabiliyor, hem de “Açık anahtarı filanca olan kişiye kendi hesabımdan 10 Bitcoin yolluyorum” gibi mesajları (gizli anahtarınızı bilmeyenlerce) sahtesi yapılamaz şekilde imzalayıp duyurabiliyorsunuz.

Devamı haftaya!

Cem Say / sayster@gmail.com

*Bu yazı HBT'nin 145. sayısında yayınlanmıştır.

Cem Say

1987'den beri Boğaziçi Üniversitesi Bilgisayar Mühendisliği Bölümü'nde çalışıyor. Çalışmaları Yapay Zeka ve Kuramsal Bilgisayar Bilimi üzerine. Sahte dijital deliller üzerine incelemeleri var. Bilimkurgu, uzay yolculuğu, seçim hileleri ve başka bir çok konuya da meraklı.