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>