Ana içeriğe geç

Çok Katmanlı Mimari

QoreChain, x/multilayer modülü aracılığıyla 4 katmanlı hiyerarşik zincir mimarisi uygular. Ana zincir, uzlaştırma ve güven kökü olarak hizmet ederken, alt katmanlar (yan zincirler, ödeme zincirleri ve rollup'lar) farklı performans ve güvenlik dengeleriyle özelleşmiş iş yüklerini ele alır.


Sistem Genel Bakışı

Aşağıdaki 4 katmanlı hiyerarşi, ana zinciri uzlaştırma ve güven kökü olarak gösterir; üç alt katman türü, durum köklerini Hiyerarşik Bağlılık Şemaları (HCS) aracılığıyla ana zincire bağlar.

+---------------------------+
| MAIN CHAIN |
| (Settlement + Routing) |
| Full CPoS consensus |
| PQC-secured (Dilithium-5)|
| QCAI routing engine |
+------+------+------+------+
| | |
+------------+ | +------------+
| | |
+---------v--------+ +-------v--------+ +---------v---------+
| SIDECHAINS | | PAYCHAINS | | ROLLUPS |
| (Compute) | | (MicroTX) | | (App-Specific) |
| 3-10 validators | | 500ms blocks | | 4 settlement |
| 1,000 QOR min | | 100 QOR min | | modes |
| Max: 10 | | Max: 50 | | 10,000 QOR min |
+------------------+ +----------------+ | Max: 100 |
+-------------------+

Katman Türleri

Ana Zincir

Ana zincir, tüm QoreChain ekosisteminin güven köküdür.

ÖzellikDeğer
UzlaşmaTam Üçlü Havuz CPoS (bkz. Uzlaşma Mekanizması)
GüvenlikDilithium-5 imzalarıyla PQC güvenceli
RolUzlaştırma katmanı, durum bağlantısı (anchor) depolama, QCAI yönlendirme motoru, güven kökü
Blok süresi~5 saniye

Tüm alt katmanlar, durum köklerini Hiyerarşik Bağlılık Şemaları (HCS) aracılığıyla periyodik olarak ana zincire bağlar.

Yan Zincirler

Yan zincirler, DeFi protokolleri, oyun motorları ve IoT veri işleme gibi yoğun hesaplama gerektiren işlemleri ele alır.

ParametreDeğer
Minimum doğrulayıcı sayısı3
Maksimum doğrulayıcı sayısı10
Minimum oluşturucu teminatı1,000 QOR
Maksimum aktif yan zincir10
Hedef alanlarDeFi, Gaming, IoT

Ödeme Zincirleri

Ödeme zincirleri, minimum gecikmeyle yüksek frekanslı mikro işlemler için optimize edilmiştir.

ParametreDeğer
Hedef blok süresi500 ms
Maksimum aktif ödeme zinciri50
Minimum oluşturucu teminatı100 QOR
Hedef alanlarÖdemeler, akış, mikro işlemler

Rollup'lar

Rollup'lar, Rollup Geliştirme Kiti (x/rdk) aracılığıyla dağıtılan uygulamaya özel zincirlerdir. Çok katmanlı modül içinde bir rollup katman türü olarak kaydolurlar.

ParametreDeğer
Uzlaştırma modları4 (optimistic, zk, based, sovereign)
Maksimum aktif rollup100
Minimum oluşturucu teminatı10,000 QOR
Katman türürollup
Hedef alanlarDeFi, Gaming, NFT, Enterprise

Rollup dağıtımı ve yapılandırması, Rollup Geliştirme Kiti bölümünde ayrıntılı olarak ele alınmıştır.


QCAI İşlem Yönlendirme

QCAI yönlendiricisi, gelen her işlem için tüm aktif katmanları değerlendirir ve 4 faktörlü ağırlıklı puanlama modeli kullanarak en uygun hedefi seçer.

Puanlama Formülü

Her aday katman bileşik bir puan alır (yüksek olan daha iyidir):

Score = w_congestion * (1 - Congestion) + w_capability * Capability + w_cost * (1 - Cost) + w_latency * (1 - Latency)
FaktörAğırlıkAçıklama
Tıkanıklık0.30Mevcut yük seviyesi (ters çevrilmiş: daha düşük tıkanıklık = daha yüksek puan)
Yetenek0.40Katmanın işlem gereksinimleriyle ne kadar uyumlu olduğu
Maliyet0.20Ana zincire göre ücret çarpanı (ters çevrilmiş: daha düşük maliyet = daha yüksek puan)
Gecikme0.10Kesinliğe ulaşma için beklenen süre (ters çevrilmiş: daha düşük gecikme = daha yüksek puan)

Güven Eşiği

Yönlendirici, bir işlemi bir alt katmana yönlendirmeden önce minimum 0.6 güven puanı gerektirir. Hiçbir katman bu eşiği karşılamazsa, işlem varsayılan olarak ana zincire gider.

İşlem göndereni tarafından tercih edilen bir katman ipucu sağlanabilir. Tercih edilen katman, güven eşiğinin en az %80'i kadar puan alırsa (yani 0.48), yönlendirme hedefi olarak kabul edilir.

Yük Sezgileri (Heuristics)

Ayrıntılı işlem meta verileri mevcut olmadığında, yönlendirici sınıflandırma sinyali olarak yük boyutunu kullanır:

Yük BoyutuTercih Edilen KatmanGerekçe
< 256 baytÖdeme ZinciriMuhtemelen basit bir transfer veya mikro işlem
256 - 1,024 baytAna ZincirStandart işlem karmaşıklığı
> 1,024 baytYan ZincirMuhtemelen karmaşık bir sözleşme etkileşimi

Hiyerarşik Bağlılık Şemaları (HCS)

Alt katmanlar, durumlarını durum bağlantıları (state anchors) aracılığıyla periyodik olarak ana zincire taahhüt eder. Her bağlantı, alt zincirin belirli bir yükseklikteki durumunun kriptografik bir kanıtını içerir.

Bağlantı İçerikleri

AlanAçıklama
layer_idAlt katmanın tanımlayıcısı
layer_heightAlt zincirdeki blok yüksekliği
state_rootAlt zincirin durum ağacının Merkle kökü
validator_set_hashTaahhüdü imzalayan doğrulayıcı setinin karması
pqc_aggregate_signatureBağlantı verileri üzerindeki Dilithium-5 toplu imzası
transaction_countSon bağlantıdan bu yana işlem sayısı
compressed_state_proofSıkıştırılmış durum geçiş kanıtı

Bağlantı Gönderimi

Bağlantılar, MsgAnchorState aracılığıyla ana zincire gönderilir. Keeper, bağlantıyı aşağıdaki adımlara göre doğrular:

  1. Katman mevcut ve aktif — Keeper, katmanın durumda mevcut olduğunu ve şu anda active durumuna sahip olduğunu doğrular.
  2. Minimum bağlantı aralığı geçti — Keeper, bu katman için son bağlantıdan bu yana en az min_anchor_interval blok (varsayılan: 100) geçtiğini kontrol eder.
  3. PQC toplu imzası — Keeper, PQC toplu imzasının mevcut olduğundan ve bağlantı verileri için geçerli olduğundan emin olur.

İtiraz Süresi

Her bağlantı, 24 saatlik (86.400 saniye, katman başına yapılandırılabilir) bir itiraz süresine girer. Bu süre boyunca herhangi bir taraf, MsgChallengeAnchor aracılığıyla bir dolandırıcılık kanıtı sunarak bağlantıya itiraz edebilir. Dolandırıcılık kanıtı geçerliyse, bağlantı geçersiz kılınır ve alt zincirin durumu önceki bağlantıya geri alınır.

İtiraz süresi başarılı bir itiraz olmadan sona erdikten sonra, bağlantı kesinleşmiş kabul edilir.

Bağlantıları Okuma

Zincir sürümü v3.1.80 itibarıyla, bağlantılar çok katmanlı sorgu hizmeti aracılığıyla okunabilir hale gelmiştir. İki sorgu, hem gRPC hem de REST üzerinden bağlantı durumunu sunar:

  • Anchor (/qorechain/multilayer/v1/anchor/{layer_id}) — bir katman için en son kesinleşmiş durum bağlantısını döndürür.
  • Anchors (/qorechain/multilayer/v1/anchors/{layer_id}) — bir katman için bağlantı geçmişini döndürür.

Her bağlantı, kanonik layer_id || layer_height || state_root || validator_set_hash mesajı üzerinde bir Dilithium-5 imzası taşıdığından (katman oluşturucusunun kayıtlı PQC anahtarına karşı doğrulanır), bir istemci bir bağlantıyı getirebilir ve hizmet veren düğüme güvenmeden çevrimdışı olarak doğrulayabilir. Bu, Rollup Geliştirme Kiti'nin kuantum güvenli uzlaştırma makbuzlarının arkasındaki zincir üstü ilkeldir.


Katmanlar Arası Ücret Paketleme (CLFB)

CLFB, kaynak katmandaki tek bir ücret ödemesinin, katmanlar arası bir işlem yolundaki birden çok katmandaki yürütmeyi kapsamasına olanak tanır.

Ücret Hesaplama

avgMultiplier = sum(layer_multiplier_i) / num_layers
bundledFee = (totalGas / 1000) * avgMultiplier

Burada:

  • layer_multiplier_i, işlem yolundaki her katman için temel ücret çarpanıdır (ana zincir = 1.0).
  • totalGas, tüm katmanlardaki tahmini toplam gaz tüketimidir.
  • Sonuç, minimum 1 uqor ücretle uqor cinsinden ifade edilir.

Örnek

Katmanlar arası bir işlem üç katmana dokunur: ana zincir (çarpan 1.0), bir yan zincir (çarpan 0.5) ve bir ödeme zinciri (çarpan 0.1).

avgMultiplier = (1.0 + 0.5 + 0.1) / 3 = 0.533
bundledFee = (150,000 / 1000) * 0.533 = 80 uqor

CLFB, cross_layer_fee_bundling parametresi aracılığıyla genel olarak etkinleştirilebilir veya devre dışı bırakılabilir ve bireysel katmanlar, kendi cross_layer_fee_bundling_enabled yapılandırma bayrağı aracılığıyla katılmamayı seçebilir.


Katman Yaşam Döngüsü

Her alt katman, iyi tanımlanmış bir yaşam döngüsünden geçer:

Proposed --> Active --> Suspended --> Decommissioned
\ /
+-- Active <--+
DurumAçıklamaİzin Verilen Geçişler
ProposedKatman kaydedilmiş ancak henüz etkinleştirilmemişActive, Decommissioned
ActiveKatman çalışır durumda ve işlemleri kabul ediyorSuspended, Decommissioned
SuspendedKatman geçici olarak duraklatılmış (örn. bakım için veya güvenlik endişeleri nedeniyle)Active, Decommissioned
DecommissionedKatman kalıcı olarak kapatılmış (terminal durum)Yok

Durum geçişleri keeper tarafından zorunlu kılınır. Geçersiz geçişler (örn. Decommissioned'dan Active'e) reddedilir.


Parametreler

ParametreTürVarsayılanAçıklama
max_sidechainsuint6410Maksimum aktif yan zincir sayısı
max_paychainsuint6450Maksimum aktif ödeme zinciri sayısı
min_anchor_intervaluint64100Durum bağlantıları arasındaki minimum blok sayısı
max_anchor_intervaluint641,000Durum bağlantıları arasındaki maksimum blok sayısı (zorunlu bağlantı)
default_challenge_perioduint6486,400Saniye cinsinden varsayılan itiraz süresi (24 saat)
min_sidechain_stakestring1,000,000,000Bir yan zincir oluşturmak için minimum teminat (uqor cinsinden 1,000 QOR)
min_paychain_stakestring100,000,000Bir ödeme zinciri oluşturmak için minimum teminat (uqor cinsinden 100 QOR)
routing_enabledbooltrueQCAI tabanlı işlem yönlendirmeyi etkinleştir
routing_confidence_thresholdstring0.6QCAI yönlendirme kararları için minimum güven
cross_layer_fee_bundlingbooltrueGenel Katmanlar Arası Ücret Paketlemeyi etkinleştir