governance
governance copied to clipboard
AGP 1: Aragon Voting Token (AVT)
Goals
- Incentivize educated and motivated voters.
- Separate holders only interested in speculating from holders that care for the vision of the AN, and have them make the decisions.
- Disincentivize big centralized exchanges (that hold tokens on behalf of the customers) from participating.
Description
AVT is a new token that gets minted by staking ANT in a exchanger contract. Exchanging ANT for AVT has no cost but there is a waiting period in which the holder doesn't have access to their ANT nor their AVT, so it has certain opportunity cost. Converting AVT back to ANT has also a certain waiting period (could be the same or different than the AVT creation period).
During the waiting period for exchange, a holder can expedite their order incurring in a fee in ANT (proportional to a f(x) = 1 / x
type curve to the remaining exchange time) that would be split among current AVT holders.
Cancellation of exchange intent during waiting period should also be allowed, receiving their original tokens back (AVT or ANT), without being penalized (or just having half the expedite penalization?).
This creates an incentive for staking ANT and holding AVT, and makes people who are not speculating with ANT the decision makers for the Aragon Network.
AVT details
- AVT is non-transferrable.
- ANT and AVT have a 1:1 exchange rate. Expedited exchange penalization can make a holder to lose part of its stake.
Nice side-effects
- Legit non-speculative holders can earn ANT for just staking, taking ANT from speculators and distributing it among voters.
- Exchanges aren't incentivized to vote with its customers tokens as they need instant token liquidity in case of a withdraw. The
1/x
type penalization makes it really expensive for someone that needs instant conversion. - AVT exchange removes ANT from circulation.
Uncertainties
- AN could mint additional ANT (or AN could allocate some of its ANT holdings) to incentivize voting when total voting quorum is too low. Every marginal voter would make the reward less and less, so it could find a natural equilibrium.
- Should we incentivize actual voting besides just holding AVT. Should penalization rewards go only to holders who vote?
- Should a holder be forced to convert its full ANT balance to AVT? Could be gameable by separating into multiple addresses.
- Given the current implementation of ANT, vested token holders wouldn't be able to vote.
Figures


Penalization function
p(x, t) = x / (1 + (t * f / (w - t))
Arguments:
- x: Number of ANT or AVT being exchanged.
- t: Number of seconds since
convertANT
orconvertAVT
was called
Parameters:
- w: Total waiting time for exchange
- f: Slope factor, between 1 and infinity. 1 being a rect and bigger f results in more steep curve.

Credits to Joel Monegro for being part of the call where we came up with the idea
Legit non-speculative holders can earn ANT for just staking, taking ANT from speculators and distributing it among voters.
Can you explain how this works? I'm not sure I follow, and I've read through the proposal a few times.
@onbjerg the idea there is that people that need to expedite exchanging have their ANT stash penalized with a fee and that fee could be distrubuted among AVT holders
Okay, that makes sense. Just a little brain fart on my end.
How will the fees that the Aragon Network (potentially, unless fee = 0% is voted in) collects be distributed?
Will AVT also have a share of this, or is it only ANT?
Good point, I hadn't thought of that.
Personally I don't think you should have to pick one between voting and getting rewards as it would create very weird race conditions.
Technically, the ANTAVT converter would hold all the ANT that backs AVT, that contract would get the rewards as a ANT holder and it could split it among AVT holders in some way.
Added a couple of figures and the penalization function
Incentivising voting by staking a great idea. would it not make sense to penalise non voting AVT holders in some way also
@AaronFoster that is something that could be done. I don't think penalizing would be needed, just not rewarding them.
How would delegate voting work in this context would both get a reward or just the original vote owner
@AaronFoster As far as I understand this system does not support delegate voting, as AVT are non-transferrable.
I think the idea of the system is to foster a group of people who are invested enough to spend time to read the proposals and vote directly, instead of having a large portion of inactive voters.
Would it not make sense to penalise non voting AVT holders in some way also
I do not agree penalising non-voters, depending on how it would work.
Sometimes voting blank on a proposal is a great idea -- for example, you might not have had time to read that proposal through, or you are undecided, and I don't think we should incentivise people just voting for the sake of voting (to avoid being penalised).
This is also why I've been very vocally opposed to mandatory voting in current democratic systems, as it probably just amplifies bad decisions, since people who otherwise wouldn't vote (because of too little knowledge on a specific subject) are now forced to vote.
Using a waiting period for participation in voting is an interesting solution, but I worry that in addition to keeping exchanges and short-term speculators out of the voting process, it would also deter smaller stakeholders from participation.
The problem with this approach is that it increases the marginal cost of voting by introducing a more complicated procedure and additional liquidity risk for participating. Since the expected impact on the result for any given vote/share is low, it only makes sense to participate if your total share of the expected voting population is significant.
By tuning w and f as well as potentially a reward function for holding AVT this may be manageable, but getting the correct balance might be difficult, particularly if the voters that determine the parameters are whales already. I expect the result would lead to a centralization of power among the largest holders that would get worse over time.
I think a huge part of the value of a DAO is the decentralization of authority, despite most systems gradually shifting towards more centralized control--that should be something we look to prevent rather than encourage.
AVT might not have native functionality to transfer but it is pretty easy to write a wrapping contract to add this functionality. We saw this happen pretty quickly with the GNT token.
This could lead to AVT having a "price" independent of the AN.
@kennyrowe This is an interesting point, people could stake to AVT and have a smart contract that allowed users to purchase the voting power for specific issues.
@onbjerg
I think the idea of the system is to foster a group of people who are invested enough to spend time to read the proposals and vote directly, instead of having a large portion of inactive voters.
Totaly get that, but there may be cases where voters feel like some issues mean more to them than others. There is also the possibility that they feel they trust someone elses opinion more than their own. I think it really depends on how valuable high quorum is. Luis did raise an interesting point about whether participating in voting is meaning full in the first place.
AVT might not have native functionality to transfer but it is pretty easy to write a wrapping contrac
@kennyrowe that is something very interesting I hadn't thought of. Given that the holder of ANT or AVT could be a smart contract (and from Metropolis on, you cannot effectively ban contracts) there is the possibility that the holder is a wrapping contract indeed. If we force AVT to ANT conversions to be the full balance, it would make this contracts less useful, but still is doable. I'm not sure how I feel about AVT having a different price though.
As far as I understand this system does not support delegate voting, as AVT are non-transferrable.
@onbjerg delegate voting could work regardless of tokens being transferable, you could transfer 'the right to vote with your balance'. Delegate voting would be implemented in another contract and not in the token itself.
How would delegate voting work in this context would both get a reward or just the original vote owner?
@AaronFoster that's a very good point indeed. Something I have been thinking out a bit is whether the reward (if any) for voting was split between voter and delegate but make it so that delegating in a less popular delegate makes the user get a bigger part of the reward. This tries to disincentivize power accumulation in a some delegates.
The problem with this approach is that it increases the marginal cost of voting by introducing a more complicated procedure and additional liquidity risk for participating
@lkngtn As we discussed in Slack before, it increases the cost of voting but a voter knows that only people who do this effort can vote (proof of pain?). Also for a voter, she will always have more influence the moment that 1 ANT token is not converted to AVT, than if voting occurred with ANT directly.
particularly if the voters that determine the parameters are whales already.
This is the most difficult challenge ahead. Making everyone on fair parameters that not only benefit whales but truly look after the longterm.
@AaronFoster that's a very good point indeed. Something I have been thinking out a bit is whether the reward (if any) for voting was split between voter and delegate but make it so that delegating in a less popular delegate makes the user get a bigger part of the reward. This tries to disincentivize power accumulation in a some delegates.
This is really interesting idea. Though I'd be worried that an attempt to incentivize voter participation even in this manner might result in people choosing votes less optimally to maximize their reward. For example they might choose to vote directly without being informed because that would result in a greater individual reward.
@lkngtn As we discussed in Slack before, it increases the cost of voting but a voter knows that only people who do this effort can vote (proof of pain?). Also for a voter, she will always have more influence the moment that 1 ANT token is not converted to AVT, than if voting occurred with ANT directly.
This is true, and applies equally for small stakeholders as it does for large stakeholders and as such is a bit of a wash in terms of favoring one or the other. However, the added cost to voting, particularly having to make that assessment well in advance of a particular issue leads me to believe that larger stakeholders will be far more likely to participate than smaller stakeholders, as the expected value for a large voting share is more likely to overcome that additional opportunity cost.
If, in additional to this, there was a robust mechanism for liquid delegate voting, and overriding of votes on particular issue that would be less of a concern. As a smaller voter could participate with the knowledge that they could entrust their vote in most cases to a well-informed delegate and override that vote if necessary, however, I'm still not sure with the exception of exchanges specifically why we would want to restrict ANT holders from participating in governance.
@AaronFoster that's a very good point indeed. Something I have been thinking out a bit is whether the reward (if any) for voting was split between voter and delegate but make it so that delegating in a less popular delegate makes the user get a bigger part of the reward. This tries to disincentivize power accumulation in a some delegates.
In that case there probably shouldn't be a reward(if any) to the delegate
how often do you anticipate votes being carried out?
As @kennyrowe said, if someone stakes ANT with a contract that wrap AVT, so AVT-W (or whatever) is transferable, then we could end up with entities being able to effectively purchase voting power, which completely misses the original point. Solving that problem seems like hard, so maybe we should look at ways to lessen the voting power of those that buy it just to mess the system / look for their own profits and not the network's.
maybe we should look at ways to lessen the voting power of those that buy it just to mess the system / look for their own profits and not the network's.
Maybe we should avoid any financial rewards for voting but there is still the quorum issue.
Not sure how to even begin thinking about lessening the power of those who want to mess with the system. There motives may vary.
If we consider publicly traded companies as an analogue, you can't really prevent a person or group from buying up a controlling share, and "messing with the system."
But I'm not sure how significant an issue that is, participation as an Aragon company is completely voluntary, so if the governance of the network does not benefit Aragon companies, they can not only just take their business elsewhere they can simply fork the Aragon code and manage things themselves. Therefore, if someone where to purchase a controlling share and then act in such a way to destroy the network they would destroy their own investment, and would be unlikely to gain anything in return.
If we consider publicly traded companies as an analogue, you can't really prevent a person or group from buying up a controlling share, and "messing with the system."
This is not an apt analogy. Firstly because you there are circumstances where that is not possible. SEC/FCA have anti monopoly rules. But most importantly "messing with the system" didn't mean stopping someone buying a controlling interest (which ofcourse would be a major issue). It means preventing a secondary market for quorum. This is certainly not an issue with publicly traded companies as far as I know
@AaronFoster You're right, its not a perfect analogy, but there are certainly some similarities, though I think those similarities can boil down to any Proof of Stake system where stake can be traded on an open market.
I don't think the anti-monopoly regulation is really all that relevant here, particularly because a key distinction is that with a DAO you can't really maintain a monopoly in the traditional sense, since the code is inherently public and can be forked in the event that the governance mechanism breaks down. This makes excessive rent-seeking/monopolistic behavior indefensible.
I think the main thing is that, because participation requires purchasing tokens/shares if you are able to "mess with the system" you would likely not benefit from doing so. Generally speaking nobody is going to try and mess with the system for the sake of messing with the system, they would do so for some economic gain--the focus should be identifying situations in which it might be possible to get more economic benefit from purchasing a stake and voting against the networks best interest--and I'm not sure we have identified a specific situation where that would occur yet.
Unlike a Proof of Stake for validation mechanism like Casper, where each validator is bonded but can individually act maliciously to censor blocks when it is their turn to validate. In a voting based mechanism, which is relatively similar to corporate governance, you have to have quorum in order to take action that impact the network. It should be a simpler problem, and figuring out a good ruleset for deciding on Quorum is more important than trying to prevent malicious individuals from participating.
Edit: It's worth noting that this applies if we vote directly with ANT or use something like this to create AVT. I don't really see much benefit in voting with AVT over ANT though.
the focus should be identifying situations in which it might be possible to get more economic benefit from purchasing a stake and voting against the networks best interest--and I'm not sure we have identified a specific situation where that would occur yet.
You are right, generally speaking. I'm thinking more about the edge case where someone can gain economic advantage at the detriment of the network, and your also right we haven't identified many specific situations where this could happen. But I can think of at least one.
My major concern is exchanges. If you have a entity without an economic stake in the network (remember they have custody of tokens not ownership) that potentially has a large percentage of the quorum, this can cause big problems. Given they have no economic stake it is possible they can deliberately damage the network and profit
. I don't really see much benefit in voting with AVT over ANT though
For me the advantage of AVT is to thwart that specific attack vector. But as has already been stated, this is easily worked around.
My major concern is exchanges. If you have a entity without an economic stake in the network (remember they have custody of tokens not ownership) that potentially has a large percentage of the quorum, this can cause big problems. Given they have no economic stake it is possible they can deliberately damage the network and profit
I agree that we need to carefully consider exchanges as a special case. I'm just not convinced that voting with AVT is the only or even the best solution to that problem in particular.
If we can only think of cases where the bad actors are exchanges (because they are custodians of tokens rather than owners), then we have a few other options. In general the wallets/addresses where exchanges store users funds are public knowledge and for an exchange to be successful it has to maintain the trust of its users as a custodian of their funds.
If we implemented something like quadratic voting where the impact of a large stake from one address is penalized, exchanges would have to publicly change the way they store users funds to get around the rule. If they say that they are doing so to get around the voting restrictions of the network so they can vote with their shareholder funds would almost certainly result in a large portion of their customers switching to a different exchange.
We could also simply blacklist popular exchange addresses.
There may be other options as well that specifically exclude exchanges, the point is that if the problem is specifically with addressing exchange participation rather than a more general problem of people voting against the communities best interest we might be able to find better alternatives.
AVT does address the problem of exchanges, but may have many unintended consequences around who participates in governance that I suspect would result in a system that favors large stakeholders and centralizes power over time. And as you pointed out, it seems that there are potentially ways to get around the staking restriction with wrapper contracts anyways.
Would it be practical to run two AN one on test net and one on main net simultaneously. For eg
AVT issued to ANT addresses before a vote. It seems to me like this would get around most of the gas issues associated with regular votes as well as chains of delegate voting
Incentivize educated and motivated voters.
I think the best way to do that is a soft incentive such as some kind of flair or prestige for gained for participating responsibly in the voting process. Nothing that is a direct store of value but instead is of some social value to a person. (Think Unicorns from the Ethereum Foundation.) Give them the ability to sign their vote with a randomly selected emoji or something else that's just as trite.
Separate holders only interested in speculating from holders that care for the vision of the AN, and have them make the decisions.
But why? You will have holders who purchase ANT purely for speculative reasons. In that case it's unlikely they'll bother voting. You will also have holders who purchase ANT for speculative reasons but then also decide to vote since they already have the token. In that case now they are a participating stakeholder, too.
Disincentivize big centralized exchanges (that hold tokens on behalf of the customers) from participating.
This one is a toughie. You can't just blacklist exchange addresses because then they can just generate 1000 more. You can't penalize large quantities of ANT in a single address because then they'll just split it across 1000 addresses.. You can't use some kind of liquidity penalty or lockout staking contract (as in this case) because the majority of the ANT would end up in a cold wallet anyway that sees little turnover. Fundamentally the problem is that smart contracts don't understand the difference between custodians and accounts.
Unless someone has a very clever solution for this the best thing to do would be simply minimizing the impact of custodians by incentivizing them to act in the best interests of the network or to not act at all. This is how mining works now where miners are theoretically incentivized to act in the best interests of the network to maximize their financial result from mining rewards.
Here is a thought..You issue AVT tokens the next block you create a vote, these AVT tokens stay in your wallet and you are only allowed to send them to specific addresses. To vote, you send ALL your issued AVT tokens to a smart contract that registers your vote (could be different contracts depending on the response ie. yes, no, abstain) and the address it came from. After X number of blocks pass, the remaining AVT tokens (from the people that didn't vote) automatically get sent to a burning address and the people who voted get their share of ANT proportionally to how many people voted and how much AVT they sent to any given contract. This makes AVT have no value except for voting, since at the end of the vote there will be no AVT left. You can keep doing this indefinitely where you issue new tokens and burn them where they aren't needed anymore. And voters are rewarded in ANT so the more they participate, the more leverage on the network they get for the next vote. If they never participate, their voting power slowly dimishes (since voters are getting rewards and they are not)