Sari la conținutul principal

Arhitectură multistrat

QoreChain implementează o arhitectură ierarhică de lanțuri pe 4 niveluri prin modulul x/multilayer. Lanțul principal servește drept rădăcină de decontare și de încredere, în timp ce straturile subsidiare (sidechain-uri, paychain-uri și rollup-uri) gestionează sarcini de lucru specializate, cu compromisuri diferite de performanță și securitate.


Prezentare generală a sistemului

Ierarhia pe 4 niveluri de mai jos prezintă lanțul principal ca rădăcină de decontare și de încredere, cu trei tipuri de straturi subsidiare care își ancorează rădăcinile de stare înapoi la acesta prin Scheme de Angajament Ierarhic (HCS).

+---------------------------+
| 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 |
+-------------------+

Tipuri de straturi

Lanțul principal

Lanțul principal este rădăcina de încredere pentru întregul ecosistem QoreChain.

ProprietateValoare
ConsensCPoS complet Triple-Pool (vezi Mecanismul de consens)
SecuritateSecurizat cu PQC, prin semnături Dilithium-5
RolStrat de decontare, stocarea ancorelor de stare, motorul de rutare QCAI, rădăcina de încredere
Timp de bloc~5 secunde

Toate straturile subsidiare își ancorează periodic rădăcinile de stare la lanțul principal prin Scheme de Angajament Ierarhic (HCS).

Sidechain-uri

Sidechain-urile gestionează operațiuni intensive din punct de vedere computațional, precum protocoale DeFi, motoare de jocuri și procesarea datelor IoT.

ParametruValoare
Validatori minimi3
Validatori maximi10
Miză minimă a creatorului1,000 QOR
Sidechain-uri active maxime10
Domenii vizateDeFi, Gaming, IoT

Paychain-uri

Paychain-urile sunt optimizate pentru microtranzacții de frecvență ridicată cu latență minimă.

ParametruValoare
Timp de bloc țintă500 ms
Paychain-uri active maxime50
Miză minimă a creatorului100 QOR
Domenii vizatePlăți, streaming, microtranzacții

Rollup-uri

Rollup-urile sunt lanțuri specifice aplicațiilor implementate prin Rollup Development Kit (x/rdk). Acestea se înregistrează ca tip de strat rollup în cadrul modulului multilayer.

ParametruValoare
Moduri de decontare4 (optimistic, zk, based, sovereign)
Rollup-uri active maxime100
Miză minimă a creatorului10,000 QOR
Tip de stratrollup
Domenii vizateDeFi, Gaming, NFT, Enterprise

Implementarea și configurarea rollup-urilor sunt tratate în detaliu în Rollup Development Kit.


Rutarea tranzacțiilor QCAI

Routerul QCAI evaluează toate straturile active pentru fiecare tranzacție primită și selectează destinația optimă folosind un model de punctare ponderată cu 4 factori.

Formula de punctare

Fiecare strat candidat primește un scor compozit (mai mare este mai bine):

Score = w_congestion * (1 - Congestion) + w_capability * Capability + w_cost * (1 - Cost) + w_latency * (1 - Latency)
FactorPondereDescriere
Congestie0.30Nivelul de încărcare curent (inversat: congestie mai mică = scor mai mare)
Capabilitate0.40Cât de bine se potrivește stratul cu cerințele tranzacției
Cost0.20Multiplicatorul de comision raportat la lanțul principal (inversat: cost mai mic = scor mai mare)
Latență0.10Timpul estimat până la finalitate (inversat: latență mai mică = scor mai mare)

Pragul de încredere

Routerul necesită un scor minim de încredere de 0.6 înainte de a ruta o tranzacție către un strat subsidiar. Dacă niciun strat nu atinge acest prag, tranzacția revine implicit la lanțul principal.

Expeditorul tranzacției poate furniza o sugestie de strat preferat. Dacă stratul preferat obține cel puțin 80% din pragul de încredere (adică 0.48), acesta este acceptat ca țintă de rutare.

Euristici de payload

Atunci când metadatele detaliate ale tranzacției nu sunt disponibile, routerul folosește dimensiunea payload-ului ca semnal de clasificare:

Dimensiune payloadStrat preferatMotivație
< 256 octețiPaychainProbabil un transfer simplu sau o microtranzacție
256 - 1,024 octețiLanț principalComplexitate standard a tranzacției
> 1,024 octețiSidechainProbabil o interacțiune complexă cu un contract

Scheme de Angajament Ierarhic (HCS)

Straturile subsidiare își angajează periodic starea către lanțul principal prin ancore de stare. Fiecare ancoră conține o dovadă criptografică a stării lanțului subsidiar la o anumită înălțime.

Conținutul ancorei

CâmpDescriere
layer_idIdentificatorul stratului subsidiar
layer_heightÎnălțimea blocului pe lanțul subsidiar
state_rootRădăcina Merkle a arborelui de stare al lanțului subsidiar
validator_set_hashHash-ul setului de validatori care a semnat angajamentul
pqc_aggregate_signatureSemnătura agregată Dilithium-5 peste datele ancorei
transaction_countNumărul de tranzacții de la ultima ancoră
compressed_state_proofDovada comprimată a tranziției de stare

Trimiterea ancorei

Ancorele sunt trimise către lanțul principal prin MsgAnchorState. Keeper-ul validează ancora conform pașilor următori:

  1. Stratul există și este activ — Keeper-ul verifică dacă stratul există în stare și are în prezent statusul active.
  2. Intervalul minim de ancorare a trecut — Keeper-ul verifică dacă au trecut cel puțin min_anchor_interval blocuri (implicit: 100) de la ultima ancoră pentru acest strat.
  3. Semnătura agregată PQC — Keeper-ul se asigură că semnătura agregată PQC este prezentă și validă pentru datele ancorei.

Perioada de contestare

Fiecare ancoră intră într-o perioadă de contestare de 24 de ore (86,400 secunde, configurabilă pe strat). În această perioadă, orice parte poate contesta ancora prin trimiterea unei dovezi de fraudă via MsgChallengeAnchor. Dacă dovada de fraudă este validă, ancora este invalidată, iar starea lanțului subsidiar este readusă la ancora anterioară.

După expirarea perioadei de contestare fără o contestație reușită, ancora este considerată finalizată.

Citirea ancorelor

Începând cu versiunea de lanț v3.1.80, ancorele sunt, de asemenea, lizibile prin serviciul de interogare multilayer. Două interogări expun starea ancorei atât prin gRPC, cât și prin REST:

  • Anchor (/qorechain/multilayer/v1/anchor/{layer_id}) — returnează cea mai recentă ancoră de stare finalizată pentru un strat.
  • Anchors (/qorechain/multilayer/v1/anchors/{layer_id}) — returnează istoricul ancorelor pentru un strat.

Deoarece fiecare ancoră poartă o semnătură Dilithium-5 peste mesajul canonic layer_id || layer_height || state_root || validator_set_hash (verificată față de cheia PQC înregistrată a creatorului stratului), un client poate prelua o ancoră și o poate verifica offline, fără a avea încredere în nodul care o servește. Aceasta este primitiva on-chain din spatele chitanțelor de decontare rezistente cuantic ale Rollup Development Kit.


Cross-Layer Fee Bundling (CLFB)

CLFB permite ca o singură plată de comision pe stratul sursă să acopere execuția pe mai multe straturi într-o cale de tranzacție cross-strat.

Calcularea comisionului

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

Unde:

  • layer_multiplier_i este multiplicatorul de comision de bază pentru fiecare strat din calea tranzacției (lanțul principal = 1.0).
  • totalGas este consumul total estimat de gas pe toate straturile.
  • Rezultatul este denominat în uqor, cu un comision minim de 1 uqor.

Exemplu

O tranzacție cross-strat atinge trei straturi: lanțul principal (multiplicator 1.0), un sidechain (multiplicator 0.5) și un paychain (multiplicator 0.1).

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

CLFB poate fi activat sau dezactivat la nivel global prin parametrul cross_layer_fee_bundling, iar straturile individuale pot renunța prin indicatorul lor de configurare cross_layer_fee_bundling_enabled.


Ciclul de viață al stratului

Fiecare strat subsidiar parcurge un ciclu de viață bine definit:

Proposed --> Active --> Suspended --> Decommissioned
\ /
+-- Active <--+
StatusDescriereTranziții permise
ProposedStratul a fost înregistrat, dar nu a fost încă activatActive, Decommissioned
ActiveStratul este operațional și acceptă tranzacțiiSuspended, Decommissioned
SuspendedStratul este pus temporar în pauză (de ex., pentru întreținere sau din motive de securitate)Active, Decommissioned
DecommissionedStratul este oprit permanent (stare terminală)Niciuna

Tranzițiile de status sunt impuse de keeper. Tranzițiile invalide (de ex., de la Decommissioned la Active) sunt respinse.


Parametri

ParametruTipImplicitDescriere
max_sidechainsuint6410Numărul maxim de sidechain-uri active
max_paychainsuint6450Numărul maxim de paychain-uri active
min_anchor_intervaluint64100Numărul minim de blocuri între ancorele de stare
max_anchor_intervaluint641,000Numărul maxim de blocuri între ancorele de stare (ancoră forțată)
default_challenge_perioduint6486,400Perioada de contestare implicită în secunde (24 de ore)
min_sidechain_stakestring1,000,000,000Miza minimă pentru a crea un sidechain (1,000 QOR în uqor)
min_paychain_stakestring100,000,000Miza minimă pentru a crea un paychain (100 QOR în uqor)
routing_enabledbooltrueActivează rutarea tranzacțiilor bazată pe QCAI
routing_confidence_thresholdstring0.6Încrederea minimă pentru deciziile de rutare QCAI
cross_layer_fee_bundlingbooltrueActivează la nivel global Cross-Layer Fee Bundling