Waves-NG Protocol

The Waves Enterprise Operation Protocol provides performance advantages relative to other blockchains.

Terms

  • Block — A set of transactions registered in the blockchain, signed by the miner, and containing a link to the proof of the previous block. Limited to 1 MB or 6000 transactions.

  • Round — A period of time between the issuance of key blocks. This floating value is controlled by the consensus algorithm depending on the load on the network, averaging 40 seconds.

  • Proof of ownership — The acquisition of mining rights in the PoS consensus.

  • Node — A network host that runs the Waves Enterprise blockchain application.

  • Miner — A node whose address has sufficient balance and a “mining” permission.

  • Key block — A block that contains no transactions, only service information such as:

    • Miner public key — to verify proof of microblocks.

    • Amount of miner’s fee for the previous block.

    • Miner’s proof.

    • Link to previous key block.

  • Liquid Block — A service term to describe the state of a block before issuing the next key block, i.e. completing its mining.

  • Microblock — A service term for a set of transactions applied to the state of blockchain every 5 seconds. Limited to 500 transactions. Each microblock is signed by the miner’s private key.

Protocol description

The Waves-NG protocol — a protocol developed by Waves Platform based on Bitcoin-NG to increase the throughput of the Waves blockchain based on the architecture on which Waves Enterprise is implemented. The idea of the protocol is to create microblocks continuously, rather than create one large block in each round of mining. Small blocks can be forwarded and checked more quickly.

Mining rounds begin with the release of a key block. The time of appearance of each keyblock and the address of the miner specified in it are determined by a consensus. The key block contains no transactions and is quickly generated. Then, until the next block appears, microblocks with transactions without proof of share are generated every 5 seconds, which also increases the processing speed. Each microblock references the previous one. The key block is added to the blockchain as soon as the next miner releases its key block with a link to it.

This approach reduces the time to confirm a transaction compared to other blockchains.

1. Process for Creating a Liquid Block

  1. The mining address is determined by consensus.

  2. A miner creates and distributes a key block on the network.

  3. Every 5 seconds, the miner creates a microblock containing transactions and sends it out to the network. Each microblock must be linked to the previous microblock or key block.

  4. The process continues until a new valid key block appears on the network.

2. Miner reward mechanism in Waves-NG

The Waves Enterprise protocol offers financial incentive for participants to comply with the rules of the blockchain. 40 % of the block transaction fee is distributed to the miner who created the block, and 60 % of the fee is given to the miner of the following block. The fee credit transaction is performed after 100 blocks to ensure a trust interval of checks.

Схема разделения комиссий

Fee distribution diagram

3. Conflict resolution

A miner that continues the chain by creating two microblocks with the same parent is punished by deprivation of income from fees; the discoverer of the fraud receives the miner’s award for the block. The distributed nature of blockchain means each node stores a copy of the blockchain. When the next microblock appears, the node applies changes to its copy of the blockchain and checks it against other nodes of the network. At this point, inconsistencies in transactions can be detected.