Ana içeriğe geç

BTC Yeniden Stake (Babylon)

x/babylon modülü, Bitcoin'in proof-of-work sonlandırma garantilerini devralmak için QoreChain'i Babylon Protocol ile entegre eder. BTC yeniden stake yoluyla, QoreChain — Bitcoin protokolünün kendisinde herhangi bir değişiklik gerektirmeden — Bitcoin'in hash gücüyle desteklenen ikincil bir sonlandırma katmanı kazanır.

Genel Bakış​

Babylon Protocol, proof-of-stake zincirlerinin bir zaman damgası ve kontrol noktası mekanizması aracılığıyla Bitcoin'in güvenliğinden yararlanmasını sağlar. QoreChain'in entegrasyonu şu şekilde çalışır:

  1. BTC stakerleri Bitcoin'i Babylon stake işlemlerinde kilitler ve pozisyonlarını QoreChain'e kaydeder.
  2. Epoch kontrol noktaları QoreChain'den periyodik olarak Babylon'a aktarılır ve Babylon bunları Bitcoin üzerinde zaman damgalar.
  3. Sonlandırma devralma: Bir QoreChain epoch'u Bitcoin üzerinde kontrol noktası alındığında, o epoch tarafından kapsanan durum Bitcoin'in proof-of-work sonlandırma garantilerini devralır.

Bu, yalnızca QoreChain'in kendi doğrulayıcı setine güvenmek yerine Bitcoin'in birikmiş hash gücüne dayanan, uzun menzilli saldırılara ve eşdeğerliğe (equivocation) karşı bir savunma sağlar.

BTC Stake Pozisyonları​

Kullanıcılar, bir Bitcoin stake işlemine atıfta bulunan bir MsgBTCRestake işlemi göndererek QoreChain'de BTC stake pozisyonları kaydedebilir.

Kayıt Gereksinimleri​

ParametreDeğerAçıklama
Minimum stake100.000 satoshi (0.001 BTC)Stake pozisyonu başına gereken minimum BTC
Çözme süresi144 BTC bloğu (~1 gün)Stake edilen BTC çekilmeden önceki bekleme süresi
Kontrol noktası aralığıHer 10 QoreChain epoch'undaDurumun Babylon'a ne sıklıkla kontrol noktası alındığı

Stake Pozisyonu Yapısı​

Her BTC stake pozisyonu, aşağıdaki zincir üstü durumu izler:

AlanAçıklama
staker_addressStaker'ın QoreChain adresi (qor1...)
btc_tx_hashStake işleminin Bitcoin işlem hash'i
amount_satoshisSatoshi cinsinden stake edilen BTC miktarı
statusPozisyon yaşam döngüsü durumu: active, unbonding veya withdrawn
staked_atPozisyon kaydının zaman damgası
unbonding_heightÇözmenin başlatıldığı blok yüksekliği (varsa)
validator_addrBu stake'in devredildiği QoreChain doğrulayıcı adresi

Kayıt Akışı​

  1. BTC stake işlemi oluştur — Bitcoin ağında, BTC stake işlemini oluşturun.
  2. QoreChain'de MsgBTCRestake gönder — QoreChain'de btc_tx_hash, amount ve validator ile MsgBTCRestake gönderin.
  3. Pozisyon kaydedildi — Pozisyon zincir üstünde "active" olarak kaydedilir.

Epoch Kontrol Noktaları​

QoreChain'in epoch durum kökleri, Babylon aktarım zinciri aracılığıyla periyodik olarak Bitcoin'e kontrol noktası alınır.

Kontrol Noktası Akışı​

  1. Kontrol noktası gönder — Bir QoreChain doğrulayıcısı, epoch numarasını, BTC blok hash'ini, BTC blok yüksekliğini ve QoreChain durum kökünü içeren bir MsgSubmitBTCCheckpoint gönderir.
  2. IBC aktarımı — Kontrol noktası verileri IBC aracılığıyla Babylon zincirine aktarılır.
  3. Bitcoin üzerinde zaman damgalama — Babylon, kontrol noktasını bir Bitcoin işlemine dahil ederek QoreChain'in durumunu Bitcoin'in blok zincirine bağlar.
  4. Onay — Bitcoin işlemi onaylandığında, sonlandırma Babylon aracılığıyla QoreChain'e geri akar.
  5. Sonlandırma — Kontrol noktası durumu pending'den confirmed'a, oradan finalized'a geçer.

Kontrol Noktası Yapısı​

AlanAçıklama
epoch_numKontrol noktası alınan QoreChain epoch numarası
btc_block_hashKontrol noktasını içeren Bitcoin blok hash'i
btc_block_heightBitcoin blok yüksekliği
state_rootEpoch sınırındaki QoreChain durum kökü
submitted_atKontrol noktası gönderiminin zaman damgası
statusKontrol noktası durumu: pending, confirmed veya finalized

Epoch Anlık Görüntüleri​

Her kontrol noktası sınırında, bir epoch anlık görüntüsü toplu ağ durumunu yakalar:

AlanAçıklama
total_stakedTüm pozisyonlarda stake edilen toplam BTC (satoshi)
active_positionsAktif stake pozisyonu sayısı
validator_countBTC destekli devirlere sahip doğrulayıcı sayısı
block_heightAnlık görüntüdeki QoreChain blok yüksekliği

İkincil Sonlandırma Katmanı​

Babylon entegrasyonu, QoreChain'in yerel konsensüs sonlandırmasını tamamlayan bir ikincil sonlandırma garantisi sağlar:

Sonlandırma KatmanıKaynakHızGüvenlik
BirincilQoreChain Konsensüs Motoru~5 saniyeQOR stake + PQC imzaları tarafından desteklenir
İkincilBabylon + Bitcoin~60 dakikaBitcoin'in kümülatif hash gücüyle desteklenir

İkincil katman özellikle şunlar için değerlidir:

  • Uzun menzilli saldırı önleme: Bir saldırgan önemli miktarda QOR stake biriktirse bile, Bitcoin üzerinde kontrol noktası alınmış geçmişi yeniden yazamaz.
  • Çapraz zincir köprü güvenliği: Büyük değerler içeren köprü işlemleri, fonları serbest bırakmadan önce Bitcoin seviyesinde sonlandırma için bekleyebilir.
  • Kurumsal güven: Bitcoin zaman damgası, QoreChain'in durum geçmişinin bağımsız olarak doğrulanabilir bir kanıtını sağlar.

Yapılandırma​

ParametreVarsayılanAçıklama
enabledfalseBTC yeniden stake özellikleri için ana anahtar
min_stake_amount100.000 satoshiStake pozisyonu başına minimum BTC
unbonding_period144 BTC bloğuBTC cinsinden çözme süresi
checkpoint_interval10 epochBabylon kontrol noktaları arasındaki epoch'lar
babylon_chain_idbbn-1Bağlı Babylon ağının zincir kimliği

Olaylar​

Modül aşağıdaki zincir üstü olayları yayar:

Olay TürüÖzniteliklerAçıklama
btc_restakestaker, btc_tx_hash, amount, validatorYeni BTC stake pozisyonu kaydedildi
btc_unbondstaker, amountBTC stake pozisyonu çözmeye girdi
btc_checkpointepoch, checkpoint_idEpoch kontrol noktası Babylon'a gönderildi
babylon_epoch_completeepochBabylon epoch'u Bitcoin zaman damgasıyla sonlandırıldı

API Uç Noktaları​

REST​

YöntemUç NoktaAçıklama
GET/babylon/v1/staking/{address}Bir adres için BTC stake pozisyonlarını al
GET/babylon/v1/checkpoint/{epoch}Belirli bir epoch için kontrol noktası verilerini al
GET/babylon/v1/paramsModül yapılandırma parametrelerini al

JSON-RPC​

YöntemParametrelerAçıklama
qor_getBTCStakingPositionaddress (string)Belirli QoreChain adresi için BTC stake pozisyonunu döndürür

CLI Komutları​

Sorgu Komutları​

# Query BTC restaking configuration
qorechaind query babylon config

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

İşlem Komutları​

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