본문으로 건너뛰기
수동 업데이트 v0.33.1 · 릴리스 공개

BTX v0.33.1가 최신 릴리스입니다.

GitHub를 통해 업그레이드하세요. 이 지갑 상호운용 릴리스는 네이티브 .btxwallet 가져오기/내보내기를 추가하며 현재 소스, 플랫폼별 바이너리와 v9 빠른 시작 스냅샷을 포함합니다.

업데이트 경로 수동 즉시 업그레이드하려면 GitHub v0.33.1 릴리스 자산, SHA256SUMS.asc 서명과 스냅샷을 사용하세요. 독립적으로 서명된 btx.dev 자동 업데이트 매니페스트는 일치하는 서명이 준비될 때까지 v0.32.8에 고정됩니다.

Layered Settlement and Bridges

BTX bridge protocol: BridgeBatchStatement v5, BridgeBatchCommitment v3, authenticated roots, and current recovery/exit commitment surfaces.

경로 선택

여기 온 이유에 맞는 작업 흐름에서 시작하세요.

문서 범위는 넓습니다. 이 두 경로는 새 microsite 뒤에 있는 운영자용과 빌더용 핵심 자료로 바로 안내합니다.

Overview

BTX implements a layered settlement system that enables cross-domain value transfers between the base chain and external domains (L2s, sidechains, application-specific rollups). The bridge protocol exposes batch-oriented commitments and authenticated roots on the base chain. In current production policy, bridge shield ingress is not supported; bridge structures should be read as committed/authenticated surfaces, not as a blanket guarantee that every recovery or exit path is live finality.

BridgeBatchStatement (v5)

A BridgeBatchStatement is the top-level settlement request that encodes a batch of cross-domain transfers. Each statement carries:

FieldTypeDescription
versionuint8Statement version (current consensus structure: v5)
directionBridgeDirectionBRIDGE_IN (committed ingress) or BRIDGE_OUT (withdrawal)
idsBridgePlanIdsPlan and batch identifiers for cross-referencing
entry_countuint32Number of individual transfers in the batch
total_amountCAmountSum of all transfer amounts (consensus-verified)
batch_rootuint256Merkle root of individual transfer entries
domain_iduint256Identifier of the external domain
source_epochuint32Source-domain epoch for ordering guarantees
data_rootuint256Root of associated data availability blob
verifier_setBridgeVerifierSetCommitmentCommitment to the verifier set authorized to attest
proof_policyBridgeProofPolicyCommitmentDescriptor root for the proof acceptance policy
aggregate_commitmentBridgeBatchAggregateCommitmentFive authenticated roots (see below)

The statement hash (ComputeBridgeBatchStatementHash) is the canonical identifier used to bind settlement proofs, receipts, and committed ingress or exit metadata to a specific batch.

BridgeBatchCommitment (v3)

The v3 bridge batch commitment contains five authenticated roots that bind the batch to specific state transitions and policies:

RootPurpose
action_root Merkle root of the ordered list of settlement actions (transfers, mints, burns). Validators verify that all claimed actions are included and correctly ordered.
data_availability_root Commitment to the full data availability blob for the batch. Ensures that all data needed to independently verify and reconstruct transfers is published and retrievable.
recovery_or_exit_root Merkle root of recovery paths and exit claims. This authenticates committed recovery/exit data for inclusion proofs; production activation depends on the corresponding exit rules and wallet support.
policy_commitment Descriptor root of the proof acceptance policy. Defines which proof types, verifier thresholds, and attestation schemes are accepted for this batch.
extension_digest Forward-compatible extension field for additional commitments. Set to null in current deployments; future versions can bind additional state without breaking existing verification logic.

Extension flags (FLAG_HAS_RECOVERY_OR_EXIT_ROOT, FLAG_HAS_POLICY_COMMITMENT, FLAG_CUSTOM_ACTION_ROOT, FLAG_CUSTOM_DATA_AVAILABILITY_ROOT) indicate which optional roots are populated, enabling compact serialization when fields are unused.

Verification Model

Bridge batches can carry two verification paths, both of which produce cryptographically bound receipts where that bridge surface is active:

Signed Receipt Path

An authorized verifier set attests to batch validity by producing signed receipts. The BridgeVerificationBundle contains a signed_receipt_root (Merkle root of all signed attestations) and a proof_receipt_root (for proof-based attestations). Verification checks:

  • Each receipt's statement hash matches the batch statement hash.
  • Signatures are valid under the committed verifier set.
  • The verifier threshold defined by the proof policy is met.

Proof Receipt Path

Alternatively, a cryptographic proof (ZK or otherwise) can attest to batch validity without requiring a trusted verifier set. The proof is verified against the proof policy descriptor, and the result is encoded as a proof receipt.

Inclusion Verification

Verification receipts and commitments are checked at inclusion time for the active bridge surface. Inclusion authenticates the statement and committed roots on-chain, but committed recovery_or_exit data should not be described as a fully active finality guarantee unless the corresponding exit path is enabled.

Settlement Binding

Bridge settlement integrates with the SMILE v2 proof system through settlement binding digests. Current production support is strict shielded-to-transparent exits and recovery, not bridge shield ingress:

  • Ingress batches (BRIDGE_IN) remain consensus-visible commitment surfaces, but shielded pool credits and new appends are disabled at height 125000. They are not an active production shield ingress path.
  • Egress batches (BRIDGE_OUT) consume shielded notes and produce transparent outputs or cross-domain transfer claims.
  • The settlement_binding_digest in each proof envelope binds the shielded proof to the specific bridge batch statement.

Egress and Recovery Surfaces

SurfaceDescriptionCurrent Status
Standard Egress Batch-processed withdrawal through the normal bridge settlement path. Creates transparent outputs on the base chain. Current production direction for shielded-to-transparent exits where the bridge-out path is used.
Direct Unshield Proves ownership of shielded notes and produces transparent outputs without going through the batch mechanism. Uses the SMILE v2 unshield path. Supported strict exit path for existing shielded notes.
Recovery / Exit Commitment Committed surface using the recovery_or_exit_root. Users and wallets can authenticate entries with Merkle proofs. Committed/authenticated data surface; do not present as a blanket active finality guarantee.

Recovery / Exit Commitment Surface

The recovery_or_exit_root commits to recovery and exit entries that can be authenticated against the batch commitment. This preserves a verifiable surface for recovery tooling without implying that every committed entry is an immediately spendable production exit. Key properties:

  • Recovery and exit claims can reference the recovery_or_exit_root from a valid batch commitment.
  • Each committed claim is authenticated by a Merkle inclusion proof and the required user authorization.
  • Spendability depends on the active consensus and wallet rules for that exit surface.
  • The root is a committed data surface, not a standalone guarantee that all exits bypass external-domain coordination.

Batch Leaf Structure

Individual transfers within a batch are encoded as BatchLeaf entries:

FieldTypeDescription
versionuint8Wire version
family_idTransactionFamilyV2_INGRESS_BATCH or V2_EGRESS_BATCH
l2_iduint256Source-domain transaction identifier
destination_commitmentuint256Commitment to the destination address/key
amount_commitmentuint256Committed transfer amount
fee_commitmentuint256Committed fee amount
positionuint32Ordered position within the batch
nonceuint256Replay protection nonce
settlement_domainuint256Target settlement domain identifier

The batch Merkle root is computed over the ordered set of leaf hashes, binding every individual transfer to the batch statement.

Transaction Families

Bridge operations map to specific SMILE v2 transaction families:

  • V2_INGRESS_BATCH — inbound commitment surface; production shielded credits and new appends are disabled at height 125000
  • V2_EGRESS_BATCH — outbound batch settlement for shielded-to-transparent exit flows
  • BATCH_SMILE — direct shielded-pool deposit family retained as a consensus-visible compatibility surface, not active production shield ingress

Each family has its own proof envelope requirements and settlement binding rules, ensuring that cross-family replay is impossible.

Security Properties

  • Authenticated inclusion: Active bridge surfaces verify their statements, commitments, and receipts at inclusion time.
  • Replay protection: Per-entry nonces and per-batch epoch ordering prevent replay of settlement claims across batches or domains.
  • Domain isolation: The domain_id field ensures that batches from different external domains cannot interfere with each other.
  • Binding integrity: The statement hash cryptographically binds all components (entries, proofs, receipts, and committed ingress/exit metadata) to a single batch.
  • Recovery visibility: The recovery/exit root authenticates committed recovery data, while actual spendability depends on the active exit rules.