fuseio / FIPs

The Fuse Improvement Proposal repository
MIT License
0 stars 4 forks source link

Abstract Token Delegation functionality #9

Open fileflume opened 4 years ago

fileflume commented 4 years ago

It's very hard for a validator to control and manage delegation from external distributed sources. E.g. a validator opens a node for delegation from 'the public'. There is no way for the validator to control who, when and in what amounts tokens are delegated. Delegators can remove their tokens whenever. It would not be possible to ensure a node is fully staked the whole time without front end controls - i.e. delegators must sign up to a contract and commit a fixed number of tokens for a fixed period of time.

A simple way to avoid this is to abstract the whole delegation mechanism for public delegations. Instead of an owner delegating tokens directly to a node, the owner buys tokens (i.e. "daves_2%_coin") from the validator that pay a configured amount of fuse token interest - the same as they would get from delegating to that node.

There can be a standard contract that manages the configuration of the token. People can buy the token and receive interest at the end of every cycle based on how much they hold at that time.

Tokens can be created by validators in Studio, and users simply join their community, buy tokens and gain interest. The studio front end can be used to configure reward %, token lock in etc.

Validators can set their own reward %. It would create a whole defi environment to facilitate engagement and investment into the Fuse network

CrackerHax commented 4 years ago

Tokens should be erc721 tokens (which users can trade between one another) and should have an optional expiration date that can be set by the validator running the node. Validator should be able to set how many tokens and what % of payout each token represents. This is basically cloud mining.

leonprou commented 4 years ago

@fileflume interesting, so you are suggesting that each validator will have his own token that would give percentage of his staking reward to the holder. Like cTokens for Compound.

fileflume commented 4 years ago

Yeah, each validator can generate their own token in Studio that offers a fixed return for an ongoing or fixed amount of time (there are many possible ways the token can be configured). The validator determines the amount available, interest rate, any lock in etc in the contract. People buy their tokens for Fuse token, and get fuse token interest. At the end of the contract length they get their original tokens back as well. This is a useful way to manage token delegation, although economically it doesn't make sense for any validator to do this yet. But it makes sense in the future, and offers a decentralised way to manage and control token delegation. People could also create a secondary market where the 'interest tokens' are sold and traded.

There's a conversation on the main Telegram channel about it.@CrackerHax came up with the idea.

leonprou commented 4 years ago

4,2,

On Sun, Jun 14, 2020, 19:46 Robert Brown notifications@github.com wrote:

Yeah, each validator can generate their own token in Studio that offers a fixed return for an ongoing or fixed amount of time (there are many possible ways the token can be configured). The validator determines the amount available, interest rate, any lock in etc in the contract. People buy their tokens for Fuse token, and get fuse token interest. At the end of the contract length they get their original tokens back as well. This is a useful way to manage token delegation, although economically it doesn't make sense for any validator to do this yet. But it makes sense in the future, and offers a decentralised way to manage and control token delegation. People could also create a secondary market where the 'interest tokens' are sold and traded.

There's a conversation on the main Telegram channel about it.@CrackerHax https://github.com/CrackerHax came up with the idea.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/fuseio/FIPs/issues/9#issuecomment-643791926, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABXE3LGNWJPHJVQXN5OQWLLRWT5EPANCNFSM4N3TFM5A .