Flare Network’s FTSO : Voting, Delegation, Rewards and WFLR
By: Minho, Yoo
Tags: Flare Network, English, Oracle, Wflr, Ftso

Flare Network’s FTSO : Voting, Delegation, Rewards and WFLR

Oracle and Flare Network’s FTSO

In DeFi world, including stable coin protocols, getting the exact price of cryptocurrencies is very important. The price of cryptocurrency is usually brought from off-chain to on-chain through an “oracle” system. Untrusted price information may cause vulnerabilities such as flash loan attacks. And this makes DeFi, which relies on Oracle, to not work. In this article, you can see how FTSO (Flare Time Series Oracle) works, the price oracle mechanism of the Flare network.

TL;DR

FTSO is the price oracle mechanism of the Flare Network.

In the FTSO, the price is determined based on the values ​​submitted by FLR and F-Asset token holders.

A weighted median method is used to determine the price.

The actual right to submit prices is reserved for WFLR token (and F-asset as well).

FLR and F-Asset token holders can delegate their voting powers to other price providers through WFLR’s delegation feature.

Price Providers are delegated authority from the token holders to submit price information on their behalf.

In FTSO, price submission uses a commit and reveal scheme.

The basic mechanism of FTSO

In the FTSO of Flare Network, FLR and F-Asset token holders submit estimated prices for each asset. For the sake of brevity, this article only covers the case where FLR token holders submit prices to FTSO.

After FLR token holders submit prices, the submitted estimates are aggregated to create a “weighted estimate distribution”. In order to remove outliers, the 25% low prices and 25% high prices are truncated from the distribution.

With the price remaining after truncation, a weighted median is calculated to determine the oracle price. Token holders (submitting a price between the top 25% and bottom 25%) will be rewarded for their contribution to price determination.

The reward rate for FTSO participation (and for participation as data provider) is initially set as 10% of the annual circulation of FLR tokens. This reward rate can be changed through governance voting.

An example of FTSO mechanism

Let’s take a simple example for better understanding.

Alice : with 10 voting power(FLR), submit price as 3

Bob : with 20 voting power, submit price as 4

Charlie : with 30 voting power, submit price as 5

Eve : with 20 voting power, submit price as 6

First, a weighted estimate distribution is created with the submitted prices (left side of the figure). Since the voting power involved in the price submission is 80 FLR in total, the 20 FLR of the top 25% and the 20 FLR of the bottom 25% are truncated. The gray area in the picture above corresponds to the truncated area.

The Oracle price is calculated from the remaining price after truncated (green in the figure). 10 FLR out of 40 FLR voted for price 4, and 30 FLR voted for price 5. So we can calculate the oracle price like this:

The median of the distribution = 5

As 20 FLR voted for price 4, Bob’s voting contribution (10 FLR) is equal to 50%. And as 30 FLR voted for price 5, Charlie’s voting contribution (30 FLR) will be 100%. According to the formula in the white paper, FTSO rewards will be divided as follows:

Alice: No reward (All votes are in the bottom 25%)

Bob: 33.3% of the total FTSO Rewards (Contribute only 50% of the votes)

= 0.5 / (0 + 0.5 + 1.0 + 0)

= (10/20) / {(0/10 + 10/20 + 30/30 + 0/20)}

of the total FTSO Rewards (Contribute only 50% of the votes) = 0.5 / (0 + 0.5 + 1.0 + 0) = (10/20) / {(0/10 + 10/20 + 30/30 + 0/20)} Charlie: 66.6% of the total FTSO Rewards (Contribute 100% of the votes)

= 1.0 / (0 + 0.5 + 1.0 + 0)

= (30/30) / {(0/10 + 10/20 + 30/30 + 0/20)}

of the total FTSO Rewards (Contribute 100% of the votes) = 1.0 / (0 + 0.5 + 1.0 + 0) = (30/30) / {(0/10 + 10/20 + 30/30 + 0/20)} Eve: No reward (All votes are in the top 25%)

Once you understand the basics of how FTSO works, let’s move on.

Wrapped FLR (WFLR) token for voting & delegation

In the above, FTSO voting was described using the FLR token, but the token that has voting power is the WFLR token (and F-asset token as well).

The WFLR token is a generic ERC20 token. Moreover, WFLR token has the following features:

FLR and WFLR will always have a 1:1 ratio

WFLR is required to participate in FTSO voting

1 WFLR has 1 voting power

Another feature of WFLR is the ability to delegate voting power. This means that while holding WFLR, a holder can just delegate voting powers to other price providers. A WFLR token holder can delegate voting power by percentage to a limited number of addresses, currently 3.

The features of WFLR can be summarized as shown in the figure above. Through deposit and withdrawal of FLR, 1:1 exchange with WFLR is possible. And it has the inherent ability to delegate voting powers to other addresses while holding WFLR tokens.

FTSO Provider

FTSO price submissions should occur every few minutes. A transaction signing is required for every price submission. It is very difficult to sign a transaction manually once every few minutes. (Unless the token holder is a machine)

So it is needed to delegate voting power to the FTSO price provider who keeps submitting Oracle prices. In this case, the delegation feature of the WFLR token can be used.

How to submit the price for FTSO

Price submission in FTSO uses a “commit and reveal” scheme. The reason for using this scheme is to prevent a provider who see the other provider’s price submitted first and then tries to submit based on the other provider’s price to get more rewards.

Here’s how it actually works. Only submit the hash value of the price first(commit). Then submit the actual price after all price providers have submitted the hash value. If the submitted price does not match the hash value submitted earlier, it will be rejected as an invalid price submission.

An example of FTSO price submission and delegation

Finally, let’s summarize it with an example.

Alice has 10 FLR, she has no voting power which is delegated to her. Alice exchange her 10 FLR to 10 WFLR. She now has 10 voting power. Bob has 30 WFLR so he has 30 voting power. Bob decides to delegate 50% of his voting power to Alice. Now Alice has 25 voting power and Bob has 15 voting power. Bob receives 20 more WFLR tokens. Now Alice has 35 voting power and Bob has 25 voting power.

As shown in the example above, when a token holder who delegate voting power receives additional WFLR tokens, the smart contract automatically updates the voting power according to the delegated percentage. It is also important to note that delegation is handled on a percentage basis, not on a quantity basis.

Conclusion

We briefly explored how FTSO works and the WFLR token for voting power delegation as well. Hope this article to help you in understanding more about Flare Network. :)

Unlocking Value!

References