Dağıtılmış Defter Teknolojisi ve Konsensüs Mekanizmaları yazısı ilk olarak Coinpedia Fintech Haberleri'nde ortaya çıktı

giriiş

Blockchain daha önce hiç olmadığı gibi ortaya çıkıyor ve geliştirici ekosistemi de öyle. Blockchain'in temel kavramlarını anlamak bu alanla ilgili olan herkes için bir zorunluluktur. Temelinizin güçlü olması için azami dikkat gerektiren konulardan biri de Dağıtılmış Defter Teknolojisi ve fikir birliği mekanizmasıdır. Bu makalede DLT'nin çeşitli yönlerini inceleyeceğiz ve fikir birliği mekanizmasını kapsamlı bir şekilde inceleyeceğiz. Başlayalım mı?

Dağıtılmış Defter Teknolojisi (DLT) Nedir? 

Dağıtılmış Defter Teknolojisi (DLT), işlemleri ve onunla ilgili tüm bilgileri aynı anda birden fazla yerde kaydeden merkezi olmayan bir dijital veri depolama sistemidir. Adından da anlaşılacağı gibi Dağıtılmış defter, ağa katılan tüm düğümler tarafından kopyalanan paylaşılan bir defterdir. Verileri merkezi bir cihazda veya yönetimde depolamak zorunda olan klasik istemci-sunucu yöntemini takip etmeyen, alışılmadık bir veritabanıdır.

Temel özellikler

  • Merkezi olmayan yönetim: 

Gerekli tüm verileri veya işlem doğrulamasını elinde bulunduran merkezi bir otorite yoktur; bunun yerine bunların tümü ağ üzerinden dağıtılır. Blockchain'de bildiğimiz gibi, her düğüm defterin bir kopyasını tutar, bu da tek bir kontrol noktasından kaynaklanan herhangi bir tutarsızlık olmamasını sağlar. 

  • Şeffaflık:

Tüm düğümler ve katılımcılar, ağ genelinde şeffaflık sağlayan defteri görüntüleyebilir. Ethrerneum'da işlemler blockchain gezgininde görülebilir.

  • Değişmezlik:

Herhangi bir işlemi gerçekleştirmeden önce çok dikkatli olunması gerekir çünkü işlem tamamlandıktan sonra daha fazla değiştirilemez. Bu özellik, dolandırıcılık ve çifte harcamaların önlenmesinde oldukça faydalıdır.

Geleneksel Veritabanlarıyla Karşılaştırma

SQL ve MongoDB gibi geleneksel veritabanları, bakım ve kontrol için merkezi mekanizmalar kullanır; bu, tüm yetkiyi tek bir nokta kaynağa verir. Genellikle veriler üzerinde her türlü işlemi gerçekleştirmek için CRUD (oluşturma, okuma, güncelleme ve silme) kullanılır. Bu yöntem kurcalamaya, bozulmaya ve kayba karşı savunmasızdır. Öte yandan DLT'ler, kayıtların bakımı ve doğrulanmasında şeffaflığı, bütünlüğü, güvenliği ve merkezi olmayan yönetimi sağlamak için ünlü konsensüs algoritmalarını kullanır.

Dağıtılmış Defter Türleri  

  • Blok zinciri:

    • Teknik Yapı: Blockchain'de veriler özellikle bloklar halinde depolanır ve bunlar daha sonra kriptografik ilkelerle birbirine bağlanan bir blok zinciri oluşturarak doğrusal ve kronolojik olarak depolanır.

    • Geliştirici Araçları: Bazı geliştirici araçları, Ethereum sözleşmelerini ve kodunu çalıştıran ve dağıtan Geth'tir. Parity, hızlı, güvenli ve güvenilir bir Ethereum istemcisidir. Truffle Suite, Ethereum için bir geliştirme ortamıdır. Son zamanlarda dApp'lerin dağıtımı kayda değer bir katkı olmuştur.

  • Yönlendirilmiş Döngüsel Grafik (DAG):

    • Teknik Açıklama: Ağlardan bahsedecek olursak grafiklerden bahsetmeden geçemeyeceğiz; Böyle bir yapı DAG'dır. Burada işlemler, döngü oluşturmayan yönlendirilmiş bir grafik oluşturacak şekilde birbirine bağlanır. Bu ölçeklenebilirlik ve verimlilik sağlar.

    • Geliştirici Araçları: IOTA SDK, IOTA ağı için Tangle adı verilen bir DAG kullanan bir araç seti sağlar.

  • Hash grafiği:

    • Teknik Açıklama: Hashgraph bir dedikodu sistemine dayanmaktadır. Düğümler ayrıntıları (olayları) değiştirmek için diğer düğümlerle sohbet eder. Daha sonra sanal oylama anlaşmaya varılmasına yardımcı olur.

    •  Geliştirici Araçları: Hedera Hashgraph SDK'sı Hedera'nın ağında merkezi olmayan uygulamalar oluşturmak için birçok özellik içerir.

Uzlaşma Mekanizmalarının Önemi

Mutabakat mekanizmaları, defterin durumu üzerinde anlaşmaya varmak için ağdaki düğümlerin takip etmesi gereken bir dizi protokoldür. Bu mekanizmalar işlemlerin doğrulanması ve kimlik doğrulaması için kullanılır. Bu mekanizmalar, DLT'deki tüm düğümlerin defterin durumu üzerinde anlaşmasını sağlar. Konsensüs mekanizmaları DLT sistemlerinin güvenilirliğini ve güvenilirliğini gösterir.

Uzlaşma Mekanizmaları Tarafından Çözülen Sorunlar:

  • Çifte Harcama: Bu, aynı varlığın birden fazla kez harcanması sorunudur.

  • Bizans Generallerinin Sorunu: Arızalı veya düşman düğümler mevcut olduğunda anlaşmaya varmak engeller oluşturur.

İşte ünlü bir PoW yönteminin bir örneği:

hashlib'i içe aktar

ithalat zamanı

def işin_kanıtı(blok, zorluk=4):

    önek = '0' * zorluk

    Doğru iken:

        blok['bir kez'] += 1

        hash_result = hashlib.sha256(str(block).encode()).hexdigest()

        if hash_result.startswith(prefix):

            dönüş bloğu, hash_result

blok = {'işlemler': [], 'bir kez': 0}

start_time = time.time()

yeni_blok, blok_hash = işin_kanıtı(blok)

bitiş_zamanı = zaman.zaman()

print(f”Blok çıkarıldı: {block_hash}”)

print(f”Alınan zaman: {bitiş_zamanı – başlangıç_zamanı} saniye”)

Ortak Uzlaşma Mekanizmaları 

  • İş Kanıtı (PoW):

    • Teknik Açıklama: Proof of Work madencilik olarak da bilinmektedir. Bu mutabakat mekanizmasında kullanıcıların kendilerini ödüllendiren kriptografik bulmacaları çözmeleri gerekmektedir. İlk çözenin yeni bloğu geçeceği bir yarışmadır. Bu algoritma, blok zincirini güvence altına almak için karma yöntemini kullanır. 

    • Geliştirici Uygulaması: PoW'u uygulamaya yönelik araçlar, Bitcoin Core gibi Bitcoin Geliştirici Ortamı tarafından sağlanır.

  • Hisse Kanıtı (PoS):

    • Teknik Açıklama: Proof of Stake, doğrulayıcıları sahip oldukları coin sayısına ve teminat olarak aldıkları hisseye göre seçer. Seçim süreci sadece bahis miktarına değil aynı zamanda madalyonun yaşı ve rastgelelik gibi faktörlere de bağlıdır. Yeni bloğu eklemek için en düşük hash değerine ve en yüksek stake miktarına sahip doğrulayıcılar seçilir

    • Geliştirici Uygulaması: PoS için araçlar ve kütüphaneler Ethereum 2.0 SDK tarafından sağlanmaktadır

  • Yetkilendirilmiş Hisse Kanıtı (DPoS):

    • Teknik Açıklama:  İşlemin doğrulanması ve yeni blokların oluşturulması için oylama ve delegeler kullanılır.

    • Geliştirici Uygulaması: DPoS için araçlar ve kütüphaneler EOSIO SDK tarafından sağlanır.

  • Pratik Bizans Hata Toleransı (PBFT):

    • Teknik Açıklama: PBFT, fikir birliğine varmak için düğümler arasında mesaj alışverişinde bulunur. Düğümlerin üçte birine kadarını yönetebilir ve tolere edebilir.

    • Geliştirici Uygulaması: PBFT'ye yönelik araçlar ve kitaplıklar, Hyperledger Fabric SDK tarafından sağlanır.

Uzlaşma Mekanizmalarının Uygulanması 

Kod Örnekleri 

Aşağıda örnek bir Pos kodu pasajı verilmiştir:

sınıf Doğrulayıcı:

    def __init__(self, stake):

        self.stake = hisse

        öz.itibar = 0

validators = [[100, 50, 30]'daki pay için doğrulayıcı(hisse)]

seçilen_validatör = max(doğrulayıcılar, anahtar=lambda v: v.stake + v.reputation)

print(f”Stake ile seçilen doğrulayıcı: {selected_validator.stake}”)

Geliştirici Araçları ve Çerçeveleri 

Geliştirici araçlarından bazıları şunlardır:

  • Truffle Suite: Ethereum gelişimini destekler

  • EOSIO SDK: DPos uygulamalarında kullanılır

  • Hyperledger Fabric SDK: PBFT kullanılarak kurumsal blockchain'de kullanılır.

Performans Hususları:

Mutabakat mekanizmaları oldukça ölçeklenebilir ve artan sayıda işlemi iyi bir şekilde yönetebiliyor. Pos gibi bazı popüler mekanizmalar Sybil saldırılarına karşı koruma sağlar. Bu nedenle daha büyük ölçüde güvendeyiz. PoS, PoW'a göre daha enerji verimlidir. 

Projeniz için Doğru Uzlaşı Mekanizmasını Seçmek  

  • Dikkate alınacak faktörler:

  1. Teknik gereksinimler: Mekanizmaların, örneğin işlem hacmi ve hız gibi özel gereksinimlere uygun olduğundan emin olun.

  2. Güvenlik ihtiyaçları: Verilerin güvenliğinin ve bütünlüğünün tehlikede olmadığından emin olun.

  3. Ölçeklenebilirlik: Seçtiğiniz mekanizma işlemlerdeki büyümeyi ne kadar iyi karşılayabiliyor?

  4. Enerji verimliliği: Verimliliği ve kaynak kullanılabilirliğini seçmeden önce emin olun.

  • Kullanım Durumları: 

  1. dApps: Pos, güvenli merkezi olmayan uygulamalar için kullanılır.

  2. Akıllı Sözleşmeler: PoS, Ethereum akıllı sözleşmeleri için kullanılabilir.

  3. Tedarik Zinciri:  Hyperledger Fabric (PBFT), yüksek verim ve güvenlik gerektiren kurumsal çözümler için kullanılır.

Uzlaşı Mekanizmalarında Gelecekteki Eğilimler  

Yenilikler 

  • Yetki Kanıtı (PoA): Bu mekanizma, doğrulama için önceden seçilmiş varlıkları kullanır. VeChain'de kullanılır.

  • Hibrit mekanizmalar: Çok yönlü ve özel fikir birliği mekanizmaları oluşturmak için PoS ve PoW gibi çeşitli unsurların bir kombinasyonu kullanılır.

Ölçeklenebilirlik Çözümleri

  • Katman 2 Çözümleri:

Lightning Network: Bitcoin, daha hızlı ve daha ucuz transferler için bu zincir dışı düzeltmeyi kullanıyor. Kullanıcılar arasında ödeme yollarını ayarlar. Plazma ve Toplamalar: Ethereum bu araçlarla ölçeklenir. Zincir dışı işlemleri yönetiyorlar ve ana zincire kısa bir özet veriyorlar. Bu, ana blok zincirinin işini azaltır.

  • Parçalama:

Veri Bölümleme: Parçalama, blok zincirini parçalar olarak da bilinen daha küçük, yönetimi daha kolay bitlere böler. Her parça kendi takasları ve akıllı anlaşmalarıyla ilgilenir. Bu, tüm ağın üzerindeki yükü hafifletir.

Paralel İşleme: Parçalar aynı anda takasları gerçekleştirebilir. Bu, ağın kaldırabileceği işlem sayısını büyük ölçüde artırır.

Pratik Örnekler ve Vaka Çalışmaları 

Gerçek Dünya Uygulamaları

Bu mekanizmaların gerçek dünyadaki bazı uygulamaları, Pow kullanan Bitcoin'ler, PoS kullanan Ethereum 2.0 ve IBM ve diğer çeşitli kuruluşlar tarafından özel blok zincirleri için kullanılan Hyoperledger Fabric'tir.

Kod İzlenecek Yolları: 

Ethereum akıllı sözleşmesinin kod pasajı aşağıdadır:(Pos kullanılır)

Pragma sağlamlığı ^0,8,0;

SimpleStorage sözleşmesi {

    uint256 genel depolananVeri;

    işlev kümesi(uint256 x) public {

        saklananVeri = x;

    }

    function get() genel görünüm şunu döndürür (uint256) {

        saklananVerileri döndür;

    }

}

Çözüm

DLT'nin çeşitli dağıtılmış defter türlerinin arkasındaki temel fikirlere ve fikir birliğine varmanın farklı yollarına baktık. Verileri güvenli ve doğru tutmak için bu yöntemlerin neden önemli olduğunu konuştuk. Ayrıca bunları nasıl uygulamaya koyacağımız konusunda bazı yararlı tavsiyeler verdik. DLT ve fikir birliği hakkında daha fazlasını keşfedin. Farklı araçları ve sistemleri deneyin ve merkezi olmayan teknolojinin daha da büyümesine yardımcı olun. Bir sonraki büyük fikriniz sizi bekliyor!

Ayrıca Okuyun: Rust Programlama Dili Neden Blockchain İnovasyonu İçin Tercih Edilir?