Blockchain ve Bitcoin teknolojisine genel bakış
Bu teknolojiye verilen ad “Blockchain” idi ve Bitcoin olarak biliniyordu. Çok fazla teknik kelime mi var? Basitleştirelim!
31 Ekim 2008'de Satoshi Nakamoto adında isimsiz bir kişi veya kuruluştan bir bildiri yayınlandı; bu bildiri, göndericiden alıcıya doğrudan herhangi bir finansal aracıya dahil olmadan doğrudan para göndermek için yeni bir yaklaşım açıkladı. Bu konsepte bir isim verildi. Bu isim Bitcoin idi.
Bitcoinde bazı temel şifreleme kavramlarını kullandığından, para alışverişindeki bu yeni yöntem şifreleme para birimi olarak sınıflandırılmıştır. Bitcoin'in tek amacı finansal işlemler içindi ancak araştırmacılar mevcut sistemlerin çalışma biçiminde devrim yaratabilecek başka güvenli ve sağlam uygulamalar geliştirmek için temel teknolojisinin kullanılabileceğini fark ettiler. Bu temel teknolojiye verilen ad “Blockchain” idi. Çok fazla teknik kelime var mı? Basitleştirelim!
Blockchain Nedir? - Gerçek Bir Dünya Analojisi
Tek seferde 200 araba park etmeye mahiyet veren ve büyük bir park yeri olan bir şehirde yaşadığınızı düşünelim (park alanının sadece bir zemin katına sahip olduğunu varsayalım). Bu park alanında kilitli kalan ve sadece bir araba girip çıktığında açılan bir ana kapı bulunur. Şimdi bu tek otopark binasını farklı açılardan inceleyelim.
Fiyat: Bazı özel şirketlerin bu park alanını sadece park amacıyla inşa ettikleri ve tüm bakım masraflarının mal sahibi firma tarafından karşılanacağı için, tek bir park yeri kiralamak için yüksek bir kira bedeli ödenmesi gerekiyor.
Güvenlik: Hırsızlar ana kapıya erişirse, aracınıza kolayca ulaşabilirler (tekerleklerini veya yakıtını alabilirler veya frene zarar verebilirler!)
Limit: Ya şehrinizdeki araba sayısı 200'den 300'e çıkarsa? Park alanı tüm araçlar için yeterli alana sahip olmayacak ve diğer bazı özel kurumlar yeni bir park alanı inşa etmek zorunda kalacaktır.
Güvenilir: Park yeri şirketine güveniyorsunuz. Aynı zamanda güvenlik ve güvenilirliğe özen göstermekle sorumlular.
Merkezi: Tüm arabalar tek bir binada olduğu için merkezi bir park sayılabilir.
Şimdi, mevcut senaryoyu değiştirelim. Şehrinizde 200 ev olduğunu ve 200 evin hepsinde iki garaj olduğunu hayal edin. Bununla birlikte, açıklamamızı kolaylaştırmak için, her evin yalnızca bir arabası olduğunu varsayalım (tüm arabalar yukarıda açıklanan büyük park alanını dolduruyor). Yani, her evin mevcut iki garajdan bir tanesi boş garajı vardır. Şimdi, şehir halkının park yeri olan herkese ekstra garaj kiralamaya karar verdiğini varsayalım. Bu park yeri sağlama modeli, şehrin tamamı için daha büyük bir park yeri oluşturmaya gerek kalmadan, 200 kişilik veya daha fazla otomobilin (insanların şehir içinde ve dışına çıkması durumunda) park etme sorununu çözecektir. Önceki senaryoya benzer şekilde, bu senaryoyu analiz edelim.
Fiyat: İnsanlar ikinci garajı yalnızca kiralama amacıyla inşa etmedikleri ve bakım masrafları az olacağından, fazladan alanın kiralanmasının büyük merkezi park yerine nispeten daha düşük olacağı.
Güvenlik: Her araba farklı bir garajda kilitli olduğundan, hırsızların arabalara erişebilmek için tüm garajların kilidini açması gerekecek, böylece daha fazla güvenlik sağlanacaktır. (Blockchain'deki güvenlik biraz farklıdır ama basitlik için şimdilik bu şekilde düşünelim!)
Limit: Her yeni evin de ekstra garaj alanı olduğu varsayılarak, ev sayısı arttıkça, daha fazla araba bulundurma alanı artmaya devam edecektir. Böylece, kiracı ve kiracı ağını artırmak limiti de artıracaktır.
Güvensiz: Hiçbir merkezi otorite bu dağılmış park yerlerini kontrol etmediğinden, katılan tüm garaj sahiplerinin yerlerini kiralamak için belirlenmiş kurallar olacağını varsayıyoruz.
Merkezi olmayan: Bir önceki noktada belirtildiği gibi, bu park yerleri şehir genelinde dağılmıştır, merkezi olmayan bir park yeri olarak düşünebiliriz.
Yukarıdaki analoji Blockchain'in gerçek teknik altyapısını anlama konusunda temel sağlar.
Park Modeline Teknik Model
Park modeli, bazı gerçek dünya dillerinde Blockchain'e çok temel bir genel bakış sunar. Şimdi, park etme örneğimizin bileşenlerini gerçek teknik modelle eşleştirmeye çalışalım.
Büyük merkezi park yeri, AWS, Google Cloud vb. gibi merkezi bir sistemdir (bu bulut platformları da bir düzeyde dağıtılmıştır, ancak sadelik uğruna, onları tek bir varlık olarak kabul edeceğiz).
Arabalar veri ve uygulamalardır.
Dağıtılmış park, merkezi olmayan bir sistemdir - Blockchain.
Bekle! Bir şeyleri kaçırdık.
Tüm merkezi olmayan sistemler Blockchain değildir! Evet, Blockchain benzersiz bir özelliğe sahip belirli bir yerel yönetim sistemi türüdür. Hangi özellik? Hadi bunun hakkında biraz tartışalım!
“Bloklar” Blockchain oluşturuyor.
Dağınık park örneğimizi tekrar ziyaret edelim ve küçük bir değişiklik yapalım. Belirli bir garajın kilidinin, içinde bir araba park edildiğinde oluşturulduğunu varsayalım (aynı arabanın her gün aynı parka gittiğini varsayarız). Ayrıca, tüm dağıtılmış garajları seri sırayla numaralandırdığımızı varsayın. 50 numaralı garaj kilit anahtarı çifti, 49 numaralı garaj kilit çiftine ve ayrıca 50 numaralı garajda park edilmiş arabanın özelliklerine (renk, ağırlık, motor numarası vb.) dayanmaktadır ve bu işlem # 1 ve garaj # 200'e veya daha fazlasına kadar devam eder.
Her garajın kilit anahtar çifti, garajın araç özelliklerine ve önceki garajın kilit anahtar çiftine bağlıdır.
Bu nedenle, bir hırsız garaj # 49'a girmeye çalışır ve arabanın herhangi bir özelliğini değiştirirse, rengini veya sicil numarasını söylerse, garaj # 49'daki arabanın özellikleri değişecektir, bu da garaj # 49 için yeni bir kilit anahtarı çifti olacaktır ve garaj # 50 için kilit anahtar çifti, garaj # 49 kilit anahtar çiftine bağlı olduğundan, garaj # 50 için kilit anahtar çifti de değişecek ve gelecek garajlar için de aynı şey geçerli olacaktır.
Şimdi, bir kilit anahtar çiftinin hesaplanmasının çok sayıda hesaplama kaynağı gerektirdiği son bir varsayım yapalım; bu, herhangi bir garajdaki herhangi bir araba özelliğini değiştiren bir durumda, bu çiftleri yeniden hesaplamamız gerekirse, tüm çiftleri yeniden hesaplamanın neredeyse imkansız olacağı anlamına gelir.
Bir kilit anahtarı çifti değiştirilirse ne olur?
Umarım bazı garaj sahiplerinden bazı kurallara uyarak bahsettik. Bu kurallardan biri geçerli bir garaj olup olmadığını kontrol etmektir. Kilit anahtarı çiftini doğrulayabiliyorsanız bir garaj geçerlidir ve herhangi bir kilit anahtarı çifti değişirse, aşağıdaki çiftlerin hepsinin bağlı olduğu için aşağıdaki garajların kilit anahtarı çiftleri geçersiz olur. (Belirli bir garaj için kilit anahtar çiftini doğrulama işlemi, bir üretime kıyasla çok hızlıdır).
Bir çiftin önceki çifte olan bu bağımlılığı onu bir garaj zinciri yapar ve teknik dünyada, bu garajlar “bloklar” dır, bu nedenle blockchain (bir blok zinciri) adını alırlar.
Blockchain içerisindeki bloklar, örneğimizdeki kilit anahtar çiftleri gibi karma değerlerle bir sonraki bloğa bağlanır. Garaj örneğine benzer şekilde, bir bloktaki veriler değiştirilirse, aşağıdaki tüm bloklar için hashlerin yeniden hesaplanması gerekir ve hash hesaplanması çok kaynaklı yoğun bir işlem olduğundan, bunu yapmak neredeyse imkansız hale gelir ve bu nedenle ağ geçersiz kılınmaktadır.
Bloklar değişiklikten nasıl kurtulur?
Blockchain ağındaki tüm bilgisayarlar, tüm blockchain'in bir kopyasını tutar, böylece belirli bir bilgisayardaki bir blok veya bir tam zincir veya birden fazla bilgisayar değiştirilirse, tüm ağ, tüm zincirin kendi kopyaları ile karşılaştırmaya çalışır.
Ağdaki düğümlerin (veya bilgisayarların) çoğunluğu, değiştirilmiş zincirin geçersiz olduğunu tespit ederse, değiştirilmiş zincir, diğer düğümlerden geçerli bir zincirle değiştirilir. Bu, Blockchain'i % 51 saldırıya karşı savunmasız hale getiriyor. Daha basit bir deyişle, eğer ağdaki düğümlerin% 50'den fazlası zararlıysa (ya da değiştirilmiş bir zincirin olduğu söylenirse), ağın tamamı tehlikeye girebilir.
Sonuç olarak;
Blockchain eklenen herhangi bir olgu değiştirilemez. Değiştirilme girişiminde bulunulursa bile sistem bunu onaylamayacaktır.
Dağıtılmış bir yapıya sahiptir bu nedenle birden fazla noktadan onay alması gereklidir. Bu ise güvenlik açısından önemli bir rol üstlenir.