oasis-core icon indicating copy to clipboard operation
oasis-core copied to clipboard

Support restricted use accounts

Open Afauvre opened this issue 6 years ago • 3 comments

SUMMARY

At genesis block, create way to set tokens locked up from investors, grantees, employees to be used for delegation on the network.

ISSUE TYPE

In order to allow for broader token engagement on the network without creating too much liquidity early on, we'd like to have a way for stakeholders to use the tokens promised to them before they're able to transfer them or sell them on an exchange.

COMPONENT NAME

Consensus layer

ADDITIONAL INFORMATION

when does lockup end? -- example would be a tiered lockup with a certain amount of tokens released at 4 months, 8 months, 12 months.

  • what exactly can be done with locked up tokens -- locked tokens can be delegated and rewards can be earned on those tokens. locked up tokens cannot be sold or transferred.

Afauvre avatar Oct 31 '19 23:10 Afauvre

The safest way to implement this would probably be a separate "restricted" sub-account with its own balance and a policy that would define what the account holder can do. This way the balance would not be part of the general balance.

A downside of this is that it adds more complexity to the consensus layer.

locked up tokens cannot be sold or transferred.

While you can prevent transfer, you can't really prevent selling them. Someone could record the sale off-chain and do the transfer when the tokens thaw.

kostko avatar Nov 01 '19 10:11 kostko

If you're going to do this (and I'm against it for complexity reasons), it probably should store a vector of balances, just so that the inevitable "we want to add more tokens to the restricted pool with a different thaw date" is easy to implement.

While I'm here, I would also be against making the thaw process automatic because it's additional unneeded complexity.

Yawning avatar Nov 04 '19 11:11 Yawning

any updates on this?

1xCL avatar Dec 02 '20 06:12 1xCL