A description of this algorithm was published in 2014, as a potentially new and more reliable algorithm for bitcoin, but I wasn't able to find any information about its actual implementation. PoA algorithm creators tried to combine two most popular algorithms: Proof-of-Work and Proof-of-Stake, in order to increase a level of protection against potential attacks, such as a 51% attack or Denial-of-Service attacks (DoS).
The algorithm works as follows:
- each miner in a blockchain network tries to generate an empty block header, which contains a previous block hash, a public address of a miner, an index of a current block in the blockchain and a nonce
- after generating the empty block header that meets current difficulty requirements, the node sends this header to the blockchain network.
- all nodes in the network consider the header of such block as data received from pseudo-random owners. Stakeholders are selected using a hash of the sent block header and a hash of the previous block + N presets with the help of a follow-the-satoshi
- every stakeholder, which is online at the time, checks whether the empty block header is valid. During the validation, everyone who received the header checks whether they are one of the first N-1 lucky stakeholders of this block. And if this is the case, they sign the empty block header with a secret key and send it to the blockchain network.
- When the N-th stakeholder sees that he is the one to sign the block, in addition to the empty block header, he adds a block with transactions included, a number of which he determines himself, as well as all N-1 signatures from other stakeholders and then he signs the block.
- The N stakeholder sends out a new block. Nodes receive this block, make sure of its legitimacy and add this block to the blockchain.
- The transaction reward received by the N-stakeholder is distributed between the miner and N lucky stakeholders. Links
- Proof of Activity: Extending Bitcoin's Proof of Work via Proof of Stake / PDF