This page features Dan’s feedback for OREC. These notes are in an early draft state and will be refined and organized better soon.
Table of Contents
It’s not a contract any more and it doesn’t have any executive power. OREC provides a potential way to transfer the control of an executive contract in the future, but it does not provide the current solution that we need. It provides much of the design for what we currently need, so i should copy paste it and change for Optimism Fractal’s current needs.
I don’t know if I agree with my previous feedback about stage and cycles. So I’m not sure if I need to change it. Tadas article for OREC was coming from a perspective of building a contract, so there’s a lot of assumptions there that I’ll need to change for this proposal
Related: Orpolls
vote_cycle
= 1 week;veto_cycle
= 1 week;cycle_start_time
= 17:20 UTC on Mondays;min_vote_threshold
= 128 Respect;respect_period
= 26 weeks;I suggest that we:
Can someone change their vote during the veto cycle? I think they should be able to change it from yes to no if they change their mind…. But this would introduce technical challenges. There are two separate polls and Tadas’ original design of OREC doesn’t allow for no votes during the second week. Maybe it’s best to only allow ‘Abstain’ in the second week since an Abstain is like a lite version of a no. Another issue with the current design that I have in mind- if we use snapshot and allow people to vote no in both polls, then that no could be double counted. How would we resolve that?
I suppose the way to resolve it is to go moreso with Tada’s original intention but put a wider time period during our meeting for the voting cycle. For example, if all proposals needed to be submitted by 18 UTC and the voting cycle doesn’t end until 18:20 UTC, then this would allow at least 20 minutes for the community to vote ‘yes’ or ‘no’ for a proposal. This would mitigate the issue where someone can gain an unfair advantage by posting a proposal in the last minute, because it wouldn’t be possible to
If someone votes yes in the first 20 minutes and then changes their mind during the veto week, then do they have any way to express this change of mind? Currently I’m stumped about this because it seems that they wouldn’t have any way to change their mind in the votes while keeping the system technically feasible without bespoke development, but it seems that this is a feature that we would want.
If someone votes no in the first 20 minutes, then could they reiterate this vote?
Maybe the solution is to have the same exact poll repeated over two weeks. This would re-orient the system a bit but i think it might work well and allow more expressive, intuitive, and fair experience. Imagine this:
I think this two week system generally works well and naturally with our meeting schedule. It always gives the group at least two meetings (and at least 40-60 minutes) to discuss changes in a planning session. Otherwise you’d either have a lot of pressure to decide something at one meeting, a high voting threshold that’s difficult to attain, or decisions would be made outside of our meeting with only the chance to discuss it once.
This provides more stability and defensibility for the community. Especially With this optimistic design.
If anything it should ere to be more conservative for people who earned respect earlier in the fractal. If new people want, they can always fork it. If someone works alot to build it for a year and then takes a 3 month break, should someone who just joined for a week have more formal power than them? No
It provides more security into your investment of time. If you invest many many hours, then you want to be sure that your investment will be worth it. Investing in a community that has a very short lifespan for utility of respect is a bit like investing in a currency with hyperinflation. Even if you work to earn alot of respect, it might not do you any good anymore in a few months.
We can make it shorter in the future if we want and start with a longer period
This is easier technically now
We don’t need to do any additional coding in order to make this system work. If we set the cycle time to start and end sometime between 18-18:30 UTC, then
Why can’t people vote no on a proposal in the blocking stages? If they want to block a proposal, why can’t they vote no? It’s a bit strange and counterintuitive.
It seems like it might make the system more vulnerable to being gamed as well. Suppose someone puts in a proposal a minute before the end of a voting period and they have over 128 respect. It’s not a good proposal at all but there isn’t anyone to vote no in the last minute. It looks like this proposal has 100% yes votes on snapshot or whatever UI that people see, which would stay up for a whole week. This can be misleading to people looking at the poll.
Additionally, would this strategy make the proposal more likely to get approved? Yes, I think this is a flaw in the current design. A ‘no’ vote is more powerful than an abstain or a registration to block the proposal, but the system doesn’t allow no votes in the second week for some reason. A proposal requires both the minimum threshold and a 66% of total votes, and a last minute proposer could essentially skip the requirement of 66% of total votes needed by just making the proposal at the last minute. This makes it easier to approve proposals- even if people don’t want to approve the proposal and would normally vote no, they are not allowed to vote no in the second week.
It seems that disallowing ‘no’ votes in the blocking period both makes it more confusing and easier to game to approve bad proposals, but it doesn’t offer any benefits. I’m curious to know if there’s something I’m missing. I suggest to allow voting in the blocking period to improve this. That would make it simpler to explain, more intuitive, and more fair.
This could be essentially achieved on Snapshot by including an Abstain option.
How do you envision the two week cycle for OREC happening on snapshot? Would there be two polls for each proposal and the second poll in the second week would only have a veto option?
If there are two polls, then how would we ensure that the second poll starts right after the first? Would it just be manual and in which case it will take longer than 2 weeks? Or would it be feasible to program another veto poll to automatically start after the two weeks?
If it is one poll on snapshot, then how would the the diference between the first and second week be calculated? Ie if people can only veto in the second week, then how would we count that if the poll still allows yes votes? Snapshot does have modules/___, so would we need to make a module / recipe for this?
Could people change their votes? Could people vote no or veto again during both weeks?
I could see this system working well if it’s easy enough
1 week
1 week
128 respect? or?
respect_period = 26 weeks