PL: Plural MEV Research Tooling Update

Hello everyone! I’m Rich, aka thewanderingeditor, founder of Lexicon Governance.

Lexicon is building modular governance and collaboration tools for web3 and beyond.

Overview

This grant, provided by Plurality Labs, was awarded to establish the Plural Research Society and build the first forum and plural voting tools needed to support it. As part of the grant, we will host an experimental plural research workshop where the participants – researchers from across the MEV space – will convene to present their research proposals, discuss and debate using a variety of pluralistic tools, then ultimately vote to decide how to allocate 100,000 ARB in grant funding.

Current Progress

We have completed the first technical milestones (landing page, registration page, plural voting UI and database to store user data, vote data, and calculate plurality scores). Current progress can be viewed in our github. The experiment will launch by invitation soon at pluralresearch.org

Adjustments and Mitigations

The following adjustments have been made:

  • The original plan was to build on top of Discourse. Unfortunately Discourse’s approach to identity proved incompatible with our privacy aims. We therefore switched to building a custom backend and frontend. This entailed more development work, but has allowed us to integrate fully with Zupass. This will enable us to make the Plural Research Society progressively more private, while still giving access to the relational social data needed to run the various plural mechanisms. This hasn’t delayed development, and in fact has open up a raft of opportunities for future features.

  • Our initial goal was to host an event at ETHDenver in late February. Unfortunately, several key participants were unable to attend. We have therefore moved the event to May 22-23rd to coincide with ETHBerlin

Because this is quite a way off, we will hold an initial convening in early March, where the tools will be demoed and the first votes held. By doing this, only the final milestone (the actual distribution of the grants) will be delayed until May.

Next Steps

Registration will open soon, where invited researchers will be able to register and begin to vote to set the agenda for the workshop in May.

On the development side, we’ll be closing out the vote tool development with a results page to clearly show the results ordered by plurality score, along with other useful data. We’ll then shift focus to building forum functionality, to allow participants to discuss outside of voting.

5 Likes

Development Updates

The original prototype (pre-grant) was baked into a Discourse-based discussion system. The initial plan was to convert this into a more flexible Discourse plug-in. However, investigations quickly revealed that this was unsuitable for several reasons:

  • Discourse’s in-built identity system is insufficiently private and impossible to override
  • Mobile friendly (and hence event friendly) UI on Discourse is challenging
  • Integration with other plural mechanisms and tools beyond voting would be difficult or impossible
  • Discourse is unreliable at high load and frequency, such as would be required at in-person events

Given the importance of these factors to event attendees, the decision was made to move away from Discourse to a custom backend and frontend with private registration. This has significantly increased development work, but was possible thanks to the appreciation in the value of ARB.

This has also brought a number of benefits and potential future avenues of work which would have been impossible under the original proposal:

  • Zupass integration, and the possibility of running fully private, zero-knowledge votes and events in future phases
  • Interoperability with other Digital ID systems
  • Running events within the research community which use relational identity data specific to that event, in addition to the global groupings and relational identity data
  • Possibility of directly integrating with other existing Plurality tools, such as polis
  • Easy to integrate further plural mechanisms or develop entirely new ones
  • Fine-grained control over voting UI, facilitating crucial research on the impact of UI on governance outcomes
  • Clear and easy data visualization within the tool itself + easy mobile optimization

We also discovered an error in the original plural voting model and implementation which we confirmed and fixed.

Development Progress So Far

Despite these changes, we have made good progress on the purely developmental milestones and even finished some early. These milestones were completed according to the original timeline, as can be verified on our Github (backend, frontend).

For clarity, we will just outline the current state of the tool, which can be demoed via Github in advance of the registration launch.

Any Zupass can be connected to the staging database. If you don’t have a Zupass, you will be prompted to create one. For privacy, the staging database will be wiped weekly.

The tool currently has the following features (items in bold are newly added features made possible by the shift from Discourse, items in italics are from future milestones which were not yet due to be completed):

  • Sign-in via Zupass
  • User registration: users register their username, credentials, and affiliations, which are used to power the plural voting
  • Votes and registration fields specific to certain events
  • Participants can allocate their votes (hearts) among multiple options in ongoing votes
  • Plural scores are calculated according to participant grouping and displayed in the results page, along with a variety of other data
  • Fully reimplemented plural voting model, including a fix to the original model and code
  • Pending a bug fix from the Zupass team, the front-end is already fully mobile optimized
  • Fully customizable back-end which allows amongst other things:
    • Full anonymization of users, groups, and grouping dimensions, while still allowing plural calculations
    • Full control over vote option ordering (e.g., randomized, by submission, by plural score, etc.)
    • Arbitrary numbers of events, users, questions, etc.; arbitrarily complex registration logic, event logic, data querying, etc.
    • Adaptive back-end scaling to ensure stability during events (high user numbers, activity frequency) while scaling back during quieter times

Event Updates

Although initial buy-in for an event at ETH Denver was high, key participants explained that they would no longer be attending ETH Denver, so would not be able to attend the MEV Research event, even though they were extremely interested. It also became clear that the high volume of events at ETH Denver made it unsuitable: our event requires significant buy-in from participants, attending all day and giving their full attention.

As a result, the decision was taken to move the event to May 22nd and 23rd, before ETH Berlin.

The key participants who were unable to attend in Denver have confirmed their attendance. Switching from a one-day event to two half-days on consecutive days will produce a more relaxed schedule and greater chance of high-quality collaborative research proposals.

An event and event manager have been selected and funded.

Updated Events Timeline

An updated timeline will follow, pending approval from PL.

Completed Milestones

Milestone #2 (35,000 ARB) and Milestone #4 (35,000 ARB) have been completed. Some deviation from the deliverables has occurred, because the shift from Discourse to Zupass means a token airdrop is no longer needed or appropriate. As outlined above, using Zupass is actually more powerful and better-aligned with what participants in this community require (no registration airdrop, greater privacy).

All other deliverables within these milestones have been completed as specified and can be verified from the staging demo / Github.

Although a great deal of initial marketing has been completed, including landing page text, research community branding and significant outreach to participants, we still intend to do more work on Milestone #3 in light of the new extended timeline.

1 Like

Update: Friday 16th February

Development

The most significant change from the last update is that the front end has been completely restyled into a cleaner, more academic look which better suits the target audience for the Plural Research Experiment. The new style defaults to dark mode, but a light mode toggle is included for accessibility purposes.

Documentation has been brought up to date, including extensive database documentation for anyone wishing to test the agenda tool locally.

A test version of the tool has been deployed using the old styling for faster demoing and external testing. A blank production database has been deployed, and the tool has moved out of staging.

Forum functionality has been specced out and development of this feature has begun.

As always, development progress can be followed at our repo.

UI Improvements

Significant UI improvements have been made, including:

Users can now select information from drop down lists by typing their preferred option, rather than scrolling

Users can also now enter arbitrary information during registration (e.g., project affiliation, credentials) which are not in the drop-down list. The database will create the appropriate grouping and user connections for calculating plurality scores and add the new affiliation to the list for future registrants.

Routing microservices have been refactored for faster page loading and interactions with the database.

Event

Event planning continues on schedule. We’re in discussion with our chosen venue and hope to confirm soon. Several speakers and moderators have been selected and we’re in the process of arranging the logistics for their travel, accommodation and payment.

Plural Research

Two of the researchers who co-authored the original paper the Connection-Oriented Cluster Match mechanism is drawn from have been commissioned to create a peer prediction feedback formula. This goes beyond the scope of the grant milestones, but was already included in our proposal as a potential extension to prepare for future event cycles. We hope this will prove a significant contribution to our event and the plurality field in general.

2 Likes

A log in with ethereum wallet on Polis would be immediately useful! I mean like I’d use it tomorrow!!!

Development Update Feb 23

Most of the week was dedicated to front-end updates, with all pages of the agenda tool now available in both the 8-bit and academic styles. The vote page has been restructured to accommodate the higher word count expected for the research proposals, and in preparation of the UI changes needed for the introduction of discussion functionality.

The results page has been updated for clearer presentation of results and now shows which groups contributed to the vote for each option.

In addition to these front-end tasks, the rest of the team has focused on testing, bug fixes and improvements, as well as planning for the more advanced interactions needed at the event in May, when grouping data will need to be flexibly integrated into the tool database dependent on the in-person interactions.

As always, progress can be followed in our GitHub repo. You’ll also find instructions for testing on our staging platform and locally.

Development Update For Week 9 (Feb 23 - Mar 3)

This week was focused mostly on improvements to the tool UI, improving legibility of the information-dense voting page.

New features include:

  1. Column-based agenda setting page

The new layout option arranges author, primary affiliation, assigned hearts and current plurality score into fixed columns, so it’s easier to compare between proposals. Most importantly, it’s now much easier to see your current vote distribution. Other layouts remain available for votes which don’t want to draw user attention to this information so strongly.

  1. Sortability of columns

In addition to the added visual clarity, the columns allow user sorting of the entire proposal list. By default, proposals are arranged by plurality score.

  1. Changing the card-based layout

While the card-based layout makes sense for certain kinds of vote, the agendas for our Berlin event are likely to have dozens of text-heavy proposals and associated descriptions. The card layout used up a lot of vertical space, requiring the user to do a lot of scrolling. The new layout allows us to display twice as many proposals on screen.

The various different card-based layouts and styles are still available as options for different use cases.

These will all be put together and deployed as part of release 2.2.1 this week. All releases and release history can be found on our release page.

Development Update for Week 10 (Mar 4 - Mar 10)

Our v2.2.0-prerelease went live last week in advance of the v2.2 release this week

The largest visible change was to the user registration form: user name submission is now split into two fields for faster and cleaner population of the author field in the voting page and to facilitate sorting by surname

Beyond that, the focus is on backend improvements to ensure a smooth experience, with updates including:

  • further improved routing to ensure users are directed to the correct subpage faster
  • added authorization logic to prevent user manipulation of results via the API (unlikely, given the invitee list and the high risk of detection, but still good practice)
  • preparations for fast import of new group dimensions, with immediate update of plurality scores
  • updates to email notification service

As always, the latest release and ongoing work can be seen in our github

Development Update Week 12: March 18-24

(Apologies for late posting, this draft got caught in the Discourse Spam filter. I’ve restored it as written at the time)

Release 2.3.0 of the plural research tool is out: Release v2.3.0 · lexicongovernance/pluraltools-backend · GitHub

As always, most changes have been improvements to UI, user flow and authentication/security to ensure a smooth experience on event day. The goal of the even is to facilitate high-bandwidth communication between researchers who might otherwise not collaborate, so it’s important that the tool facilitates but does not disrupt in-person interactions.

The full release contains some two dozen updates and improvements, of which the highlights are outlined below. The full changelog can be viewed here.

  • Checks on duplicate names / emails to fix edge cases in registration and the automated email alert service
  • Commenting functionality has been completed with the addition of editing / deletion functions, and the authentication / permissioning required to support this in the backend
  • Test coverage has been further expanded, so we can continue to test how the tool performs at scale
  • Improvements to database interactions so users and their proposals can be approved quickly and easily
  • Researchers can form groups even before the event begins. The functionality for this will be improved to a full-fledged group creation service in time for the event, but it was important that initial applicants could already indicate collaborators.

On the event side, travel and accommodation logistics for key attendees have been confirmed. Registration has opened to participants and a number of high profile people from key projects in the MEV research space have confirmed attendance and submitted research proposals. We continue to reach out individually to relevant players in the space in the hopes of gathering as broad a range of applicable expertise as possible

With this update, Milestones #4 and #6 are completed. #5 is ongoing, as we believe more high quality proposals are still forthcoming from participants. To facilitate this, we plan to update the tool to allow multiple registrations.

Development Update Week 15: April 8-14

Release v2.4.0 is out, with major updates and new features to facilitate the Plural Research Experiment event in Berlin on May 28th.

As always, the full release and change log can be found on Github, highlights are given below:

  • The plural voting mechanism can now be adjusted on a per vote basis to include or ignore different grouping dimensions
  • As explained last update, a new feature has been added which allows researchers to register a maximum of 5 proposals each
  • Researchers can easily join groups and submit group proposals. These groups can automatically be accounted for in the plural voting mechanism. This feature goes beyond the scope of the initial grant, but we felt it was important for the smooth running of the event, which is focused on bridging and recombining across unexpected collaborations
  • Researchers can now indicate that their proposal is a bounty, rather than something they intend to work on themselves
  • Test coverage has been further expanded

The focus now shifts to testing to ensure everything runs smoothly on event day

Event

Event preparations continue on schedule. There are now over 70 high-quality applicants from across the entire MEV research ecosystem, which suggests the event will easily reach its intended capacity. Reminder emails have been sent out to encourage participants to complete their applications, refine their proposals and submit new ones.

1 Like