Consensus protocol

Proof-of-Stake

Fair Proof-of-Stake

A very common consensus algorithm is the "pure" Proof of Stake (PoS) model, as proposed by Nxt. In this model, the choice of account that has the right to generate the next block and receive the corresponding transaction fees is based on the number of tokens in the account. The more tokens that are held in the account, the greater the chance that an account will earn the right to generate a block.

In LTO, we are convinced that each participant in the blockchain should participate in the block generation process proportionally its stake: we have decided to use a corrected version of the PoS formula, designed by Waves, called Fair Proof of Stake.

This is an improved PoS algorithm that makes the choice of block creator fair and reduces vulnerability to multi-branching attacks, in accordance with the shortcomings of the current algorithm. We analyzed the model of the new algorithm for its correspondence to the stake share and the share of blocks, and the results were positive. Also, the algorithm was analyzed for vulnerability to attacks, and the results obtained with the new model were better than with the old one. The attacks’ results for the attacker were not so successful in terms of the profits gained. The number of forks and their length where decreased.

Leasing

Leased proof-of-stake is a version of a proof-of-stake consensus mechanism that allows token holders to "lease" their tokens to full nodes and earn a percentage of the payout as a reward. On a regular proof-of-stake platform, each node is able to add a new block to the blockchain. In a Leased Proof-of-Stake environment, users can choose between running a full node or leasing their stake to a full node with receiving rewards. This system allows anyone to participate in network maintenance.

Node operators can utilize a different person's mining power to generate new blocks without the need to send any LTO, meaning coins don't leave the leaser's wallet. There is always the option to stop leasing by placing a cancel lease transaction. Screening for an appropriate node operator is up to the user leasing.

NG protocol

LTO Network uses the NG protocol, which is based on the Bitcoin NG proposal. The purpose of Bitcoin NG is to serialize transactions and offer important improvements in the transaction latency (lower latency) and bandwidth (higher throughput) in comparison to Bitcoin, without sacrificing other properties.

The NG protocol used by LTO Network is forked from Waves NG.

NG operations

The main idea of NG is to split up mining into two types of blocks: key-blocks and microblocks. The process of creating a block works as follows:

  • The miner node gets permission to create a block.

  • The miner node creates and sends the key block (which does not contain transactions).

  • The miner node creates and sends the micro blocks (which contain transactions just as in a normal block with a reference to the previous micro block or key block) with the mining time interval of three seconds.

  • Miners will mine those micro blocks and propagate them directly to the network until the next new key block appears.

With Bitcoin, a miner puts all the transactions in one block. In between blocks, the system appears idle to an onlooker, as miners are working to discover the next block.

In contradiction, with NG, the key-blocks are small, because they don't contain transactions. Following the key-block, the lead miner can quickly issue microblocks with transactions. The leader will continue issuing microblocks, until a new key-block is mined.

Key-blocks

These blocks are generated with proof of stake and only contain the coinbase transaction. This transaction defines the public key that the miner will be using to sign microblocks. Because a key-block requires proof of stake, miners can not just produce one and expropriate the leadership at will.

Each block has a header that contains, among other fields, the unique reference of its predecessor which is a cryptographic hash of the predecessor header (either a key block or a microblock).

Microblocks

Once a node generates a key block it becomes the leader. As a leader, the node is allowed to generate microblocks at a set rate smaller than a predefined maximum.

These microblocks will contain the ledger entries with no requirement for any Proof of Stake and they're generated by the elected leader in every block-generation cycle. This block-generation cycle is initiated by a leader block. The only requirement is to sign the micro blocks with the elected leader's private key.

The micro blocks can be generated at a very high speed by the elected leader(miner), thus resulting in increased performance and transaction speed.

For a microblock to be valid, all its entries must be valid according to the specification of the state machine, and the signature has to be valid. When all micro blocks have been validated, they will be merged with their key block into one block.

Microblocks do not affect the weight of the chain, as they do not contain proof of stake.

Mining rewards

For each transaction, a transaction fee is paid, which serves as mining reward. This fee is split between the leader that places this entry in a microblock and the subsequent leader that generates the next key block.

In order to motivate participants to follow the protocol, the fee is distributed, with 40% to the leader, and 60% to the subsequent leader.

Finally, if a leader forks the chain by generating two microblocks with the same parent, it is punished by revoking the subsidy revenue; whoever detects the fraud wins a nominal fee.

For every transaction, 20% of the fee isn't awarded and thus effectively taken out of circulation (aka burned). Effectively, the fee is distributed 32% to the leader, 48% to the next one, and 20% is burned.

Last updated