The Waves Enterprise Operation Protocol provides performance advantages relative to other blockchains.
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.
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.
The Waves-NG protocol was 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 generation of the key block. Each key block, along with the address of the miner identified in it, are determined by consensus. (For more details, see Consensus.) A key block containing only a proof with no transactions is generated quickly. Before the next block is generated, microblocks with transactions are generated every five seconds without proof of stake, which increases the speed of processing. Each microblock is linked to the previous one, and the key block is added to the blockchain as soon as the next miner generates its key block.
This approach reduces the time to confirm a transaction compared to other blockchains.
1. Process for Creating a Liquid Block¶
The mining address is determined by consensus.
A miner creates and distributes a key block on the network.
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.
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.
3. Conflict resolution¶
A miner that continues the chain by creating two microblocks with the same parent is punished and loses 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.