Blokzincir
Blokzincir
16.04.2021
Yorum Yok
460
15 Dakika

Günümüz internet dünyasında pek çok alanda (animasyon, çizim, görüntü, grafik, metin, ses, video, haberleşme, web arayüzü vb.) veri transferi yapılmaktadır. Bu yapılan veri transferlerinde, söz konusu verinin taşınması için üçüncü bir partinin yani merkezi bir yapıya, bir aracıya ihtiyaç duyuluyor. Bu durumda ise veri transferi yapan bizlerin, üçüncü şahıslara veya kurumlara güvenmemiz gerekiyor. Artık ne kadar güveniyorsak! Blokzincir, yeni dönemin teknolojisi; daha doğrusu yazılımsal mimari yapısı, pek çok konuda bizlere hem mahremiyet hem de güvenilirlik sağlıyor. En etkili özelliklerinden birisi işlem yapan tarafların birbirlerini tanıma ve güven duyma zorunluluğunun olmamasıdır. Bu ortamı, araya bir merkez, noter, banka gibi üçüncü bir taraf sokmadan oluşturma imkânı vardır. Bu üçüncü tarafın olmaması, işlemlerdeki veri gizliliği, sürat ve maliyet açısından çok olumludur. ‘Dijital Çağın Teknolojisi’ serisi ikinci yazımda blokzincirden, çalışma mekanizmasından, özelliklerinden, çeşitlerinden vs. bahsettim. Uzun bir yazı oldu, bu yüzden yanınıza bir kahve ya da çay almanızı öneririm, iyi okumalar smiley

Blokzincir özel bir veritabanı türüdür. Veriler, sıralı bir şekilde blok adı verilen yapılara eklenir. Her blok kendinden bir öncekinin üzerine inşa edilir ve kendisini bir önceki bloğa bağlayan bir bilgi parçası içerir. Bu yüzden bir zincir benzetmesi kullanılır. Nasıl günümüzde her tarafta veritabanları varsa, aynı durum blokzincir teknolojisi için de geçerlidir. Her bir projeye, her bir kripto paraya, her bir kayıt sistemine kendine özgü blokzincir oluşturulur. Özetle her sistemin birer kayıt defteridir. Her blokzincirinin kendine has özellikleri vardır. Blokların büyüklüğü, bloğun bilgi alanları (başlık, şifre, zaman damgası, versiyon numarası, her bir kaydın parmak izi, ait olduğu protokol gibi) kayıtların nasıl yapılacağı, hangi alanları içereceği, nasıl sıralanacağı, blok dolunca ne yapılacağı, yeni bloğun üretilme şartları, bloklar arası bağlantıların özellikleri gibi her bir blokzincirin kendine ait kuralları vardır. Veri bir kez kaydedildiğinde bu veriyi silmek ya da değiştirmek neredeyse imkansızdır. Bu özellikler ve kurallar ne kadar kullanışlı, amaca yönelik ve güvenli olursa, o blokzincire olan ilgi ve kullanma talebi o kadar yüksek olacaktır. Dünya Ekonomik Forum’un (World Economic Forum) blokzincir teknolojisi tanımı şu şekildedir: Blokzincir veya Dağıtık Defter-i Kebir Teknolojisi (Distributed Ledger Technology - DLT) bir aracıya ihtiyaç duymadan bir verinin iki parti arasında doğrudan değiş tokuşunu mümkün kılan teknoloji protokolüdür. Ağdaki taraflar şifreli kimliklerle anonim bir şekilde işlemleri gerçekleştirirler. Her bir işlem değiştirilemeyen bir işlem zincirine eklenir ve ağdaki tüm kullanıcılara dağıtılır.

Peki, blokzincir teknolojisini kim buldu? Blokzincir teknolojisi, ilk ve en popüler olan Bitcoin kripto parasının kullanıma açılmasıyla 2009 yılında resmileşti. Lakin kimliği bilinmeyen yaratıcı Satoshi Nakamoto daha önceki teknolojilerde ve önerilerden esinlendi. Blokzincirler, Bitcoin’den önce on yıllardır mevcut olan Hash fonksiyonlarından ve kriptografiden (Kriptoloji başlıklı yazım bu konular mevcuttur) büyük oranda faydalanır. İlginç bir şekilde blokzincir yapısının geçmişi 1990’ların başına kadar gider. Ancak teknoloji bu tarihlerde yalnızca dokümanların daha sonradan değiştirilememesi için zamanı belirtmek (zaman damgası) amaçlı kullanılmıştır.

Bloklar birbirine nasıl bağlanır (zincirlenir)? Gerçekleştirilen her işlem belli bir yapıda bloklara kaydedilir. Bir blok dolunca mevcut veriler ile o bloğun Hash değeri (parmak izi diyebiliriz çünkü her bloğun kendine özgüdür Hash değeri) oluşturulur ve üzerine yeni bir blok eklenir. Bu yeni eklenen bloğun girdilerinden birisi bir önceki bloğun Hash değeridir. Dolayısıyla bir bloğun Hash değerini üretirken, kullanılan bilgilerden bir bölümü de bir önceki bloğun Hash değeri olmaktadır. Bu sebeple bir bloğun içinde herhangi bir değişiklik olması, bu bloğun Hash değerini değiştirecek, bir sonraki bloğa girdi olacak bu Hash değerinin değişmesiyle bir sonraki bloğun kendi Hash değeri de değişecektir. Böylece zincirin orijinal zincir olmadığı ortaya çıkacaktır. Zincirdeki ilk bloğun adı Genesis Blok’tur. Bu bloğun öncesinde bir blok olmadığından Genesis bloklar genellikle zincirin yaratıcısı tarafından yazılımla kodlanır. Zincirdeki bir önceki bloğa “ebeveyn blok (parent block)” denir. Her bloğun sadece bir tane ebeveyn bloğu olur. Ama her ebeveyn bloğun birden fazla “yavru bloğu (child block)” olabilir. Söz gelimi bir benzetme yapacak olursak, bir blokzincir oluşturdunuz ve Genesis bloğunuzun ilk verisi ‘abc’ ve bu bloğun öncesinde bir blok olmadığından dolayı yazılımcısı olarak ‘AA’ şeklinde bir parmak izi (Hash değeri) atadınız. Blokzincir çalışmaya başladı yani gerçekleştirilen her işlem bloğa kaydedilmeye başlandı ve blok doldu. Şimdi ikinci blok oluşturulacak ama öncesinde birinci bloğun verilerinin, abc-AA, Hash fonksiyonu ile değeri hesaplanır, bu örnekte hesaplanan Hash değeri MD olsun. Dolayısıyla abc-AA => MD oldu. Bu işlem tamamlandıktan sonra ikinci blok oluşturulur. Gerçekleşen işlemler ile bu blok da doldu. Tekrardan yeni bir blok yani bu örnekte üçüncü blok oluşturulmadan önce bu bloğun Hash değeri hesaplanır. Bir bloğun Hash değerini hesaplamak için kural neydi? Önceki bloğun Hash değeri ve kendi verilerinin birleştirilerek Hash değerinin hesaplanmasıydı. Örnekteki ikinci bloğun verisi ‘def’ olsun. Birinci bloktan gelen Hash değeri ise ‘MD’idi. Bunları birleştirip Hash fonksiyonu ile yeni bir Hash değeri üretiriz. Sonra bu üretilen Hash değerini üçüncü blok kullanır ve kendi verileriyle beraber tekrardan bir Hash değeri üretir. Bu işlemler bu döngüde devam eder. Örneği tekrardan modellersem, abc-AA=>MD (birinci blok), def-MD=>YZ (ikinci blok), ghi-YZ=>NS... modelde de görüldüğü gibi her blok birbirine bir Hash değeri ile bağlıdır. Bir bloktaki bir verinin değişmesi, ondan sonra gelen bloklardaki tüm Hash değerini bozar ve zincirin orijinal olmadığı ortaya çıkar. Şimdi de zincirin temel parçası ve işlemlerin kaydedildiği bloğu inceleyelim.

Bloğun genel olarak beş alanı vardır. Bunlar; sihirli sayı, blok boyutu, blok başlığı, kayıt sayacı, kayıtlar. Sihirli sayı, veritabanı okunurken devamındaki bilgilerin bir blok olduğunu gösterir. Blok boyutu, bloğun sonuna kadar ne kadar Byte olduğunu gösterir. Blok başlığı çeşitli alanlardan oluşur ve bu kısım çok önemlidir. Bu yüzden bu alanlara tek tek değinmek gerekir. Kayıt sayacı, blokta kaç adet işlem olduğunu gösterir. Kayıtlar ise kaydedilen işlemlerin tutulduğu alandır. Blok başlığına geri dönersek, bu kısım genel olarak altı alandan oluşur. Bunlar; sürüm, önceki bloğun Hash değeri, Merkle kökü Hash değeri, zaman damgası, zorluk hedefi, nonce’dır. Sürüm, zincirin o bloğunda hangi kuralların geçerli olacağını belirtir. Bloğun yapısı, uzunluğu, kayıtların şekli, alanların sırası, gibi birçok kural vardır. Önceki bloğun Hash değerini yukarıda anlatmıştım. Merkle kökü Hash değeri, blok içerisinde kaydedilen kayıtlar ikişerli olarak gruplandırılarak Hash değerleri hesaplanır. Bu işlemin sonunda geriye iki tane Hash değeri kalıp da onlarda Hash’lenince Merkle kökü hesaplanmış olur. Her gerçekleşen kayda Merkle yaprakları, ikişerli ikişerli gruplandırılarak Hash değerlerinin alınmasına Merkle dalları, en sonunda ulaşacağımız tek bir Hash değerine ise Merkle kökü denir. Bu sisteme ise Merkle ağacı denir. Zaman damgası, bloğun üretildiği zamanı gösterir. Hesaplanacak Hash değerinin belli sınırlamaları vardır. Bilgisayarlara kriterlere uygun Hash değeri hesaplatmak için matematiksel problemler çözdürülür. Bu zorluk derecesi matematiksel problemlerin zorluk derecesini ifade eder. Matematiksel problem derken de mesela hesaplanacak Hash değerinin ilk 40 bit’inin 0 olması gibi. Nonce (tek kullanımlık sayı) ise Hash değerini hesaplamaya çalışan bilgisayarın (madenci olarak anacağız bu bilgisayarı) istenilen Hash değerini üretmek amacıyla kullanılan ve değiştirilebilen sayıdır.

Nedir bu madencilik (mining) ve blokzincir ile ne tür bir bağlantısı var? Kripto para üretilmesine madencilik denir. Farklı kripto paraların farklı madencilik metotları vardır. Ama madenciliği daha iyi anlayabilmeniz için Bitcoin madenciliğini örnek vererek konuya değineceğim. Bitcoin’de ortalama 10 dakikada bir blok üretilmesi hedeflenmektedir. Blokları üretenler ise madencilerdir. İşlem havuzunda bekleyen işlemlerden toplamı 1MB’ı geçmeyecek şekilde işlemler toplanır ve blok oluşturulmaya çalışılır. Blok oluşturulurken her işlemin Hash değeri hesaplanır yani bunlar Merkle kökünde anlattığımız Merkle yapraklarıdır. Bu hesaplana Hash değerleri ikişerli bir şekilde gruplandırılarak tekrardan Hash değerleri hesaplanır. Bu ikişerli hesaplama ise Merkle dallarını ifade eder ve Merkle kökünü bulana kadar ikişerli hesaplama devam eder. En son ulaştığımız Hash değeri ise Merkle kökünü verir. Sonra madenci bulduğu bu Merkle kökü ile beraber o zor problemi çözmeye çalışır. Zor problem derken blok başlığının Hash değerini hesaplar, bu Hash değerinin mesela ilk 55 hanesi 0 değil ise, nonce değerini bir artırarak yeniden Hash değerini hesaplar. Bu deneme yanılma sonucu ta ki uygun Hash değerini bulana kadar devam eder. Uygun özet değerini bulmak için o an ağda bulunan tüm madenciler yarışır. Çünkü bloğu oluşturan madenci bir ödül kazanır. Blok oluşturma ödülü hem sistemin madenciye verdiği bitcoin hem de bloğun içindeki tüm işlemlerin komisyonudur. Bitcoin yapısında blok oluşturma ödülü belli bir kurala bağlı olarak sürekli azalacaktır. Bu yazım çok uzun olduğundan kripto paraları (Bitcoin, Ethereum vs.) diğer yazımda daha detaylı anlatacağım. Bu olaya madencilik denmesinin sebebi altın madeni gibi, hem her arayan bulamıyor hem de bulunan miktar sürekli azalıyor. Madenciler sadece kripto para üretmekle kalmazlar, tüm sistemin ayakta kalmasını ve çalışmasını da sağlarlar. Blokzincir içine kaydedilecek işlemleri doğrulama, blok oluşturma, blokları doğrulama ve dağıtık şebekenin sürekliliğini de sağlar. Peki, herkes madenci olabilir mi? Evet olabilir ancak madencilik yoğun işlem gücü gerektirir. Hash değeri hesaplama işlemi çok hızlı yapılabilmektedir ama uygun Hash değerini bulmak yani matematiksel problemi çözmek için trilyonlarca deneme işlemi yapmak gerekir. Bu da yüksek enerji tüketimi anlamına gelmektedir.  Enerji tüketiminin ufak bir kısmı bilgisayarları çalıştırmak için, büyük kısmı ise soğutmak için harcanır. Yüksek hesaplama gücü gereksinimi sistemin geneline yönelik başka bir sıkıntı daha doğurmaktadır. Blokzincirin güvenilir olmasını sağlayan faktörlerin başında merkezi olmayıp, dağıtık olması gerekir. Ancak madenciler arasında yüksek rekabet, pahalı bilgisayar ve donanım yatırımları yapmalarına sebep olmuştur. Bu durum ise evdeki sade kullanıcıları madencilik işleminden uzaklaştırmıştır.

Blokzincir

Blokzincir ortaya çıktığında temel kullanım mantığı, finansal işlemler başta olmak üzere aracıların yani üçüncü şahısların işlemlerden çıkarılmasıydı. Örneğin günümüzde hesaplar arasında para transferi yapılması durumunda bankalar bu transfere aracılık ederek komisyon almaktadır. Aynı şekilde kredi, noter, sigorta vb. tüm işlemlerde esasen süreçler aracılar üzerinden götürülmektedir. Blokzincir yapıları bu aracıların işlevlerini ortadan kaldırmak üzere, üç ana hizmet bileşeni sunmaktadır. Bunlar; Eşler arası protokolü (P2P Protocol), Dağıtık Kayıt Teknolojisi (DLT - Distributed Ledger Technology), Mutakabat Birliği Protokolü (Concensus Protocol). Eşler arası protokolde, ağ üzerinde bulunan kullanıcılar merkezi bir sunucu kullanmadan, kendi cihazlarının güç ve kapasite bilgilerini diğer eşler ile paylaşır ve veri iletişiminde kullanır. P2P yapısı geçmişte daha çok dosya, veri, müzik, video vb. paylaşım uygulamalarında kullanılırken, blokzincir teknolojisi ile finans sektörüne girmiş bulunmaktadır. Kişiler ve kurumlar para transferi yapmak için banka veya kredi kartı şirketlerinden hizmet almak ve komisyon ödemek yerine, sanal para cüzdanları üzerinden direkt kendi muhataplarına ürün veya hizmet karşılığı para transferi yapabilmektedir. Burada sadece komisyon ücretleri değil, ülkeler arasındaki sınırlar da ortadan kalkmaktadır. Dağıtık Kayıt Teknolojisi (DLT - Distributed Ledger Technology), verinin belli bir yerde değil de birden çok yerde ve birden çok kontrol mekanizması ile saklanarak güvence altında tutulmasıdır. Bu yapı, tüm verinin sadece bir yerde tutulması durumunda meydana gelebilecek bozulma, silinme, kayıp ve saldırıya uğrama sorunlarına bir alternatif çözüm getirmektedir. Blokzincir yapıları genel anlamda dağıtık kayıt teknolojilerini kullansa da, gizlilik ve güvenlik özelliklerine göre üç gruba ayrılabilir. Açık Blokzinciri, Kapalı Blokzinciri ve Konsorsiyum Blokzinciri. Açık Blokzinciri, herhangi bir izne gerek duymadan, herkesin veri yazıp okuyabildiği zincirlere açık blokzincirler denir. Bu sistemlerde tüm kullanıcılar aynı haklara sahip olur. Kullanıcıları yöneten, izinsiz okuyucuları ya da yazarları yasaklayabilen merkezi bir varlık yoktur. Bitcoin, Ripple ve Ethereum sistemleri bu tip zincirlere örnektir. Kapalı Blokzinciri, bir ya da birkaç organizasyondaki kişiler arasında paylaşım ve veri alışverişini sağlayan, bir kişi ya da grup tarafından yönetilen blokzinciri yapılarıdır. Özel bir izni olmayan kişilerin zincire katılamadıkları için izinli blokzinciri olarak da adlandırılabilir. Ağa katılım ve erişim, ağı yöneten grup tarafından belirlenen kurallara göre yapılmaktadır. Bu da blokzincirin merkezi olmayan ve şeffaf yapısına uygunluğu azaltmaktadır. Uluslararası finans sistemleri, kamu işlemleri, yüksek mahremiyet içeren işlemlerde bu blokzincir yapısı tercih edilmektedir. Konsorsiyum Blokzinciri, blok doğrulama ve uzlaşma işlemlerinde tek bir organizasyonun yerine önceden belirlenmiş bir grubun karar verici olarak yer aldığı açık ve kapalı blokzincirin karışımı olarak tanımlanabilir. Ağın herkese açık olması ya da sınırlı olmasına ve ağdaki herkesin veri okuma ve yazma işlemlerine sahip olma durumlarına bir belirlenen bir grup tarafından karar verilir. Mutakabat Birliği Protokolü, blokzincir yapısı içerisindeki tüm kullanıcılarda verilerin kopyaları saklanır. Ancak veriler ve sonuçları açısından tutarlılık sağlamak amacıyla, tüm kullanıcılar arasında mutabakata varılması zorunludur. Mutabakat protokolü, blokzincir içerisindeki tüm tarafların fikir birliğine varması amacıyla kullanılan doğrulama işlemidir. Ağ yapısının halka açık, merkezi bir sunucuya sahip olmaması ve dağıtık yapıda olması sebebiyle veri transferlerinde kopma, veri kaybı, işlemlerin devre dışı kalması, verilerin gecikmesi gibi sorunlar ile karşılaşılabilir. Mutabakat protokolleri bu sorunları ortadan kaldırmak için kullanılan algoritmalardır. Algoritma ve protokol terimleri sıklıkla birbirlerinin yerine kullanılır fakat aslında ikisi aynı şey değildir. Basitçe açıklanırsa, protokolü bir blokzincirin başlıca kuralları ve algoritmayı da bu kuralların uygulandığı mekanizma olarak tanımlayabiliriz. Protokol, kuralların ne olduğunu belirlerken, bu kurallara uyulabilmesi ve istenen sonucun oluşturulabilmesi için atılması gereken adımlar da sisteme algoritma tarafından söylenir. Örneğin, işlemlerin ve blokların geçerliliğini belirleyen şey bir blokzincirin mutabakat algoritmasıdır. Yani, Bitcoin ve Ethereum protokolken, Proof of Work ve Proof of Stake bunların mutabakat algoritmalarıdır. Birkaç mutabakat algoritması türü bulunmaktadır. En yaygın uygulananlar PoW (Proof of Work) ve PoS (Proof of Stake)’tir. Her birinin güvenliği, işlevsellik ve ölçeklenebilirlikle dengelemek konusunda kendine özgü avantaj ve dezavantajları vardır. Burada amaçlanan madencilerin üst üste sürekli blok oluşturmalarına engel olmaktır. Aksi takdirde, on binlerce madenci her saniye onlarca blok üretir ve zincirin tek olması mümkün olmaz. Bu mutabakat algoritmaları blok üretimlerinin belirli aralıklarla olmasını sağlamak amacıyla uygulanır. Proof of Work (PoW) (İş İspatı) oluşturulan ilk mutabakat algoritmasıdır. Bitcoin ve diğer birçok kripto para tarafından kullanılır. Proof of Work algoritması, madencilik sürecinin önemli bir öğesidir. Proof of Work algoritmasında, sistem kaynaklarını gereksiz yere meşgul eden siber saldırılara karşı ve blokzincire yeni bir blok eklenmesi için istemde bulunan madencinin önce işlem gücüne dayalı bir matematiksel problemi çözerek iş ispatını sağlaması istenir. Matematiksel problemi çözmeye katılan madencilerden biri bu değeri bulduğunda üzerinde çalışılan blok bir önceki geçerli blokla ilişkilendirilir ve ağ üzerinde yayılır. Ardından ağdaki tüm taraflar yeni bloğu yerel veritabanlarına ekleyerek senkronize olurlar. Proof of Stake (PoS) yani pay ispatı yöntemide ise madenciler matematiksel problemi çözmek için birbirleriyle yarışmazlar. Her madenci sistemde ne kadar paya sahip ise blok oluşturma görevinin kendisine verilme ihtimali o kadar yüksek olur.  PoS yönteminde, üretilen blok için madenci ödül kazanmaz. Sadece blok içindeki işlemlerin komisyonunu kazanır. Bu sebeple bu yöntemle çalışan madencilere “oluşturucu” (forger) da denir. Bu yüzden PoS yönteminin PoW yöntemine karşı enerji tüketimi açısından çok büyük bir avantajı vardır. Örneğin PoW algoritmasını kullanan Bitcoin, blok üretimi sırasında on binlerce madenci her bir blok üretimi için katrilyonlarca kez Hash değeri hesaplamasını aynı anda yaparlar ve sadece bir blok üretilir. Ancak PoS algoritmasında seçilen tek madenci bu işlemi yani blok üretimini kendisi yapacaktır. Bu şekilde PoW yöntemiyle harcanan devasa boyuttaki enerji tüketimini azaltacak durumdadır. Lakin PoS yönteminde de madencilerin dağıtık yapısının azalarak yeni kripto para üretiminin büyük pay sahiplerinde toplanma riski ortaya çıkıyor.

Blokzincir sistemi, temel bazı kriterlere sahip olup bu standartlar üzerine kurulur. Blokzincirin en temel özelliği verilerin tek bir yerde tutulmaması, dağıtılabilir şekilde kaydedilmesi, depolanması ve güncellenmesidir. Şeffaflık, blokzincir sistemi ile verilerin kaydı şeffaf olup veriler geriye dönük olarak doğrulanabilir. Bu nedenle blokzincir güvenilir kabul edilmektedir. Bağımsız, mutabakat yapısı sayesinde merkezi bir sisteme ihtiyaç duyulmamaktadır. Değiştirilemez, blokzincire eklenen kayıt hiçbir şekilde güncellenemez, silinemez ve kayıt kalıcı olarak saklanır. Kaydın değiştirilebilmesi çeşitli saldırı tipleri dışında mümkün değildir. Kimlik gizliliği, blokzincir sisteminde kimlik belirtmeden veri aktarımı gerçekleştirebilir. Bu işlem için kişinin blokzinciri adresinin bilinmesi yeterlidir. Bu saydıklarım aslında birer avantajdır. Bunun yanı sıra blokzincirin de dezavantajları vardır. Blokzincir ağlarına yapılması muhtemel birkaç potansiyel saldırı vardır ve %51 saldırısı da bunlar arasında en çok tartışılanıdır. Blokzincirde hiçbir makineye güvenilmez. Çünkü ağa bağlı bilgisayarların %51'inden fazlasının dürüst ve veri bütünlüğüne saldırmayacağı kabul edilmektedir. Böylesi bir saldırı ağdaki Hash değerini hesaplama gücünün %50’den fazlasının kontrolünün bir birimin eline geçmesiyle gerçekleştirilebilir ve işlemlerin kötü niyetle dışarıda bırakılması ya da sıralamalarının değiştirilmesiyle sonuçlanabilir. Teorik olarak mümkün olsa da Bitcoin blokzinciri için daha önce başarılı bir %51 saldırısı gerçekleşmemiştir. Ağ büyüdükçe güvenlik de artar. Çünkü bloklar birbirine kriptografik işlemlerle bağlıdır. Bu yüzden daha eski blokları değiştirmek erişilmesi mümkün olmayan bir hesaplama gücü gerektirir. Blokzincir açık anahtar (asimetrik) kriptografi kullanarak kullanıcılarının kendi kripto para birimlerine ya da herhangi bir blokzincir verisine sahip olmaları sağlanır. Her blokzincir hesabına ait iki anahtar vardır. Biri açık anahtar (public key), diğeri özel anahatar (private key)’dir. Kullanıcıların kendi varlıklarına erişebilmeleri için özel anahtarları gereklidir. Eğer bir kullanıcı özel anahtarını kaybederse, parasını veya verilerini de kaybetmiş olur ve bunu düzeltebilmek için yapılabilecek bir şey yoktur. Blokzincirler özellikle de Proof of Work (İş ispatı) algoritmasını kullananlar enerji harcarlar. Söz gelimi Bitcoin blokzincirinde, her 10 dakikada bir blok oluşturuluyor. Tabii bunun için on binlerce madenci bloğun Hash değerini hesaplamak için birbirleriyle rekabet ediyorlar. Bu rekabet ortamında Hash değerini bulma şanslarını arttırmak için devamlı olarak hesaplama güçlerini artırmaya çalışıyorlar. Son birkaç yılda Bitcoin ağı tarafından kullanılan kaynak miktarı büyük oranda artmıştır. Şu anda bu ağın tükettiği enerji Danimarka, İrlanda ve Nijerya gibi birçok ülkenin tükettiğinden daha fazladır. Blokzincir kayıt defterleri zamanla çok büyük hale gelebilir ve depolama alanında sıkıntılar doğurabilir. Olumsuz yanlarının olmasına rağmen blokzincir teknolojisi kendine özgü bazı avantajları olduğu için bana göre kesinlikle hayatımızda kalıcı olacaktır. Muhtemelen de gelecek birkaç yılda şirket ve hükümetlerin blokzincir teknolojisinin en çok değer katacağı alanı bulmak için yeni uygulamalarla çalışmalar yapmaya başlamasına tanıklık edeceğiz. 

Her yazılımın sorunları gidermek ya da performansı artırmak için sürekli güncellenmesi gerekmektedir. Blokzincir dünyasında bu güncellemelere fork (çatallaşma) adı verilir. Çatallaşma, herhangi bir kaynak kodu ele alıp uyarlama yapıp farklı ve yeni bir çalışma ortaya koyma işlemidir. Bu duruma açık kaynak kodlu projelerde çok sık rastlanmaktadır. Blokzincir yazılımının yeni sürümü yayınlandığında, uzlaşma kuralındaki yeni yazılım kayıt defterlerine iletilir. Blokzincir yapısı dağıtık olduğundan ve merkezi kontrollü olmadığından eğer değişiklik isteği büyük bir grup tarafından kabul görürse bu andan itibaren yeni kurallar belirlenerek yeni çatallaşma duyurusu yapılır. Blokzincir ağındaki kayıt defterleri her zaman kuralları kabul etmeyebilir. Bu durumda fikir birliği oluşmamasından dolayı çatal problemi olur. Çatal problemleri ise sert çatallaşma (Hard Fork) ve yumuşak çatallaşma (Soft Fork) olmak üzere iki gruba ayrılmaktadır. Sert çatallaşma (Hard Fork) işlemi, bir blokzincir protokolünde önceki versiyonlarla uyumlu olmayacak bir değişikliği ifade eder. Bu durum güncelleme yapmayan kayıt defterlerin artık işlem yapamayacakları ve blokzincire yeni blok ekleyemeyecekleri anlamına gelmektedir. Sert çatallaşma, mevcut bir protokolü değiştirmek ya da geliştirmek için kullanılabilecekleri gibi tamamen yeni, bağımsız bir protokol ve blokzincir oluşturmak için de kullanılabilirler. Yumuşak çatallaşma (Soft Fork), bir blokzincir protokolünde geçmişe uyumlu bir değişikliği ifade eder. Bu da güncellenmemiş kayıt defterlerin, yeni protokol kurallarına uygun olduğu sürece halen işlem yapabilmesine ve blokzincire yeni bloklar ekleyebilmesine olanak sağlar. Daha fazla sayıda kullanıcı ve şirketin, farklı amaçlara sahip blokzincir alanlarına girmesi neticesinde, çatallaşma (fork) işlemleri blokzincirlerin gelişim süreçlerinin önemli bir parçası olmaya devam edecektir. 

Akıllı sözleşmeler (akıllı kontratlar) kullanıcıların iletişimini daha güvenli bir biçimde yürütebilmek amacıyla 1994 yılında ortaya çıkmış bir kavramdır. Fikrin en önemli örneği Bitcoin’de kısmen bulunmakla birlikte, kod yazarak sözleşme yazmayı insanlara gösteren Ethereum'dur. Akıllı sözleşme her bir tarafın kabul ettiği kuralları içerir ve bu şartlar sağlandığında çeşitli işlemler yapılır. Akıllı sözleşmeleri kabul eden tarafların imzasının ardından bu sözleşmeler kriptografi kullanılarak blokzincire yüklenir. Akıllı sözleşme içerisinde yer alan tüm kodların açık, net ve herkes tarafından rahatlıkla anlaşılabilir durumda olması gerekmektedir. (Akıllı sözleşmeler konusuna ‘Kripto Para’ isimli yazımda daha detaylı anlatacağım.)

Blokzincir finans sektörü ile birlikte yayılsa da birçok alanda kullanılmaktadır. Bitcoin ile tanınan teknoloji daha sonra birbirinden farklı sektörlerde kullanılmaya başlanmıştır. Web’in kurulmasından sonraki en büyük buluş denilen blokzincir teknolojisi, toplumsal, finansal ve hukuki büyük değişimlere sebep olacak denilen özelliği güven unsurudur. Blokzincir teknolojisi daha çok bitcoin üzerinden sanal kripto para uygulamaları ile bağdaştırılsa da, finans endüstrisi, kamu sektörü, özel sektör, fiziksel ve sanal varlıklar, nesnelerin interneti ve paylaşım ekonomisi, tedarik zinciri yönetimi gibi alanlarda da etkili olarak kullanılabilir. Bu alanlara örnek verecek olursak, kredi kayıtlarının tutulması, özel ve devlet sermayeli hisse senetleri, bono ve tahvil işlemleri, taşınmaz ve taşınır mal kayıtlarının oluşturulması, işletmelere ait belgelerin takibi, mevzuat, pasaport, kimlik bilgisi, sağlık bilgisi, vatandaşlık işlemleri, oy kullanım işlemleri, mahkeme ve adli tıp işlemleri, eğitim ve öğretim faaliyetleri, lisanslama, sertifikalandırma ve ruhsat işlemleri gibi birçok hizmetinin blokzincir platformuna taşınması mümkündür. Hem de sadece bunlarla sınırlı kalmayacaktır. Blokzincir teknolojisinin daha başka hangi alanlarda kullanılacağını sizin hayal gücünüze bırakıyorum.

Bu yazım burada bitti. Okuduğunuz için çok teşekkür ederim. İleri okumalar ve detaylı bilgi edinmek için kaynaklar bölümünde paylaştığım dokümanları inceleyebilirsiniz.

Bir başka yazıda görüşmek üzere...

Kendinize iyi bakın...

İyi ki varsınız...

Bu yazıya emojiyle tepki ver!
1
0
0
0
0
0
0
0
Kaynaklar
Yorumlar
~ Yorum bulunmamaktadır.
Yorum Yapabilirsiniz :)
Abone Ol!
Yeni blog yazıları için bildirim almak istiyorsanız bloga e-posta adresinizle abone olabilirsiniz.
Okuyorum
t
Kitap Adı: K
Yazar: i