IIP: 55
Title: Dynamic Witness Committee for ioTube
Author: Haixiang ([email protected]) Zhi ([email protected])
Status: Draft
Type: Standards Track
Category: ioTube
Created: 2025-12-08
This proposal introduces a Dynamic Witness Committee mechanism for ioTube, the cross-chain bridge for the IoTeX ecosystem. Instead of a static list of witnesses validating all transfers indefinitely, a Witness Manager contract selects a subset of witnesses (the "Committee") from a larger pool of candidates for each "epoch" and rotates them over time. The proposal also upgrades the validator contract to TransferValidatorV3 and introduces per-token witness sets, so that each bridged asset can use an appropriate set of witnesses and security parameters while preserving a simple user experience.
In the current ioTube bridge, a static global witness list and a single validator are used for all tokens and chains, requiring >2/3 of all witnesses to sign every transfer. While functional, this architecture shows clear limitations as IoTeX and the broader ecosystem scale: no automatic key rotation when witnesses are compromised, identical security assumptions for both small and large assets, increasing operational costs as the witness set grows, and manual, centralized updates to the witness list.
Over the next 6–18 months, the IoTeX ecosystem expects significant growth across stablecoins, RWA assets, and cross-chain value flows. At the same time, millions of AI and RWAI agents will begin operating autonomously across multiple chains, requiring reliable, scalable, and self-governing cross-chain infrastructure to move data and value. To support this environment, ioTube must evolve functionally, governance-wise, scale-wise, and security-wise.
This proposal addresses these needs by introducing a rotating committee of IoTeX delegates (selected via a Roll-DPoS–style process), per-token witness and minter mappings, and rules-based on-chain management of witness membership — while retaining the familiar >2/3 multi-witness validation threshold. This ensures ioTube is prepared for the next phase of cross-chain activity, both for human users and for large-scale autonomous agent systems.
The upgrade introduces several new components and flows to the ioTube architecture.
This mechanism explains who the witnesses are, how the committee is formed and rotated, and how on-chain contracts enforce the rules.
Who are the witnesses?
The witness committee is composed of existing IoTeX delegates who already participate in IoTeX’s Randomized Delegated Proof of Stake (Roll-DPoS) consensus. Delegates can opt in to also serve as ioTube witnesses, so a single operator both produces L1 blocks on IoTeX and signs bridge operations for ioTube.
Candidate pool and committee formation (Roll-DPoS style)
IoTeX token holders vote for delegates, forming a candidate set (at least 36 delegates per epoch). From this pool:
Off-chain witness committee service and relayers
A witness committee service:
WitnessManager and WitnessListV3.On-chain enforcement (WitnessManager + WitnessListV3)
When proposeWitnesses is called:
nextEpochNum must equal the current epoch plus a fixed interval.witnessesToAdd / witnessesToRemove are sorted deterministic lists.WitnessListV3.WitnessListV3 is updated by adding/removing addresses.From a user perspective, this entire lifecycle is invisible: the bridge continues to work, while the set of witnesses securing it is periodically refreshed using the same decentralized delegate base as IoTeX L1.

This mechanism explains how each bridged token chooses its own security settings and minting logic, using TransferValidatorV3.
Per-token configuration
For every token supported by ioTube, there is a simple configuration that says:
Different security levels for different tokens
How a transfer is validated with this mapping
When a transfer of token X is ready to be settled:
TransferValidatorV3:
onReceive so dApps can hook custom logic (e.g., swaps or auto-staking) into the bridge.In current deployments, the bridge uses TransferValidatorWithPayload with a single global witness list. TransferValidatorV3 keeps the same high-level flow but allows this per-token configuration, and is intended to gradually replace TransferValidatorWithPayload in production as tokens migrate.
This section outlines the incentives for witnesses and the process for expanding token support.
Delegate Execution (Opt-in)
Delegates individually configure their nodes to support a specific token. The bridge only becomes operational for that token once a sufficient witness threshold (>2/3) is actively signing its transactions.
Incentives
Delegates are motivated to support assets by:
Putting the mechanisms together, a typical cross-chain transfer works as follows:
Lock / burn on source chain
The user sends tokens to an ioTube cashier contract (or equivalent) on the source chain.
Observation by witnesses
Witness nodes (IoTeX delegates serving as witnesses) monitor IoTeX and external chains, detect valid bridge events, and record them via the witness service.
Committee signatures
Active committee members for the token’s witness list(s) sign the transfer data.
Relayer aggregation and submission
Relayers aggregate signatures and call TransferValidatorV3 on the destination chain with the transfer data and signatures.
On-chain validation and minting
TransferValidatorV3 verifies signatures against the current witness sets and enforces the > 2/3 thresholds. If everything is valid, it mints or releases the bridged tokens to the user’s address and emits a Settled event.
Optional application logic
If the recipient is a smart contract registered as a receiver, the validator calls onReceive, enabling cross-chain swaps, protocol-native auto-staking, or other higher-level behaviors.
This section explains why the mechanisms in the Specification are chosen.
Witness Selection and Committee Lifecycle
Per-token Witness and Minter Mapping
Economics and Governance
This is a breaking change for how witness membership is managed and how witness verification is performed, but it is designed to be compatible at the token level.
WitnessManager and WitnessListV3 manage committees and witness membership.TransferValidatorV3 replaces or complements previous validator contracts for new deployments.TransferValidatorV3 via the new token-to-minter mapping.TransferValidatorWithPayload and TransferValidatorV3 can run in parallel.TransferValidatorWithPayload to TransferValidatorV3.TransferValidatorWithPayload can be paused or fully deprecated.From a user perspective, deposit and withdrawal flows remain the same; only the underlying security model and configuration become more robust and flexible.
Copyright and related rights waived via CC0.