Liveness (Canlılık), blockchain’de yer alan node’lar (düğüm) arasında aynı çıktının alınmasını garanti eder. Liveness’i daha iyi anlamak için, FLP ve aBFT’nin ne olduğuna ve nasıl işlediğine göz atalım.
FLP (Fischer, Lynch ve Paterson) ve Liveness İlişkisi Nedir?
Başarısız ya da kötü niyetli node’lar (düğüm), ağda bir fikir birliği kurulmasının önüne geçebilir. Bir fikir birliği protokolünün güvenlik, liveness ve hata toleransı gibi üç özelliğinin tümünün elde edilememesi, FLP olarak tanımlanır. Fikir birliği, node’ların tek bir değere varmasını ifade eder. FLP kavramı, bir fikir birliği protokolünün üç özellikten sadece ikisine sahip olabileceğini gösterir.
Güvenlik, canlılık ve tolerans bir fikir birliği için oldukça önem taşıyan terimlerdir. Fikir birliği, belirli koşularda güvenlik, canlılık ve tolerans konusunda garanti verir. Bir fikir birliği mekanizmasında garanti ne kadar güçlü ve koşullar ne kadar azsa, o kadar güvenli sayılır. Bir fikir birliği, koşulları netleştiren ve garantilerin nasıl oluştuğuna işaret eden matematiksel kanıtlara sahip olabilir.
Bir fikir birliği mekanizması aBFT kanıtına sahipse, matematiksel kanıta sahip sayılır. aBFT kanıtına sahip bir fikir birliği, doğruluk, canlılık ve kesinliğin garanti edildiğine dair matematiksel bir kanıt sağlamış kabul edilir.
Eşzamansız Bizans Hata Toleransı (aBFT) Nedir?
Eş zamansız Bizans Hata Toleransı (aBFT), hatalı bir sistemin doğru bir şekilde çalışmasını sağlayan bir protokol çeşididir. aBFT, Byzantine Fault Tolerance (BFT) olarak da bilinir ve dağıtık ağlarda sıkça kullanılır. aBFT protokolü, eş zamanlı olarak birden fazla node’un iletişim halinde olduğu bir blockchain’de çalışır. Node’lar arasında paylaşılan veriler bazen hatalı ya da gecikmeli gerçekleşebilir. Böyle bir durumda, hatalara neden olan sorunlar protokol tarafından belirlenir ve çözüme ulaştırılır.
aBFT koşulları şu şekilde olabilir:
- Node’ların neredeyse en az %80’i dürüst ve hatasız olmalı.
- Bir node senkronize edilirken her zaman için doğrudur.
Liveness (Canlılık) Nedir?
Liveness (Canlılık), blockchain ağı içerisinde bulunan node’lar (düğüm) arasında işlem bilgilerinin bulunmasını garanti eder ve node’ların fikir birliğine (konsensüs) varmasında yardımcı olur. Başka bir ifadeyle liveness, ağ içerisindeki node’ların blok değeri hakkında fikir birliği sağlayabileceğine dair güvence verir. Blockchain’lerde doğruluk ile işlem sırasının belirlenmesi için liveness ve güvenlik önemlidir. Liveness, işlemlerin sürekliliği olacağını ve merkeziyetsiz olarak gerçekleştireceğini garanti eder. Liveness, işlem verilerinin devamlı olarak süreceğini ve herhangi bir merkezi otorite tarafından etkilenmeyeceğinin garantisini, yani güvencesini verir. Liveness, iki doğrulayıcının farklı fikir birliğine varıp farklı değerler hesaplayamayacağını gösterir.
Liveness, işlemlerin gerçekleştirilmesi için herhangi bir zaman çerçevesi sunmaz. Başka bir ifadetle liveness, işlemler hakkında zaman belli olmaksızın en iyi sonucu verecektir. Blockchain ağlarında bulunan node’lar, dağıtılmış defterlerin (DLT) bir kopyası gibi işletilir. Bir node, farklı bir node’a kıyasla farklılık içermemelidir. Node’lar, işlemleri doğrulamak için Proof of Work (PoW) ve Proof of Stake (PoS) gibi fikir birliği mekanizmalarını kullanır. Node’lar arasında fikir birliğinin sağlanamaması, yani iki node farklı değerlerdeyse bu, blockchain ağının büyük sorun yaşadığını gösterir. Bu durum, ağın güvenilirliği konusunda tehlikeye neden olur. Bir Bitcoin blockchain’i, node’lar arasındaki işlem geçmişinin doğruluğu için “longest chain wins” yani en uzun zincir kuralını da kullanır. Node’lar şeffafsa, geçmiş işlemler ile beklenen geçmiş eşleşecektir.
Liveness Ne İşe Yarar?
Liveness, bir fikir birliği (konsensüs) protokolünün uygulanabilirliğini ve derecesini belirleyen temel özellikler arasındadır. Bir fikir birliği protokolünün genel özellikleri şu şekilde olabilir:
- Güvenlik
- Liveness
- Tolerans
Güvenlik
Bir fikir birliği protokolüne göre, bütün node’lar aynı çıktı üretiyorsa ve bu çıktılar geçerli sayılıyorsa, mekanizma güvenli çalışıyor olarak kabul edilir.
Liveness
Liveness, node’ların tek bir çıktı üretmesini garanti altına alır.
Tolerans
Bir fikir birliği mekanizması, başarısızlıkların üstesinden gelebiliyorsa hata toleransı sağlar.