Skip to main content

What is VFlow ?

VFlow is the first zkVerify System Parachain specifically designed to act as a gateway, for zkVerify, to the EVM world. The primary purpose of VFlow is to enable bridging the VFY Token from zkVerify to EVM Chains

  • VFlow is a permissioned EVM blockchain.
  • VFlow was built starting from the OpenZeppelin EVM Template and Moonbeam fork of Frontier. Frontier provides an EVM compatibility layer for Substrate, with full support to all the Ethereum RPC APIs allowing to develop Dapps and interact with them leveraging the usual EVM developer tools (Metamask, Foundry, Hardhat, ReMix, etc).

Parachain

Parachains are the primary means of scaling on Polkadot, and now zkVerify. You can think of Parachains as Sidechains or Shards, which can have independent consensus, tokenomics, governance and features with respect to the Relay Chain, but the duty of validating and finalizing the produced blocks (called para-blocks) pertains to the Relay Chain validators (called para-validators). A para-block won't be included in the Parachain until it is "approved" by the para-validators. An independent set of collators is in charge of producing the blocks that are going to be proposed to the para-validators:

  • A collator selection algorithm defines the set of collators that are authorized to produce para-blocks.
  • A block production algorithm, instead, defines the rules according to which a collator, among the selected ones, is elected to produce a para-block for a given slot.

👉 Learn more about parachains here, and parathreads here.

Permissioned EVM

Only a specific set of addresses is allowed to deploy smart contracts on VFlow. Any other user action is, instead, allowed.

Gas-nomics

  • VFlow has a maximum limit of 22.5M gas per block.
  • The gas price is updated according to the congestion of network (i.e. block fullness) and follows the same rules as the fee multiplier update in zkVerify.
  • Some futher adjustments to the gas consumption were required in order to prevent excessive growth of the storage and Parachain blocks

Substrate - EVM Equivalence

Please note that VFlow is a fully-fledged EVM chain, but it is also a Substrate chain ! As such, it's important to clarify that:

  • The chain exposes EVM-style addresses by default. An unique mapping between Substrate and EVM addresses is handled automatically and transparently for the user.
  • You could also connect a Substrate wallet (an EVM-style address will be used anyway) and call extrinsics and Substrate RPCs
    • These extrinsics will be executed normally and produce the expected effects; however they won't show up if you are using an EVM-style block explorer/monitoring tool.
  • The possibility to perform EVM calls via Substrate extrinisics (which would be possible with the Frontier pallets) is disabled as to avoid the aforementioned situations.

Governance

VFlow doesn't currently have a decentralized form of governance or treasury. A technical committee is in charge of managing the chain and executing actions to modify the consensus (via sudo pallet).

Tokenomics

VFlow is a System Parachain of zkVerify and shares the same native token (VFY). As such:

  • VFlow won't have any initial allocaton and neither a fixed supply.
  • VFlow cannot mint/burn tokens via inflation.
  • Tokens circulating in VFlow are limited to those bridged from zkVerify via XCM.

Consensus

  • Currently, VFlow relies on a closed set of collators called Invulnerables. Invulnerables cannot be slashed or kicked, and can be added/removed only via governance. No other collator is allowed to join at the moment.
  • VFlow uses AURA (Authority Round) for block authoring, which is simply a Proof-of-Authority round-robin selection of the collator that is allowed to produce a block for a given slot.
  • Given that there is no inflation in VFlow, collators' rewards only come from transaction fees. More specifically:
    • All the fees are placed in a pot. The reward mechanism is such that every collator receives half the value of the pot when authoring a block. This system creates a rolling average effect on rewards, where the pot acts as a buffer and memory of past fee activity, with the objective to smoothen out rewards, by averaging out fee income over time:
      • If a block has exceptionally high fees, the author only gets half of the pot at that moment. The other half benefits future block authors.
      • If a block has very low fees, authors still get a reward based on the existing pot, which can sustain participation.
      • If the block fees are somewhat stable, the pot value will stabilize at around 2 times the average block fee, thus the collators' reward will stabilize at around the average block fee

What to do next