## 4 Nazzfast Consensus Mechanism
### Block Creation Cycle
#### 4.4.1 Block Proposal Phase
_Result:_ There are also two situations. (a) The consensus gets affected if V-validators of the block creation cycle do not receive prevotes from 2/3 of other V-validators. (b) The consensus does not get affected if the V-validator receives at least 2/3 prevote of others and does not receive prevote from complete other V-validators of the block creation cycle. _Condition:_ Not all prevote sender's validators send pre-commit to the correctors. _Result:_ The block will not be created by correctors if a minimum of 2/3 pre-commit is not received by V-validators. _Condition:_ All correctors do not send a commit. _Result:_ The corrector cannot proceed if it does not receive all the commits for the block. After a timeout, the block will be discarded if it does not receive all commits. 5. Fork After Withholding Attack (FAWA)/Selfish Mining

_Condition:_ In a fork withholding attack, in this type of attack, the attacker holds the valid block and does not release it to the network. Instead, they keep it private. After some time, the attacker releases the withheld valid blocks to the network to create a fork in the system [54]. This attack was found in early consensus mechanisms, such as in Bitcoin [1]. This attack is almost similar to a selfish mining attack [55]. It is also a high-severity attack in the previous blockchain consensus. An adversary creates/mines the valid block and does not broadcast it to the network. Upon broadcasting the blocks, they create a fork, and it can hijack the main chain. Both attacks are similar in disrupting the network and the block propagation issues but only differ in their strategies. We discuss both attacks on our consensus together in the conditions below. If the block producer holds the block and does not produce on time and tries to create a fork in our network system. _Result:_ To create a successful fork in the network system, several valid blocks should be broadcast together. Our system is resistant to this attack because we only allow one block at a time. Every block creation cycle has a block producer to produce a block. If it does not broadcast a block in its turn, the block will be useless because, at the end of every block creation cycle, the block that does not get committed should be dissolved by the block creator and the transaction returned to the pool. However, if the block producer keeps the block for further broadcast, it is also not possible. We used a strong block producer selection process in our consensus that does not allow block producers to get reelected again easily. 6. Nothing-at -Stake Problem (Attack)

_Condition:_ Most of the previous PoS-based consensus algorithms face an issue that is called the nothing-at-stake problem. In which an adversary tries to create an alternative chain to gain profit by losing nothing. It does forgery in the system with nothing to lose [56]. Others try to solve this issue by using different techniques [57]. Our consensus resists this issue in different ways. _Result:_ Our network system used Sea Shield to save bond transactions, and we used a long process to release the bond. If the validator needs to take their stake back, the network will stop the validator from any type of contribution as a validator and make them stop until they complete the unjoin process. The total time calculation of S&Sem also contributes to resisting nothing-at-stake problems because it contains coin age and the extra bonding time factor of the validator. **Data Layer Vulnerabilities**

In a blockchain network, transactions are considered a main component of the data layer. There are multiple choices of data storage available in the blockchain, on-chain and off-chain. Both have their advantages and disadvantages [58]. We suggest on-chain storage for our proposed work because it provides immutable and transparent data. To increase the security of the data, the blockchain uses different cryptographic techniques to secure its data from any forgery. We apply the cryptography technique 'zero-knowledge proof' [37] to verify the data.