dusk-network / rusk

Dusk's Smart Contract Platform
Mozilla Public License 2.0
132 stars 57 forks source link

Slashing/Penalization & potential tax implications #1945

Open marcel-duks opened 2 weeks ago

marcel-duks commented 2 weeks ago

Summary

The latest description for some of the new soft-slashing mechanisms reads as follows: "Penalization: reduces a portion of the misbehaving Provisioner’s stake, moving the portion to the claimable rewards, in order to not lose DUSK."

In order to avoid confusion and potentially unwarranted claims with/from tax authorities, it would probably be best to either separate the slashed tokens from the claimable rewards or to at least add some sort of clear differentiation (through a tag or some metadata), so that the slashed tokens cannot be confused for actual rewards, which in many jurisdictions would have to be taxed once they are claimed.

Separation would be preferable so that users can potentially unstake, claim the slashed tokens & restake independently from claiming the rewards.

Possible Solution (optional)

Separate slashed funds from claimable rewards (preferred option) or add some sort of metadata to be able to clearly differentiate between actual rewards and slashed tokens.

fed-franz commented 1 week ago

Thanks for pointing this out. We'll have a look into this and implement a solution if needed.

Keep in mind that it's always possible to distinguish actual rewards from the slashed amount by looking at the blockchain (where all slashes and rewards are recorded).

marcel-duks commented 1 week ago

Thanks for the quick reply :) I'm aware that it's possible to distinguish, but a lot of tax authorities are already hard to talk in relatively easy and transparent cases. With the added privacy aspect of dusk and the added complexity, I am just afraid of unnecessary discussions.

(Also putting it in a separate pool that might either be automatically reclaimed when unstaking or through an additional contract call would not force users to claim rewards when they get slashed and thus trigger a taxable event in many jurisdictions).

If it adds a lot of complexity/overhead on your side, I understand that it might not necessarily be worth it - in case of a relatively simple solution it would be very much welcomed :D

fed-franz commented 1 week ago

Leaving a note for implementation. If we go for having a separate field for "inactive stake", we might want to not allow withdrawing from it (like for rewards). Instead, the provisioner should be able to recover those funds only by unstaking.