Noether as a dynamically adjusting, permissionless governance incentivization system

Quick intro to Noether

Noether is a proof-of-stake (PoS) system comprised of three main components: staking smart contracts, a selection algorithm, and node software.

Staking Smart Contract: This component handles the deposit and withdrawal mechanisms for CTSI.

Selection Algorithm: The selection algorithm efficiently and randomly selects a staker based on their staked amount. Importantly, it operates in a manner that reduces fees and race conditions on the Ethereum network. The probability of a user being selected is proportional to the number of tokens they have staked. Selection happens on average every t seconds, where t is the window of time chosen during deployment.

Noether Node: The Noether Node (not to be confused with the Cartesi Node), is an off-chain software component that continuously monitors the blockchain. When it detects that the user running it has been selected by the algorithm, it automatically takes the appropriate actions (whichever they are).

Noether also features a Delegated Staking implementation. In this system, users can delegate their stake to another agent (typically for a fee). The agent can then use the delegated tokens to increase their chances of being selected in the PoS system.

For further details on the selection algorithm/Noether, please refer to this link.

The idea of this proposal is exploring Noether as a partial solution for decentralized governance incentivization. However, let’s be clear: this proposal is still in the exploratory phase. While I believe there is merit in considering Noether for this purpose, I am also keenly aware of the complexities and nuances that come with such a system. The idea of publicizing this is to invite feedback and collaboration from the community, so we delve deeper into the challenge of assessing its feasibility together.

Decentralized Governance: Challenges, Representative Democracy, and Incentive Alignment

Decentralized governance is a fascinating field with its fair share of challenges. The essence of coordinating humans isn’t really a solved problem (or even solvable?). I don’t plan on enumerating all the challenges decentralized governance faces, there are far too many. Thankfully, there is a plethora of cool experiments going on and some brilliant minds working on it. There’s at least a little hope on the horizon.

I hope, in this proposal, to entertain the thought of fixing one of these problems using the infrastructure already available in our ecosystem.

Participation Hurdles in Decentralized Governance Systems:

Participating in the governance of decentralized projects can be daunting. Many protocols, including Cartesi, are intricate and require specialized knowledge spanning multiple domains. At the same time, the majority of users possess only a minuscule fraction of the total voting power. Given the steep learning curve and their negligible weight in decisions, it’s unsurprising that many would opt for apathy over participation. For this, the fairly well accepted solution: representative democracy.

Rather than each individual casting their vote on every issue, they delegate their voting power to chosen representatives. These delegates become the voice of their delegators. By narrowing down the active participants, educational efforts and debates can be more focused and efficient.

A quick reminder on the benefits of representative democracy:

  • Expertise, not populism: Elected representatives can dedicate themselves to develop the skills and expertise necessary to make informed decisions. They’re expected to be way more knowledgeable and tuned in than the average user.

  • Attention Economics: Not everyone has the time or inclination to immerse themselves in politics. Delegated voting relieves the normal users of constant decision-making. They simply choose who they trust to make those decisions on their behalf.

  • No idea how to name this one: A buffer between direct decision-making and citizens leads to more balanced outcomes. Decisions tend to be more geared towards the collective good, rather than subjective desires. It is said to mitigate the risks of a tyranny of the majority, but that seems to me more like a feature of a healthy democracy than a voting system hehe.

A side-note: haters of representative democracy argue it can distance everyday people from governance, making them nothing but periodic apathetic voters. Here, in the blockchain world, we have a unique advantage (yay): if a delegate doesn’t act in your interest, you’re not bound until the next election cycle to effect a change. You can promptly shit-talk the delegate on twitter and undelegate your tokens, ensuring immediate accountability.

The remaining problem:

Delegates, in many protocols, aren’t financially compensated for their contributions. Relying on altruistic governance isn’t scalable or sustainable. As the complexity and stakes of decisions grow, the effort necessary to participate increases. For any decent governance system, we need dedicated, skilled individuals participating. Their commitment ought to be incentivized – and the straightforward way to achieve this is to ensure they’re fairly compensated for their pivotal role.

The Experimental Proposal:

(aka adding it all together)

Noether enables token delegation and proportionally rewards delegates based on the tokens entrusted to them. Which is another way of saying that it compensates representatives in alignment with the trust they’ve garnered within the community. This dynamic seems like a good seed for evolving into a decentralized representative democracy where financial compensation correlates directly with the number of people one represents.

Noether’s protocol would function in a permissionless way. It recalibrates compensation in real-time, reflecting the stakers’ decisions. If a delegate’s actions are not aligned with the community’s expectations, stakes would automatically get redistributed, which effectively results in a pay cut for the delegate.

This brings us to the heart of the proposal: using Noether as a dynamic, permissionless governance incentivization mechanism that auto-adjusts delegate compensation based on voter support.

Key Features:

  • Shared Rewards: Stakers benefit from the rewards earned through their delegate’s activity. This encourages stakers to actively support and promote the representative they trust.
  • Dynamic Compensation: Payment is not only permissionless but also adaptable, adjusting in real-time to the delegate’s activity.
  • Staking Timelines: There’s a defined period for withdrawing staked tokens. This ensures both stakers and delegates are incentivized to champion the project’s best interests. A sudden purchase of tokens for malevolent purposes would devalue before any withdrawal, safeguarding the system’s integrity.

A taste of the open issues:

  • Distribution Ratio: Currently, node runners (delegates) decide the reward ratio between themselves and their stakers. This flexibility might skew incentives, with stakers possibly choosing delegates for short-term financial gains rather than sound decision-making. It’s basically a vote-buying mechanism baked in the protocol. Should this ratio be standardized to maintain balanced incentives?
  • Proof of Voting: Should delegates offer tangible on-chain evidence of their voting? Or, should compensation continue irrespective of visible “activity”, trusting stakers to observe and shift their votes if needed? Whatever the solution, any frontend should prioritize listings based on delegates actual activity.
  • Payment source: Staking rewards are funded from the original “mine reserve,” of which around 60% currently remains… When that money is over, how do we finance this? Do we turn to inflation to keep the wheels turning?
  • Privacy concerns: how do we make delegation private? Can we add liquid delegating too? Etc etc

—---------

So, while this concept is still immature, it is a possibility for a bold experiment that can play a relevant part in our decentralized governance. What do you all think? I’m sharing this with the community to get feedback/discussion going. I’m sure there are more challenges and considerations yet to surface, and a collective brainstorm is the way forward.

Hope you enjoyed the read! And please offer unfiltered feedback, I’m not emotionally tied to this idea :).

3 Likes

Very interesting! I’m thinking here about staker motivation and payment sources.

Without considering other drivers of CTSI value, if rewards are paid via inflation then token value would derive from how useful and important are Cartesi DApps, which would then gauge how relevant it is to have power to influence decisions about them.

On the other hand, if rewards come more directly from fees derived from Cartesi DApp activity, then it would strongly stimulate decisions that increase that activity, and hence the rewards.

While the second approach looks much stronger to me, I’m wondering if it is the best one. It would incentivize maximizing network activity, while the other one would maybe incentivize maximizing relevance.

3 Likes

I love the way you’ve framed this! Maximizing activity vs. relevance is indeed a critical distinction.

Your perspective resonates with me. Focusing on relevance seems to be a more sustainable approach, as it could organically lead to genuine activity in the long run.

To draw an analogy, I like to consider how involvement in the governance of a major open-source software project like Ubuntu can have profound economic implications. For entities that rely on Ubuntu, influencing its development can directly affect their operational effectiveness.

Instead of merely driving up the volume of interactions, the emphasis is on ensuring that the software remains relevant. By being part of the decision-making process, stakeholders not only influence the technological direction but also play a role in its ethical and innovative growth. Similarly, for Cartesi, decisions that enhance the relevance of dapps might be more beneficial in the longer term than those solely aiming to boost activity.

EDIT:
This discussion is related to the “macroeconomy” paper that @pedroargento wrote a while ago! There is a world that mixes both solutions. Actually, @erick.demoura was a visionary and had suggested that I linked that paper in the main proposal, but I decided against it cause I thought they were not that related. But here it goes, for the interested: https://cartesi.io/CTSI_Macroeconomy.pdf

3 Likes

Super cool idea!

I think the proposal tackles some very real problems in governance that are common across many decentralized ecosystems. It also raises some very interesting questions that I’d love to see a more robust discussion on.

Many projects already use a delegated voting system to lessen the governance burden on token holders who don’t have the time, inclination, or expertise to keep up with regular governance activities. Delegated voting in general, as proposed here, is a system I’d like to eventually see installed for the Cartesi ecosystem, regardless of whether Noether is involved.

The truly unique part of this proposal, to me, is in the way it seeks to tackle delegate compensation. In real-world governance systems, compensating politicians for their service is commonplace. But in decentralized blockchain ecosystems, it seems that compensating delegates for their governance services is a concept that has not quite taken hold.

I think that compensating delegates who are actively engaged can make a lot of sense. The main question I have is with respect to the potential effects that dynamic compensation might have on delegate performance.

Using Noether as a system for delegate compensation would, by design, make a delegate’s salary directly proportional to the size of the delegate’s voter constituency, which would fluctuate in near real-time based on staking activity.

Would the possibility of suffering an immediate decrease in compensation (through a reduction in delegated tokens) disincentivize delegates from making decisions that are unpopular in the short-term, even if those decisions are in the best long-term interests of the ecosystem?

I can’t help but wonder whether the answer is somehow linked to @milton-cartesi 's distinction regarding what the system is designed to maximize (see Milton’s comment re activity vs. relevance). If the system is designed to maximize activity, then dynamically adjusted compensation may very well incentivize short-term tunnel vision.

But if the system is designed to maximize relevance, then perhaps dynamically adjusted compensation actually strengthens delegate performance. In that case, delegates are perhaps more incentivized to vote their values and vision for a healthy project, regardless of the time horizon (see Felipe’s comment on the activity vs. relevance topic). If they lose delegated votes on the basis of those decisions, that may very well be the exact type of dynamic compensation adjustment a healthy system would want to encourage.

All of this is just food for thought. No idea how it would prove out in practice. But it’s a topic I’d love to generate some further discourse on!

3 Likes

Its a very interesting proposal! I really enjoyed, specially with the dynamic alignment of interest which keeps the delegated member really concerned if the job is done properly under the risk of a “reward slash” mechanism.

Although you mentioned the concept is really on early days I would highlight the following points as topics to think through:

  • Currently users delegate CTSI to PoS node operators, which are not necessarily protocol experts or the best representatives they would wish to lead discussions about Governance. That will add further challenges on how to reward properly both Node operators and Governance delegators

  • I see also an interesting challenging how to avoid delegators suffering “reward slash attack” on their payments based on users misbehavior voting that delegates dont deliver according to pre-defined standards when they actually did

  • Further incentives alignment: Also to foster community participation an interesting mechanism would be getting extra rewards, to be shared among users, whenever a delegate is outperforming. That would be an extra incentives to more people join and delegate mindfully their votes toward good representatives

1 Like

I find @felipeargento’s proposal really interesting and worth considering!

Here are my 2c on the ongoing discussions:

  • Maximizing Activity vs. Relevance: Prioritizing relevance is crucial for the long-term success of the project. I agree with Milton that using inflation as a reward mechanism inherently emphasizes relevance. This approach has the technical advantage of separating governance decisions based on Noether from intricate discussions about fees that Noether node operators might collect from Cartesi DApps.
  • Distribution Ratio: Standardizing the ratio seems unavoidable if we want to prevent the vote-buying issue you’ve outlined.
  • Proof of Voting: There are many questions that can only be answered by making the experiment live. With that in mind, focusing on design simplicity would be a good guiding principle. In the context of this topic, forgoing on-chain evidence to observe its impact might be a valuable social experimentation in itself.
  • Payment Source: Practically speaking, the current reward distribution from the “mine reserve” already imposes inflation, as there is a gradual increase of the circulating supply of CTSI over time. To sustain incentives within the proposed governance system, it will be necessary to continue minting CTSI once the “mine reserve” is exhausted. This could be achieved either through the “macroeconomy system” previously mentioned or another proposal, or alternatively, via a simpler fixed rate established through voting.

It will be great to get the input from other collaborators and node runners on this topic.

1 Like

I also find the proposal very interesting and would like to see this potentially moving forward!

I am aligned with relevance being more important for the long term and especially for how governance can unfold with this solution.

I also believe we would have to standardize the distribution ratio to make this viable. Practically speaking, this would require everyone to unstake and restake, which in itself presents an opportunity for new delegates to enter the system.

It’s unclear to me if the macroeconomy is the best fit for the experiment, however given that there remains over 3 years left in the initial mine reserve, I believe the community could come to a conclusion on the best way forward for the payment source once it is live.

Looking forward to seeing further comments and especially current node runners thoughts on this as well!

Rather than giving away the voting rights to the northern node , if the users have a choice to retain their voting rights - it’d be nice. Maybe , by default, the node would get the voting rights. If the users doesn’t mind that or knows he won’t be voting much, he can leave it as it is. But… If they want to have their own say , they can OPT OUT as well.

:upside_down_face:

Another interesting way would be to separate stakes & votes. Give 1 vote power for every cartesi staked. By default , the node on which they were staked is assigned with the vote power But… If the staker wants , he can also withdraw those & split them between different nodes & keep some for himself as well ?

1 Like

This discussion is very interesting, and it’s one of the few topic threads I’ve seen that addresses improvements in community governance voting.

In most blockchain projects, node operators represent the voting intentions of the delegators, and they vote on behalf of the delegators when new proposals arise. Some blockchain projects also penalize entities or representatives who vote contrary to the final outcome, which brings new challenges, as people may follow the official stance when voting.

I strongly endorse providing economic incentives to voters. In fact, as seen in the Cosmos community, there is a strong emphasis on governance voting, which serves as a testament to the vitality of the community. Perhaps we can incentivize both voters (the actual participants in voting) and delegators (those who delegate their voting power to voters) while not punishing those who are not interested in governance.

Hi everyone! Thank you for starting this discussion, this is a very interesting topic! :slightly_smiling_face:

As node runners ourselves, and like others have said before, we also don’t feel very legitimate in voting on decisions regarding the governance of the project as a whole.

We consider our technical knowledge a great asset in decentralizing the network. However, our expertise is not diverse enough to feel confident voting on all topics. We are very interested in voting on some (technical) topics, but we feel like node runners and voting representatives should be two well-defined and separate entities. In our opinion, the delegation voting could be built on top of Noether but as a distinct layer.

To make an analogy, we see node runners as tax collectors; they should be remunerated as it is their job to collect the resources that keep the system running, and the more performant they are, the better compensated they should be. Meanwhile, members of parliament (representatives) designated by the people (stakers) should have voting power and also be remunerated, proving they comply with their responsibilities (voting).

We agree that there is a centralization issue with the current staking system. To remedy this, in the short term, we’re thinking about two solutions.

  1. Let’s add a minimum fee imprited at the core of the protocol and managed by the DAO. This minimum fee should be collected even when the node runner configures an even lower fee.
  2. On the front-end, if possible, display the performance of a node. How many times did a node miss their chance to produce a block?

This way, stakers would have the option to choose the best-producing nodes (versus the nodes with the lowest fees), and fees would not reach unsustainably low levels (like 0%, which is only doable by actors with a significant initial capital), thus encouraging new participants to run nodes.

In the mid-term, and to encourage governance participation, create the notion of representative. Once you delegate (stake) your funds on a node, you can allocate your voting power to a representative. Those representatives get remunerated when voting. Add another (new) fee in the network (1%, for instance). On every block produced, 1% goes to a voting contract. After every proposal’s vote, the funds are divided between voters, no matter what results from the vote. If you allocate your voting power to a representative, 50% of your gains go to this representative. This way, you’re incentivized to either actively vote on every proposal and gain a larger reward, or to delegate your vote and let representatives do the hard work for you (but still earn a portion of the reward). If a representative stops complying with their responsibilities, the representative and the staker will both stop earning. They are both penalized, thus driving the staker to delegate its voting power to another representative who is more active in its contributions.

I hope we did not deviate to much from the initial topic :smile:

The dynamic compensation idea for node runners also looks very promising, but do you think it could be based on another factor than governance contribution? Very interested in hearing your opinion on all of this and continuing this discussion! Cheers!

1 Like

Maybe Im late to the discussion, but I think governance needs to be separated in 2 stages, each with its own set of incentives and objectives:

  1. Who gets to vote: how votes are distributed? The objective is important to make sure participants have the incentive to vote thinking about the long term success of the ecosystem. This ultimately boils down to some form of weighting amount of token locked and time locked.
  2. How are the votes cast: the objective here is to make participation easier and to allow people to understand what they are voting. Since its not easy for every user to understand every aspect of every proposal, it falls under delegation possibilities.

We can call the (1) the participation incentives step, where users should be indifferent about where to stake or lock their tokens. They should only care about getting a number of votes plus other incentives.

(2) is where alignment is important, here it matters that the voter agrees with the direction nodes want to take the ecosystem so he can delegate properly. Here trust is important.

Separating this two stages makes it easier to think about incentives and to have a sensible policy. For example, as its being discussed, each token deposited gets the same rewards independently of what nodes are producing blocks and the nodes get a percentage of the rewards based on how many votes were delegated to them.

This also allow us to move beyond one token one vote, for example, what ties step one can factor in locking period.

1 Like