Function X: June Hash Out

Danny
Function X
Published in
6 min readJun 30, 2021

Delegation on FX Core

Preface

The launch of the FX Core mainnet is just around the corner. We’d like to thank the community members and long-time supporters for their continuous support through the process. As mentioned in the previous article, the launching of FX Core will take place in stages, and we would like to take this opportunity to dive into each stage. In this issue, we start with the first stage: Delegation.

Function X network and FX Core

Every blockchain is a unique highway. Each has its own language, currency, rules and public ledgers. In normal circumstances, different blockchains cannot communicate or interact with one other.

Function X is a multi-chain structure network. The network provides inter-blockchain communication, connecting multiple blockchains, for example, Binance Smart chain, Ethereum and the upcoming Pundi X chain (payment chain). More chains may be added as time goes on.

To enable communication among blockchains, FX Core (blockchain) operates as the interchange and intercommunication point to connect with other blockchains. FX Core is the distributed ledger to record and verify the cross-chain and inter-chain transactions. With FX Core, users can complete their Ethereum transaction within seconds, or swap their ERC20 token to a BEP20 token seamlessly.

Delegator, validator and voting power

The underlying consensus model and algorithm of FX Core is Proof of Stake (PoS) and Practical Byzantine Fault Tolerance (pBFT). The block validation (or transaction verification) is through voting. Every transaction requires at least 2/3 of the total votes within the blockchain to approve verification and validation. If less than 2/3 of the votes within the blockchain approve the transaction, the transaction will be denied. All successfully verified transactions will be recorded in the new block (block creation) and cohere with the previous block to become a complete ‘blockchain’.

For example, if there are 10 million $FX delegated in FX Core, the new block needs at least 6.67 million $FX votes to pass the verification; if there are 100 million $FX delegated in FX Core, the new block needs at least 66.67 million $FX votes to pass the verification.

The party who is allowed to cast a vote for verification is a ‘validator’ (validator node). It is similar to a city election where people delegate their votes to the ‘city representative’ and that representative, in turn, will cast the vote (to make a decision) in the governing body on behalf of the voters who delegated their votes to him/her.

Validators have to be equipped with sufficient technical knowledge to set up the server, docker and network in order to maintain the uptime to run the routine block validation and at the same time, pay close attention to the development of the network and participate in the governance voting, when necessary. In exchange for the validator’s service, s/he is entitled to a commission from the block reward of the delegator.

Basically, the more validators participating, the longer the validation period is. It is similar to counting votes in a legislature. To balance performance, security and efficiency, the number of validators will be limited. Parties who would like to become validators will need to attract sufficient votes to stay competitive enough on the leaderboard. This competitive element will incentivize the validators to act with integrity, remain vigilant and provide better service.

Please note that the number of spots for validators in FX Core will be opened gradually at a later stage.

Delegation of $FX refers to users (delegators) delegating the voting power derived from the token ($FX) to the dedicated validator node in the FX Core to participate in the process of block validation. Thereafter, the validator node will cast the vote on behalf of the delegators who delegate their voting power to verify the block and earn the corresponding block reward in return. The minimum amount that can be delegated is 0.1 $FX.

100 $FX = 1 vote (a fixed value)

Only validators within the leaderboard (top 50 validators) can participate in the block validation by casting votes delegated from delegators. A delegator may delegate tokens to multiple validators. However, a single token can only be delegated to one validator node at a time.

It is worth noting that, FX Core considers the validator node and the voting power behind it as a single element. That is, validators and delegators are in the same boat; they will be receiving the same rewards if the validator performs well (eg., minimal downtime; no verifications of false transactions; no double spending, etc.); and vice versa, the delegator and validator will receive the same penalties if the validator breaks the rules.

Delegation

Delegation is the act of authorizing a validator to cast a vote on behalf of a delegator.

To participate in block verification, users have to have $FX in their private wallet and delegate (NOT transfer) his/her voting power to the dedicated validator node. Delegators need to do their own research (DYOR) to choose the validator node according to that node’s penalty history, uptime percentage, reputation, commission rate, etc.

Voting power is the derivative value of an $FX token. The delegation of voting power does not affect the ownership of an $FX token. That is, the ownership of an $FX token remains in the hands of delegators after the delegation. Delegators can pull out their votes by redeeming their $FX token anytime they want and, at the same time, a validator cannot transfer an $FX token for any other purpose than redeeming a delegator.

Risk and reward

Rewards and risks always co-exist.

FX validators and delegators will be rewarded through participating in the new block creation in FX Core. The rationale of the block rewards comes from the contribution of the security of the network. You can reference the reward estimation in https://functionx.io/staking-reward/#/delegator with the proposed parameter as follows:

To stabilize the network, the delegated (principal) $FX will take 21 days to be unlocked after the undelegated request (gas fee needed) has been made; the block rewards will take 8 hours to be released after the withdrawal request (gas fee needed) has been made.

One should keep in mind that the delegation of $FX is neither staking nor depositing, it is the act of ensuring the security of the network through participating in block validation.

Block validation is a rather long and complicated process and it might go wrong during the process, technical failure, human intervention, network congestion, etc. For example, if the network is down for x%, or the validator intends to double spend, etc. these would have a negative impact on the security of block validation. There is also a possibility of technical failure, network congestion which will cause validator nodes go offline or failure of synchronization of block.

Delegators also need to be aware of gas fees, transaction fees, opportunity costs, network fees and time involved.

Engaging in this process is challenging. It requires careful thought and an acute awareness that there are risks that accompany the potential rewards. The crypto space is full of uncertainty. No one will guarantee your loss.

Please do your own research (DYOR) and only put in what you can afford to lose.

A step by step guide of delegation will be updated later.

--

--