Skip to main content

Arbitrator Node

An Arbitrator Node facilitates cross-chain operations between Bitcoin and EVM-compatible chains. These nodes form the backbone of the decentralized network that ensures reliable and secure information flow within the BeL2 ecosystem.

Diagram

Purpose and Functionality

Arbitrator Nodes serve several essential functions in the BeL2 system:

  1. They verify zero-knowledge proofs of Bitcoin transactions locally before submitting them to the Transaction Verifier Contract on EVM-compatible chains.

  2. They participate in network consensus to maintain agreement on the state of cross-chain operations.

  3. In case of discrepancies, Arbitrator Nodes contribute to the dispute resolution process, ensuring the integrity of cross-chain transactions.

Importance in the BeL2 Ecosystem

Arbitrator Nodes are vital for several reasons:

  • By distributing the responsibility of verification and relay across multiple nodes, they enhance the overall security and resilience of the BeL2 system.

  • Even if some nodes fail or become compromised, the network can continue to function reliably due to its distributed nature.

  • Each Arbitrator Node acts as a link in the bridge between Bitcoin and EVM-compatible chains, enabling cross-chain operations.

Technical Implementation

Here's a simplified example of the core functionality of an Arbitrator Node:

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

def receive_proof(self, btc_tx_hash, proof):
if self.verify_proof(btc_tx_hash, proof):
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
# ...

def participate_in_consensus(self):
# Logic for participating in network consensus
# ...

Running an Arbitrator Node

To run an Arbitrator Node, participants typically need to:

  1. Meet minimum hardware requirements (CPU, RAM, storage, and network bandwidth)
  2. Install the Arbitrator Node software
  3. Configure the node with necessary network and security settings
  4. Stake a required amount of ELA as a security deposit
  5. Keep the node online and updated to participate in network operations

How It Works with Other Components

Arbitrator Nodes interact with several other components in the BeL2 architecture:

  1. Arbitrator Nodes receive Bitcoin transaction data and zero-knowledge proofs generated by zkBTC Full Nodes.
  2. The proofs that Arbitrator Nodes verify and relay are generated using the Cairo Circuit, ensuring their efficiency and verifiability.
  3. Arbitrator Nodes submit the verified proofs to the EVM ZKP Contract on EVM-compatible chains for final verification.