There's a Version of Staking Where You're Not the One Staking.
I often figured staking was something only a wallet could do. connect, delegate, wait. that's the model everywhere i've used before.
But when I read @Dusk_Foundation stake abstraction section, i assumed it was just delegation with a new name. took me a couple passes through the docs before i realized that's not it.
Turns out it comes down to how dusk treats contracts they can hold and manage state like a wallet does, not just run logic. So a contract can stake, not just a wallet.
Here's the sequence. the contract doesn't call the staking function directly. funds go into the contract first, then it makes a contract-to-contract transfer into the stake contract. unstaking and rewards work back through callbacks. minimum's still 1,000 DUSK, same activation rules as normal.
What got me "abstraction" here doesn't mean less complexity, it just moves who's handling it. a wallet staking is simple because a person decides. a contract staking means the code has to get every decision right on its own. one bad callback and rewards get stuck.
Still I'm not sure where the line sits once something breaks. contract owns the workflow, but the protocol still owns consensus eligibility. so if a pooled staking contract messes up, is that a contract bug or a protocol risk? haven't found that answered yet.
@Dusk_Foundation $DUSK #dusk
I often figured staking was something only a wallet could do. connect, delegate, wait. that's the model everywhere i've used before.
But when I read @Dusk_Foundation stake abstraction section, i assumed it was just delegation with a new name. took me a couple passes through the docs before i realized that's not it.
Turns out it comes down to how dusk treats contracts they can hold and manage state like a wallet does, not just run logic. So a contract can stake, not just a wallet.
Here's the sequence. the contract doesn't call the staking function directly. funds go into the contract first, then it makes a contract-to-contract transfer into the stake contract. unstaking and rewards work back through callbacks. minimum's still 1,000 DUSK, same activation rules as normal.
What got me "abstraction" here doesn't mean less complexity, it just moves who's handling it. a wallet staking is simple because a person decides. a contract staking means the code has to get every decision right on its own. one bad callback and rewards get stuck.
Still I'm not sure where the line sits once something breaks. contract owns the workflow, but the protocol still owns consensus eligibility. so if a pooled staking contract messes up, is that a contract bug or a protocol risk? haven't found that answered yet.
@Dusk_Foundation $DUSK #dusk