Proposal: Vocdoni Bridge - Trustless, scalable & universally verifiable token-based governance protocol

Hello, find here our proposal to fund a token-based governance protocol. Feedback more than welcome! :slight_smile:


Vocdoni is a universally verifiable and anonymous voting infrastructure extensible to token-based governance.

Current status

We aim to make e-governance available to all while meeting the highest standards of sovereignty, security, accessibility, privacy, resiliency and traceability. To this end, we are leveraging the latest advances in cryptography, blockchain and distributed systems to develop an open source technology (Vocdoni Open Stack) to work as a L2 for governance.

We have developed the first ever trustless end-to-end (E2E) verifiable and anonymous voting system, which was designed from the start to be used from a smartphone, along with a distributed infrastructure that maximizes resilience, neutrality and transparency. We believe this combination can enable the mass-adoption of e-voting and make civil participation dramatically easier than ever before.

Highlights

  • Our infrastructure currently allows up to 18 000 votes per minute.
  • We have already organized important voting processes, such as an AGM including more than 180000 participants.
  • More than 20 organizations are currently using Vocdoni Platform MVP.
  • Vocdoni Platform is already available on different app stores.
  • We have some integrations on the horizon, including aggregators.
  • Our Voting Protocol is flexible and supports all sorts of voting, including quadratic voting.
  • Vocdoni includes all kinds of privacy features, including anonymous voting with zk-SNARKs.

So far we have build two different products that make use of Vocdoni Open Stack:

  • Vocdoni Platform : A smartphone app that allows users to follow and join organizations and stay updated on voting processes and communications. The App includes the necessary cryptographic primitives to allow users to create a self-sovereign identity, authenticate themselves and vote. On the organization side, there is a web manager that allows organizers to manage their organization profile, publish a news feed, manage censuses, host voting processes and visualize their results.
  • Vocdoni Voting as a Service : VaaS gives anyone the tools to transparently integrate the voting services into their own systems through APIs.

Vocdoni also has a set of tools like the Vocdoni Explorer , a simple, easy-to-use web application which empowers voters and third-parties to interface with the Vochain at a higher-level. It enables anyone to view & verify the contents of Blockchain data (blocks and transactions) as well as human-meaningful records such as entities, processes, and vote envelopes.

Although our software is mainly focused on the traditional market, we are aware about the growing need in the crypto world for cheap, secure and privacy-centric governance solutions. That’s why we decided to build Vocdoni Bridge on top of Vocdoni Open Stack.

Proposal

Vocdoni Bridge

Vocdoni Bridge aims to improve the process of signaling/voting for the token holders of an EVM compatible token.

Given that is near to impossible to execute this process on-chain (due to gas costs and tx processing) Vocdoni Bridge offers a L2 scaling solution based on Tendermint that uses Ethereum or xDai as a source of truth.

Current existing solutions are:

  • Centralized and completely trusted.
  • Not taking into account user segmentation (census).
  • Not able to tally the overall process autonomously.
  • Not able to verify the correctness of the tally.
  • Not able to trigger on-chain actions.
  • Not scalable
  • Unable to offer privacy to voters

Vocdoni Bridge improves on the current solutions by:

  • Handling the logic of a signaling/voting process with a custom voting blockchain operated by trusted entities whose reputation is at stake. Each process can be externally verified.
  • Enabling user segmentation using a Merkle Tree approach. A user can prove that they are included in a census by creating a Merkle Proof demonstrating so.
  • Autonomously process and verify each signal/vote of a process. The results can be processed real-time or at the end of the voting process.
  • Being able to trigger on-chain actions using an Ethereum-Tendermint bidirectional message passing component.
  • Implementing an ongoing zk-SNARKs integration, thus making an anonymous voting possible

To achieve this we rely on the Vocdoni Open Stack infrastructure and add a few components to act as a bridge between token holders and decentralized verifiable governance. The most relevant one is the monitoring service that tracks holders and generates censuses of the accounts that hold funds of a given token.

These censuses are compatible with the existing governance infrastructure, no additional effort is required.

Future work lines

  • Shorterm - The oracles deployed by Vocdoni can be replaced by a decentralized oracle system like Chainlink.
  • Midterm - Add an Optimistic rollup mechanism to validate the results onchain.
  • Longterm - Add support for zk-rollups to create a cryptographic proof of the results that can be validated onchain.

Vocdoni Bridge Architecture

A more detailed proposal overview is accessible here.

UI mockup files can be downloaded here.

Funding

To develop this project we ask for 6 500 DAI to cover the operational expenses of building a functional platform for token governance, both backend and UI. To be executed during Q42020.

These funds will allow us to:

  • Develop a User Interface to allow users to vote, create votes and register tokens using web3 wallets.
  • Develop a backend service to monitor the registered tokens and keep the census updated.
  • Implement the first voting types available on the UI.
  • Generate documentation and a strong knowledge base.

Team

Our team composes a group of people with different profiles. Developers, activists and entrepreneurs, including two PhDs, with vast experience in the world of computer security, decentralised technologies (hw&sw), management of common goods, communication and, naturally, software development.

Vocdoni Bridge will be led by the following members:

  • Pau Escrich (Github): Vocdoni CTO. Software engineer and sysadmin. 4y in Academia as researcher on distributed systems and principal contributor of Libremesh.org and Guifi.net. Active in the blockchain world since 2012, developed and managed a mining pool in 2014 and built OSS tools related to Stratum protocol.
  • Jordi Moraleda: Senior full-stack engineer. He is heavily involved in the architecture, research and integration of the components that make things possible. Integrated and validated zk-SNARKs on mobile devices to generate proofs within a matter of seconds. He is also in charge of the UI and smart contract components of the platform.
  • Jordi Piñana (Github): Software developer with 4y of experience in Blockchain programming. He is also teaching at the Polytechnic University of Catalonia blockchain master’s degree program.

Resources

Hey @Ferran good to see Vocdoni still making progress, is Xavi still working on this project by the way ?

2 Likes

Yes! He is still involved, putting a lot of energy into the project mission definition and platform design (something crucial in a platform that includes digital voting).

You could find him on Discord, if you want to talk :slight_smile:

Hey @Yalor!
Definetely around :slight_smile:
Happy to see the two projects talking!

1 Like

Update 26/10/2020

After discussing Vocdoni Bridge with Jorge Izquierdo, from Aragon, we have decided to change the approach on census generation. This new design enables onchain creation of voting censuses making use of EVM storage proofs.

This turns Vocdoni Bridge into a more trustless voting protocol with more onchain components. Also, Vocdoni libraries for generation and on/off-chain validation of storage merkle proofs from ERC20 token holder balances on Ethereum could open up, not only a realm of possibilities in token voting but also new uses as a bridge between sidechains, smartcontracts and protocols. When extended, the libraries will be able to prove all ethereum data (including exclusion).

Updated Vocdoni Bridge architecture:

Hey @xavivives & @Ferran we would like to invite a few of you to the Meta Cartel Town-hall to present Vocdoni, can I get a few email addresses for your team so that we can sent out the invites ?

It happens Tuesday 1pm EST

1 Like

Of course, super happy to participate! I send the emails by direct message

Thanks!

Hey @Ferran still waiting on the updated proposal here please post so we can move forward if that’s still interesting to you.

Let’s say 3 parts each with rough scope of work, timeline, and funding amount.

M1: $2200 DAI ( Nov 10- Dec 1st )

  • Thing
  • Thing
  • Thing

M2: $2200 DAI ( Dec 1st- Dec 25th )

  • Thing
  • Thing

Something like that, hope that is clear ?

Last question, since @xavivives mentioned that you are raising money from other organizarions and doing a token sale at some point in the future do you have plans for a retroactive drop governance tokens at some point ? I think that would be something that we could all be excited about if/when there is a token for the project !

As soon as you get this back to me we can sponsor your first proposal.

Hi Yalor!

Thanks for considering our proposal!

Let me share with you our work plan for the next following weeks to develop Vocdoni Bridge.
You can also follow the progress using this roadmap plan.

M1: $2200 DAI ( Nov 10- Dec 1st )

In this milestone we’ll address the development of the main components of Vocdoni Bridge, including the smart contracts development. This will allow us to do the first internal tests too.

  • Adapt Vocdoni Voting Protocol to ERC20 token voting.
  • [validator] Support ERC20 census proofs
  • [contract] Develop Storage Proof Smart contract
  • [lib] Add support for protobuf Vote Envelopes
  • [lib] Vote casting
  • [lib] Adapt the newProcess request
  • [UI] First version of the UI

M2: $2200 DAI ( Dec 1st - Dec 25th )

This milestone will have as an outcome the first functional version of Vocdoni Bridge with all the minimal features.

  • [lib+UI] Add tally results
  • [lib] Integrate dvote-solidity Storage Proof contract method definitions
  • Submit the Vochain results to Ethereum
  • Register a new token
  • Add metamask compatibility
  • Improved version of the UI

M3: $2200 DAI ( Jan 1st - Jan 31st )

In this milestone we’ll include some features of our Voting Protocol 2.0 (like quadratic voting) as well as others UX improvements like compatibility with other wallets and protocols (like Wallet Connect).

  • Suport Voting Protocol v2 extended features
  • Explore requirements to extend the solution to other tokens such as ERC721 and POAP
  • Add compatibility with other wallets

Regarding the funding seeking we are still on conversations with potential investors and nothing is certain yet.

If we finally do a token sale (something that is not yet clear) we’ll be more than happy to distribute tokens proportionately to projects that have been able to make Vocdoni Bridge a reality, such as MetacartelDAO. We are very excited by the idea by the idea of helping on the MetacartelDAO mission of giving life and support community projects, just as it is helping us now.

This looks great to me @Ferran thank you for taking the time to break the budget and timeline down for us, you can proceed with a proposal for M1 here

1 Like

Perfect @Yalor! I just submitted the proposal to the DAO :slight_smile:

I think you made a little oopsie https://pokemol.com/dao/0xee629a192374caf2a72cf1695c485c5c89611ef2/proposal/124

This proposal is currently requesting 2200 wETH more than 3x our entire treasury amount :sweat_smile: please cancel and resubmit for $2200 equivalent !

Sorry for that! Yes, 2200wETH is too much :stuck_out_tongue:

Already fixed!

Hey Guys, I just noticed this is failing. What was the concern here https://pokemol.com/dao/0xee629a192374caf2a72cf1695c485c5c89611ef2/proposal/128

Would have loved to voice the concern before it went up to a vote, let’s get some context/feedback though if possible.

1 Like

Who is going to be using this in the next 3 months?

And would any DAOs want to use it / can they use it now or in the next 3 months ?

I see this as a more feature rich competitor to Snapshot. Any DAO that wants to get true opinions without the politics would definitely be excited for anonymous voting…

@pet3rpan how awesome would it be if every time you voted on a proposal you didn’t feel like you were making a political statement, that you could just signal your real opinion without everyone judging you by it… Would that add value to you?

1 Like

Hi @pet3rpan, @Yalor and @griff

Thanks for your comments and concerns, I’ll try to answer all your doubts but feel free to bring more questions if you have any!

There are 3 relevant projects already waiting to use Vocdoni Bridge right when it comes out. (I asked them if we can disclose their interest and I’ll update depending on their answer)

At this moment we are totally focused on technological development, and we haven’t done much public exposure or search for partnerships yet. But we are sure that this number will increase in 1-2 months, after the first version of the product is completed and publicly usable.

An important detail regarding the Vocdoni Bridge design is the usage of Ethereum Storage Proofs. An eligible voter can fetch a Merkle Proof demonstrating he is a token holder of a smart contract (ERC20, ERC3000, etc.) from a Web3 endpoint and use it anywhere offline. We already build the required libraries [2] in order to verify the Storage Proofs in our L2 voting blockchain [3]. This mechanism brings scalability, resilience, decentralization and deterministic execution since anyone can have a node of that blockchain and compute exactly the same election results.

The results (computed by all nodes of the L2 blockchain) will automatically be signed by a list of trusted oracles (that might be spread among different entities) thus anyone can take them (results and signatures) and bring them back on-chain in order to execute action on the smart contract handling the election.

Another of our potentialities is that the system uses Vocdoni Protocol 2.0[1], which allows people to create any kind of vote by configuring a whole series of parameters in a permisionless way. And we believe that this can be a before and after in the digital governance in the crypto world.

We truly believe Vocdoni Bridge and Vocdoni Protocol 2.0 are needed pieces for the crypto composability that could trigger new applications and use cases, even be integrated into Snapshot in the future to provide it with more functionality, scalability and anonymous voting. Would be great to have that kind of collaboration :slight_smile:

[1] https://gitlab.com/groups/vocdoni/-/epics/72#description
[2] https://github.com/vocdoni/eth-storage-proof
[3] https://docs.vocdoni.io/#/architecture/services/vochain

Update 20/11 15.20
One of the projects that showed interest in using Vocdoni Bridge is POAP.

POAP is working with the Ethereum Foundation so that those who attended Devcons in the past can vote on Devcon’s key decisions for the future. They are doing the same with the organizers of ETHCC as well. And they would use Vocdoni Bridge as soon as it’s ready.

1 Like

Ah I get it, pretty cool. Thanks.

:white_check_mark:

This is a sweet use case. We’ve all been waiting to unlock the power of POAPs!!! Can’t wait for this.
Helping to make this happen is important!

1 Like