Pool structure - Owner - Operator - Rewards

Playing with pool creation

I wanted initially to create a pool with 2 owners, 1 rewards address and somehow I was certain I could also define a pool operator address in the certificate of the pool.

My idea was that Cost and Margin would automatically go to the pool operator address, the rewards of the owners being collected in the reward address. Of course, only the pool operator knows the credentials of the rewards address and that keeps the requirement for manual payouts.

Unfortunately, the pool operator address was nowhere to be found in the cli when I was in the middle of the procedure. I think this could be a enhancement.

What do you think ? Useless ?

1 Like

Can you provide the used command sequence?

Hey @werkof,

Sure, but first some context …
I have created initially 4 payments key pairs, and 4 stake keys pairs that would match them.
For example :

own1_pay.vkey/skey
own1_stake.vkey/skey

And used the stake key to create an address with staking capability after proper registration. In the example, I would call it just own1.

I repeated that process for own2, rew (reward) and pop (pool op). All four registered on chain for staking rights etc …

When I finally hit my pool cert creation :

cardano-cli shelley stake-pool registration-certificate --cold-verification-key-file node.vkey --vrf-verification-key-file vrf.vkey --pool-pledge 1000000000000 --pool-cost 2000000000 --pool-margin 0.10 --pool-reward-account-verification-key-file rew_stake.vkey --pool-owner-stake-verification-key-file own1_stake.vkey --pool-owner-stake-verification-key-file own2_stake.vkey --out-file nodecert

As you can see, I made use of the owners 1 and 2, as well as of my rewards address. But somehow I was certain there was a --pool-operator-stake-verification-key-file flag I could use together with my pop_stake.vkey. But nope, the CLI does not provide that option.

This is a minor thing really, as rew will receive all rewards, but I thought… would be pretty neat to be able to separate pool operation from owner rewards like that, at the certificate creation.

I might be asking too much :smiley:

Edit/Second thougth : Ok, that was a pretty dumb question after all. If that would be the case, anyone would start bargaining to pledge instead of delegate, and the poor pool operator would accept that Faustian contract. That would undermine the trust assumption that must exist between owners and operator which is sealed by the uniqueness of the reward address. My bad.

1 Like

Right. And the design specs even mention it this way. Rewards for all go to the same address, because there must be some fundamental form of trust between them.

I was more interested in a form of simplicity for rewards math (note that in my example, the operator should keep to himself the credentials of the owners rewards accounts). But the risk is too high to leverage that feature and twist the arm of operators into providing such addresses credentials.