Bu yazıda sizlere sıfırdan Blockchain nedir ve Blockchain teknolojisinin temellerine bakacağız. Yazımıza başlamadan önce Blockchain teknolojisini tam olarak anlamak için bazı temel kavramlar bulunuyor, önce bunların neler olduklarını öğrenelim.
Veri (Data) Nedir?
Veri, “data” kelimesinin Türkçe karşılığıdır. Veri, İşlenmemiş, saf bilgi parçacığına verilen isimdir. Bir veri tek başına bir anlam ifade etmez. Veriler toplandıktan sonra gruplama, sıralama ve özetleme işlemleri elle ya da bilgisayarla işlendikten sonra anlam kazanırlar. Kısaca veriye bilgi parçacıkları diyebiliriz.
Veriyi sadece bilgisayardaki bilgi olarak düşünmeyin veri aslında etrafınızda gördüğünüz her şey hatta vücudunuzda DNA’nın içinde bile yer alıyor. Verinin Makine diline dönüşmesi süreci 1801 yılında Joseph Jacquard’ın karton plakalar üzerinde delikler açması ile gerçekleşti. Delikli kart metodu 1832 yılında Rusya’da Semen Korsakov tarafından, verinin depolanması ve hızlı şekilde bulunması için, Homeoskop adı verilen bir cihaza dönüştürülmüştür.
Delikli kartlar ile verinin işlenmesi, 1950’li yıllara kadar popülerliğini korumuştur. Ancak, delikli kartların çok fazla hacim kaplaması yeni alternatifler kapı aralıyordu. Delikli kartlara ilk alternatif 1950 yılında, bilgisayarlar için manyetik depolama sistemi geliştirilmiştir. Manyetik depolama sistemleri, finans ve bankacılık sektöründe de kullanılan UNIVAC bilgisayar sistemlerinin en önemli parçası olmuştur. Bu bu şeklide gelişip günümüze kadar şu değişimleri geçirerek gelmiştir
Tabi süreçte bulut depolama çözümleri ve her birinin kendi içinde gelişimleri bulunuyor. Ancak kaba taslak verilerin depolonma çözümlerinin dönüşümünü bilmek yeterli olacaktır.
Database (Veri tabanı) Nedir?
Veri tabanı, birbirleriyle bağlantılı olan bilgilerin depolandığı alandır. Bilgilerin uygun şekilde kaydedilmesini ve güncellemesini yapar. Çok fazla bilginin üretilmesi ve sürekli artan bir hızla gelen bilgiler, bilgisayarlarda bilgi depolama ve bilgiye erişim konularında yeni yöntemlere ihtiyaç doğurdu. Bu ihtiyaç açığını kapamak için veri tabanı oluşturulmuştur. Delikli kartlar, ne kadar veriyi depolamak için kullanılsa da organize şekilde saklamak için de kullanılan bir yöntemdir. Pek çok farklı delikli kart, üzerlerinde saklı olan verilerin amacına uygun şekilde kullanılabilmesi için düzenli şekilde dolaplarda saklanıyordu.
Delikli kartlar belirli bir seviyeye kadar gereken ihtiyacı karşıladı, ancak gelişen teknolojide bu çok yetersiz kaldı ve yeni yöntemler araştırıldı. Kökeni çok eskilere dayanan kütüphanecilik ve arşivcilik teknikleri bilgisayar sistemlerinde de kullanıldı ve bugünün veri tabanı mantığını ilham aldığı bu yöntem, NoSQL olarak bilinen çözümleri doğurdu. Bu sayede çok büyük veri kümeleri içinde çok hızlı arama yapmaya imkân tanındı. Örneğin, Google arama motorunda bu tarz bir veri tabanı kullanılır.
Veri kavramı üzerinde durmamın nedeni dağıtık defter teknolojisinin yani Blockchain teknolojisinin temel mantığını anlamamız için bir altyapı oluşturmaktı aslında Blockcahin sistemi de bir zamanlar sadece bir veri yapısı çözümü olarak görülüyordu.
2000’li yılların başında birbirinden bağımsız iki proje olan eDonkey ve BitTorrent, internet dünyasında hiç aşina olmadığımız Peer To Peer kavramına açıklık getirdiler. Peer to peer (P2P) yani eşler arası, merkezi bir sunucu gibi bir üçüncü taraf olmadan kullanıcıların doğrudan birbirleri arasında gerçekleştirdiği veri paylaşımını ifade eder.
Bu sitemlerde veri, tek bir merkezde değil sayısı milyonları bulabilecek makineler üzerinde dağıtılmış veya paylaşılmış şekilde bulunur. Bu makinelerden bazıları verinin tamamını, bazıları ise kısmen belli bir parçasını içerebilir. Ulaşmak istediğinizde sistem size bu veriyi, sunulabilecek en hızlı düzenlemeyle, farklı makinelerden çekecek şekilde yönlendirir. Siz veriyi kendi bilgisayarınıza çekerken, aldığınız veri karşılığında aynı zamanda diğer kullanıcılara bir veri kaynağı olarak hizmet edersiniz. Sistemin kullanıcıları, sisteme verdikleri destek süreci ile doğru orantılı olarak sistemden faydalanabilirler.
Bu yaklaşım ile Dağıtık Kayıt Defterleri (Distributed Ledger Systems) adı verilen çözümler ortaya çıktı. Blockchain teknolojisi de bu çözümün farklı bir uygulaması olarak ortaya çıktı.
Kriptoloji (Gizlilik Bilimi)
Anlattığımız sistemlerde hep veriden bahsediyoruz ancak bu veri artışı beraberinde bir sorun daha getirdi oda verinin güvenliğidir. Kriptoloji, eski bir Yunanca kelime olan kryptos kelimesinden türetilmiştir. Kryptos gizlilik anlamına gelirken, kriptoloji gizlilik bilimi anlamına gelmektedir. Kriptolojinin bir alt bilim dalı olan Kriptografi de yine eski bir Yunaca kelime olan ve yazı anlamına gelen graphien sözcüğü kullanılarak türetilmiştir.
Kriptografi (cryptography) verilerin (yazıların) şifrelenmesini ifade etmektedir. Şifreleme, herhangi bir veri kümesini rastgele ya da bilinçli bir kural yapısı kullanarak rastgele görünen bir veri kümesine dönüştürür. Bu rastgele gibi görünen veri kümesi, ancak şifreleme yapılırken kullanılan anahtara sahip olanlar tarafından çözülebilir. Böylece şifrelenmiş veri nerede ve ne şekilde depolanırsa depolansın, sadece anahtar sahibi tarafından anlamlı kalmaya devam eder.
Blockchain
Blockchain nedir siye soracak olursak, Dağıtık Kayıt Defteri (Distributed Ledger) kavramının yeni bir kavram olmadığını ve geçmişte eDonkey ve Bittorrent gibi ağlarda kullanıldığını anlatmıştık. Ancak bu ağlarda, üzerinde tutulan veri genellikle şifrelenmemiş halde bulunurdu yani isteyen herkes bu verilere erişebilirdi. Bunlar şifrelenebilir miydi elbette! ancak anahtar sahibi dışında kimseye bir yararı dokunmazdı ve beraberinde farklı sorunlar getirirdi. Multilateral yani çok taraflı sistemlerde, sisteme eklenmesi istenen her verinin geçerli bir standarda sahip olması gerekir. Bu hem sistemin bütünlüğünü hemde genel tarafından kubullenebilirliğini sağlar. İşte bu noktada konsensus dediğimiz mutabakat yapısı ortaya çıkar.
Blockchain 2008 yılında temelleri atılmış, 2009 yılında ise Bitcoin ile tanınmaya başlamıştır. Bu teknoloji dağıtık bir kayıt defteri olarak tanımlanmaktadır. Daha kapsamlı bir tanımıyla Blockchain, dağıtık olan, paylaşılabilen, şifrelenmiş, geri dönüşü olmayan ve bozulmayan bir bilgi deposudur. Blockchain, sistemi kullanan kullanıcılar arasındaki işlemleri doğrulayarak saklayan bir sistemdir.
Blockchain de işlemler blok denilen yapılar halinde tutulur ve bu bloklar biribirine art arda bağlanarak bir zincir oluşturur. Bu bloklar belirli kurallar çerçevesinde oluşturulmuştur. Yazılan her blok dağıtık kayıt defterlerine dağılır ve kopyası olacak şekilde eklenir. Yani oluşturulan her yeni blok bir önceki bloğa ait veriyi barındırır.
Blockchainde herhangi bir işlem gerçekleştiğinde mevcut ağ üzerinden yayınlanır ve yazının ilerleyen kısımlarında bahsedeceğimiz şifreleme algoritmaları ile doğrulanarak yeni bir blok oluşturulur. Sisteme dahil olan her düğüm yani sistemi kullanan herkes, sistemdeki bağlantıları olan ya da olmayan herhangi iki kişi tarafından yapılan bu işlemi onaylayarak kaydını tutar. Bu sayede blok doğrulanır, sonrasında bu bilgi asla değiştirilemez veya silinemez.
Düğüm, Sistemde bulunan her bir kullanıcıyı ifade eder. Sisteme katılan her kullanıcı, sistemin birer kopyasına yani kayıt defterine bir başka deyişle veri tabanına sahiptir. Bu defter peer to peer denilen uçtan uca protokolü kullanılarak diğer düğümlerle eklenir. Bu sayede 3. Taraf bir aracı ortadan kaldırılır zaten bu sayede merkeziyetsizliği sağlanır.
Blockchain sistemi temel bazı kriterlere sahiptir ve bu standartlar üzerine kurulmuştur.
Dağıtık: Blockchainin en temel özelliği olarak kabul edilir. Veriler tek bir yerde tutulmaz, dağıtılabilir şekilde kaydedilir ve tüm kullanıcılar tarafından depolanabilir.
Şeffaf: Verilerin kaydı her düğüme şeffaftır ve veriler geriye dönük olarak doğrulanabilir.
Bağımsız: bir merkez olmadan, consensus yapısı sayesinde sistemdeki her düğüm verileri güvenli bir şekilde aktarabilir.
Değiştirilemez: Blockchainne eklenen veri hiçbir şekilde güncellenemez, silinemez ve kalıcı olarak saklanır.
Kimlik gizliliği: Blockchain sisteminde düğümler yani kişiler kimlik belirtmeden veri aktarımı gerçekleştirebilir. Bu işlem için kişinin Blockchain adresinin bilinmesi yeterlidir.
Blockchain Kayıt Yapısı
Blockchain teknolojisinde veri her zaman belirli bir sıra sistemi ile kayıt altına alınır. Bunu daha iyi anlamak için kurgusal ama basit bir canlandırma yapalım: Bir sınıftaki hocanın blokchainin yapısını sınıftaki öğrencilere anlatmak için bir deney yaptığını varsayalım ve yoklama alma sistemini düşünün, hoca derse girer ve boş bir kâğıt verir en baştan başlayarak herkes adını soyadını imzasını ve tarihi yazmalarını istesin (burda tarih, aynı gün içinde olacağı için değişmiyor tarihten kasıt anlık zamandır saniye cinsinden düşünebilirsiniz).
Blockchain kayıt sistemi bu örneğe benziyor. Kâğıda yazdığımız isimler veriyi ifade eder. İsmini İlk yazan kişinin belirlediği kural çerçevesinde devam eden sistemde her isim satırı Blok adı verilen yapıları ifade eder. Her bir blok kendi özel imzasına sahiptir. Tarihin Blockchain sisteminde karşılığı ise zaman akışıdır, her bir blok oluşturulduğu anda bloğun üzerine tarih ve saat bilgilerini içeren bilgi de eklenir. Böylece her biri kendi imzasına sahip, belirli bir zamanda kaydı oluşturulan veri blokları sıra ile arka arkaya dizilir ve Blockchaini oluşturur. Bu yapıda ilk kayıt başlangıç bloğu olduğu için, bu bloğa özel olarak Genesis adı verilir.
Blockchain Sıra Yapısı
Sıra yapısında anlamak için verdiğimiz yoklama örneğinden devam edelim. Hoca sıra yapısını anlatmak için şöyle bir kural ortaya atıyor. Doğrulama, sonradan eklenme ve birbiri yerine imza atmaların önüne geçmek ve yanlış bir şeyde attığı imzadan sorumlu tutulmak için herkes kendinden bir sonraki kişinin bulunduğu satırıda doğrulayıp imza atacak.
Artık bu yeni yapıda, yapılabilecek herhangi bir değişiklik kendisinden bir önceki kişinin imzasına da sahip olacağı için, yoklama defteri (zincirimiz) dikkatlice kontrol edildiğinde, rahatlıkla sıranın bozulduğu anlaşılabilecektir. Bu şekilde devam ettiğinde ilk kişi hariç her yeni isimde adını yazıp imza atan arkadaşımız dışında, bir önceki kişininde de imzası eklenmiş olacak.
İlk oluşturulan blok kendisinden önce bir blok olmadığı için Genesis, yani başlangıç bloğu olarak isimlendirilir ve sadece kendi dijital imzasını taşır. Ancak, ardından gelen her bir blok kendisininki ile, bir öncekinin de benzersiz imzasını içinde taşıyacaktır. Böylece, sıralı bir kayıt yapısı dijital dünyada mümkün hale gelir.
Blockchain Dağıtık Yapısı
Öğretmenin dağıtık yapıyı anlatmak için başvurduğu yöntem ise şu oluyor: herkese boş bir kâğıt veriyor ve herkesin kâğıda aynı sırayla herkesin ismini yazıp isimlere sahip kişilere imzalatmasını istiyor ayrıca sıra yapısında anlattığımız gibi herkes kendinden sonra gelen kişiyide doğrulayıp imza atıyor. Yani herkeste kopyalanmış haliyle değil onaylanmış ve doğrulanmış haliyle birer kopya bulunuyor.
Artık belirli bir kayıt ve sıraya sahip ve üretilen zincirin kopyalarının herkese dağıtıldığı bir yapıya sahibiz. Bu durumda herhangi bir kişinin sıralama üzerinde gerçekleştireceği bir manipülasyon veya hile, artık fark edilecektir. Çünkü çoğunluk, ellerindeki kayıtları birbiri ile karşılaştırıp, çoğunluğun mutabık kaldığı yapıya güvenmeye devam edebilecek ve hile hurda yapmaya çalışanlar fark edilecektir.
Blockchain teknolojisi de tam olarak bizlere aynı yapıyı sunmaktadır. Veri sadece bir merkez veya bir merkez grubu tarafından değil, sisteme dahil olan herkes tarafından kayıt altına alınmaktadır. Burada tarafların birbirini tanıması gerekmediği gibi, güveni sağlayan şey kişiler arasındaki ilişkiler değil, sistemin en başta belirlenen kuralları ve bu kurallar dahilinde üretilen kayıt zincirinin herkese dağıtılmasıdır.
Blockchain kayıtlarının dağıtıldığı tüm bloklar, kendi aralarında iletişim halinde kalarak sistemin bozulmadığının teyit ederler. Eğer veri kayıt zinciri yapısında, aradan bir halka çıkarsa veya değişirse, zincir kırılır ve sistemin geneli kırık/bozuk halkaya sahip noktayı dağıtık kayıt defteri ağından çıkartır. Böylece geriye kalanlar, zincirin kırılmadan devam ettiği noktasında mutabık kalarak sistemi kullanmaya devam ederler.
Blockchain Ağlarında Şifreleme
Blockchain ve kriptoparalar söz konusu olduğunda güvenlik belkide en önemli konu olarak karşımıza çıkıyor, veri paylaşan iki taraf arasındaki şifreleme ve şifre çözme, üçüncü bir tarafın bunu anlayamayacağı veya kötüye kullanamayacağı anlamına gelir. Zaten kriptografinin ana amacın gizlilik olduğunu belirtmiştik bunun ismine bakarakta çıkarabiliyoruz.
Bir örnek üzerinden şifrelemenin basit bir hailini anlatalım: önce şifreleme için bir anahtar oluşturalım bu anahtarımız, yazı formatı için geçerli olsun ve alfabede her harften sonra gelen harfi kabul ederek ilerlesin örnek olarak “MERHABA DÜNYA“yı seçelim anahtarı kullandığımızda yazımız şu şekilde görünecektir ” NFSİBCB EVOZB“ bu şekilde hiçbir anlam ifade etmeyen yazıyı tekrar eski haline dönüştürmek için şifreyi çözecek bir anahtara ihtiyacımız var, oda alfabetik sırada gelen her harfin bir önceki harfini kabul eden bir algoritmik yapıdır. Anahtarı kullandığımızda tekrar MERHABA DÜNYA yazısına ulaşabiliriz.
Bu örnekte anlatılan şifreleme kaba taslak yapılan basit bir şifrelemedir ancak Blockchainde uygulanan şifreleme yöntemleri çok daha zor karmaşık matematiksel ve kısmi fizik işlemleridir. Bazı şifrelerde geri dönüş yoktur yani verdiğim örnekte anahtarın birinden yola çıkarak diğer anahtarı elde edebilirsiniz ancak o denli zor matematik işlemlerinden geçen işlemler varki geriye dönük ispatı yapılamaz ki çoğu zaman şifreleme için bu tarz algoritmalar kullanılır.
Blockcahinde 3 tane şifreleme yöntemi bulunuyor:
Simetrik Şifreleme
Simetrik şifreleme, verilerin hem şifrelenmesini hem de şifresini çözmek için aynı anahtarı kullanıldığı yönteme simetrik şifreleme denir. Buna bazen “gizli anahtar şifreleme” de denir. Bu tarz bir şifreleme yöntemi işe yarar ancak bu sistem yeterli değildir yani hem şifreleme hemde şifre çözme anahtarı aynı olduğu için bu sistem içinde riskler barındırır bu sistemde karşı tarafa şifreleme için kullandığınız ortak anahtarıda göndereceğiniz için bu sonradan değiştirilme gibi olasılıklarıda var eder. Bu yüzden çok tercih edilen bir yöntem değildir.
Asimetrik Şifreleme
Asimetrik Şifreleme, tek sistem iki anahtarın kullanıldığı yöntemdir, bir genel anahtar ve bir özel anahtar bulunur. Asimetrik şifreleme sistemi şu şekilde çalışır: Genel anahtar, verileri şifrelemek için kullanılan anahtardır. Özel anahtar ise kullanıcıların verilerin şifresini çözmek veya kodunu çözmek için ihtiyaç duyduğu anahtardır. Başka bir deyişle, genel anahtar düz metni şifreli metne dönüştürür, özel anahtar ise şifreli metni tekrar düz metne dönüştürür. Örnek olarak Bitcoin ağı asimetrik bir sistemdir, kullanıcılara özel bir anahtar verir ve daha sonra bir ortak anahtar oluştururarak çalışır.
Hashing
Girilen veriyi, belirli bir kalıptaki sabit çıktıya dönüştüren matematiksel işleme hash denir. Genellikle Hashing yerine, düz metin girişine dayalı bir “karma değeri” üreten bir algoritma kullanılır. Karma işlevleri güvenli oldukları için çok fazla tercih edilir, oluşturulan karma değeri, kullanıcıların düz metni bir kez şifrelenmiş olarak kurtarmasını nerdeyse imkânsız bir hale getirir. Parolalar veya çeşitli veriler asla düz metin halinde tutulmaz. Örneğin Bir siteye kaydolurken belirlemiş olduğunuz parola olduğu haliyle veri tabanında saklanmaz. Tek yönlü bir algoritma ile şifrelenir ve gerçek paroladan benzemeyecek bir şekilde harf ve sayılardan oluşan bazı değerlere dönüştürülür. Uzaktan sisteme erişen saldırgan şifrelenmiş verileri ele geçirse de bunlar kullanmaz yani işe yaramayacaktır çünkü tek yönlü bir şifreleme olduğu için çözmesi çok zordur.
Hash işleminin arkasındaki gerçek teknik süreç oldukça karmaşıktır ve bu nedenle bazı kripto para birimleri için madencilik çok elverişlidir. Karma işlemine katkıda bulunmak için bir ağda harcanan hesaplama kaynaklarına karma hızı denir ve iyi bir karma hızı genellikle ağın güvenli olduğu anlamına gelir.
Özellikle Bitcoin’de kullanılan SHA-256 adında bir şifrelme algoritması bulunur. Bu algoritma geriye dönük çözümlemesi imkansızdır ve bu algoritma her ne yazılırsa yazılsın her zaman on altılık sayı sisteminde 64 karakterlik çıktı sunar bunu denemek için Bu linkten yardım alabilirsiniz ve diğer algoritmalarda bakabilirsiniz.
Konsensus (Uzlaşma, Mutabakat) NEDİR?
Konsensus (Consensus) Türkçe karşılığı uzlaşma olan ve tanım olarak “tartışmalı bir konuda uzlaşılarak ulaşılan genel görüş birliği” olarak adlandırılır. Daha genel ve basit bir dil ile anlatmak gerekirse, bir grup içerisinde karar vermek ya da fikir birliğine ulaşmak anlamını taşımaktadır. Konsensus mekanizmaları, dağıtılmış sistemlerin birlikte çalışmalarını ve güvende kalmalarını sağlar. Bu mekanizmalar uzun yıllardır veri tabanı düğümleri, uygulama sunucuları ve diğer kurumsal altyapılar arasında konsensus sağlamak için kullanılmaktadır. Bunu daha iyi anlamak için Ethereumu örnek verelim.
Son yıllarda, Ethereum gibi sistemlerin ağın durumu üzerinde anlaşmaya varması için yeni konsensus mekanizmaları icat edilmiştir. Konsensus mekanizması, özellikle belirli ekonomik saldırı türlerinin önlenmesine de yardımcı olur. Teorik olarak bir saldırgan, ağın %51’ini kontrol ederek konsensusu tehlikeye atabilir. İşte konsensus mekanizmaları da bu “%51 saldırısı”nı imkânsız kılmak için tasarlanmıştır.
Akıllı sözleşmeler nedir?
Akıllı sözleşmlerin piri ethereum olduğu için ethereum üzerinden hareket edelim.
Akıllı sözleşmeler, Ethereum uygulamalarının temel yapı taşlarıdır. Geleneksel sözleşmeleri dijital parametrelere dönüştürmemizi sağlayan Blockchainnde depolanan bilgisayar programlarıdır. Akıllı sözleşmeler bir tür Ethereum hesabıdır da denebilir. Bu, bir bakiyeye sahip oldukları ve ağ üzerinde işlemler gönderebildikleri anlamına gelir. Ancak bir kullanıcı tarafından kontrol edilemezler, bunun yerine ağa dağıtılırlar ve programlandıkları gibi çalışırlar. Sonrasında kullanıcı hesapları akıllı sözleşmede tanımlanmış bir fonksiyonu yürüten işlemler göndererek akıllı sözleşmeler ile etkileşime geçebilirler.
Akıllı sözleşmeler aslında çok basit bir mantıkta çalışır kurulan sözleşmeye uygun olarak hareket eden komutlardır diyebiliriz. Genel anlamda var olan sözleşmeler esnektir ve bazen değişime açıktır, bu da karar mekanizmasının insan olduğu durumlarda veya diğer bir deyişle insanın duyguları gibi farklı bir etkenden dolayı vereceği kararlar değişebileceğinden objektifliğini sorgulanabilir bir hale getiriyor. Bu yüzden İnsan faktörü, geleneksel sözleşmelerde en büyük başarısızlıklardan biridir.
Örneğin, iki bireysel yargıç geleneksel bir sözleşmeyi farklı şekillerde yorumlayabilir. Onların yorumları, farklı kararların alınmasına ve farklı sonuçlara yol açabilir. Akıllı sözleşmeler, farklı yorumlama olasılığını ortadan kaldırır. Akıllı sözleşmlerde geri adım yoktur yani çıkarları doğrultusunda hareket edebilecek karar mekanizmaları özgür olan inasanların yanı sıra dijital ortamdaki kuralları harfiyen yerine getiren sistem herkes açısından daha kabul edilebilir ve güvenli olur.
1994 yılında Nick Szabo “akıllı sözleşme” terimini ilk olarak ortaya attı. 1996’da akıllı sözleşmelerin neler yapabileceğine dair şuanki yapabildiklerine ihtimal veremeyecek kadar uzak bir teoriyi öne sürdü. İşlemlerin aracılar olmadan güvenle gerçekleştirilebileceği bir yer olarak hayal edilen bu sistem aslında Ethereumun ana vizyonunu ortaya koydu diyebiliriz.
Akıllı sözleşmeler, sözleşme şartlarını, sözleşme şartları karşılandığında otomatik olarak yürütülen bilgisayar koduna dönüştüren sistemler olduğunu söylemiştik. Bu gerçek hayattaki otomotlara benzetilerek anlatılır. Oda kısaca şu şekilde daha basite indergenebilir.
Siz otomattan bir ürün seçersiniz. Otomat, ürünü satın almak için gereken tutarı size ifade eder. Doğru miktarı girdikten sonra Otomat, doğru miktarı girdiğinizi doğrular ve size tercih ettiğiniz ürünü verir. Burda Dikkat çeken nokta ise otomat, yalnızca tüm gereksinimler karşılandıktan sonra istediğiniz ürünü size verir akıllı sözleşmelerde herşey doğruysa, uygunsa o zaman çıktı verir.
Akıllı sözleşmelerin normal sözleşmelere göre sahip olduğu en önemli avantajlardan biri, sözleşme koşulları gerçekleştiğinde sonucun otomatik olarak yürütülmesidir. Reel dünyadaki sözleşmelerde insanın sonucu yerine getirmesi gerekir. Aynı otomat örneğinde olduğu gibi her şey doğruysa ürününüzden şüphe duymadığınız gibi akıllı sözleşmelerle yaptığınız işlemlerde de sonucundan şüphe duymazsınız.
Akıllı sözleşmeler, takip ve kontrol açısından da çok verimlidir kısaca denetimler ve izleme için de elverişlidir. Ethereum akıllı sözleşmeleri, halka açık bir Blockchainnde ve açık kaynak kodlu olduğundan herkes yaptığı transferleri, başka bir transferi veya diğer bilgileri anında takip edebilir.
Son olarak, diğer reel sözleşmeler gibi, akıllı bir sözleşmede ne olduğunu imzalamadan önce kontrol edebilirsiniz. Daha da önemlisi, sözleşmedeki şartların şeffaflığı sayesinde herkes onu önceden inceleyebilir.
Akıllı sözleşmlerin kullanım alanları sınırlı değildir bu sizin hayal gücünüze kalmış birşeydir. Hâlihazırda Hesaplamalar yapabilir, para birimi oluşturabilir, veri depolayabilir, NFT’ler basabilir, iletişim gönderebilir ve hatta grafik oluşturabilirler. Akıllı sözleşmleri daha detaylı incelediğimizde onların da verimliliğini arrtıran daha küçük parçalar olarak nitelendirebileceğimiz standartlar bulunur.
Merkle Ağaç Yapısı (Merkle Tree)
Merkle ağacı, büyük veri kümelerini doğrulamak için kullanılan bir yaklaşımdır bunu yaparken veriyi tam haliyle değil özeti şeklinde alır. Merkle ağaç yapısında ikili (binary) bir ağaç yapısı oluşturulup, en alt seviyeye veri kümesindeki parçalar yerleştirilir. Sonrasında en alt seviyeden yukarıya doğru ikili bir şekilde özetleme değeri üretilerek ilerlenip, tüm ağaç yapısı için tekil bir özetleme değeri (Merkle kök değeri) üretilmiş olur.
Proof of Work (PoW- iş ispatı) Nedir?
Proof of Work temelde sistemin işleyişini aksatmaya yönelik yapılan saldırıların veya Spam olarak adlandırılan istenmeyen mesajların engellenmesi için ortaya çıkarılmış bir protokoldür. Bu protokol, ilk olarak 1993 yılında Cynthia Dwork ve Moni Naor isimli bilgisayar uzmanlarının öne sürdüğü bir makleden çıkmıştır.
İş ispatı doksanlı yıllarda en yaygın olark, DDoS (Denial of Service) saldırıları başta olmak üzere bilgisayar sistemlerini çalışamaz hale getirmeye yönelik hamleleri engellemek için kullanılmaya başlandı. 31 Ekim 2008’de yayınlanan bitcoinin teknik dökümanında, karşımıza daha önceki kullanım alanlarından farklı bir şekliyle ortaya çıktı. Burda p2p eşler arası elektronik nakit sistemi Proof of Work protokolü sayesinde güvenilir bir ödeme sistemi ve kriptopara biriminin nasıl var olabileceğini ortaya koyuldu.
Proof of Work nasıl çalışır?
Bitcoin ve diğer kiriptopara birimleri, düğümlerin bir araya gelerek oluşturduğu ağlar aracılığıyla korunan blokzinciri sistemleridir. Bu sistemlerin temel görevi ağın sürdürülebilirliği ve sürekliliğini sağlamaktır. Ağda madenci denilen ve zincire yeni bloklar eklemekle görevli operatörler bulunmaktadır. Bu blokların eklenebilmesi ise bazı karmaşık matematik problemlerinin çözülmesiyle gerekiyor. Bu problemleri çözmek çok zor olduğundan dolayı güçlü işlemcilere ihtiyaç duyulmaktadır.
Problemi çözen ve bloktaki işlemleri doğrulayan madenci, işlemi ağa yayınlayarak ağda belirlenen kriptopara ödülünü ve bloktaki işlemler için ödenen işlem ücretlerini almaya hak kazanır.
Proof of Stake (PoS- Hisse İspatı) Nedir? Nasıl Çalışır?
Proof of Stake (PoS- Hisse İspatı), Proof of Work protokolüne bir alternatif olarak ortaya çıkmış varlık sahipliğini dikkate alan bir protokoldür. 2012 yılında Sunny King ve Scott Nadal isimli blokzinciri geliştiricileri tarafından PoW’un yüksek enerji tüketimine alternatif olarak ortaya çıkmıştır. PoS protokolünü kullanan ilk kriptopara birimi Peercoin’dir. PoS protokolü PoW protokolüne nazaran ağ gücünü işlemci gücüne bakarak dağıtmaz. PoS’ta bir sonraki bloğun üretimi birkaç kombinasyonu aynı anda yerine getiren operatörler tarafından gerçekleştirilebilir
Hisse İspatı protokolünde, işlem doğrulayabilmek ve gelirden pay almak isteyen kullanıcılar, varlıklarını “Staking” (gelirden pay alma) olarak adlandılan bu kilitleme, doğrulama için kullanılır. Hisse ispatı protokolünü kullanan blockzincirlerinde, kullanıcılar diğer adıyla stakerlar, blok doğrulama ödüllerini ve diğer kullanıcıların ödediği transfer ücretlerini stake varlıklarıyla orantılı olarak paylaşır.
Proof of Stake protokolünün birden çok türü vardır: Delegated Proof of Stake (dPoS- Yetkilendirilmiş Hisse ispatı) ve Leased Proof of Stake (LPoS – Kiralanmış Hisse ispatı) öne çıkan Proof of Stake türleridir.
Delegated Proof of Stake (DPoS) (Yetkilendirilmiş Hisse ispatı)
Varlık sahipliğine dayanan Hisse ispatında bir kullanıcı, varlıklarını ilgili blokzincirine bağlı cüzdanında tutarak işlemleri doğrulama ve blok üretme hakkına sahip olduğunu söylemiştik. DPoS ise stakerların oy vererek fikir birliğini çözme gücünden yararlanır. Yetkilendirilmiş Hisse İspatı (dPoS) blokzinciri ağında fikir birliği sağlamak için sosyal bir sistem kullanılır. Amaç kriptopara sahiplerinin ağın yönetiminde söz sahibi olmasıdır.
Hisse İspatı sisteminden farklı olarak, kullanıcılar, cüzdanlarıdaki kripto varlıklarını bir başka kullanıcıya delege ederler. Kriptopara varlığı cüzdandan transfer edilmez, ancak delege edilen kullanıcının varlığı olarak kabul edilir ve delege edilen kullanıcının ağdaki söz hakkını artırır. Diğer kullanıcılardan delege hakkı alan kişi, ağdaki gelirlerden daha fazla pay alır ve elde ettiği geliri, delegeleriyle, hisseleri oranında paylaşır.
Leased Proof of Stake (LPoS)
Proof of Stake protokolünde her kullanıcı uygun değildir bunun için keriterlere uygun olan kullanıcılar kabul edilir ve blokları doğrular. Yani üretilen her bloktan gelir elde edemezler. Ancak Kiralanmış Hisse İspatı (LPoS) protokolünde kullanıcılar bütün bir düğümün belli bir yüzdesini kiralamalarına imkân tanınır. Bu sistemin amacı küçük yatırımcıyıda sistemi kullnmaya teşfik etmektir. LPoS protokolünü kullanan kriptopara birimleri arasında en yaygını Waves’tir.
LPoS ta sistem şu şekilde çalışır: Kullanıcılar, cüzdanlarında bulunan varlıkları, ağda işlem yapan diğer kullancılara kiraya verir. Kiralama işleminde, kiralanan miktar kullanıcının cüzdanından çıkmaz ancak çekme ve alış satış işlemlerine kapatılır karşılığında bir sözleşme ispatı tarzı bir şey verilir. Kiralama yapılan kullanıcı, madencilik faaliyetleri yaparken gelirden daha fazla ödül alır ve kazancını, paydaşları ile payları oranında paylaşır.
Çatallar (Forks) nedir?
Çatallar, ağda önemli teknik yükseltmeler veya değişiklikler yapılması gerektiğinde ortaya çıkar: Bunlar genellikle Ethereumda Ethereum İyileştirme Önerileri (EIP’ler)’den kaynaklanır ve protokolün “kurallarını” değiştirir. Geleneksel, merkezden kontrol edilen yazılımlarda yükseltmelere ihtiyaç duyulduğunda, şirket son kullanıcı için sadece yeni bir versiyon yayınlar. Blok zincirleri is bundan farklı çalışır çünkü merkezi bir sahiplik yoktur. Yapılan kural değişiklikleri ağda geçici bir bölünme oluşturabilir, yeni bloklar yeni ya da eski kurallara göre yaratılabilir. Çatallar genellikle önceden kararlaştırılır, böylece müşteriler değişiklikleri uyum içinde benimser ve yükseltmelerle birlikte çatal ana zincir hâline gelir. Fakat nadir durumlarda, çatallanmalar üzerindeki anlaşmazlıklar ağın geçici olarak ayrılmasına neden olabilir.
Hard Fork Nedir?
Hard Fork, blockchain ağı üzerinde yapılan keskin çatallaşmayı ifade eder. Mevcut blokzincire alternatif olarak yeni bir blockzincir oluşturulmasıdır. Kod büyük ölçüde değiştiği için yeni sürüm, eski bloklarla geriye dönük olarak uyumlu olmadığından hard fork gerçekleşir. Oluşturulan bu hard forkla beraber oluşan iki çataldan ya ikisi de aynı anda var olur ve birbirlerinden bağımsız olarak çalışırlar ya da ikisinden biri daha baskın hale gelir.
Hard fork adından da anlaşılacağı gibi beraberinde sert düzenlemeler getirmektedir. Oluşan yeni forku seçen kullanıcılar eski sürüme geri dönüş olanakları bulunmamaktadır. Örnek olarak Merkezi olmayan otonom kuruluş olarak çevirebileceğimiz DAO (Decentralized Autonomous Organisation’nun) 50 milyon ETH’nin çalınmasıyla sonuçlanan hacklenmesinden sonra yaratılmıştır. O dönemlerde, Ethereum topluluğu ne yapılacağı konusunda tartıştı ve çoğu, hard fork kullanmaya karar verdi.
Soft Fork Nedir?
Soft fork, blokzincir ağında üzerinde eski yazılıma da uyumlu olacak şekilde yenilik yapılma işlemi olarak tanımlanmaktadır. soft forku, Blockchain için yazılım yükseltmesi olarak düşünebilirsiniz. Bu, tüm kullanıcılar tarafından benimsendiğinde para biriminin yeni standardı hâline gelir. Yeni ağa geçen kullanıcılar isterlerse eski ağada geçebilmektedir. Soft fork tam anlamda başarıya ulaşılabilmesi için madencilerin ve kullanıcıların bu yeni ağı çoğunlukla kabul etmesi gerekmektedir. soft forklar, hem Bitcoin hem de Ethereum’a genellikle programlama düzeyinde yeni özellikler veya işlevler getirmek için kullanılır. Burda ağ değişmediğinden dolayı gelen yükseltme geriye dönükte çalışabilir.
Konu ile ilgili yorumlarınızı bize yazabilirsiniz. Ayrıca, bu tarz bilgilendirici içeriklerin devamının gelmesini isterseniz, bizleri Telegram, Youtube ve Twitter kanallarımızdan takip edebilirsiniz.
Pingback: Mask Network (MASK) nedir? – COİN MÜHENDİSİ