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:
-
They verify zero-knowledge proofs of Bitcoin transactions locally before submitting them to the Transaction Verifier Contract on EVM-compatible chains.
-
They participate in network consensus to maintain agreement on the state of cross-chain operations.
-
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:
- Meet minimum hardware requirements (CPU, RAM, storage, and network bandwidth)
- Install the Arbitrator Node software
- Configure the node with necessary network and security settings
- Stake a required amount of ELA as a security deposit
- 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:
- Arbitrator Nodes receive Bitcoin transaction data and zero-knowledge proofs generated by zkBTC Full Nodes.
- The proofs that Arbitrator Nodes verify and relay are generated using the Cairo Circuit, ensuring their efficiency and verifiability.
- Arbitrator Nodes submit the verified proofs to the EVM ZKP Contract on EVM-compatible chains for final verification.