Saltar al contenido principal

Livepeer Contratos de Blockchain

Livepeer utiliza un sistema integral de contratos inteligentes de Ethereum para gobernar su red descentralizada sin permisos. El Livepeer Protocol está actualmente desplegado en Arbitrum One y utiliza una colección de contratos inteligentes de Ethereum para gobernar:
  • Propiedad y delegación de LivepeerToken (LPT)
  • Staking y selección de operadores de transcodificación activos (orquestadores)
  • Distribución de recompensas inflacionarias y tarifas a los participantes
  • Progresión basada en tiempo del protocolo a través de rondas
  • Procesamiento de pagos mediante un sistema de micropagos probabilístico
Hay 3 funciones principales de los contratos en el Protocolo Livepeer:
  1. Contratos del Protocolo Principal
  2. Sistema de Tokens
  3. Gobernanza
Que consisten en 10 contratos inteligentes que trabajan juntos para gestionar staking, pagos, gobernanza y descubrimiento de servicios:

Arquitectura de Interacción de Contratos

Así es como estos contratos interactúan entre sí:
FIX THIS DIAGRAM - unreadable

Contratos del Protocolo Central

Los contratos del protocolo central son la columna vertebral del Livepeer Protocol. Gestionan el staking, la delegación y la distribución de recompensas para los orquestadores. También gestionan la progresión basada en tiempo del protocolo mediante rondas y el procesamiento de pagos a través de un sistema de micropagos probabilístico. El Controller actúa como el registro central, permitiendo actualizaciones al actualizar las direcciones de implementación
Maybe put in tab view for better layout

Controller: Contract Registry

El Controller es el registro central para todos los contratos del protocolo. Todos los contratos del protocolo consultan al Controller para obtener las direcciones de otros contratos con los que necesitan interactuar.
The Controller acts as the central registry for all other contract addresses in the protocol.It maintains a mapping of contract IDs to their addresses, enabling protocol upgrades by updating the registered implementation addresses. It uses Keccak256 hashes of contract names as keys to store their addresses, enabling upgradeable architecture without changing the Controller address itself.Address:See on Arbiscan
0xD8E8328501E9645d16Cf49539efC04f734606ee4
Purpose:
  • Central address registry for all protocol contracts
  • Enables contract upgrades while maintaining a stable entry point
  • Provides pause functionality for emergency situations
Key Operations:
  • getContract() - Get address of a contract by name
  • setContract() - Set address of a contract by name
  • pause()/unpause() - Emergency pause for critical situations
Controller

BondingManager: Staking & Delegation

El BondingManager es el contrato más crítico que gestiona la economía de staking, el registro de orquestadores y la distribución de recompensas.
Address:See on Arbiscan
0x0000000000000000000000000000000000000000
Purpose:
  • Manages the transcoder (orchestrator) pool as a sorted linked list
  • Handles bonding (staking) and delegation to orchestrators
  • Distributes inflationary rewards and fees
  • Manages unbonding periods and withdrawals
  • Tracks earnings and claims
Key Operations:
  • Bond() - Delegate stake to an orchestrator
  • Transcoder() - Register as an orchestrator with reward/fee parameters
  • Unbond() - Start withdrawal process (with lock period)
  • Reward() - Called by orchestrators to mint inflationary rewards
  • ClaimEarnings() - Claim accumulated rewards and fees

TicketBroker: Probabilistic Micropayments

El TicketBroker gestiona el sistema de pagos fuera de cadena usando micropagos probabilísticos para los pagos de broadcaster a orchestrator.
Purpose:
  • Holds broadcaster deposits and reserves for micropayments
  • Validates and settles winning payment tickets
  • Manages unlock/withdrawal periods for broadcasters
  • Tracks claimed reserves per orchestrator
Key Operations:
  • FundDepositAndReserve() - Broadcaster deposits funds for payments
  • RedeemWinningTicket() - Orchestrator redeems a winning ticket
  • Unlock() - Start withdrawal process
  • Withdraw() - Complete withdrawal after unlock period

RoundsManager: Protocol Time Management

El RoundsManager gestiona el sistema de rondas basado en tiempo del protocolo, donde cada ronda tiene una longitud de bloque fija.
Purpose:
  • Defines protocol rounds (epochs) of fixed block length
  • Tracks round initialization and locking
  • Provides block hashes for ticket validation
  • Coordinates time-based protocol operations
Key Operations:
  • InitializeRound() - Initialize new round
  • CurrentRound() - Get current round number
  • BlockHashForRound() - Get L1 block hash for ticket validation

Minter: Token Inflation

El Minter controla la inflación del suministro de tokens que recompensa a los orquestadores activos.
Purpose:
  • Manages LPT token inflation schedule
  • Calculates mintable tokens per round
  • Adjusts inflation based on target bonding rate
  • Called by BondingManager during reward distribution
Key Operations:
  • CurrentMintableTokens() - Calculate tokens to mint for rewards
  • Inflation(), InflationChange() - Query inflation parameters

ServiceRegistry: Orchestrator Discovery

El ServiceRegistry asigna direcciones Ethereum a URIs de servicio para el descubrimiento de orquestadores.
Purpose:
  • Allows orchestrators to advertise their network endpoints
  • Enables broadcasters to discover and connect to orchestrators
  • Stores URI strings on-chain
Key Operations:
  • SetServiceURI() - Orchestrator registers their endpoint
  • GetServiceURI() - Query orchestrator’s service URL

MerkleSnapshot

MerkleSnapshot crea una instantánea del pool de staking en una ronda dada y genera una raíz merkle para delegación verificable.
Purpose:
  • Creates a snapshot of the staking pool at a given round
  • Generates a merkle root for verifiable delegation
  • Used for delegator rewards and governance
Key Operations:
  • CreateSnapshot() - Create snapshot at current round
  • MerkleRoot() - Get merkle root for a round
/snippets/assets/logos/Livepeer-Logo-Symbol-Theme.svg
/snippets/assets/logos/Livepeer-Logo-Symbol-Theme.svg

Contratos de Token y Utilidad

Livepeer moved from the Ethereum mainnet to the Arbitrum One network in 2022 to increase transaction throughput and reduce fees.
On Ethereum mainnet, only the LivepeerToken and BridgeMinter contracts remain operational; all other contracts have migrated to Arbitrum One.This ensures the token has the higher security of the Ethereum mainnet while the network enjoys the higher throughput and lower fees of Arbitrum.

LivepeerToken (LPT): ERC20 Token

Ethereum Mainnet Only The LivepeerToken es el token nativo del protocolo utilizado para staking, pagos y gobernanza basado en el ERC-20 estándar.
Purpose:
  • ERC20 token for all economic activity in the network
  • Used for bonding/staking to orchestrators
  • Required for broadcaster deposits and payments
  • Governance voting weight
Key Operations:
  • Transfer(), BalanceOf(), TotalSupply() - Standard ERC20 operations
  • Approve() - Required before bonding or funding deposits

BridgeMinter: Token Bridge

Ethereum Mainnet Only El BridgeMinter es un contrato de acuñación que crea LPT tokens en la red Arbitrum One cuando recibe un depósito válido de la red principal de Ethereum.
Purpose:
  • Mints LPT tokens on Arbitrum One when it receives a valid deposit from the Ethereum mainnet

LivepeerTokenFaucet: Test Token Distribution

Testnets Only El LivepeerTokenFaucet se utiliza en testnets para distribuir tokens de prueba LPT.
Purpose:
  • Provides test tokens on testnets
  • Rate-limited token requests
  • Development and testing support
/snippets/assets/logos/Livepeer-Logo-Symbol-Theme.svg
/snippets/assets/logos/Livepeer-Logo-Symbol-Theme.svg

Contratos de Gobernanza

Gobernador: Contract Upgrades

Gobernador maneja actualizaciones del protocolo mediante un proceso de propuesta y ejecución de transacciones de varios pasos.
Purpose:
  • Handles protocol upgrades through a multi-step transaction proposal and execution process
Key Operations:
  • Propose() - Submit a new proposal
  • Queue() - Queue a proposal for execution
  • Execute() - Execute a queued proposal

LivepeerGovernor: Protocol Governance

El LivepeerGovernor implementa gobernanza en cadena para actualizaciones del protocolo y cambios de parámetros.
Purpose:
  • On-chain voting on protocol proposals
  • Weighted by bonded stake
  • Implements governance mechanisms
Key Operations:
  • CastVote() - Vote on governance proposals
  • CastVoteWithReason() - Vote with explanation

Tesorería: On-chain Treasury Management

Tesorería gestiona la tesorería on-chain para financiación y contabilidad.
Purpose:
  • Manages protocol treasury for funding
  • Tracks allocations and expenditures
  • Funds Special Purpose Entities (SPEs)
Key Operations:
  • Deposit() - Add funds to the treasury
  • Withdraw() - Allocate funds to recipients
Last modified on March 1, 2026