Retiring CPX Stake Pool - Operator since ITN

As this thread is getting a bit more attention, I realize there are other venues to discuss and contribute to this but here are a few thoughts on what I think isn’t necessarily great about the current status quo and ideas for possible ways to address.
Process of Staking:
The process of staking is too involved today and too hands on and too confusing for the uninitiated/uneducated. Some of my early posts on how this works are still very popular to this date which tells you the situation hasn’t gotten any better.

Staking isn’t like “investing” because you’re not really picking a stock, Crypto or ETF. Rather, this is analogous to putting your cash in a high yield savings account and earning “interest”. I don’t really want to call this interest because it’s not. You’re earning something for the benefit of helping secure the network so it’s not the same but in loose terms, it’s similar.

To that end, the process of researching and picking a pool to stake with is not as easy as earning “interest” on your cash, and in my opinion, it should be that easy if this is going to be reasonably used by everyone where everyone sees similar benefits. We can keep discussing the banking and savings account analogy and one might counter-argue that people actually shop for savings accounts with high yield but let’s face it, that’s rare, is a rare event even if you are someone that does that, and most people simply continue to bank with who they already bank with… movement isn’t frequent.

I understand the social aspect, it’s free marketing for Cardano… helps build hype… ingenious marketing idea to be honest. That was a great start. This needs to change.

What are some potential solutions (not discussing parameters or anything of the like here):
A lot of what @Terminada suggested already. In short order:

  • User experience: Staking should be a function of a user simply selecting that they want to stake. That’s it… period. No fuss about it. No pool selection, no monitoring for retirement, no monitoring for saturation of operator stake, no constant procrastination about which pool is best and no more wasted pool operator effort marketing their pools.
  • Rewards: Delegator rewards should be equal across the board. Doesn’t matter which pool your stake ends up landing on, your rewards should be equal to everyone else, every epoch. This makes it so the identity (or what PO’s identify with/support) doesn’t matter and allows for the first point. You stake, you get X% of your delegation based on how the entire network performed/how much total ADA is staked etc…
  • Pool operator rewards are then adjusted based on pool performance, location, uptime, maybe ISP etc… (obviously the more complex this is, the more tooling we’d need to check for each function). This serves what’s best for Cardano as a system and not what’s best for a pool operator. So if your costs as an operator are too high and you’re serving your pool in a congested geo-location/ISP etc… then you don’t get to arbitrarily say, my costs are high and as a result I increase my fees. That’s not what’s best for Cardano overall. I do realize this is a bit of a pipe dream. How do you have the network determine if you’re on physical hardware or not? How about the resiliency of your setup, do any of these even matter or are they all just a function of uptime/performance, operator locked stake etc. What about multi-pool operators… are we trying to be fair across individuals or fair across performance metrics? I would argue it’s the later… Question like that would need to be answered.

Anyway, I think a system that has what’s best for Cardano’s network in mind would actually better serve pool operators in the long run, Cardano as a network and its users.

But why then have stake delegation at all?

It only makes sense if the delegators decide on which pool they want to produce blocks, so that we potentially have delegators withdrawing from malicious pools.

That might not work completely as intended, delegators might also take other things into account that you deem not right – mission-driven pools, popularity, operators personally known to the delegator, multi-pool or not, … But it’s also a bit condescending to tell those delegators that they just shouldn’t consider that and it is (according to some opinions) objectively false to delegate in such a way.

Anyway, if that decision is removed completely and stake is just distributed algorithmically, it would be much more consistent to just remove stake delegation completely and decide block production directly by that algorithm without totally needlessly first distributing stake according to it.

1 Like

The way I view staking is that you are pointing your staking key at a particular pool. You have selected this pool after taking into account the following:

  1. You trust the pool will perform the protocol faithfully.
  2. You will receive a financial incentive proportional to the pool’s performance (after fees).
  3. You will be in partnership with the pool by helping it produce blocks, since the weight of stake you are pointing will aid the pool in producing more blocks.
  4. The rewards you receive are paid by the protocol directly (not by, or even via, the pool).

The act of staking is fundamental to the security of Ouroboros. It requires active decision making because the security is based upon the premise that stake can freely move in order to frustrate malicious intent.

I would also add that Cardano’s non-dependence on slashing is significantly achieved through relying upon the community to monitor pool behaviour, and other features, in order to communicate about bad or unhelpful performance. The social layer is therefore an important contributor to Cardano security, though it might be debatable just how effective this is currently working.

1 Like

Nobody said vegetables aren’t good… :man_shrugging:t2:
In fact, they’re really delicious next to my meat! :grinning:

Well… You know they are trying to kill you, right?

Dr. Anthony Chaffee - ‘Plants are trying to kill you!’

Dr. Paul Mason - ‘Logical Fallacies of a Vegan Diet’

All of these community/trust options are geared towards a community that is actively monitoring for bad behavior… this social aspect is far from being the “next financial operating system” and I would argue, gives into people biases… like “we don’t like this regime, country, or cause so we don’t delegate to their nodes”… far from pushing decentralization I’d say.
Most aforementioned “bad” behavior can and should be monitored by the protocol itself. As long as delegated stake is somewhat distributed, security of network is maintained and you can’t have attacks that compromise the majority of nodes.

Now, I’m not saying remove the ability to select a preferred pool. That can still be made available as an expert or advanced mode. I just don’t think it should ever be the default experience. Take for example how you can stake directly from a Ledger device. The default experience is that it automatically selects one of its pools. You would have to actively click search and look for the pool you want (i.e., some semblance of an advanced mode) if you wanted to change that. Instead of opting for that (i.e., my wallet, stake with my pool), why don’t we let the protocol distribute that delegation more reasonably.

This again, doesn’t pull the rug from under folks that want to actively participate in the community and the social aspects of this. (Yes I get it, blockchain in general is a bit of a social thing but we want this to grow outside of confines of folks on X, Discord and Telegram right?).

These concepts can still be applied for voting as well:

  • Care to issue your own vote and not delegate that responsibility? Great… vote then.
  • Want to delegate the responsibility of voting to a pool you trust? Great, then delegate to said pool
  • Want your vote to follow majority? Great, leave default params and your stake & vote would do so in this brave new world.
  • Want to abstain from voting entirely? Great, mark your stake as such.

I don’t think any of the aforementioned points by @Terminada or @HeptaSean preclude us from being able to provide an experience where selecting a pool is optional and provided as an advanced option for what is otherwise dealt with and monitored (not by a wallet) but rather by the protocol itself. The idea that the decision of selecting a stakepool is paramount and the only way to ensure security through social means I think is a faulty one. Again, the point isn’t to take that ability away from folks that want it… the idea is to add to that experience and make it better/easier and more equitable from a distribution perspective (or whatever other parameters the network deems important and necessary).

The points @Terminada makes about

pointing your staking key at a particular pool

Still apply if you chose to do so.

1 Like

That’s not how it works.

The reason for blockchains and especially for all those “proof of …” concepts existing is that it is a hard problem to have distributed consensus secured against all kinds of attacks.

If the majority of stake is automatically “somewhat distributed” your security falls back on the algorithm behind this automatism.

If the main component would be pledge, it could at least still be called “proof of stake” with some justification. But again: Why then even do the delegation? Why not determine block allocation by pledge directly and remove all that superfluous delegation?

A point in favour of this could be that the rewards will massively go down with the reserve emptying anyway. So, the staking rewards will become quite unimpressive to average users soon. Might be good to give them only to pool operators then.

Or what other way of automatically distributing the stake among the pools do you have in mind?

2 Likes