Blockhain Teknolojisi Nasıl Çalışır?
Blockhain Teknolojisi Nasıl Çalışır?
Neredeyse herkesin Blockchain’e bir kulak aşinalığı var. Nasıl çalıştığını bilenlerin sayısı ise o kadar da çok değil. Bu makale Bitcoin’in bir sihir olmadığını gösteriyor.
Blockhain nedir?
Blockchain, üstünde sahtekarlık yapmanın neredeyse imkansız olduğu bir günlüktür.
Hash özelliği
Bir odada bulunan 10 kişinin ayrı bir para birimi oluşturmaya karar verdiğini hayal edelim. Para akışını takip etmeleri gerekir. Aralarından bir kişi -adına Bob diyelim- tüm eylemleri bir günlükte tutmaya karar verdi.
Başka biri -adına Jack diyelim- parayı çalmaya karar verdi. Bunu gizlemek için günlükteki girileri değiştirdi:
Bob, birinin günlükte değişiklik yaptığını farketti. Bunun olmasını engellemeye karar verdi.
Hash fonksiyonu denilen, metinleri harf ve rakamlardan oluşan dizilere dönüştüren bir program buldu.
Hash, hash fonksiyonu ile oluşturulmuş harf ve rakamlardan oluşan dizilere verilen isimdir. Hash fonksiyonu ise çeşitli harf ve rakamları alıp sabit sayıda karaktere sahip dizilere dönüştüren bir matematik fonksiyonudur. Dizideki küçük bir değişiklik bile tamamen yeni bir hash oluşmasına sebep olur.
Bob günlüğüne her kayıttan sonra bir de hash kaydetti. Yeni günlük şu şekildeydi:
Jack girdileri tekrar değiştirmeye karar verdi. Gece olunca günlüğü aldı, kaydı değiştirdi ve yeni bir hash oluşturdu.
Bob birinin günlükte yeniden işlem yaptığını farketti. İşlemlerin kaydını daha da karmaşık hale getirmeye karar verdi. Her kayıttan sonra, son kayıttan ve son hash’ten oluşan bir hash ekledi. Böylece her girdi kendinden bir öncekine bağıl hale geldi.
Jack’in kaydı değiştirmek için önceki tüm girdilerdeki hash’i değiştirmesi gerekecekti. Jack, parayı gerçekten istiyordu ve geceyi tüm hashleri sayarak geçirdi.
Nonce
Bob ise pes etmedi. Her kayıttan sonra bir rakam eklemeye karar verdi. Bu rakama ”Nonce” adı verilir. Nonce, oluşturan hash iki sıfırla bitecek şekilde seçilmeli.
Kayıtları değiştirmek için Jack’in artık her bir satır için Nonce seçmesi ve bunun için saatler harcaması gerekiyordu.
Daha da önemlisi sadece insanlar değil bilgisayarlar da nonce’u hızlıca bulamıyorlar.
Düğümler
Daha sonraları Bob çok fazla kayıt olduğunu ve günlüğü bu şekilde sonsuza kadar tutamayacağını farketti. 5000 işlem kaydettikten sonra onları tek sayfalık bir hesap tablosuna dönüştürdü. Mary de tüm işlemlerin doğruluğunu kontrol etti.
Bob, hesap tablosu günlüğünü dünya üzerinde 5000’den fazla bilgisayara dağıttı. Bu bilgisayarlara düğüm (node) adı verilir. Yapılan her işlemin, işlemin geçerliliğini kontrol eden bu düğümler tarafından onaylanması gerekiyor. Tüm düğümler işlemi kontrol ettikten sonra, bazıları geçerli bazıları da dolandırıcılık olduğunu düşündüğü için bir çeşit elektronik oylama yapılıyor.
Blok
Bu hesap tablolarına blok adı veriliyor. Blokların oluşturduğu bütüne ise Blockchain deniyor. Tüm düğümlerde Blockchain’in bir kopyası bulunuyor. Bir blok belirli bir sayıda onaylanmış işleme sahip olunca yeni bir blok oluşturuluyor.
Blockchain kendini her on dakikada bir otomatik olarak, bir yönetici veya merkezi bilgisayar olmadan güncelliyor.
Hesap tablosu, defter veya kütük güncellendiği zaman artık değiştirilemez oluyor. Böylece üstünde bir sahtekarlık yapmak imkansız hale geliyor. Üstüne sadece yeni girdiler eklenebiliyor. Kütük ağdaki tüm bilgisayarlarda aynı anda güncelleniyor.
Önemli noktalar:
- Blockchain, işlemler hakkında bilgi içeren bir günlük veya hesap tablosudur.
- Her işlem bir hash oluşturur.
- Hash, harf ve rakamlardan oluşan bir dizidir.
- İşlemler yapıldıkları sırayla kaydedilir. Sıra çok önemlidir.
- Hash sadece işleme değil aynı zamanda önceki işlemin hash’ine de bağlıdır.
- İşlemdeki ufak bir değişiklik bile yeni bir hash yaratır.
- Düğümler hashleri inceleyerek işlemin değiştirilmediğinden emin olur.
- İşlem düğümlerin çoğunluğu tarafından onaylanırsa blok’a işlenir.
- Her blok kendinde bir önceki blok’a atıfta bulunur ve beraber Blockchain’i oluştururlar.
- Blockchain, birçok bilgisayara dağıtıldığı ve hepsinde bir kopyası bulunduğu için etkilidir.
- Bu bilgisayarlara düğüm adı verilir.
- Blockchain kendini 10 dakikada bir günceller.
Cüzdanlar, dijital imzalar, protokoller
Bob, 10 kişiyi bir araya getirdi. Yeni coin’i onlara açıklaması gerekti.
Jack, işlediği günahları gruba itiraf etti ve özür diledi. Samimiyetini ispatlamak için Ann ve Mary’e coinlerini geri verdi.
Tüm bunların ardından Bob, bu olayın neden bir daha asla yaşanmayacağını açıkladı. İşlemleri onaylamak için dijital imza denilen bir şey kullanmaya karar verdi. Fakat öncesinde herkese bir cüzdan verdi.
Cüzdan nedir?
Cüzdanlar, 18c177926650e5550973303c300e136f22673b74 gibi rakam ve harflerden oluşan dizilerdir. Bu adres işlem yapıldığında Blockchain dahilindeki çeşitli bloklarda gözükür. Kimin hangi işlemi kiminle yaptığı gibi bilgileri göstermez, sadece cüzdan numarası gözükür. Cüzdanların adresi aynı zamanda bir açık anahtardır.
Daha fazlası için: “Bitcoin Cüzdanları: bilmeniz gereken her şey”.
Dijital imza
Bir işlemi gerçekleştirmek için iki şeye ihtiyacınız var: bir cüzdan -yani bir adres- ve bir özel anahtar. Özel anahtar rastgele rakamlardan oluşan bir dizidir, adresin aksine gizli tutulması gerekir.
Birine coin göndermek isteyenlerin, işlemi içeren mesajı özel anahtarlarıyla imzalaması gerekir. İki anahtarlı sistem, şifrelemenin ve kriptografinin kalbidir ve kullanımı Blockchain’in varlığından çok öncesine dayanır. İlk kez 1970lerde tasarlanmıştır.
Mesaj gönderildiği zaman Blockchain ağında yayınlanır. Düğümler ağı, mesaj üzerinde içerdiği işlemin doğruluğundan emin olmak için çalışır. Doğruluğu onaylanırsa, işlem bir blok’a kaydedilir ve bu noktadan sonra işlemle ilgili hiçbir bilgi değiştirilemez.
Kriptografik anahtar nedir?
Kriptografik anahtarlar, rakam ve harflerden oluşan dizilerdir. Anahtar üreticileri (keygen) tarafından oluşturulurlar. Bu anahtar üreticileri anahtarları oluşturmak için asal sayıları içeren ileri düzeyde matematiği kullanırlar.
Protokoller
Blockchain, geniş bir kurallar bütünü olan ve sisteme programlanmış bireysel davranış spesifikasyonlarından oluşur. Bu spesifikasyonlara protokol adı verilir. Özel protokellerin uygulanması aslında Blockchain’i dağıtık, eşler arası ve güvenli bir bilgi veri tabanı yapan şey.
Blockchain protokolleri, ağın tamamen otonom olmasına ve kimse tarafından kontrol edilmemesine rağmen yaratıldığı amacına uygun olarak devam etmesini sağlıyor. Blockchain’de uygulanan protokollerden bazıları:
- Hash sayılarına girilen her girdi bilgisi, bir önceki blok’un hash sayısını içermeli.
- Başarılı bir blok madenciliğinin ödülü oluşturulan her 210,000 bloktan sonra yarı yarıya düşüyor.
- Bir blok oluşturmanın süresini yaklaşık 10 dakikada tutmak amacıyla oluşturma zorluğu her 2016 blokta bir yeniden hesaplanıyor.
Madencilik nedir?
Blockchain’deki madenciler emek ispatı problemleri çözerek blok üreten düğümlerdir. Madenciler elektronik mutabakat tarafından onaylanan bir blok ürettiklerinde coin ile ödüllendirilirler. Ekim 2017 itibariyle Bitcoin madencileri ürettikleri her blok için 12.5 Bitcoin alıyorlar.
Madencileri bu iş için teşvik eden tek şey ödül değil. Aynı zamanda Bitcoin kullanıcılarının ödedikleri işlem ücretlerini de alıyorlar. Güncel olarak Bitcoin ağında çok fazla sayıda işlem yapıldığı için işlem ücretleri de fırlamış durumda. İşlem ücreti gönderici tarafından gönüllü olarak ödeniyor fakat madenciler yüksek ücret ödenmiş işlemlere öncelik gösteriyor. Yani nispeten yüksek bir ücret ödemediğiniz zaman işleminizin onaylanması uzun süre alabilir.
Daha fazlası için: “Madencilik Nedir”.
Önemli noktalar:
- Dijital paraya sahipseniz dijital bir cüzdana ihtiyacınız var.
- Cüzdanlar Blockchain’de bulunan adreslerdir.
- Cüzdanlar birer açık anahtardır.
- Para göndermek isteyenler özel anahtarlarıyla imzalanmış işlemi içeren bir mesaj göndermeliler.
- İşlem onaylanmadan önce düğümler tarafından incelenir ve bildiğimiz seçimlere pek de benzemeyen bir elektronik oylama yapılır.
- İşlemler bloklara özel düğümler olan madenciler tarafından yerleştirilir.
- Ağda bulunan ve Blockchain’i bulunduran bilgisayarlara düğüm adı verilir.
- Madenciler işlemleri bloklara emek ispatı problemlerini aşarak yerleştirir.
- Madenciler, bir blok’u başarılı olarak bitirdikleri zaman güncel olarak 12.5 BTC değerinde bir ödül alırlar ve aynı zamanda Bitcoin kullanıcılaırnın ödedikleri işlem ücretlerini alırlar.
- Blockchain üzerindeki etkileşim protokol adı verilen programa entegre edilmiş kurallar ile yürütülür.
- Kriptografi, Blockchain’i hacklemek isteyen hırsızları önlemek için son derece gereklidir.
- Kriptografik anahtarlar, anahtar üreticileri (keygen) tarafından oluşturulur.
- Anahtar üreticileri anahtar oluşturmak için asal sayıları içeren ileri düzey bir matematik kullanır.
- Bloklar zaman bilgisini, bir önceki blok’a referansı, işlemleri ve blok Blockchain’e katılmadan önce çözülmesi gereken hesaba dayalı problemleri içerirler.
- Mutabakata dayalı düğümlerden oluşan dağıtık ağ, Blockchain dahilinde dolandırıcılık yapmayı neredeyse imkansız hale getirir.Bir veritabanı olan Blockchain’deki her bir düğümün tüm Blockchain’e erişimi var. Hiçbir düğüm veya bilgisayar Blockchain’in içerdiği bilgiyi düzenlemiyor. Tüm düğümler Blockchain’deki kayıtları doğrulayabilir. Bunların hepsi, kontrolü elinde tutan bir aracı olmadan yapılıyor.
Hata yapacak bir kişi veya nokta olmadığı için yapısal olarak tamamen ademi merkezi. Blockchain’in işleyişini bozabilecek bir arıza noktası bulunmuyor.
Blockchain’in düğümleri ise, Blockchain ise kendisin entegre edilmiş eylemleri gerçekleştiren dağıtın bir ağ olduğu için mantıklı olarak merkezi bir yapıya sahip.
Eşler arası (P2P) iletim
-
İletişim, ilk prensibe uygun olarak merkezi düğümler yoluyla değil direkt olarak eşler arasında gerçekleşiyor. Blockchain’de gerçekleşenlerle ilgili bilgi düğümlerde saklanır ve bitişiğindeki düğümlere aktarılır. Bu yol ile bilgi tüm ağa dağıtılır.
Şeffaflık ve anonimlik bir arada
Blockchain’i inceleyen herkes tüm işlemleri ve hash değerini görebilir. Blockchain kullanıcıları anonim kalmak ile kimlik bilgilerini vermek arasında istediği seçimi yapabilir. Blockchain’de görebilecekleriniz yalnızca Blockchain adresleri ile yapılan işlemlerin kayıtlarından ibaret.
Kayıtlar
Yapılan işlemin kaydı Blockchain’e katıldıktan ve Blockchain güncellendikten sonra işlemin kaydı üzerinde değişiklik yapmak imkansız hale gelir. Bunun sebebi her işlem kaydının kendinden bir öncekine bağlı olması. Blockchain kayıtları sabittir, kronolojik olarak yapılırlar ve diğer tüm düğümlere açıktırlar. Yukarıdaki şema Bitcoin Blockchain’inden bir kesit.
Ağı kapatmak neden imkansız?
Düğümler dünya genelinde yayılmış olduğu için tek bir tarafın tüm ağı ele geçirmesi imkansıza yakın.
Bir blok’un sahtesini yapmak neden neredeyse imkansız?
Bunun sebebi blokların geçerliliğinin ve Blockchain’e katılım durumunun düğümlerin elektronik mutabakatına bağlı olması. Tüm dünyaya yayılmış binlerce düğüm var, bu nedenle ağı ele geçirmek ancak var olmayan bir bilgisayar gücüyle mümkün.
Blockchain normal bir veritabanı olarak kullanılabilir mi?
Access, Filemaker veya MySql gibi Blockchain de 3GB’lık dosyaları depolamak için kullanılabilir mi? Sanırım iyi bir fikir olmazdı. Çoğu Blockchain bunun için tasarlanmamış ve gerekli donanıma sahip değil.
Geleneksel online veritabanları genellikle istemci-sunucu ağ yapısını kullanıyor. Bu, kontrol genel olarak yöneticilerde olsa da erişim hakkına sahip kullanıcıların veritabanında depolanan bilgileri değiştirebileceği anlamına geliyor. Blockchain veritabanında ise her kullanıcı girdilerin sürdürülmesinden, hesaplanmasından ve güncellenmesinden sorumlu. Tüm düğümlerin aynı sonuca varmak amacıyla beraber çalışması gerekiyor.
Önemli noktalar:
- Blockchain tüm düğümlere dağıtılmış bir veritabanıdır.
- Hiçbir düğüm Blockchain’i kontrol etmez.
- Tüm düğümler işlemleri geçerli sayabilir.
- Blockchain üzerindeki tüm iletişim eşler arasıdır (p2p).
- Blockchain kullanıcıları istedikleri takdirde anonim kalabilirler.
- Blockchain’de gerçekleşen tüm işlemler kayıt altına alınır, böylece kullanıcılar anonim olsa bile işlemler tümüyle açık ve şeffaftır.
- Bir işlem Blockchain’e kaydedildikten ve Blockchain güncellendikten sonra, işlem değiştirilemez.
- Hiçbir kişi veya kurum Blockchain’i devre dışı bırakamaz.
- Blockchain politik ve yapısal olarak merkezi olmasa da mantıksal olarak merkezidir.
Blockchain nerede kullanılabilir?
Makalenin geri kalanında Blockchain teknolojisinin kullanıldığı çeşitli alanları ele alacağız. Akıllı sözleşme terimini sık sık kullanacağız. Önce terimi açıklayalım.
Blockchain akıllı sözleşmeler için idealdir. Peki akıllı sözleşme nedir?
Akıllı sözleşmeler, tıpkı geleneksel sözleşmeler gibi kuralları ve cezai şartları belirleyen özel anlaşmalardır. Akıllı sözleşmelerin asıl farkı ise bu yükümlülüklere uymayı otomatik olarak sağlamasıdır. Sözleşmeler, belirli kriterlerin karşılanması durumunda yükümlülüklerin yerine getirilmesi için kodlanmıştır.