Hyperledger Fabric nedir?

Ali Orhun Akkirman - Apr 17 '22 - - Dev Community

Tanımlar

Hyperledger, Linux Foundation tarafından desteklenen ve kurumsal kullanıma yönelik sektörler arasında blokzincir teknolojilerini geliştirmek amacıyla oluşturulmuş bir açık kaynak işbirliği çabasıdır.

Hyperledger projesi içerisindeki en önemli bileşen Hyperledger Fabric olarak görülebilir.

Hyperledger Fabric, özel ve izinli kurumsal ağlar için açık kaynak kodlu blokzincir çatısı dır. Çok geniş bir alanda kullanılmaktadır ve aslında bu yazımızın konusu da Fabric'in içeriğidir.

Bileşenler

Blokzincir'deki en önemli kavramlardan bir tanesi olarak "ağ"ı görebiliriz. Hyperledger Fabric, bir blokzincir çatısı olarak kendi içerisindeki en önemli bileşeni de aynı mantık ile ağ altyapısıdır.

Fabric'in bir diğer bileşeni olan Fabric İstemcisi yani bir nevi kullanıcı uygulaması sorgu ve güncellemelerini eş düğümler (peers) ile iletişime geçerek yapmaktadır.

Tabi ki eş düğümler ve istemci arasındaki iletişimin güvenli olması, Membership Services Provider (MSP) adı verilen Sertifika Otoritesinden oluşturulmuş sertifikalar ile üye kimliğini ve rollerini doğrulayabilmektedir. Bilinmeyen kimlikler kesinlikle Hyperledger Fabric ağında işlem yapamaz.

Image description

Eş düğümler (peer nodes), kendi içerisinde defterler (ledgers) ve akıllı kontratları (smart contract) barındırdığı için Fabric ağı için en temel bileşen olarak düşünülebilir.

Eş düğüm, zincirkodunu (chaincode) yürütür, defter verilerine erişir, işlemleri onaylar (endorses transactions) ve üstte bahsedildiği gibi istemcilere arayüz sağlar.

Zincirkodu, Hyperledger üzerinde akıllı kontratlara verilen isimdir. Genellikle Go dili ile geliştirilmektedir. Geliştirilen zincirkodu Hyperledger Fabric ağına yüklenebilir. Bunun dışında istemci uygulamaları Fabric SDK üzerinde geliştirilmektedir.

Eşler kendi aralarında konuşabilmek için kanallar (channels) adı verilen bir mantıksal yapı ile bağlıdır ve haberleşebilmektedir.

Sıralama Servisi (Ordering service), işlemleri (transactions) toplamak, blokları hazırlamak, uzlaşma (consensus) algoritmalarını uygulamak ve bir kanaldaki eşlere (peers on a channel) bloklar halinde teslim edilme işini yapmaktadır. Ağ içerisindeki işlem teslimatının garantilendiği yer bu servistir.

Image description

Eşler (peers), Fabric ağının temelini oluşturmakla birlikte büyük resimde Organizasyon adı verilen bir oluşuma bağlı çalışmaktadır. Bir organizasyonda birden fazla eş bulunabilmektedir.

Blokzincir işlemi nasıl çalışır?

Bir blokzincir işlemi başlatabilmek için istemci, Hyperledger Fabric ağına Fabric SDK API'leri ile bağlanır. İstemciler işlem (transaction) oluşturup, onaylayıcı eş (endorsing peer)'e gönderir.

Onaylayıcı eş, istemcinin imzasını doğrular ve işlemi simüle ederek onay imzası gönderir.

İşlem onaylanırsa, müşterinin oluşturduğu işlem Sıralama Servisi'ne gönderilir. Aksi halde bu adımda iptal edilir.

Sıralama Servisi eşlere işlemi sunar. Tüm eşler aynı işlem siırasını onaylar ve kendi durumlarını güncellerler.

Bu şekilde bir blokzincir işlemi gerçekleşmiş olur.


Rebus me non trado, sed commodo.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .