Blockchain Nedir ve Merkeziyetsizlik Neden Önemlidir?

Murat Can Bastug
9 min readMar 8, 2022

--

Blockchain teknolojisinin ne olduğuna geçmeden önce bu teknolojiye neden ihtiyaç duyduğumuzu konuşmakta fayda olduğunu düşünüyorum. Bu sebeple, ilk olarak Web’in geçmişten günümüze aldığı yolu hızlı bir şekilde inceleyeceğiz.

Web’in Kısa Tarihi

Web3.0

Genelde Web’in tarihiyle ilgili internette bir arama yaptığımızda yandakine benzer bir görüntü bizi karşılıyor. Peki Web nedir ve bu görsel ne anlatmaya çalışmaktadır?

Web, World Wide Web (dünya çapında ağ) ya da www kavramı CERN’de bilgisayar programcısı olarak çalışan Tim Berbers-Lee’nin ‘HTML’ dilini geliştirmesiyle ortaya çıkmıştır. Web ile internet kavramları birbirine karıştırılmamalıdır.

🔸Web İnternet üzerinde çalışan bir servistir.

🔸İnternet bilgisayarların birbirine bağlanmasını sağlar.

Web, internet alt yapısı üzerinde yayınlanan hiper-metin dosyalarından (sadece yazıdan ibaret olmayan, fotoğraf, animasyon gibi çeşitli içerikler içerebilen dosyalar) oluşan bir bilgi sistemidir.

Kabaca bir kişinin İnternet üzerinde bir adresi (IP) satın alması ve bu adrese çeşitli içerikler yüklemesi ve kullanıcın da arama motoru adı verilen bilgisayar programları kullanarak bu adrese giderek bu içerikleri görmesi şeklinde çalışır. Bu adresleri (IP) telefon numarası gibi düşünebilirsiniz. Ne kadar arama motorlarımıza huchain.com gibi alan adları vererek arama yapsak da aslında bu alan adlarının bir IP karşılıkları vardır ve arama motorumuz bu IP adreslerine giderek ilgili içerikleri bize getirirler. Örneğin ;

Alan Adı IP Adresi

abc.com 13.56.11.120

vyz.com 168.32.45.11

Bugün İnternet’in standartları Tim Berbers-Lee’nin başkanı olduğu W3C (World Wide Web Consortium) tarafından belirlenir.

WorldWideWeb Around Wikipedia
Şekil 1 WorldWideWeb Around Wikipedia

Web 1.0 (1991–2004)

Web 1.0
Şekil 2 Web 1.0

Web’in ilk ve en ilkel dönemine karşılık gelen Web 1.0’da Web sadece okunur dosyalardan oluşmaktaydı ve kullanıcıların çoğu sadece içerik tüketicisiydi. Şekilde gördüğümüz gibi bir kişi bir içerik oluşturur ve diğer kullanıcılar bu içeriğin olduğu bilgisayara bağlanarak bu içeriği görebilirlerdi. Tek yönlü bir bilgi akışı vardı ve kullanıcılar herhangi bir yorum yapma ya da içerik ekleme imkanına sahip değildi.

Web 2.0 (2004 — günümüz)

Web 2.0’da, Web 1.0’da olduğu gibi tek bir merkezle bağlantı kuran kullanıcılar farklı olarak ulaştıkları içeriğe yorum yapma ve yeni içerikler oluşturma imkanı kazanmışlardır. Bu şekilde Web günümüzde kullandığımız sosyal ağ haline bürünmüştür. Bu sayede bilginin yayılma hızı ve bilgiye ulaşma hızı artmıştır. Bu avantajla birlikte ortaya bilgi kirliliği gibi bir dezavantaj da çıkmıştır.

Günümüzde Youtube’ta bir video oluşturmamız, Instagram’da bir fotoğrafa yorum yapmamız ya da Wikipedia’da bir içerik oluşturmamız Web 2.0’a örnek olarak verilebilir.

Web 3.0

WEB2 vs WEB3
Şekil 3 WEB2 vs WEB3

Web3’ün detaylarına girmeden önce bu ifadenin bazı durumlarda 1999’da Tim Berners-Lee tarafından ortaya atılan semantik web kavramıyla karıştırıldığını belirtmekte fayda görüyorum. Semantik web yani anlamsal ağ, kabaca bir bilgisayarın da insanlar gibi web üzerindeki içerikleri okuyup anlayabilmesinin ve hatta işleyebilmesinin mümkün olmasını ifade eder. Bu alanda çalışmalar olsa da henüz net bir sonuç alınamamıştır. Ayrıca yapılabilirliği ve mahremiyet üzerindeki olumsuz etkileri üzerine tartışmalar devam etmektedir.

Web3’e dönecek olursak Web 2.0 ve 1.0’ın aksine tek bir merkez üzerinden bağlantı kurma zorunluluğunun olmamasıyla öne çıkmaktadır. Kişiler arası bilgi akışı bir merkezden geçmeden doğrudan kişiden kişiye (peer to peer) yapılabilir. Merkeziyetsizlik kavramı da tam olarak burada doğmuştur. Peki merkeziyetsizliğin avantajları nelerdir? Üzerinde durulduğu kadar önemli midir?

Avantajları

Gizlilik ve Özgürlük: Verinin akış sırasında hiçbir merkezi yapıdan geçmemesi kişisel verilerin gizliliğini sağlarken verinin sansürlenmesi gibi durumların da önüne geçiyor. Ayrıca merkezi bir müdahale söz konusu olmadığı için tam özgür bir yapı oluşturulması hedefleniyor.

Aracıların Ortadan Kalkması: Bir geliştiricinin ortaya koyduğu içeriğin ya da bir yazılımın İnternet’teki alıcıları ile buluşana kadar kaç tane aracının elinden geçtiğini düşünün. Tüm bu aracılar bu ürünün satışı üzerinden komisyon alarak geliştiricinin gelirini azaltıyorlar. Merkeziyetsiz yapılarda ise bu tarzda aracılar söz konusu olmadığı için geliştirici ürününü doğrudan alıcı ile buluşturma imkanı yakalıyor. Aynı zamanda da telif hakları güçleniyor ve üreticinin ürününe sahip çıkması daha da kolaylaşıyor.

Saldırılar: Merkezi yapılara düzenlenen saldırılar sonucunda birçok veri kaybolabiliyor veya çalınabiliyor. Merkeziyetsiz yapılarda ise bir verinin yok olması gibi bir durum söz konusu değildir.

Zafiyetlerin Azaltılması: Merkezi yapılardaki yolsuzluk, kötü hizmet veya veri manipülasyonu gibi durumlar, merkeziyetsiz yapılar ile ortadan kaldırılmaya çalışılıyor. Böylece bazı sektörlerdeki tekel olma durumlarının da önüne geçiliyor.

Dezavantajları

Bazı Durumlarda Denetimin Gerekliliği: Tam özgürlük ve sansürün önüne geçilmesi dışarıdan bakıldığında kulağa ne kadar güzel gelse de bazı durumlarda kötü niyetli insanları engelleyebilmek adına bu tarz denetimler gerekli olabiliyor.

Enerji Tüketimi: Bazı blockchain yapılarındaki enerji tüketimi ülkelerle yarışabiliyor. Fakat bu sorun yeni çözümlerle aşılmış gibi duruyor.

Sorumluluğun Kullanıcıda Olması: Yapılan hatalarda arayabileceğiniz bir merkezin olmaması gibi durumlar kullanıcıyı kimi zaman zor durumlarda bırakabiliyor. Örneğin tüm varlığınızı tuttuğunuz cüzdanın şifresini unutmanız/kaybetmeniz tüm varlığınızı da geri dönüşü olmayan bir şekilde kaybetmeniz anlamına geliyor. Çünkü şifrenizi unuttuğunuzda arayıp annenizin kızlık soyadının 2. ve 5. harflerini söyleyerek yeni şifre alabileceğiniz bir numara yok.

Buraya kadar incelediğimiz web kavramları birbirini yok ederek var olmamıştır. Örneğin Web2.0 bir anda Web1.0’ı yok ederek tamamen onun yerini almamıştır. Web’in bu farklı dönemlerden geçişi iç içe gerçekleşmiştir. Örneğin günümüzde hala Web1.0 ile çalışan bazı sistemler mevcuttur. Bu sebeple aşamalar için kesin başlangıç ve bitiş tarihleri belirlenmesi pek mümkün değildir. Günümüzde de Web3, Web2.0 ile iç içedir ve geçtiğimiz her gün yeni bir soruna odaklanmaktadır.

Blockchain mimarisi başlığının son kısmında da detaylı olarak değineceğimiz gibi her şeyi Web3 ya da Web2 ile yazmaya çalışmak anlamsızdır. Bazı sorunlar Web2 ile daha efektif çözülebilirken bazı sorunlar Web3 ve hatta Web1 ile daha efektif çözülebilir. Doğru sorunları tespit edilmeli ve bu sorunlara odaklanarak yeni teknolojiler geliştirilmelidir.

Blockchain ve Web3

Peki Web3’te bir merkezi yapı yoksa bunca işlemi kim yapıyor? Bu noktada Web3 zihinlerimizde biraz daha şekillenmeye başlarken aklımıza bu kavramdan da çok duyduğum Blockchain kavramı geliyor. Blockchain ise kabaca Web3’teki işlemlerin yapıldığı ağdır.

Blockchain yani Blok Zincir kavramı adından da anlaşıldığı gibi bloklardan oluşan bir zincirdir. Her bir blokta belli sayıda işlemin kaydı tutulur ve bloklar ardı ardına eklenerek tüm ağa dağıtılır. Kulağa biraz karışık geldiğini biliyorum. Gelin blok zinciri bir muhasebe defteri olarak düşünelim. Her bir blok da defterin bir sayfası olsun.

10 ortak bir şirket kurduğunuzu varsayalım. Aylık olarak şirketin kazançları da bu 10 ortağın erişiminin olduğu ortak bir banka hesabına yatısın. Tüm ortaklar da harcamalarını buradan gerçekleştiriyor olsun. Günün sonunda kimin ne kadar harcama yaptığını veya kimin kime borçlu olduğu anlayabilmek için bir yol bulmanız gerekecektir. Bu sebeple de az önce bahsettiğim muhasebe defterinden her birinizde birer tane olsun. Herhangi bir ortak bir işlem yaptığında bir yere not alsın ve bir sayfayı dolduracak kadar işlem biriktiği anda notlarını diğer ortaklarla paylaşarak harcamalarını herkese haber versin. Harcamaları gören ortaklar bu sayfayı onaylasın ve kendi defterlerine eklesin. Bu sistem tüm ortaklar için gerekli olsun ve tüm işlemler bu şekilde onaylanarak tutulsun.

Günün sonunda tüm işlemler tüm ortaklarca deftere kaydedildiği için ay sonunda hesaplar yapılırken hiçbir ortak harcadığı miktarı olduğundan az gösteremeyecektir. Merkezi yapılarda bir tane defter olduğu için bu defterdeki bilgi değişikliği tüm sistemce zorunlu olarak kabul edilmelidir. (Örneğin hack saldırıları sonucunda verilerin değiştirilmesi ya da silinmesi veya verileri tutan şirketlerin verilerle oynaması merkezi bir yapının en büyük sorunları arasındadır.) Merkeziyetsiz yapılarda ise veriler küresel bir ağda yer alan ve birbirini tanımayan binlerce insan tarafından onaylanmakta ve tutulmaktadır. Bu da merkeziyetsiz yapıların merkezi yapılara göre daha güvenilir bir şekilde işlemesini sağlamaktadır.

%51 Saldırısı: Şimdi 10 ortaktan birinin geçmişte yaptığı harcamayı olduğundan daha az göstermeye çalıştığını düşünelim. Herkeste defter olduğu için diğer 9 kişi bu bilginin doğru olmadığını kanıtlayacak ve kötü niyetli ortak başarısız olacaktır. Fakat diyelim ki bu ortak 5 ortağa daha çektiği paradan pay verdi ve onların defterlerinde de değişiklik yaptı. Bu durumda ay sonunda dürüst 4 ortak hileyi kanıtlayamayacak ve para kaybedeceklerdir.

Blok zincir teknolojisinde de bu durum geçerlidir ve ağın yarısından fazlasına sahip birisi zincirde istediği gibi değişiklik yapıp ağı kendince manipüle edebilir. Fakat bu durum teoride ne kadar mümkün olsa da gerçek hayatta neredeyse imkansızdır. Çünkü günümüzdeki ağların çoğu o kadar büyüktür ki bir kişinin ağın yarısından fazlasına sahip olması neredeyse imkansızdır. Ayrıca ağ küçük bile olsa bu gibi durumlarda çattalanma (fork) gibi çözümler geliştirilebilir. Çatallanma bir ağın kopyalanarak yeni bir ağ oluşturulmasıdır. Böylece ağı manipüle etmeye çalışan kötü niyetli kişiler yeni ağın dışında bırakılabilirler. Ayrıca fork güvenlik açıklarının giderilmesi veya yeni özellikler eklenmesi gibi güncellemelerde de kullanılır. Fork ve güncellemeler konusuna ileride daha detaylı olarak değineceğiz.

Evet, artık Web3’ün ne olduğunu ve Blockchain’in kabaca ne yaptığına, merkeziyetsizliği nasıl sağladığını biliyoruz. Blockchain’in nasıl çalıştığını ise detaylı olarak inceleyeceğiz. Fakat gelin önce Web3’teki bu merkeziyetsiz teknolojilere nasıl bağlanabileceğimizi inceleyelim.

Cüzdanlar ve Kimlik Doğrulama

Web3’te yaptığımız işlemlere dijital bir imza bırakırız ve o işlemin bize ait olduğunu onayladığımızı belirtiriz. Bu imza açık anahtar (public key) ve kapalı anahtar (private key) ile oluşturulur. Public key’imizi ağdaki herkes görebilirken private key’imizi sadece kendimiz görebiliriz. Bu bağlamda public key’i kullanıcı adına private key’i de şifreye benzetebiliriz. Şimdi bir senaryo üzerinden bu imzalama işleminin ne işe yaradığını ve public-private key’lerin bu süreçteki yerini inceleyelim.

A, B ve C senaryolarımızda kullanacağımız kişiler olsun.

Diyelim ki A, B’ye C aracılığıyla bir mesaj göndermek istesin. Fakat C’nin mesajı görmesini istemesin. Bu durumda A mesajı B’nin public key’i ile şifreler. Public key ile şifrelenen mesajlar da ancak o kişinin private key’i ile açılabilir. Bu durumda C mesajı göremeyecek ancak B kendi public key’i ile şifrelenmiş mesajı private key’i ile açarak okuyabilecektir.

Private-Public Key
Şekil 4 Private-Public Key, Senaryo-1

Fakat burada göze çarpan ilk sorun B’nin mesajın A’dan gelip gelmediğini anlayamayacağıdır. Örneğin C kendi istediği gibi bir mesaj yazarak B’ye götürebilir. Bu durumda A mesajını kendi private key’i ile şifreleyebilir. Private key ile şifrelenen mesajlar da ancak o kişinin public key’i ile açılabilir. Bu sayede B mesajı A’nın public key’i ile açacak ve mesajın A’dan geldiğinden emin olabilecektir.

Private-Public Key
Şekil 5 Private-Public Key, Senaryo-2

Fakat buradaki sorun da A’nın public key’inin herkese açık olmasının sonucunda C’nin de bu mesajı açabilmesidir. Bu durumda ise A mesajını önce kendi private key’i ile şifreler. Sonra da B’nin public key’i ile şifreleme yapar. B de mesajı önce kendi private key’i ile açar ve kimsenin okumadığından emin olur daha sonra da A’nin public key’i ile açarak mesajın A’dan geldiğini doğrular.

Private-Public Key
Şekil 6 Private-Public Key, Senaryo-3

Blockchain’de ve dolayısıyla Web3’te imzalama ve kimlik doğrulama işlemleri tam olarak bu şekilde yapılır. Public ve private key’ler ise bu doğrulamaları yapacak şekilde belirlenmeleri gerektiği için belirli algoritmalar kullanılarak üretilirler. Anlaşılabileceği üzere Web3’te kimliğimizi Web2’deki gibi kullanıcı adı, şifre belirleme işlemleriyle oluşturamayız. Kullandığımız cüzdan veya platform bizim için bu algoritmaları yürütür ve key’lerimizi bize verir.

Tercih ettiğimiz cüzdan bu key’leri bizim için tutar ve biz de sunduğu arayüzü kullanarak bu karmaşık işlemleri birkaç butona tıklayarak yapabiliriz. Yani Web3’te kimliğimiz cüzdanımızda taşınır. Herhangi bir Web3 uygulamasına gireceğimiz zaman da cüzdanımızı kullanarak kimlik doğrulama işlemlerine izin veririz.

Soğuk ve Sıcak Cüzdanlar

Bu noktada cüzdanlar da sıcak ve soğuk cüzdanlar olarak ikiye ayrılır.

Soğuk cüzdanlar İnternet’le bağlantısı olmayan donanımsal cüzdanlardır. İnternet’le bağlantı kurmadıkları için çevrimiçi saldırılara karşı daha dayanıklıdırlar ve sadece cüzdan sahibinin private key’i ile erişilebilir olurlar. Cüzdan sahibi dahi, bu key’i kaybederse cüzdanına erişemez. Dezavantajları ise sıcak cüzdanlara karşı daha az kullanışlı olmalarıdır. Hem daha yavaş çalışırlar hem de arayüzleri daha az kullanıcı dostudur. Genellikle uzun süre dokunulmayacak varlıkların tutulmasında kullanılır.

Sıcak cüzdanlar ise İnternet’e bağlı olduklarından çevrimiçi saldırılara daha açıktırlar. Fakat buna karşılık daha hızlı ve kullanıcı dostudurlar. Varlıkların sık sık transfer edilmesini kolaylaştırırlar.

Yazar : Murat Can Baştuğ “muratcanbastug1@gmail.com”

Editör : Yunus Şahin “ yunushacettepetr@gmail.com”

Editör : Gamze Ceylan “gamzeceylaan15@gmail.com”

Teşekkürler, yazıyla ilgili görüşlerinizi ve varsa hatalarımızı mail atarak belirtiniz.

muratcanbastug1@gmail.com

LinkedIn | Twitter

--

--