Skip to main content

Arbitrator Network

The Arbitrator Network is the communication backbone that facilitates the flow of information between Bitcoin and EVM-compatible chains. This decentralized network of nodes ensures the reliability and security of cross-chain operations within the BeL2 ecosystem.

Diagram

Purpose and Functionality

The primary purpose of the Arbitrator Network is to facilitate the transmission of data and proofs between different blockchain networks.

  1. The network relays Bitcoin transaction data and zero-knowledge proofs generated by zkBTC Full Nodes to EVM-compatible chains.

  2. Arbitrator nodes submit the received proofs to the Transaction Verifier Contract on EVM-compatible chains for verification.

  3. The network maintains consensus on the state of cross-chain operations, ensuring agreement on which Bitcoin transactions have been verified on EVM chains.

  4. In case of discrepancies or conflicts, the Arbitrator Network provides a mechanism for resolving disputes and ensuring the integrity of cross-chain operations.

Importance in the BeL2 Ecosystem

The Arbitrator Network is essential for several reasons:

  • It acts as a bridge between Bitcoin and EVM-compatible chains, enabling the flow of information and value between these different blockchain ecosystems.

  • By distributing the responsibility of relaying and verifying information across multiple nodes, the network enhances the decentralization and security of the BeL2 system.

  • The network ensures that Bitcoin transaction data and proofs are reliably transmitted and verified, even in the face of individual node failures or network disruptions.

Technical Implementation

The Arbitrator Network is implemented as a decentralized network of nodes running specialized software. Here's a simplified example of how an Arbitrator node can process and relay information:

class ArbitratorNode:
def __init__(self):
self.verified_transactions = set()

def receive_proof(self, btc_tx_hash, proof):
# Verify the proof locally
if self.verify_proof(btc_tx_hash, proof):
# Submit the proof to the Transaction Verifier Contract
self.submit_to_verifier(btc_tx_hash, proof)
self.verified_transactions.add(btc_tx_hash)

def verify_proof(self, btc_tx_hash, proof):
# Local verification logic
# ...
return is_valid

def submit_to_verifier(self, btc_tx_hash, proof):
# Logic to submit proof to the Transaction Verifier Contract
# ...

def handle_dispute(self, disputed_tx_hash):
# Dispute resolution logic
# ...

How It Works with Other Components

The Arbitrator Network is a central component in the BeL2 architecture, interacting with several other key components:

  1. The Arbitrator Network receives Bitcoin transaction data and zero-knowledge proofs generated by zkBTC Full Nodes.
  2. The proofs relayed by the Arbitrator Network are generated using the Cairo Circuit, ensuring their efficiency and verifiability.
  3. Arbitrator Nodes submit the received proofs to the EVM ZKP Contract on EVM-compatible chains for verification