An argument against Pocket Network's slow release mechanism


#1

As per the current protocol design, there’s a built-in slow release mechanism described to allow users not to take out their stake all at once (reference pending). The reasoning behind this post is to formulate the cons of such a mechanism and try to provide a better alternative.

The reason why slow release is important: Pocket Network want users to be able to take advantage of price fluctuations in the market or to adjust their expected bandwidth consumption with the network within a reasonable timeframe without impacting the macro-economic state of the network (e.g. a user with a large stake unstaking all at once within a short period of time of staking such amount).

The problem: By creating a slow release of the stake, the protocol will have to build-in a state change mechanism to the final database (blockchain) that’s not based on a user transaction, but derived from a past transaction which will not have any direct state change associated with it.

Proposed solution: Allow the unstake transaction to remove stake based on a formula that takes stake age as a parameter to determine the amount that can be unstaked.

Example implementation:

  1. User stakes X POKT in Block A.
  2. User submits unstake transaction without specifying an amount to unstake in Block D (3 blocks have been confirmed stake_age = 3 blocks).
  3. Transaction parsing determines the amount to unstake based on a formula,
    e.g: amount_to_unstake = total_staked / (per_block_multiplier * stake_age)

Note 1: The per_block_multiplier doesn’t necessarily need to be fixed or arbitrary, or could be changed later with on-chain governance.

Expected effect: Every unstake operation could work as a “claim”, providing solid context to state changes in the final database (blockchain), while leveraging transaction protection on each “claim”, as opposed to having multiple state changes triggered by a single past transaction.


Slow Release Mechanism
#2

I like this from a protocol design perspective. However, the whole point of this mechanism was market stability. In fact, I’m not sure I was even part of the discussion when designing this mechanism. It is important to point out that the solution you proposed does not result in the same state economically. To me, this seems more like an economic discussion. I suggest moving this post to the ‘economic’ category.


#3

Thinking about this, I’m doubting whether the drip mechanism would assist in market stability in the first place. An attacker who has participated in the protocol and then wishes to dump on the market will not be stopped by the drip scheme - They’ll wait until they’ve unstaked all their POKT.

I’m leaning towards a longer lockup time, between 90-180 days, and then allowing a participant to unstake. I believe this require a less complex implementation as well.


#4

Understood, I’ll be closing this topic so it becomes reference only and we can create a new post around bonding period economics.


#5