5.4.3. PoENF Consensus Security

Unlike PoW and PoS consensus protocols that are vulnerable to mining centralization, whether a validator can become winner in current PoENF block proposal round depends on its ENF score rather than its controlled computation power or cryptocurrency stakes. Thus, an adversary cannot control the mining process by increasing investments on computation resource or owned coins. Moreover, the Krum rule adopted in ENF score calculation chooses *n* − *f* − 2 closet ENF proofs and precludes the *f* − 1 Byzantine proofs that are far away. Thus, all honest validators can output the same minimum ENF score as long as *n* ≥ 2 *f* + 3, and our PoENF can prevent against ENF proof positioning attacks.

In PoENF consensus, all honest validators only accept valid blocks generated in the current epoch round; thus, *correctness (validity)* is ensured. In addition, PoENF achieves *consistency (agreement)* by requiring all honest validators to update their local chain head according to chain extension policies. At the end of a PoENF block proposal round, every honest validator should either accept valid transactions that are saved into a confirmed block as the local chain header or reject all transactions by extending an empty block on local chain header. Such a *liveness (termination)* property ensures that all valid ENF transactions are processed within the block generation round. Furthermore, voting-based chain finality can guarantee *safety*, which requires all honest validators to form a same total order of finalized blocks appended on the global unique main chain.
