Sari la conținutul principal

Restaking BTC (Babylon)

Modulul x/babylon integrează QoreChain cu Babylon Protocol pentru a moșteni garanțiile de finalitate proof-of-work ale Bitcoin. Prin restaking BTC, QoreChain câștigă un strat secundar de finalitate susținut de hashrate-ul Bitcoin — fără a necesita vreo modificare a protocolului Bitcoin însuși.

Prezentare generală​

Babylon Protocol permite lanțurilor proof-of-stake să valorifice securitatea Bitcoin printr-un mecanism de timestamping și checkpointing. Integrarea QoreChain funcționează astfel:

  1. Staker-ii BTC blochează Bitcoin în tranzacții de staking Babylon și își înregistrează pozițiile pe QoreChain.
  2. Checkpoint-urile de epocă de la QoreChain sunt releate periodic către Babylon, care le marchează temporal pe Bitcoin.
  3. Moștenirea finalității: Odată ce o epocă QoreChain este marcată ca checkpoint pe Bitcoin, starea acoperită de acea epocă moștenește garanțiile de finalitate proof-of-work ale Bitcoin.

Acest lucru oferă o apărare împotriva atacurilor pe rază lungă și a echivocării, ancorată în hashrate-ul acumulat al Bitcoin, în loc să se bazeze exclusiv pe setul de validatori propriu al QoreChain.

Poziții de staking BTC​

Utilizatorii pot înregistra poziții de staking BTC pe QoreChain trimițând o tranzacție MsgBTCRestake care referențiază o tranzacție de staking Bitcoin.

Cerințe de înregistrare​

ParametruValoareDescriere
Staking minim100.000 de satoshi (0,001 BTC)BTC minim necesar per poziție de staking
Perioadă de deblocare (unbonding)144 de blocuri BTC (~1 zi)Perioadă de așteptare înainte ca BTC-ul stakuit să poată fi retras
Interval de checkpointLa fiecare 10 epoci QoreChainCât de des starea este marcată ca checkpoint către Babylon

Structura poziției de staking​

Fiecare poziție de staking BTC urmărește următoarea stare on-chain:

CâmpDescriere
staker_addressAdresa QoreChain a staker-ului (qor1...)
btc_tx_hashHash-ul tranzacției Bitcoin a tranzacției de staking
amount_satoshisCantitatea de BTC stakuită în satoshi
statusStarea ciclului de viață al poziției: active, unbonding sau withdrawn
staked_atMarca temporală a înregistrării poziției
unbonding_heightÎnălțimea blocului la care a fost inițiată deblocarea (dacă este cazul)
validator_addrAdresa de validator QoreChain către care este delegat acest stake

Fluxul de înregistrare​

  1. Creați tranzacția de staking BTC — Pe rețeaua Bitcoin, creați tranzacția de staking BTC.
  2. Trimiteți MsgBTCRestake pe QoreChain — Pe QoreChain, trimiteți MsgBTCRestake cu btc_tx_hash, amount și validator.
  3. Poziție înregistrată — Poziția este înregistrată on-chain ca „active".

Checkpoint-uri de epocă​

Rădăcinile de stare ale epocilor QoreChain sunt marcate periodic ca checkpoint către Bitcoin prin lanțul de releu Babylon.

Fluxul de checkpoint​

  1. Trimiteți checkpoint — Un validator QoreChain trimite MsgSubmitBTCCheckpoint conținând numărul epocii, hash-ul blocului BTC, înălțimea blocului BTC și rădăcina de stare QoreChain.
  2. Releu IBC — Datele de checkpoint sunt releate către lanțul Babylon via IBC.
  3. Timestamping pe Bitcoin — Babylon include checkpoint-ul într-o tranzacție Bitcoin, ancorând starea QoreChain la blockchain-ul Bitcoin.
  4. Confirmare — Odată ce tranzacția Bitcoin este confirmată, finalitatea curge înapoi prin Babylon către QoreChain.
  5. Finalizare — Statusul checkpoint-ului trece de la pending la confirmed la finalized.

Structura checkpoint-ului​

CâmpDescriere
epoch_numNumărul epocii QoreChain marcate ca checkpoint
btc_block_hashHash-ul blocului Bitcoin care conține checkpoint-ul
btc_block_heightÎnălțimea blocului Bitcoin
state_rootRădăcina de stare QoreChain la limita epocii
submitted_atMarca temporală a trimiterii checkpoint-ului
statusStarea checkpoint-ului: pending, confirmed sau finalized

Instantanee de epocă​

La fiecare limită de checkpoint, un instantaneu de epocă captează starea agregată a rețelei:

CâmpDescriere
total_stakedTotal BTC stakuit pe toate pozițiile (satoshi)
active_positionsNumărul de poziții de staking active
validator_countNumărul de validatori cu delegări susținute de BTC
block_heightÎnălțimea blocului QoreChain la instantaneu

Strat secundar de finalitate​

Integrarea Babylon oferă o garanție secundară de finalitate care completează finalitatea de consens nativă a QoreChain:

Strat de finalitateSursăVitezăSecuritate
PrimarMotorul de consens QoreChain~5 secundeSusținut de stake QOR + semnături PQC
SecundarBabylon + Bitcoin~60 de minuteSusținut de hashrate-ul cumulativ al Bitcoin

Stratul secundar este deosebit de valoros pentru:

  • Prevenirea atacurilor pe rază lungă: Chiar dacă un atacator acumulează un stake QOR semnificativ, nu poate rescrie istoricul care a fost marcat ca checkpoint pe Bitcoin.
  • Securitatea punții cross-chain: Operațiunile de punte care implică valori mari pot aștepta finalitatea la nivel Bitcoin înainte de a elibera fondurile.
  • Încredere instituțională: Marca temporală Bitcoin oferă o dovadă verificabilă independent a istoricului de stare al QoreChain.

Configurație​

ParametruImplicitDescriere
enabledfalseComutator principal pentru funcțiile de restaking BTC
min_stake_amount100.000 de satoshiBTC minim per poziție de staking
unbonding_period144 de blocuri BTCDurata de deblocare denominată în BTC
checkpoint_interval10 epociEpoci între checkpoint-urile Babylon
babylon_chain_idbbn-1Chain ID-ul rețelei Babylon conectate

Evenimente​

Modulul emite următoarele evenimente on-chain:

Tip de evenimentAtributeDescriere
btc_restakestaker, btc_tx_hash, amount, validatorPoziție nouă de staking BTC înregistrată
btc_unbondstaker, amountPoziție de staking BTC intrată în deblocare
btc_checkpointepoch, checkpoint_idCheckpoint de epocă trimis către Babylon
babylon_epoch_completeepochEpocă Babylon finalizată cu marcă temporală Bitcoin

Endpoint-uri API​

REST​

MetodăEndpointDescriere
GET/babylon/v1/staking/{address}Obține pozițiile de staking BTC pentru o adresă
GET/babylon/v1/checkpoint/{epoch}Obține datele de checkpoint pentru o epocă specifică
GET/babylon/v1/paramsObține parametrii de configurare ai modulului

JSON-RPC​

MetodăParametriDescriere
qor_getBTCStakingPositionaddress (string)Returnează poziția de staking BTC pentru adresa QoreChain dată

Comenzi CLI​

Comenzi de interogare​

# Query BTC restaking configuration
qorechaind query babylon config

# Query a staking position by address
qorechaind query babylon position <staker-address>

Comenzi de tranzacție​

# Register a BTC restaking position
qorechaind tx babylon restake \
--btc-tx-hash <hash> \
--amount-satoshis <amount> \
--validator <qorvaloper1...> \
--from <key-name>

# Submit a BTC checkpoint
qorechaind tx babylon submit-checkpoint \
--epoch <epoch-number> \
--btc-block-hash <hash> \
--btc-block-height <height> \
--state-root <root> \
--from <key-name>