*4.1. Basic Notation*

Table 1 describes relevant notation used in PoENF model. To model sequential events in synchronous consensus rounds, a set of subsequential slots are used to define *Epoch*, which is represented as *slE* = {*sl*1,*sl*2, ...,*slt*}, where 0 ≤ *t* ≤ *R*, and epoch size *R* is a value of multiple unit slot *sl*. A *validator vi* ∈ *V* (*V* ⊆ *U*) is a valid node that is qualified for being selected as a PoENF committee member. We define *Dynasty* to represent current PoENF committee, which is denoted as *D* = {(*pk*1, *<sup>c</sup>*1),(*pk*2, *<sup>c</sup>*2), ...,(*pkk*, *ck*) ⊆ *<sup>V</sup>*}, where 0 ≤ *k* ≤ *K*, and *K* is the PoENF committee size. We use H(·) to denote a predefined collision-resistant hash function that outputs hash string *h* ∈ {0, <sup>1</sup>}*<sup>λ</sup>*.


**Table 1.** Relevant basic notation.

Before introducing key features and components in the PoENF consensus protocol, several basic definitions are introduced as following.

**Definition 1.** *Transaction is used to save data that are launched by a node ui for recording on the distributed ledger, and its structure is represented as tx* = {*tx\_hash*, *pki*, *Tstamp*, *data*, *<sup>σ</sup>i*}*, where the parameters are the following:*



**Definition 2.** *Block is a basic data unit that encapsulates valid transactions and is always appended on the chain head. A block generated at slot slt (t* ∈ 1, 2, 3, ..*) by validator vj is represented by Bi* = (*pre\_hash*, *height*, *mt\_root*, *tx\_list*,*slt*, *<sup>p</sup>kj*, *<sup>σ</sup>j*)*, where the parameters are the following:*


We define a special block called *Genesis Block* that is represented as *B*0 = (*pre*\_*hash* = 0, *height* = 0,*sl*0 = 0, *init*\_*<sup>D</sup>*), where *init*\_*D* is the initial dynasty. Therefore, all on-chain data on the distributed ledger are organized as an ordered sequence of blocks starting from *B*0.

**Definition 3.** *Blockchain (Distributed Ledger) is a partial order of blocks that is represented as* C = *B*0 → *B*1 → ... → *Bn*−<sup>1</sup> → *Bn indexed by strictly increasing slots slt. Each block Bi uses its pre\_hash=*H(*Bi*−<sup>1</sup>) *to link with the previous block Bi*−1*, and key parameters are the following:*


### *4.2. PoENF Committee Consensus Protocol: Overview*

Figure 3 is an overview of the PoENF consensus protocol, which includes the distributed ledger structure and PoENF committee consensus workflows. The distributed ledger in EconLedger follows a tree structure originated from the genesis block. Each new block extends its chain path through *pre*\_*hash* to point to a parent block. All nodes in such a ledger tree can be represented as confirmed blocks (blue) or finalized blocks (red), as the upper part of Figure 3 shows. The chain height follows a strictly increasing sequence of finalized blocks; therefore, a valid path can only proceed through those red nodes. The head of a blockchain is anchored on a recently confirmed block that has linked to a finalized chain with the largest height value.

At the configuration stage, the system administrator specifies a group of validators as the initial PoENF committee to initialize an EconLedger network. The lower part of Figure 3 demonstrates workflows of the PoENF committee consensus protocol, including the dynasty cycle and the epoch cycle. A dynasty cycle starts from committee selection and ends when the global randomness string of current dynasty has been updated by the randomness change process. At the beginning of a dynasty's lifetime, the committee selection process uses the current global randomness string as a seed for committee election

protocol, which exploits a Verifiable Random Function (VRF) based cryptographic sorting scheme [37]. Given the credit weights of all nodes, *K* validators are randomly chosen to construct a new PoENF committee *D*, which will be added to the current block. Finally, validators of new *D* establish a fully connected P2P consensus network and start a new dynasty cycle.

**Figure 3.** The PoENF consensus protocol overview.

For each epoch cycle, PoENF block generation and chain finality are core functions that ensure liveness and termination in continuous consensus rounds. By calculating a squared distance of ENF proofs from validators, the PoENF mechanism determines that a validator with the minimal squared-distance-based score can generate a valid block in the current block proposal round. After *n* rounds of block proposal, chain finality relies on a voting-based chain finality mechanism to resolve fork issues caused by conflicting confirmed blocks and finalizes the history of ledger data by using a unique chain path.

At the end of current dynasty, PoENF committee members utilize the RandShare mechanism to cooperatively reach agreemen<sup>t</sup> on proposing a new global randomness string. As a distributed randomness protocol, RandShare adopts Publicly Verifiable Secret Sharing (PVSS) [38] to ensure unbiasability, unpredictability, and availability in public randomness sharing. The proposed unbiasable and unpredictable global randomness string will be updated as the new seed for the committee selection process of the subsequential dynasty.
