Validators are an integral part of Portal Network. By maintaining the Notary Chain state, Validators secure the network with a Proof-of-Stake Consensus. To achieve this, Validators have to stake their $XPORT tokens as collateral and perform their tasks. Some of the tasks include, handling transactions, generating fresh blocks, and engaging in the consensus mechanism. Any misconduct could result in a reduction of their staked $XPORT tokens, serving as a robust deterrent against potential attacks. (A future upgrade currently in development may allow Validators to stake Bitcoin as well.)

One important design feature in Portal’s architecture is that Validators do not control any Vaults of liquidity pools as in THORChain or Chainflip. This is ideal because no amount of validator collusion can steal LP funds. Validators merely provide block generation and transaction processing on the Notary Chain and control smart contracts on native chains like EVM. This non-custodial validator nature makes Portal Network unique and hence there is no need for a large number of Validators or to maintain a security ratio of bonded assets like other protocols such as Chainflip and THORChain or Bridge protocols do.

At any point of time, there are 2 states of Validators,

  • Active: Refers to an active Validator node that has won the auction and is participating in validator functions in the current epoch

  • Inactive: Refers to a Validator node that has participated in a previous epoch or have not yet participated in any epoch but has an account on the Notary Chain

Recording on Notary Chain

One of the most important functions of Validators is monitoring external blockchains & PortalOS peers for events to record them on the Notary Chain. Some of these events might include:

  • Registering trading pairs to onboard LPs to new liquidity pools.

  • When a user initiates a swap, swap_intent() function is called on the DEX contract account, then Validators register this on the Notary Chain by calling ADMM.register() and start a timer

  • Maintain a list of active Validator Set who take ownership of contracts after each epoch

  • New nodes opening accounts on the Notary Chain to bond $XPORT tokens and participate in the auction process

  • Maintain a ledger of Liquidity Provider contributions (by calling ADMM.commit_liquidity() and ADMM.setLP_price()) and process withdrawal requests

The process of recording is easier than it reads because Validators do not need to monitor for events themselves. As part of their PortalOS node, Peers keep track of events in external chains and Coordinator relays the events from chains and clients to the Validator server automatically (depending on block confirmation times appropriate for each chain). Once the event is monitored, ⅔ of the Active Validator set has to witness the transaction and register it on the Notary Chain, this provides transaction metadata to all listening parties.

External Chain Management

In addition to monitoring events and recording them on the Notary Chain, Validators also perform important duties on external blockchains like Ethereum and Bitcoin or other L1/L2s, such as:

  • Maintain DEX smart contracts on chains like Ethereum

  • Maintain a Hub node on Lightning network, which manages channels with every LP on Lightning and acts as a Liquidity Pool on Lightning

  • Changing aggregate keys for TSS during Keygen ceremony

  • Authorize withdrawal of LP funds when they withdraw

  • Lock or Unlock $XPORT tokens on the Notary Chain when users send or transfer from the Notary Chain

Note: Unlike other protocols Validators do not control flow of funds between blockchains because that is handled through atomic swaps that is inherent in Portal’s technology. This makes it non-custodial and trustless as there is no scope for malicious behavior from a majority of Active Validator Set.

Last updated