Proof-of-Deposit – initial proposal and request for feedback

I would expect MystenLabs or Kickstarter to share details if their contributions were going to impact token holders and validators so meaningfully. Who launches a dApp or improves the codebase and their respective compensation is not something that impacts protocol rewards directly. This proposal does impact protocol rewards directly.

Yes, I understand you have no legal concerns, but for the validators who would be offering these rewards on deposits, I’m not convinced that their respective jurisdictions would approve. I brought the subject up because I think it needs to be discussed so as to not put any validators in a tough spot. I’m not an expert here and would love any insights.

Hi @Andrew, rest assured that before this goes to a formal governance proposal, details of simulation results / economic analysis, license terms, audits, non-confidential legal advice, and more will be made available. We are currently collaborating with cLabs and others to push this forward.

It is good to raise non-technical concerns as we may have missed something, but again re-iterate that the key purpose of this initial post is get our proposal’s technical merits thoroughly critiqued.

With all this said, if you’ve had a chance to review @Pinotio.com’s comments and re-read the proposal, we would be interested to hear if you’ve had any further thoughts on our approach.

1 Like

Having the patents in play is a red flag for me, the way CELO would move further away from being open source.

This whole idea, PoD, seems way over complicated and fraught with risk.

The two biggest concerns I have are 1) that the value hoped for is only added if there is growth and 2) it adds risks, rather than adding stability, to the whole Celo ecosystem system.

Assuming that people will act one way or another to make Proof of Deposit work is IMO, just nuts.

This is especially risky given no modeling has been done, at least none that I’ve seen, based on historical data with all the assumptions laid out for all to see and judge. Maybe an audit of sorts by outside experts should be considered.

There are other ways to create a returns that could be paid out to the stable coin holders as interest. Ways that would contribute to the stability, profitability, and mission of the protocol. Proof of Deposit isn’t the only choice.

This is a little red-flaggy for me too. Software patents in this ecosystem are completely antithetical to the spirit of the mission, both in blockchain in general, and possibly Celo even more pointedly. I mean, is the code even going to be auditable, verified on-chain, upgradeable, remixable, replicable, and testable by the community? This may seem trivial or concern-trolling but the power of the open-source movement really lives in these tenets.

That said, I think the authors of PoD have acted in good faith and are genuinely excited about the proposal, but the amount of personal outreach and championing this discussion thread did have me scratching my head a little. To be maximally cynical, a potential patent application perhaps explains the enthusiasm here.

To be less cynical, I’m always a proponent of experimentation and no ideas are ever off the table so I’ll continue to follow the discussion on its own merits.

My main question follows @markbarendt 's concerns about complexity. Why are we adding market dynamics to the role of a validator individually now? We are infrastructure providers, not economists, and this just adds another variable to control for which I’m really not looking forward to.

Why can’t we just have the percentages paid to cStable holders as a governable parameter applied equally across all validators? If PoD works as designed, and the price of CELO starts rising, all CELO holders, including validators, will be thrilled and are incentivised to continue voting to keep the % rate above zero. If PoD has no effect or even deleterious ones, then CELO governance voters can vote it to 0%, as they should if the goals of the proposal dynamics don’t eventuate.

If this is nothing to do with your election standing, uptime or slashing, why are validators involved at all? Can’t we just make a protocol-level change that is something like an auto-Moola where you just continuously earn interest on any cStables you have at rates defined by the community? I understand you can’t get something from nothing and that locked and voted CELO rewards would be decreasing to pay for this.

Additionally, how do we prevent a “race to the bottom” situation where large, well-funded, enterprise staking infrastructure providers can simply out-fund the cStable reward rate offered by smaller independents? Many of these groups are chronically over-voted and can easily convert their over-locked CELO into cStables without changing their elected seats, deposit on themselves in equal ratios, while independents are hobbled by some random cREAL allocation of $1000 and no spare cash or CELO to convert into a meaningful % of cStables.

Again I echo the complexity issue here, even if I’m advertising 100% reward rate on whatever cStable I’m low in %, no one is going to hunt out this information and switch their stable “deposited” to a new validator. It would be great if this is done automatically for depositors by some neutral process which finds the best configuration for every deposit and allocates them automatically.

@Pinotio.com am I understanding your summary correctly? That even though your election standing wont change, your average remuneraiton of 65k cUSD (+ transaction fees, + locked CELO rewards) annually can now theoretically approach $0 if your smallest % of all locked cStables is near zero? Would the Foundation signal any interest in co-depositing cStables to those validator groups in equal ratios that they are currently supporting with locked and voted CELO?

I feel I’m completely misunderstanding the min() thing here…

2 Likes

Here’s a link to the alternative idea. On mission revenue & rewards idea

@Thylacine , lots of points here, good to see the engagement and I’ll let the authors/proposers respond. You’ll also find some answers above in the thread on the issues with fixing an interest rate or voting on an interest rate. There’s also a note on how wallets would automatically assign deposits to validators paying market interest rates.

Just to the question you asked me on whether validator rewards go to zero. Yes, in this system, if a validator decides to pay below market interest rates to incentivise cStable deposits and locking of Celo with them, they would get likely get no deposits from the community and zero epoch rewards. The whole idea is that validators are incentivised to pay a market defined interest rate (the market being the market of validators) on each of the cStables and on Celo. Gross profits of the validators will then be epoch rewards earned (which would be their split of what is now validator epoch rewards and all locked Celo rewards) minus interest paid out. This gross profit would reach a market equilibrium that presumably covers costs and profits of validators.

Just as a last note. I myself see uncertainties with Proof of Deposit. In some ways it adds complexity, although it does make validator compensation market-determined (which is something we need to think about to get the security-cost equation for the network right). I emphasise that this proposal is early stage, we can’t expect people/groups to take on big work for free (it’s well and good saying the spirit here is open source etc., and btw, I think all of these contracts are planned as open source and audited, even if there is some payment/royalty/license fee), but if projects like this do work, they create immense value for CELO owners), and if we want make things happen on Celo, I recommend we give frank feedback (as we are doing) while also keeping an open mind on these early stage projects because we need to see more, not less, of them.

And to add to that, I understand you’re helping out with Celo Community Fund 2 @Thylacine and I think many Celo builders will greatly appreciate that. So thanks!

Cheers!

2 Likes

Hi @Thylacine , thanks for your response. I will address each of your points in turn (for ones which I feel need more clarification ontop of @Pinotio.com’s answer)

Why patents?

First and foremost is the matter of our patent application which is an understandable concern as patent rights can be abused. We are well aware of the perception around patents, and want to provide insight into why we went down this path:

  1. Proof-of-Deposit is set apart from all other DeFi by being a protocol level innovation. As such, we are unable to simply pay ourselves by printing off a bunch of DeFi tokens. At the same time, this is why the potential uplift to CELO is so high as PoD is driving all the value back to where it matters most.

  2. Our research startup, Cambridge Cryptographic, has currently two (and likely more in the future) projects built on our patent. Proof-of-Deposit is one of them. As a business where our product is our research (and with no coin) our avenues to participate in the huge benefits to our clients are very limited, if we do not protect our intellectual property.

  3. The plan has always been that our PoD source code will be open with a license to all entities in the Celo ecosystem. See our above reply.

Why min(…), rather than a governable parameter?

@Pinotio.com has already addressed this, but to copy over additional insight from @roman and @Nadiem: the current system has a dynamic where CELO stakers have complete control over Celo’s future, and cStable users, despite being the lifeblood of Celo, have no direct say. Whilst CELO stakers will likely want to be aligned with the interests of cStable users, there is currently nothing preventing CELO stakers from outright ignoring cStable users.

PoD is, in a way, a step towards achieving a balanced representation as cStable users can now influence the bottomline of CELO stakers. This balance is particularly important in the case of % of rewards shared, as simply leaving it to a vote by CELO stakers has asymmetric pressure (how long will CELO stakers agree to share their APY?).

There has been wider discussion about the possibility of extending PoD to give cStable users representation in voting, but we consider this outside the scope of our current proposal.

Preventing “race to the bottom”

You raise a valid concern which is important to address in the initial activation stages. We recommend the following procedure for bringing a new cStable into PoD:

  1. The cStable has to have achieved a sufficient level of liquidity

  2. The cStable is pseudo-activated in PoD. Validators will advertise their % of rewards shared, cStable deposits can be associated with validators, but cStable deposits do not affect revenue for a validator and do not earn any rewards.

  3. After a time period to allow for cStable deposit equilbrium to be achieved, the cStable is activated in PoD.

I believe the other points have been sufficiently covered by @Pinotio.com

2 Likes

The incentive for stakers to pay attention to cStable holders, akin to the owners of any other for profit enterprise, is that they need customers to use their product: in this case the Celo ecosystem.

Just adding I few of the thoughts I have on this. It is much more extensive and I plan to open a separate forum thread.

I have been thinking about this for some time. It is a complex topic and involves questions about what is Celo and what is the meaning of cStables within the protocol, do we really want a traditional equity shareholder rewards scheme, is the claim behind a cStable sufficiently represented with regard to responsibilities, rights and rewards…
Even if we retain the Celo stakeholder scheme, a cStable is a claim on the corresponding value in the reserve. As such it represents a certain amount of Celo. Why does this portion not give voting power to cStable holders?

One interpretation could be that a cStable holder temporarily lends voting power to the reserve. But then should a cStable buyer not receive the interest that is paid to Celo holders? If not, should a cStable buyer not receive a cStable upfront pricing in expected interest on the Celo amount that the cStable buyer is borrowing?

1 Like

In the light of this, what I really like about PoD is the focus towards cStable holders by proposing a redistribution of staking rewards. The current design follows a classical equity shareholder reward scheme, whereas PoD implements a user and shareholder rewards scheme.

2 Likes

Conceptually, I consider PoD to be a non-sticky liquidity scheme as it does not create a social or economic glue to stick to cStables. This would require essential, life maintaining economic cashflows. But compared to popular non-sticky schemes (starting with direct injection like airdrops, followed by indirect schemes like yield farming, …) to me it seems to have higher stickiness.

2 Likes

Apologies if I’m not understanding it, but PoD feels like it’s simply voting by any other name. If I am elected by my locked and voted CELO today, but due to my under-funded cStables ratio, my total validator rewards approach $0 after PoD is implemented, how is this different than being voted out?

People are economically rational and will simply switch off their machines once their reward approaches their operating costs.

This pool of rewards (i - iii above) would be distributed among validators proportional to their min (% of Celo , % of cUSD, % of cEUR …). Here:

  • % Celo is how much locked Celo they have voting for them as a % of total locked;
  • % cUSD is how much cUSD they have assigned to them as a % of total deposited;
  • % cEUR is how much cEUR they have assigned to them as a % of total deposited.
  • etc. for cREAL and other cStables.

Where i) to iii) are:

  1. 60k-70k cUSD per validator per year
  2. Transaction fees if you propose and mine a block
  3. CELO rewards for locking and voting for a validator group (approx 5-6% a year)

Why would anyone operate more than one validator in a group if your reward has nothing to do with how many validators you operate? The 65-70k cUSD is meant to offset infrastructure, resourcing, monitoring, slashing risk, being locked and long on a volatile asset, and so on.

If I’m Bison Trails currently running 5x validators with 16M CELO votes, why not just switch off all but one, release some of the 16M CELO they have voting on themselves which is possibly mostly self-owned (they only need 1.7M CELO votes to operate 1 validator), pump all that excess CELO into cStables in equal ratios and try to capture like 30% of the net cStables in existence which are in PoD and thus 30% rather than the 5/110 ~= 4.5% of net rewards?

Don’t even share any rewards with anyone, set your reward share to 0% and create like $100M USD of cStables and lock them on yourself.

Unless we remove the cUSD 70k validator rewards from the equation and only distribute the locked CELO rewards to PoD depositors, I can’t see how this doesn’t incentivise validators to drop out of operating infrastructure because they can no longer guarantee they at least get 1/110 of the annual cUSD rewards.

Getting 1/110th of the cUSD is part of the design that ensures that a validator group only need to overcome the minimum election CELO to be considered the same as any other elected group, consensus-reward wise. The other reward you get for locking and voting CELO is completely egalitarian currently also - it applies equally to everyone regardless of the size of their wallet and role in the ecosystem (assuming you vote for a high-performing validator group).

Of course, big locked groups unlocking CELO will decrease the minimum electable requirement CELO, but if the CELO price pumps to say $10 with all this new appetite for self-deposited cStables, it wont increase the diversity of the elected set anyway because you still need at least 20000 CELO, now $200k USD @ $10/CELO, to start (even a Foundation-supported) validator group.

How do we know this doesn’t just hasten the DPoS end-game where 22 well-funded maxxed-out validator groups / corporations control the network? I’m worried this PoD proposal simply incentivises (validators) having money, or being able to attract more money. Isn’t this replicating some of the perverse incentives that Celo as a movement is trying to change?

As Sep has spoken about at length, we should be trying to base value (socialising the protocol rewards is a form of value) on things we want to see in the world. Could we base PoD on carbon credits in addition to or instead of cash? Can you increase your PoD ratio if you donate a portion of your rewards to Impact Market or other aligned initiatives?

Playing a little devil’s advocate here of course, I don’t want to stifle innovation but I really want to avoid an EOS-like endgame.

3 Likes

I think you have a pretty good grasp of it (although it is not a “vote” that has weight in governance, but rather a “vote” by depositors deciding which validator to associate their money with). This is what makes it a market mechanism.

Which exact part of the block rewards should be shared is really just a minor detail. At its core, PoD is a mechanism which allows a market to dynamically adjust how block rewards are distributed to strike an efficient balance between incentive to adopt cStables and incentive to stake CELO to contribute to security.

That is to say, we see no issues with the 65k per validator rewards being excluded from PoD’s redistribution (although the 65k should eventually be phased out).

All your other points are circling around the same concern of centralisation, so I will address them in one go.

What does it mean for one system to be more decentralised than another? According to Frederick Hayek’s The use of knowledge in society which originally introduced the term, decentralisation is a degree to which participants can find a competitive advantage with their “knowledge of time and place”.

PoD will increase Celo’s chances of staying decentralised in the long-term as PoD makes a validator’s bottom line dependent on them attracting cStables (i.e money, rather than equity-like volatile assets). This is key because understanding the flows of money in communities and how to offer services to attract it is a skilled art, requiring specialised knowledge that changes from community to community and across time.

Does this mean that validators will not merely be infrastructure providers in the long-term, and will need to differentiate themselves by being more integrated into communities? Yes. And that is a great thing. Because unlike the current system where your influence is basically set in stone by the size of your wallet and how early you bought your CELO, with PoD you have a much better chance of changing the status quo as you can be earning a higher rate of rewards than even the biggest VCs with your specialised knowledge of local communities.

1 Like

What’s to prevent this from happening:

  1. I make 20 validator groups
  2. I give away 100% of rewards to stakers and eat the infra costs myself
  3. I control the entire network by virtue of owning all validators
  4. I implement systematic sandwich attacks and MEV
  5. I rebate some of the MEV to stakers to further monopolize the network, so stakers get >100% of theoretical rewards without MEV
1 Like

Because if you give 100% to CELO stakers and 0% to cStables, no cStable depositors will associate their deposit with you.

As your rewards is determined by min(%CELO,%cUSD,…), even though you are advertising a 100% rate to stakers, the actual amount of rewards you have to share with them is zero (and they will go vote for someone else)

1 Like

So I give a higher than market return to both celo and cUSD stakers.

My point still stands that if validators control the reward rate, there will be a competition to drive up the rates and someone will start extracting and rebating MEV

1 Like

You don’t want to make validator selection a contest of interest rates.

Once you make this into a interest rate game, the smartest player will win and dominate the space.

This is what happens when it’s a “competitive market”, the most competitive player wins the pie, and there’s very few rules in place to prevent them from MEV

1 Like

A validator won’t be able to offer higher than market rate on both, only one (rates have to add up to 100%).

The only way they can offer above market rate on both is using other methods outside of PoD. This is no different from the current system?

If you set up 20 validator groups now, and bribe stakers sufficiently, you will be executing the exact same attack?

Your post didn’t say it has to sum to 100%, just that it was using min() of rates.