hive-engine / nitrous

Hive Engine Token Customized UI, based on Hive condenser
28 stars 58 forks source link

Nitrous & SCOTBOT shouldn't allow unstaking less than 5 days to prevent VP double spending #1

Open economicstudio opened 5 years ago

economicstudio commented 5 years ago

As stated in https://steemit.com/utopian-io/@blockchainstudio/nitrous-and-scotbot-shouldn-t-allow-unstaking-less-than-5-days-to-prevent-vp-double-spending

Currently, SCOTBOT & Nitrous system shares the voting power of STEEM. This has several problems (of course, there are also some pros), notably VP double spending.

To prevent VP double spending, unstaking should be at least 5 days.

Eventually, VP should better be splitted with STEEM.

Examples

Say a steem-engine token named NED has a 3 day unstaking period.

User A (with alt account B) having NED can double spend this way.

  1. Used up VP in account A
  2. Unstake (which takes 3 days)
  3. Transfer NED from A to B (B has a full VP)
  4. Used up VP in account B
  5. Unstake
  6. Transfer NED from B to A (Now A has a full VP again)
  7. repeat!

Benefits

inertia186 commented 5 years ago

I agree with the rationale and the PAL team ended up adopting a 28 day power-down with 4 transactions, for example.

{
  "contractName":"tokens",
  "contractAction":"enableStaking",
  "contractPayload":{
    "symbol":"PAL",
    "unstakingCooldown":28,
    "numberTransactions":4
  }
}

https://steemd.com/tx/4607953ca14b09a4c3d3f0546e4075db56055d9d

Any other SCOT token should also carefully evaluate their intent, if they elect to have a power-down of less than 5 days.

But this is not a Nitros issue since these options are not established or managed specifically on Nitros. This caution should be outlined on (assigned to @Vheissu): https://sto.steem-engine.com/#/launch/scotbot