LCPoA — universal as PoW, economical as PoS

Hello!

We are the development team of the IZZZIO blockchain platform. At the moment, we are actively developing private and limited blockchain solutions for customer needs, and we operate using the classic order-design-development model.

We wouldn’t like to start our acquaintance with advertising posts, thus there will be none of it. Today we want to talk more about one of our technologies — the consensus algorithm, which we call LCPoA.

LCPoA (Limited Confidence Proof of Activity) is a hybrid blockchain consensus algorithm that consists of two technical elements:

  1. Proof of Activity — a principle based on solving a problem similar to the problem of the principle of Proof of Work, but with a significantly reduced complexity, thanks to which the solution of the problem takes from fractions of a second to several minutes.
  2. Limited Confidence — the system of automatic creation of «check points» in the blockchain network.

An example of the operation of the main LCPoA filter.

Initially, we were faced with the task of developing an algorithm that would be as universal as Proof-of-work, but that would not require a lot of power, like Proof-of-Stake. At the same time, it was important to remember that not every client network can have a token. Some customers want to use blockchain to store data, some do not want to use tokens in supporting the network. This makes it impossible to use algorithms that rely on proof of possession.

For this task, we developed the LCPoA algorithm. It is simple in implementation, and in work. It requires a minimum amount of computing resources, and for protection it uses a synchronized worldwide resource — time.

Creation of blocks in the network now binds to the measurement value that is known to all computers (with a certain inaccuracy) — the current GMT time. This allows to:

  • Equalize the chances of computers of any power to create a block. Now the most powerful server, and the usual smartphone can create a block at the same time.
  • Transfer the responsibility for the generation of blocks to the client of the network. There is no need for miners, this opens to other ways of supporting the network.
  • Reliably protect the network from spam and attacks (for example a 51% attack). Algorithm already contains everything that is needed to protect against attacks.

The algorithm is based on the PoW-like problem: the selection of the hash of the block, by scanning the additional value of the “nonce” in the block. As a “nonce”, we use the current timestamp (unix timestamp) — the number of milliseconds that have passed since the beginning of January 1, 1970. This method allows to easily recheck information about how much time was spent on creating the block. In conjunction with the restriction of adding a smaller block, for example, one second, it provides for simple solutions simultaneously on any device, but sufficiently long to protect the network problem.

As a protection against 51% attack, and other attacks that allow overwriting the chain, we use a simple algorithm that allows you to create a «check point» or «point of no return» in the network. This algorithm, in fact, prohibits the overwriting of blocks in chains that are older than a certain specified age. For example, for a preset threshold of 5 minutes, it will be possible to overwrite blocks that appeared no later than 4 minutes and 59 seconds. The rest of the blocks go through «archiving» and attempting to overwrite the whole chain is impossible.

We also apply this method of protection against 51% attacks for any other consensus algorithms in the network.

More information about the LCPoA can be found in a document describing the algorithm: https://goo.gl/Gtb5ge or on our website: https://izzz.io

We hope that this publication was interesting to you and we will be happy to answer your questions.

Like what you read? Give IZZZIO a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.