
Giriş
Blockchain teknolojisi, veri bütünlüğü ve güven alanında uzun süredir devam eden sorunları çözen, merkezi olmayan ve değiştirilemez kayıt tutma yetenekleri sunarak birçok sektörde oyunun kurallarını değiştirmiştir.
Mevcut birçok blockchain çerçevesi arasında, Hyperledger Fabric, özellikle modülerliği, esnekliği ve kurumsal kullanıma uygunluğu ile takdir edilen, en iyi izinli blockchain uygulaması olarak öne çıkmıştır.
Bu ayrıntılı kılavuz, Hyperledger Fabric çoklu küme kurulumu oluşturma, çoklu küme, çoklu kuruluş Hyperledger Fabric ağı oluşturma gibi karmaşık süreçleri ele almaktadır.
Ağ bileşenlerini farklı kümeler ve kuruluşlar arasında yayarak, daha iyi hata toleransı, ölçeklendirme yetenekleri ve kurumsal özerklik sağlanır.
Her adım, teknik derinlik ve uygulama için pratik bilgiler sağlamak üzere dikkatle ayrıntılı olarak açıklanmıştır.
Çoklu Küme Hyperledger Fabric Mimarisi'ni Anlamak
Uygulama sürecine başlamadan önce, bu Hyperledger Fabric mimari kılavuzunda sunulan mimari temelleri anlamak çok önemlidir.
Çoklu küme tasarımı, işbirliği ile organizasyonel bağımsızlığı birleştiren, blockchain ağ dağıtımı için sofistike bir tasarımdır.
Bu mimari modelde, her biri kriptografik kimlikleri yönetmek ve güvenli kimlik doğrulamayı sağlamakla sorumlu kendi Sertifika Yetkilisi'ne sahip iki farklı kuruluşla ilgileniyoruz.
Bu kuruluşlar bağımsız olarak çalışır ve kaynakları farklı kubernetes hyperledger fabric kümelerinde çalışır.
Bu ayrım, hata toleransı, kaynakların izolasyonu ve her kuruluşun kendi altyapısı üzerinde kontrolünü koruyabilmesi gibi önemli avantajlar sunar.
Küme kurulumu, her kuruluşun kendi özel ortamlarında kendi eşler grubunu ve Sertifika Yetkilisini barındırması şeklinde yapılmıştır.
Bu tasarım seçimi, kaynak çekişmesi olmamasını sağlar ve ayrıca kuruluşların diğer ağ katılımcılarını etkilemeden özel ihtiyaçlarına göre altyapılarını ölçeklendirmelerine olanak tanır.
Ağın konsensüs mekanizması olarak işlev gören sipariş hizmeti, stratejik olarak farklı bir organizasyona dağıtılmıştır.
İki siparişçiyi ayrı kümelere yerleştirerek, mimari yedeklilik ve yüksek kullanılabilirlik kazanır.
Bir sipariş verenin sorun yaşaması durumunda, ağ diğer sipariş verenler aracılığıyla çalışmaya devam eder, böylece hiçbir zaman durmaz.
Bu tür bir mimari, her kuruluşun kendi kaynakları üzerinde tam kontrol sahibi olmasını sağlarken, paylaşılan kanallar ve akıllı sözleşmeler aracılığıyla kuruluşlar arası iletişim imkanı da sunar.
Kullanılan Araçlar
Uygulama, karmaşık sistemlerin dağıtımını kolaylaştıran ve sağlam yönetim yetenekleri ekleyen, özenle seçilmiş araçlar kullanır.
EKS, Amazon Web Services altyapısında Kubernetes kümelerini dağıtmayı, yönetmeyi ve ölçeklendirmeyi kolaylaştırarak Fabric ağ bileşenlerini barındırmak için güvenilir ve kanıtlanmış bir platform sağlar.
EKS'nin yönetilen yapısı, sistemin çalışmasıyla ilişkili ek yükü azaltırken kurumsal düzeyde güvenilirlik sunar.
Hlf-Operator, Hyperledger Fabric ağlarının dağıtımını ve devam eden işlemlerini yönetmek için özel olarak tasarlanmış özel bir Kubernetes operatörüdür.
Bu operatör, Fabric ağlarıyla ilişkili birçok karmaşık dağıtım ve yönetim görevini soyutlaştırır ve ağ yönetimini çok daha kolay hale getiren ve yapılandırma hatalarının olasılığını azaltan bir dizi bildirimsel yapılandırma seçeneği sunar.
Ağı Kurmak İçin Adımlar
Mimari ve araçlar belirlendikten sonra, uygulama süreci birbirini tamamlayan yapılandırılmış bir dizi adım izleyerek tam işlevsel bir ağ oluşturur.
Adım 1: EKS Kümesini Kurun
Uygulamanın ilk aşaması, Fabric ağının bileşenlerinin yer alacağı Kubernetes kümelerinin oluşturulmasını içerir.
Bu temel adım, kümelerin blok zinciri iş yükleri için uygun şekilde yapılandırılmasını sağlamak için dikkatli bir planlama gerektirir.
Küme yapılandırması, kümenin davranışını ve kapasitesini belirleyecek parametrelerin tanımlanmasıyla başlar.
Bu parametreler şunları içerir:
- •İş yükünün beklenen özelliklerine göre seçilen örnek türleri
- •Beklenen işlem hacimlerini işlemek için gereken örnek sayısı
- •Esnekliği en üst düzeye çıkarmak ve gecikmeyi en aza indirmek için seçilen kullanılabilirlik bölgeleri
EKS küme yönetimi için tasarlanmış özel bir komut satırı aracı olan eksctl kullanılarak, kümeler tanımlanan özelliklere göre oluşturulur.
Bu araç, en iyi uygulamaların takip edilmesini sağlarken, küme provizyonuyla ilgili birçok karmaşık işlemi otomatikleştirir.
Kümelerin oluşturulmasının ardından, yeni oluşturulan kümelere güvenli erişim sağlamak için kubeconfig dosyaları oluşturulur.
Bu yapılandırma dosyaları, sonraki dağıtım adımları için gerekli olan kimlik doğrulama kimlik bilgilerini ve bağlantı bilgilerini içerir.
Adım 2: Hlf-Operator ve Istio'yu yükleyin
Kümeler çalışır duruma geldiğinde, bir sonraki aşama Fabric bileşenlerinin dağıtımını ve hizmetler arası iletişimi kolaylaştırmak için kullanılacak yönetim araçlarının kurulmasıdır.
Hlf-Operator kurulumu, operatör çizelgelerini içeren Helm deposunu eklemekle başlar.
Depo kullanılabilir hale geldiğinde, operatör her iki kümeye de yüklenir ve Fabric bileşenlerinin yönetimi için gerekli olan özel kaynak tanımlarını ve denetleyicileri sağlar.
Istio kurulumu, hizmet ağının özelliklerini kümelere getirir.
Istio, bileşenler arasında güvenilir iletişim kurmanın çok önemli olduğu dağıtılmış blok zinciri ağlarında oldukça yararlı olan bazı gelişmiş trafik yönetimi, yük dengeleme ve gözlemlenebilirlik yetenekleri sunar.
Istio'yu yükledikten sonra, Istio giriş ağ geçidi tarafından verilen harici URL'yi almak önemlidir. Istio hizmetlerinin sorgusunda EXTERNAL-IP sütununda listelenen bu URL, kümenin halka açık uç noktasıdır ve DNS kurulumunda yaygın olarak kullanılacaktır.
Adım 3: DNS'yi yapılandırın
Etki Alanı Adı Sistemi yapılandırması, farklı kümelere dağıtılmış ağ bileşenleri arasında kolay iletişim sağlayan adlandırma yapısını tanımlar.
DNS kurulumu, Fabric ağıyla ilişkilendirilecek etki alanı için AWS Route 53'te barındırılan bir bölge oluşturulmasını gerektirir.
Bu barındırılan bölgede, insan tarafından okunabilir alan adlarını küme uç noktasına eşleyen her hizmet bileşeni için ayrı kayıtlar oluşturulur.
Her bir eş, Sertifika Otoritesi ve sipariş veren için, uygun küme harici URL'sini gösteren bir CNAME kaydı ayarlanır.
Bu yapılandırma, bir kümedeki bileşenlerin tutarlı ve öngörülebilir etki alanı adlarını kullanarak diğer kümelerdeki bileşenleri bulmasını ve onlarla iletişim kurmasını sağlar.
DNS kayıtları yapısı:
- •İlk kuruluş için, Sertifika Yetkilisi ve eşler için kayıtlar oluşturulur.
- •İkinci kuruluşun kendi kayıt setine sahip olması gerekir
- •Sipariş veren kuruluş, Sertifika Yetkilisi ve ilgili küme uç noktalarını gösteren birden fazla sipariş veren için kayıtlar gerektirir.
Adım 4: Kuruluş CA'larını ve Eşlerini Kurun
Altyapı ve ağ kurulduktan sonra, gerçek Fabric bileşenlerinin dağıtımı, her kuruluşun Sertifika Yetkilileri ve eşleriyle başlar.
Sertifika Otoriteleri, ilgili kuruluşlar için güven dayanaklarıdır ve katılımcıların ağ içindeki eylemleri doğrulamak ve yetkilendirmek için kullandıkları şifreleme kimliklerini verir.
Her kuruluş, kayıt kimlik bilgileri, TLS yapılandırması ve diğer güvenlik parametrelerini içeren özelliklere göre CA'sını uygular.
Eşler, her bir kuruluş içindeki işlem işleme düğümleridir.
Bu bileşenler defterin kopyalarını saklar, zincir kodunu çalıştırır ve ağın onay politikalarına göre işlemleri onaylar.
Blockchain ağınızı kullanıma hazır hale getirmeye hazır mısınız?
Uzman rehberliğimiz ve desteğimizle çoklu küme Hyperledger Fabric ağınızı oluşturmaya başlayın.
Eşler Arası Dağıtım Ayrıntıları
Eşler arası dağıtım - Bir CA'yı dağıtmak için depolama gereksinimleri, kaynak tahsisleri ve bağlantı ayarları belirtilir.
İlk kuruluş için:
- •CA önce dağıtılır, ardından eş düğümler dağıtılır.
- •Yapılandırma dosyaları, önyükleme kimlikleri, depolama sınıfları ve hizmet türleri gibi her bir bileşen için belirli parametreleri belirtir.
- •Bu yapılandırmalar uygulandıktan sonra, bileşenler hazır duruma gelene kadar izlenir
İkinci kuruluş, CA ve eşleri kuruluşun özel gereksinimlerine göre yapılandırılmış benzer bir dağıtım modeline sahiptir.
Genel süreç ilk kuruluştakine benzer olsa da, bazı yapılandırma değerleri ayrı küme ve etki alanı yapılandırmalarını temsil etmek için farklılık gösterir.
Adım 5: Sipariş Veren Kuruluş Oluşturun
Sipariş veren kuruluş, işlemleri sıralamak ve eşlere dağıtılacak bloklar oluşturmak için kullanılan konsensüs mekanizmasını sağladığı için ağda özel bir role sahiptir.
Sipariş Veren CA Oluşturma, sipariş veren düğümlere kimlikler vermekten sorumlu olacak sertifika yetkilisini oluşturur.
Bu CA, kuruluş CA'larından ayrılmıştır ve sipariş hizmeti siparişi ile işlem onayı arasındaki ayrımı güçlendirir.
İlk sipariş veren, aşağıdaki yapılandırmayı belirterek dağıtılır:
- •Sipariş veren CA ile bağlantısı
- •Depolama gereksinimleri
- •Genesis blok ayarları
Bu sipariş veren, sipariş hizmetinin ilk bağlantısıdır.
İkinci siparişçinin dağıtılması, bu siparişçinin ayrı bir kümede bulunması nedeniyle ek bir karmaşıklık düzeyi ekler.
Mevcut bir CA ile gerekli yapılandırmayı oluşturmak için bir geçici çözüm kullanılır; sipariş verenin doğru Sertifika Yetkilisine bağlı olduğundan emin olmak için manuel değişiklikler yapılır.
Sipariş Veren Yapılandırma Ayrıntıları
Özel değişiklikler yapılır:
- •Sipariş veren CA etki alanını işaret etmek için CA ana bilgisayar referansları
- •CA ana bilgisayarı sertifika imzalama isteğine eklenir
- •CA TLS sertifikaları ilk sipariş verenin yapılandırmasından kopyalanır
Bu ayarlamalar, ikinci sipariş verenin sipariş hizmeti CA ile doğru bir şekilde kimlik doğrulaması yapabilmesi ve iletişim kurabilmesi için yapılır.
Yapılandırma ayarlamaları yapıldıktan sonra, ikinci sipariş veren dağıtılır ve çalışır hale gelene kadar izlenir.
Bu aşamada, ağ tüm CA'lar, eşler ve sipariş verenlerin çalıştığı ve erişilebilir olduğu eksiksiz bir temel altyapı bileşenleri setine sahiptir.
Adım 6: Kanal Oluşturun
Hyperledger Fabric içindeki kanallar, belirli ağ katılımcıları arasında özel iletişim yolları sağlayarak gizli işlem akışlarını ve seçici veri paylaşımını mümkün kılar.
Kanal oluşturma, her kuruluş ve sipariş veren kuruluş için idari kimliklerin kaydı ve kaydı ile başlar.
Bu kimlikler, kanal yönetimi işlemlerini gerçekleştirmek için gerekli ayrıcalıklara sahiptir.
Kayıt işlemi için gerekenler:
- •İlgili CA'ya bağlanma
- •Yönetici özelliklerine sahip kullanıcı hesapları oluşturma
Kayıt olduktan sonra, kayıt işlemi her bir kimlik için şifreleme materyallerini (imza sertifikaları ve özel anahtarlar) oluşturur.
Tüm idari kimlikler hazır olduktan sonra, kanal işlemleri sırasında referans alınacak bir Kubernetes gizli bilgisi olarak derlenir.
Bu gizli paket, kanal yönetimi için gerekli şifreleme malzemelerini içerir.
Ana kanal, aşağıdakileri tanımlayan özelliklerle başlatılır:
- •Katılımcı kuruluşlar
- •Kanal sorumlusu sipariş verenler
- •Kanal işlemlerini ve değişikliklerini düzenleyen politikalar
Bu başlatma işlemi, kanal için başlangıç bloğunu oluşturur ve kanalın yapılandırmasını oluşturur.
Her iki kuruluşun çalışanları, ana kanal yapılandırmasına başvurarak ve kuruluşlarının kimlik bilgilerini girerek kanala katılırlar.
Bu birleştirme işlemi, kanalı eşler için görünür hale getirir ve onların kanal işlemlerini içeren blokları almalarını sağlar.
Takipçi kanalları, eşler ve kanal arasındaki bağlantıyı kurmak için her kuruluş için oluşturulur.
Bu yapılandırmalar, hangi eşin hangi kanalı takip etmesi gerektiği hakkında bilgi içerir ve zincir üyeliği kurulumunu tamamlar.
Adım 7: Chaincode'u yükleyin
Hyperledger Fabric'teki akıllı sözleşme uygulaması olan Chaincode, blok zincirindeki işlemlerin işlenmesini ve durumun yönetimini tanımlayan iş mantığıdır.
Zincir kodu yaşam döngüsü, zincir kodunun dağıtılabilir bir yapı olarak paketlenmesiyle başlar.
Bu uygulamada, zincir kodu aşağıdakileri gerektiren bir hizmet olarak dağıtılır:
- •Chaincode içeren bir Docker görüntüsünün oluşturulması
- •Eşlerin zincir kodu hizmetine nasıl bağlanmaları gerektiğini açıklayan bağlantı meta verilerinin hazırlanması
İlk kuruluş için:
- •Paketlenmiş zincir kodu, zincir kodu paketini dağıtım için kullanılabilir hale getiren eşe yüklenir.
- •Chaincode hizmeti için adres ve TLS bağlantı ayrıntılarını içeren bir bağlantı yapılandırma dosyası hazırlanır
- •Chaincode daha sonra kuruluşun kümesinde bir Kubernetes hizmeti olarak dağıtılır ve kuruluşun eşleri tarafından erişilebilir hale gelir.
Zincir kodu tanımı dağıtıldıktan sonra, kuruluş zincir kodu tanımını onaylayarak bu zincir kodu sürümünü kanalda kullanmaya hazır olduğunu belirtir.
Tüm kuruluşlar zincir kodu tanımını onayladıktan sonra, bu tanım kanala kaydedilir ve böylece aktif hale gelir ve çağrılmaya hazır hale gelir.
Bu taahhüt süreci, zincir kodu konteynerini oluşturur ve onu kanal için yetkili uygulama haline getirir.
İkinci kuruluş benzer bir kurulum sürecinden geçer ve aynı zincir kodu paketini eşlerine yükler ve zincir kodu hizmetini kümesinde dağıtır.
Kurulum ve dağıtımdan sonra, zincir kodu ağ üzerinde kullanıma hazırdır.
Adım 8: Ağ İşlevselliğini Doğrulayın
Tüm bileşenler dağıtıldıktan ve yapılandırıldıktan sonra, doğrulama işlemi ağın amaçlandığı gibi çalıştığını ve işlemleri doğru bir şekilde işleyebildiğini garanti eder.
İşlem testi, zincir kodu mantığını uygulayan örnek işlemlerin başlatılmasını içerir.
Bu işlemler şunlardır:
- •İşlemin yürütülmesini simüle eden ve işleme onayları geri gönderen akranlara gönderilir
- •Sipariş hizmetine gönderilir, bu hizmet bunları bloklar halinde sıralar ve tüm kanal üyelerine gönderir
İşlemlerin başarılı bir şekilde işlenmesi şunları garanti eder:
- •Eşler arası iletişim düzgün çalışıyor
- •Onay politikaları uygun şekilde uygulanır
- •Sipariş hizmeti, işlemleri uygun şekilde sıralar.
- •Durum değişiklikleri tüm eşler arasında doğru şekilde yansıtılır
Sonuç
Çoklu küme, çoklu kuruluş Hyperledger Fabric ağı oluşturmak, dikkatli planlama, titiz yapılandırma ve birçok bileşen ve aracın koordinasyonunu gerektirir.
Süreç şunları içerir:
- •İzole ancak bağlantılı altyapı oluşturma
- •Özel blok zinciri öğelerini uygulayın
- •Güvenli iletişim kanalları kurun
- •İşlemlerin test edilmesi yoluyla doğru çalışıp çalışmadığının kontrol edilmesi
Bu mimari yaklaşımdan aşağıdaki faydalar elde edilebilir:
- •Bileşenleri ağ üzerinde dağıtarak hata toleransını iyileştirin
- •Organizasyonel kaynakları ayırarak ölçeklenebilirliği iyileştirin
- •Altyapı ve operasyonlar üzerinde daha fazla organizasyonel kontrol
- •Gereksinimler değiştikçe ağı uyarlama esnekliği artırıldı
Ortaya çıkan blok zinciri altyapısı, tedarik zinciri takibi ve finansal ödemeler ile sağlık kayıtları yönetimi gibi çeşitli sektörlerdeki birçok kullanım senaryosu için kullanılabilecek sağlam bir temeldir.
Hyperledger Fabric'in izinli yapısı, çoklu küme mimarisi ile birleştiğinde, blok zincirinin şeffaflığı ve değişmezliği ile kurumsal uygulamaların gizlilik ve kontrol gereksinimleri arasında denge sağlayan bir platform sunar.
Gelecekteki Çalışmalar
Dağıtım sürecini daha da iyileştirmek ve ağ mimarisinin yeteneklerini genişletmek için yapılabilecek birkaç iyileştirme vardır.
Otomasyon, iyileştirme için önemli bir fırsattır.
Komut dosyaları ve altyapı-kod şablonları geliştirmek şu amaçlarla kullanılabilir:
- •Kurulum sürecini basitleştirin
- •Manuel yapılandırma adımlarının sayısını en aza indirin
- •İnsan hatası olasılığını en aza indirin
Bu tür bir otomasyon, ağın daha tekrarlanabilir bir şekilde dağıtılmasını ve blok zinciri ile farklı düzeylerde aşina olan kuruluşların kullanımına sunulmasını sağlayacaktır.
Çoklu bulut dağıtımları için desteğin artırılması, ağı daha dayanıklı ve esnek hale getirecektir.
Farklı bulut sağlayıcılarına farklı kuruluşları dağıtmak, örneğin bir kuruluşu AWS'ye, başka birini Google Cloud Platform'a ve üçüncü birini Microsoft Azure'a dağıtmak, tekil bulutlar arasında bağımlılık olmamasını sağlarken, kuruluşların en sevdikleri bulut ortamlarından yararlanarak yine de birleşik bir blok zinciri ağına katılmalarını mümkün kılar.
Bu geliştirmeler, mevcut uygulamanın oluşturduğu sağlam temele dayanarak ağın yeteneklerini genişletecek ve onu kurumsal üretim uygulamaları için daha da uygun hale getirecektir.


