Breaking Down FLETA’s Proof-of-Formulation
FLETA is a blockchain service platform designed for decentralized applications (DApps) that solves the underlying scalability issue plaguing the blockchain space, which includes balancing the trio of scalability, speed, and decentralization.
One of FLETA’s major innovations to the blockchain space is the new and novel “Proof-of-Formulation” consensus algorithm that prevents forks by providing real-time confirmation of blocks and transactions. The Proof-of-Formulation consensus algorithm is currently undergoing the patent process through FLETA and the United States Patent office (Application Number: 62717695).
What is a consensus algorithm?
A consensus algorithm is a process used in computer science to reach agreement between multiple parties on a single data value throughout a distributed network. In blockchain networks, consensus is generally focused around block generation and confirmation.
Bitcoin and Ethereum both use the Proof-of-Work (PoW) consensus algorithm for block creation and confirmation of transactions in their respective blockchain networks.
PoW is impractical on a larger scale as it requires the entire network to come to majority consensus, which requires the use of excessive amounts of computing power and resources. As a result, Bitcoin is a slow system that manages only 7 transactions per second. Whereas Ethereum isn’t much better with only 15 to 25 transactions per second.
In Proof-of-Formulation (PoF), mining and block generation is done differently compared with existing blockchain platforms. Formulators act as the block generators in the FLETA platform. Observers allow for real time confirmation of the blocks that are generated and prevent double spending.
Formulators serve as the backbone of the PoF algorithm, and there are usually 20 formulators making up a group that is ranked between 1 to 20 under a “RankTable”. Their ranking is based on a score which is calculated by the following formula:
Score: uint64(Phase) << 32 + uint64(binary.LittenEndian.Uint32(hash[:4]))
“Hash” serves as the hash value of the previous block, and “Phase” is a time-related value which shows how many times the RankTable has “turned” or gone through all of the formulators for block generation.
A new formulator in the system takes part in the RankTable with the Largest Phase+1 value.
The purpose of this is to make sure that each Formulator has at least one mining opportunity during each phase and so a different formulator sequence (or ranking) will be made for each phase of block generation. This prevents the potential for attacks and collusion by any malicious Formulators.
In simple terms, the main role of the Observers is to prevent DDoS attacks and to maintain the security of the entire blockchain network.
To maintain the systematic sequence and process of the system, each formulator will access the observer node in order to hide and mask their IPs. This prevents any form of targeted DDoS attacks on formulators.
Main features of observer nodes include:
- 5 observer nodes for each Formulator group, 3 of which are required to sign off on a generated block for it to be confirmed
- Real-time information being received about Formulator’s activities
- Node status and structure information is revealed to formulators and other users to increase the overall transparency of the network
Block Generation Process
Block generation under PoF occurs as follows:
- Formulator with highest rank/score becomes the block generator
- 2nd to 10th ranked formulators form the synchronization group. They are the ones who agree on the block generation order
- 11th to 20th ranked formulators form a standby group
- Block generator generates a block and sends it to the synchronization group
- Synchronization nodes confirm the block generator sequence and header, signs the block and then sends it to the observer node.
- When an Observer node receives at least 6 signatures, it reviews all of the transaction signatures to confirm the legitimacy of the block, and then signs the block sending it through to other observer nodes
- Once three signatures out of the five observer nodes are collected, the block is complete and observers send the completed signature back to the synchronization group
- Sync group then creates a completed block by attaching observers’ signatures to the block they initially receives and sends it to the standby group
- The block is then distributed to the network
Once the block generation process is complete, the block generator (first ranked formulator) goes back to the bottom of the list (rank 20) and each formulator moves up one rank so that each formulator has an opportunity to generate a block during each turn of the RankTable.
The reason why PoF is significantly faster than other consensus protocols is because the network is divided into different parties that each takes care of different parts of the process. The synchronization and standby group, for example, helps to divide the transmission traffic to ensure that the block propagates as fast as possible throughout the entire network.
Under Proof-of-Formulation consensus forks are prevented and the blockchain network is able to process transactions at an incredibly higher rate (10,000 to 20,000 TPS) than incumbent blockchain networks.
Fork Prevention under PoF
#1 Discarding Flawed Blocks
If a block generator sends an incorrect block, recipient nodes will discard the block and prepare to receive a new one. In this case, the generator has 1 second to produce a normal block, otherwise the second-ranked formulator will begin creating a new block that will be propagated after 3 seconds if the initial formulator still does not propose a new block.
The observer node will acknowledge that the initial generator failed to create a block within 3 seconds and thus proceeds with the signing process of the block from the second-ranked formulator.
#2 Fork Prevention
As we have seen with the Ethereum and Ethereum Classic, as well as Bitcoin, Bitcoin Cash, and Bitcoin SV splits, forks can be quite detrimental to a blockchain network. The PoF algorithm recitifies this anomaly by making forks impossible to occur.
As 3 out of 5 observer nodes are required to sign off on a block in order to confirm it, forks are simply not possible because the first block with 3 out of 5 signatures will be confirmed as the next block in the chain.
FLETA’s Proof-of-Formulation consensus is not only fast, however it is highly secure as well due to the added layer of protection between Observer nodes, formulators, and the synchronization group.
Unlike PoW consensus, PoF does not require excessive computing resources or depend on the amount of ‘stake’ that someone possesses. Because of this, it reduces the competition about who mines and creates blocks as everyone gets a turn. PoF also has built-in mechanisms to prevent the possibility of any kind of forks. You can learn more about PoF in FLETA’s whitepaper, tech paper, and Alpha Testnet Report.