district0x / governance

Proposals for governance of the district0x Network and its districts
GNU General Public License v3.0
4 stars 3 forks source link

DGP2: DNT Staking Mechanism #2

Open lkngtn opened 7 years ago

lkngtn commented 7 years ago

District0x Staking Mechanism

According to the District0x Whitepaper the staking mechanism will work as follows:

Upon staking DNT to a district via the district0x Network Token Staking module, participants will receive voting shares in the respective district’s Aragon entity, which they will retain for the duration of the time their tokens remained staked. Voting shares in districts are dispensed at a 1:1 ratio relative to the amount of DNT a participant chooses to stake to a district. The frequency of voting periods for a given district are defined in their respective bylaws. “ (Section: District-Specific Governance Utility)

On the surface, this seems like it should work fairly well but upon closer inspection, I don't think it is a feasible solution for staking DNT into districts. In the interest of the District0x community, I wanted to bring attention to these issues so they can be addressed sooner rather than later.

As described this staking mechanism has two critical flaws:

1. Malicious Voting

My biggest concern with this mechanism is the possibility of malicious voting due to a lack of “skin in the game” associated with participation in the district's governance.

To illustrate how this might play out let's assume the first three districts (Ethlance, Name Bazaar, Meme Factory) have been launched and each represents roughly a third of the value of DNT. An established competitor like Upwork is concerned about the disruptive capability of Ethlance to their business. They decide they will buy DNT and stake into Ethlance to push for policies that are not in the best interest of Ethlance because it will help Upwork remain competitive. They pay the market rate for DNT which is tied to the cumulative value of all three districts to conduct the attack. If they are completely successful the value of Ethlance goes to 0 as the new policies push users away from using the service, this will reduce the value of DNT by roughly 1/3 and this cost will be shared by all DNT holders, not just the attacker.

The scenario above sounds pretty bad, but it is a best case scenario. If the relative values of districts within the network are uneven, for example, Meme Factory becomes significantly more popular or generates significantly more revenue than Ethlance or Name Bazaar, the cost to attack “smaller” districts is reduced.

2. Lack of incentive for District Creators and Developers

If you are thinking of building a decentralized market using the d0xInfra framework, you have the option to deploy the district and immediately change the bylaws of the Aragon entity to prohibit further staking at the 1:1 rate. A smart contract could be deployed that served as a wrapper for the 1 voting token allowing the creator whatever flexibility they want in terms of distributing voting rights including running their own ICO or simply air dropping tokens to people to create a network effect while keeping a larger portion to themselves. The point is that in most cases if an individual or team has the resources to deploy a new district themselves (rather than the core-team building it) it does not make sense for them to allow DNT holders to stake into the district 1:1.

Whats the impact of these two issues?

I think the end result is that the 1:1 staking model described in the white paper will not work in practice. If the initial districts that allow 1:1 staking get attacked, community members can fork the attacked district and redeploy it, this time opting to restrict further DNT staking through the underlying Aragon Entities bylaws to prevent further attacks and provide a better, more stable service.

When this occurs, the primary utility of DNT (Staking into districts on the network) will be quite limited. Most of the remaining value will be in directing the development efforts of the core team, which is a centralized, single-point of failure.

So how can we fix this?

I propose that instead of using a 1:1 staking model by default, a curation market-based rate should be used for staking into districts as described in the 1Hive district proposal. This will align incentivizes of district creators, developers, users, and supporters and will also prevent the malicious voting attack described above by ensuring that district governance is tied to a users stake in the individual district rather than the network as a whole.

For the districts which are built by the core dev-team an initial 1:1 staking window could be offered to allow all DNT holders to all initially participate before switching over to a market-based staking mechanism to prevent malicious voting attacks on the district in the future.

Since DNT has less value as a staking token in this context, it makes sense to look for an alternative mechanism to imbue utility and value to the DNT token.

The d0xINFRA will be a framework of pre-deployed smart contracts that facilitate decentralized marketplaces similar to how Aragon is a set of pre-deployed smart contracts that facilitate DAO governance—District0x could adopt the same monetization model for DNT as Aragon uses for ANT, a network fee. In this case, DNT users would not have 1:1 staking privileges in districts, but they would be able to collectively decide how fees are charged to districts on the network for the use, maintenance, and improvement of the d0xInfra smart contracts. I propose working towards a model where DNT is used as follows:

  1. DNT users can participate in governance to control how the set of d0xInfra components are maintained and upgraded.
  2. DNT users can set a network fee embedded in d0xInfra smart contracts which is returned to DNT holders.
  3. DNT users can additionally participate in a network wide escrow/arbitration service that helps facilitate decentralized transactions between buyers/sellers.

The end result is that the value of DNT will still scale as a fraction of the total value of all the districts on the network, however, the value of all the districts on the network will grow much quicker as there will be an entire ecosystem of district creators/supports/developers who have a profit incentive to build on the network.

Note that this proposed staking mechanism for DNT does not offer DNT users special staking privileges, and the curation market model could accept any ERC20 token or even Ether, however, by imbuing DNT with the ability to charge network fees for d0xINFRA and control how d0xINFRA contracts are upgraded district creators will prefer to have at least some of their funding be in the form of DNT. It also ensures, that even if a project is created independently and does not allow DNT staking, if it opts to leverage the d0xINFRA framework then DNT holders will benefit.

Bradymck commented 7 years ago

Very interesting angle to change how the DNT token value is derived. While I honestly don't think your initial example is feasible for a competing centralized company to actually do, I can think of other factors that would be of concern with the staking model.

One being the fact that people will sell instead of hold/stake if the price rises significantly. I see this happening if a bad actor played the buy/sell wall pump and dump game and moved the market up enough to start seeing staked coins move. Though I do believe a method is going to be made to prevent people from pulling staked DNT until a certain point. So even this is a bit hard to see someone doing.

Though I do like the idea of DNT taking of more of a similar role as ANT in that you can propose and vote on protocol changes. I will be honest, the way staking will work is something I'm struggling to imagine. Considering I'm having a hard time imagining it, I would like to see it in action before I can make a call of it's effectiveness in it's current form.

I am a big fan of the curation market model though. I think it solves a lot of problems in terms of voting and choices people have. For example, the vote for paying the fee to Bittrex was a simple issue, yet many people were confused about the situation due to misinformation, trolls, lack of reading, and it caused people to vote in a way they otherwise would not due to a lack of correct info.

So I could imagine a curation market for correct information could be developed. Rather than hundreds of messages in slack and misunderstandings due to not reading official announcements, people would have skin in the game with the information they are providing. If they have the most correct info, it could be moved to the top and even reward people for correct articulate info and cost people for providing incorrect or confusing info.

The skin in the game concept is huge on so many fronts and I think it should be utilized more and seriously developed as a core model for the underlying ecosystem. This could be another use case for DNT as well. If DNT was what you need to curate and submit and stake to a specific piece of info, this could also provide a revenue model for all the districts.

I would love your thoughts here, should this type of curation be limited to DNT only? I feel like we are looking at this similar but with slightly different angles.

Bradymck commented 7 years ago

I feel like curation markets combined with prediction markets could create a robust system for curating articulate clear information.

lkngtn commented 7 years ago

I would love your thoughts here, should this type of curation be limited to DNT only? I feel like we are looking at this similar but with slightly different angles.

The idea of a Curation Market is to align communities around mutually shared goals, so while I don't think it makes sense to restrict the mechanism to just DNT, it can be used as you are describing with DNT specifically as the token in order to provide "Skin in the Game" and curation of topics/discussions based on holding DNT.

For example using the DNT token makes sense to curate issues and discussion related to the shared goals of DNT holders but does not make sense for curating and discussion of issues related to Aragon or ANT holders.

lkngtn commented 7 years ago

Regarding the feasibility of the attack, I wanted to put some real numbers down to further illustrate the point.

Base Assumption: There are two launched districts = A, B Voter participation is 100%

Scenario 1: Evenly Valued Districts Scenario Assumption: A and B contribute equally to the market price of DNT and DNT holders are staked into either district 50/50

An attacker would need ~25% of circulating DNT in order to perform a 51% attack on either district. Let's assume in this example they decide to attack district A. When doing so they can change the district's bylaws in order to prevent additional DNT that is currently unstaked or staked to District B from moving into district A.

At this point, they have complete control over the districts Aragon Entity and can make changes like charging fees that would make the district unusable. There is no value in a district which is not used, and so the value of the district can be assumed to go to 0. Our original assumption is that both districts contributed equally to the market price of DNT, and so this attack will reduce the market price of DNT by 1/2.

The attacker had to invest X in order to purchase 25% of DNT supply and is left with X/2 after the attack. Therefore in this scenario, the attack is profitable so long as the attacker has an external expected gain greater than X/2.

Scenario 2: Unevenly Valued Districts Scenario Assumption: A and B contribute unevenly to the market price of DNT and DNT holders are staked into the districts in a ratio of 90/10.

If an attacker wishes to attack the smaller of the two districts (B), they will need 51% of 10% of DNT or 5.1% of the total circulating supply.

The value of the district will go to 0, and the value of DNT will be reduced by 10%.

The attacker will invest X in the attack and retain 90% of the value of what they used to attack. This will be profitable for them so long as they have an external expected gain greater than X/10.

The key takeaway is that when there are districts which represent a small proportion of the total value of the DNT network they are vulnerable to malicious voting attacks as the attacker will need less capital for a controlling stake and lose less value after the attack.

Some additional confounding factors that can be considered:

What happens if we introduce a time-based penalty for staking or for certain critical votes? This could help mitigate some of the Attack by enabling DNT holders to change how they are staking in order to mitigate the attack. However, they can only stake to district at a time and therefore by choosing to defend a small district from attack they are giving up on participation in a larger more valuable district. This does not seem like it would be a reliable deterrent and also requires DNT users to be very engaged with all Districts not just the ones they are interested in.

What if we don't assume 100 percent participation? Generally speaking participation in voting is not 100 percent and often quite low. The scenarios above assume 100 Percent participation in voting which is a best case scenario. If we assume only 50% of DNT holders participate in voting directly then the cost for these attacks is reduced proportionally.

verc commented 7 years ago

Unfortunately I do not see how a substantial amount of fees can be accumulated in this process for DNT holders, and also their role becomes very much detached from the individual districts, which actually is one things that makes this project interesting.

What if we just decrease the voting weight exponentially with every new DNT that gets staked against a district? I.e. the n'th DNT staked into the district has a voting weight of aexp(b -n) with suitable values for a and b.

In your example this would give the owners of Ethlance a much larger staking weight compared to the attacker (since they stake in it from day 1) and the attack becomes exponentially more expensive. This would also have the effect of having more "skin in the game", since unstaking DNT and re-staking them into the same district will decrease the position within the ordering of the DNT.

lkngtn commented 7 years ago

Unfortunately I do not see how a substantial amount of fees can be accumulated in this process for DNT holders, and also their role becomes very much detached from the individual districts, which actually is one things that makes this project interesting.

I agree the fee for any given district would be significantly smaller than the value of directly participating in an individual district, however, the fee would be for all districts/daos using the d0xINFRA without needing to stake into a specific district to share in that districts rewards. Also I think there are potentially many districts/daos that would opt to pay a fee but would not opt to allow 1:1 staking of DNT into their district. So the differential in overall value for DNT holders is hard to gauge.

What if we just decrease the voting weight exponentially with every new DNT that gets staked against a district? I.e. the n'th DNT staked into the district has a voting weight of aexp(b -n) with suitable values for a and b.

I'm actually suggesting something to this effect, in the sense that using a curation market model as the de-facto staking mechanism essentially rewards early Stakers with a greater share than those who Stake later. The exact pricing curve used in the automated market component is something that I think needs experimentation, but I definitely see an exponential decay function as a possibility.

EDIT: To clarify, in this proposal the fee would be in addition to still being able to stake into districts using a curation market.

luisivan commented 7 years ago

I think this is very helpful @lkngtn. I'm a true believer of governance tokens, and while they have its own set of challenges, I would love for DNT to be used for d0xINFRA's contracts maintenance and upgrades. Regarding a network-wide fee, I think there are two ways of looking at this. First way is that districts would be okay paying this fee because it could be insignificant in their scale, but probably notable in the big picture. Second way would be that districts would not be okay paying it, so a more smart structure would be to eliminate them and make the network totally free, which could incentivize districts and therefore make DNT more valuable, so in the end DNT holders could economically benefit without the need of revenue sharing.

Regarding staking DNT into districts, I agree with using curation markets to set the rate because of the arguments previously mentioned. One interesting angle would be that districts may require a certain % of their revenue allocated in DNT to access certain network-wide services. One of them could be a specialized arbitration system (that could be built on top of the Aragon Network's) focused on disputes that arise on P2P markets, and another one could be a insurance policy that could be used in case a dispute ends up in a state in which someone loses money without deserving to (though these kind of scenarios can usually be covered by staking). Of course DNT holders could vote and decide what services are provided by the network.