Vocdoni

@vocdoni

Private team

Joined on Dec 4, 2019

  • DAVINCI Protocol Whitepaper \begin{aligned} &\text{[D]ecentralized [A]utonomous [V]ote [I]ntegrity [N]etwork} \ &\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\text{with} \ &\quad\quad\quad\quad\quad\quad\text{[C]ryptographic [I]nference} \end{aligned} Abstract DAVINCI is the evolution of the Vocdoni voting protocol, designed to empower civil society by providing essential tools for secure, verifiable, and anonymous digital voting. Leveraging recent advancements in zero-knowledge proofs and blockchain technology, the Vocdoni protocol transitions to a specialized zkRollup system that inherits network security from settlement layers like Ethereum Mainnet. The system relies exclusively on cryptographic proofs to ensure integrity and security, eliminating the need for centralized authorities. By integrating zkSNARKs and threshold homomorphic encryption (ElGamal), DAVINCI enables end-to-end verifiability, privacy, and trustlessness in the voting process.
     Like  Bookmark
  • This document addresses all your questions, but we’d be more than happy to schedule a call to discuss further. You can use this link to book a call: https://cal.com/freyes/30min But before answering your questions, it’s important to note that Vocdoni is a non profit building an open-source, highly modular project. This means our secure voting protocol can be adapted to meet various governance needs, what is possible is simply a matter of development. 1. How do we enable structure of organisations rolling up to other organisations in a multi tenant fashion? We’re launching a voting app (SaaS model) next month that will enable parent organizations to manage multiple sub-organizations. This will also allow to have different configurations for each sub-organization when needed (including censuses).We’re launching a voting app (SaaS model) next month that will enable parent organizations to manage multiple sub-organizations. This will also allow to have different configurations for each sub-organization when needed (including censuses). Later, we’ll also roll out a role-based permission system, allowing different access levels for parent and sub-organization admins. Each organization will be able to have custom censuses, configurations, and voting processes.
     Like  Bookmark
  • Identity is fundamental to secure and reliable voting systems. While Vocdoni Z is designed to be identity-neutral—supporting any form of identification that adheres to the protocol rules—we recognize that native support for widely adopted electronic identities (eIDs) can significantly enhance the distribution and adoption of the protocol. To this end, we have developed a zkSNARK circuit capable of verifying an official eID, specifically the Spanish DNIe version 3.0. The mechanism is similar for other eIDs, electronic passports, and is likely compatible with the upcoming eIDAS standard in the European Union. For mass adoption, it's essential to provide a user-friendly interface. Most modern smartphones are equipped with NFC (Near Field Communication) readers, which can read data from eIDs and electronic passports. By leveraging NFC technology, we enable users to interact with their official eIDs using their smartphones. However, generating a zkSNARK proof on a smartphone (a device with limited computational resources) may not be feasible at present. Until it is achievable on mobile devices, a potential solution is to delegate the proof generation (or part of it) to a trusted server, ensuring that user data remains secure and the integrity of the proof is maintained. The zkSNARK circuit is designed to perform several critical verifications to ensure the authenticity of the voter's identity and the correctness of their vote, all while preserving privacy:
     Like  Bookmark
  • When working with cryptographic systems, determinism is critical - the same input must always produce the same output. However, a hiccup emerges with Ethereum signatures. ECDSA signatures include an arbitrary nonce - a number used once or very infrequently. The signer can alter this nonce to generate different signatures from the same payload. The result? Non-determinism - different outputs from the same input. This non-determinism becomes a hurdle when calculating a nullifier, an essential tool in preventing double voting. A nullifier is a unique identifier for each vote. When a vote is cast, the nullifier is logged in a public list on the blockchain. Generating a deterministic nullifier requires a deterministic signature scheme. And because ECDSA signatures are non-deterministic, they don’t play nice with nullifier generation. So, we hit a roadblock when trying to stop double votes in an anonymous binding voting system on Ethereum. The global identity zk-registry We introduce the concept of the global identity zk-registry, a sophisticated Ethereum Smart Contract devised to manage a list of secret identity keys (SIKs), each intricately linked to its respective Ethereum address. The SIK is forged through the hashing of two concatenated fields: ethereum_address + user_secret. The secret can manifest as a password, a hashed ECDSA signature, or a potent amalgamation of both, offering a versatile foundation for secure identity management.
     Like  Bookmark
  • Community owners are incentivized to create polls that yield points for their users. Owners receive 30% of all points generated by their polls, while 70% is distributed among participants. Participants must be part of the community census, which can be one of the following types: Farcaster followers of the community owner A Farcaster channel An Ethereum or Base DAO (NFT or ERC20) In addition to the 30% received, community owners can attract new members, especially if the yield rate is good. Thus, a Farcaster user who creates their own community can gain new followers if their activity in the points game is strong.
     Like  Bookmark
  • Empowering Democratic Change: New Belarus and Vocdoni What is New Belarus? New Belarus envisions a democratic, prosperous future for Belarus, emphasizing democracy, rule of law, and social justice. The society aims for accountable governance, protected human rights, and equal opportunities for all citizens. Key focuses include education, healthcare, a free-market economy, a strong civil society, cultural diversity, and European integration. The New Belarus platform, accessible via an app, offers a comprehensive range of services including medical and legal assistance, online education, job opportunities, and business advice. Recently, the Vocdoni voting protocol was integrated into the platform to facilitate secure and transparent voting, ensuring the integrity and confidentiality of the electoral process. The Importance of the Coordination Council The Coordination Council, initiated by Sviatlana Tsikhanouskaya in August 2020, serves as a representative body for democratic forces and civil society in Belarus. It aims to address the political crisis, ensure social cohesion, and protect the sovereignty of Belarus. Operating remotely due to government repression, the Council is a unifying platform for various political and civil organizations, fostering collaboration and democratic change.
     Like  Bookmark
  • Disclaimer: please note that this proposal is just an idea currently at an early conceptual stage. Frames are becoming a central piece to the Farcaster ecosystem, an expanding technology platform. The Degen Chain, developed by the Farcaster community, supports the Degen ecosystem operating on a EVM compatible network, based on Arbitrum Orbit. On this proposal we aim to further merge both ecosystems. Integrating Frames with Degen Chain opens a new realm of possibilities for both the DegenChain and Farcaster communities. Increase Security: By verifying frame packages directly on the blockchain, we ensure all interactions are trustless and tamper-proof. Expand Functionality: Enabling complex operations like token transfers, voting, and gaming to be managed securely and efficiently through Frames. Enhance User Experience: Users can interact with smart contracts seamlessly without needing external wallet integrations, simplifying processes and reducing barriers to entry.
     Like  Bookmark
  • tl;dr Vocdoni is changing the game in digital governance by blending easy-to-use Web2 interfaces with the security of Web3. Thanks to the Farcaster Frames interface, we're making voting not just secure but also incredibly user-friendly. This means voting with just one click while backed by blockchain tech. This article provides a technical explanation of how Vocdoni built a Farcaster Frame for reliable governance 🚀🗳️. This article is written by @p4u, follow him on Farcaster for more technical updates on Farcaster.vote. Simplifying Voting in Web3 At Vocdoni, our mission is to enhance the accessibility and security of voting systems using opensource technology. Our approach merges the simplicity of Web2 interfaces with the robust decentralization of Web3 backends, exemplified in our latest integration with the Farcaster network. This article provides a concise overview of how Vocdoni leverages the Farcaster frame to simplify voting in the digital age, ensuring it's understandable even for those not deeply versed in blockchain technology.
     Like  Bookmark
  • Deploy your own Farcaster community, using DegenChain as settlement layer New Frontend that allows creating your Farcaster community:Set a name for your community (i.e Yellow Collective) Set the census (i.e NFT: 0x1234 or ERC20: 0x567)supported networks: base, optimism, polygon, ethereum Upload a Logo Set a Farcaster channel (i.e /yellow) Set who can create voting proposals
     Like  Bookmark
  • 🎉 Major upgrade on the Vocdoni Stage Network We're super excited to share big improvements to the Vocdoni Stage Network, a crucial step towards the launch of our upcomming production network. After months of hard work, we're nearing our goal. It hasn't been easy, and we value the community's input. If you're using our SDK, please let us know if you spot any issues. Important notice: due the complexity of the upgrade process, the stage network needs to be reset. Thus any account and/or organization needs to be re-created. We will push the changes to all components between today September 8 and Tuesday September 12. You might expect some down time. Also we encourage anyone using the SDK to upgrade as soon as possible. The main additions to this upgrade are: 1. Anonymous Voting
     Like  Bookmark
  • With a created account with a public census registered, any voter must follow this steps to perform a vote anonymously: [✅ DONE] To perform a vote, the voter must generate a proof that proves that he or she is in the census anonymously, to be verified during the voting process. To generate this proof, the voter will need the census proof and census siblings, this information can be requested to the API using the /censuses/{electionId}/proof/{address} endpoint (as always). This request will response with the following interface:type Census struct { CensusID types.HexBytes `json:"censusID,omitempty"` Type string `json:"type,omitempty"` Weight *types.BigInt `json:"weight,omitempty"` Size uint64 `json:"size,omitempty"` Valid bool `json:"valid,omitempty"` URI string `json:"uri,omitempty"` // proof stuff
     Like  Bookmark
  • Requirements fullfiled by this proposal allow vote directly over an Ethereum census3 made out of addresses and balances allow vote using Metamask or any other Ethereum signer do not requiere registration in advance for the user allow the user to specify its own custom voting weight while smaller or equal than the balance support on browsers and mobile devices Proposal The process of anonymous voting for Ethereum DAOs using Vocdoni involves the use of an identity commitment registry, which securely stores a secret owned by a Vocdoni user in a merkle tree. This secret is generated through a cryptographic process that employs a Hash function with at least one parameter considered secret for the user.
     Like  Bookmark
  • At Vocdoni, our main objective is to bring the technology stack for allowing frictionless and secure voting processes within the Ethereum blockchain, particularly for the Decentralized Autonomous Organization (DAO) ecosystem. Our intention is to create a novel system for off-chain, gasless, anonymous voting with binding execution. Anonymity protects voter privacy and ensures free expression of opinions, mitigating the risk of coercion or retaliation. Censorship resistance, on the other hand, guarantees that no single entity can manipulate or deny voting rights, further enforcing a decentralized, fair, and open democratic process. This document outlines our approach to tackling this ambitious mission, organized into the following core areas: Building and verifying a comprehensive census Addressing the nullifier determinism problem inherent in ECDSA signatures The mechanism for casting votes off-chain The role and functioning of the vote aggregator
     Like  Bookmark
  • General All nodes should take the docker image tagged as release-apex from the registry. API A single entrypoint for the API gateway. https://apex.vocdoni.net This is a very critical service, must have an SLA of 99%.
     Like  Bookmark
  • URL: https://vocdoni.github.io/gnark-prover-tinygo/ Curve: bn254 Protocol: Groth16 Circuit constraints: 48395 WASM compilation: tinygo build -target=wasm -no-debug -opt=1 -scheduler=asyncify Results Computer brand/model Browser RAM
     Like  Bookmark
  • <small>Authors: Vocdoni Team (@p4u, @mvdan & @lucasmenendez) with the help of OpenAI for writing the document</small>. The goal of this Proof of concept is to validate if Gnark ZkSnark framework can be used in a browser to generate proofs. Context At Vocdoni, we employ a Zero-Knowledge Succinct Non-Interactive Argument of Knowledge (zkSNARK) circuit to ensure that voters, identified by their respective public keys, can cast their votes without disclosing their identities. Moreover, a unique identifier (nullifier) is provided to identify each participant, preventing double voting. The census comprises a Merkle tree that includes the identities of voters and the respective voting power, or weight, assigned to each voter. Consequently, the proof generation must take place on the client side, which typically occurs within the voter's web browser. Motivation
     Like 1 Bookmark
  • Vocdoni is a versatile and modular blockchain-based protocol that enables various voting schemes and configurations. It offers support for vote privacy through the following methods: a) Elections utilizing Zero-Knowledge membership proofs: The Census consists of a vector commitment containing the addresses (20-byte hashed public keys) of eligible participants. b) Elections employing blind signatures over the secp256k1 elliptic curve, facilitated by a Credential Service Provider that allows multiple identification types (such as electronic ID, OAuth, and 2FA). To ensure votes remain secret until the end of the election, an onion-based encryption scheme is used. Votes are encrypted with keys generated by the blockchain validators. In order to minimize the impact of coercion and vote-buying, a SNARK-based shuffle protocol is proposed (though not yet implemented) for mixing votes within subgroups before registering them on the public ledger.
     Like  Bookmark
  • Introducing the Vocdoni Election Pricing Formula To address the pricing requirements for creating elections on the Vocdoni blockchain, we have developed a dynamic pricing formula that takes into consideration the size and duration of the elections, capacity of the blockchain, and additional features such as encryption and anonymity. The formula is designed to be fair and accessible for various election sizes, ensuring that both small and large organizations can effectively use the platform. price = basePrice + sizePrice + durationPrice + encryptedPrice + anonymousPrice + overwritePrice Where: basePrice: A constant value that represents the base price for creating an election. sizePrice: A price component proportional to maxCensusSize. durationPrice: A price component proportional to electionDuration and inversely proportional to maxCensusSize.
     Like  Bookmark
  • The Vocdoni Ballot Protocol is a highly customizable and flexible voting protocol designed to accommodate different types of voting systems. By adjusting various parameters, users can create a wide range of voting schemes that cater to different needs and requirements. Here's an extended explanation of the key aspects of the Vocdoni Ballot Protocol: Unique Values: This parameter determines if the voters can choose unique values for their vote or if they can select the same value multiple times. For example, in a single-choice election (uniqueValues = true), a voter cannot repeat values on its vote choices, so if in the first question chooses 1, the second must be different. Cost from Weight: This parameter indicates if the weight of the vote should be taken into account when calculating the cost. For example, in a weighted voting system, a voter might have more influence based on their reputation, membership duration, or other factors. Max Count: This parameter sets the maximum number of options a voter can select in a single vote. For instance, in a multi-winner election, voters might be allowed to choose up to 3 candidates. Max Value: This parameter sets the maximum value a voter can assign to a single option. In a range voting system, voters might be allowed to rate candidates on a scale of 0 to 5. Max Total Cost: This parameter limits the total cost of a vote, which is the sum of the costs of all the options chosen by a voter. This can be used to enforce budget constraints in participatory budgeting or to limit the overall influence of a voter. Cost Exponent: This parameter is used to define a non-linear cost function for the voting options, making certain choices more expensive than others. This can be useful in systems where there is a need to prioritize options or create a balance between different choices. Examples of voting systems that can be configured using the Vocdoni Ballot Protocol and their corresponding voter ballots (JSON arrays of integers):
     Like  Bookmark
  • Enhancing decentralization in the Vocdoni network Our current protocol implementation, which is based on a Proof-of-Authority (PoA) blockchain, has been highly successful in addressing the needs of non-high-stakes elections in the traditional world. However, as the importance of citizens' voices continues to grow, especially in high-stakes situations, the need for a secure voting protocol becomes increasingly crucial. Our proposal seeks to advance in privacy and security of digital voting, ensuring that it is ready to meet the demands of these challenging moments. Additionally, the web3 space requires an e-voting trustless infrastructure that can guarantee censorship-resistance, a critical requirement in the current context. To achieve this goal, it is essential to enhance compatibility with Web3 and achieve decentralization. However pure Proof-of-Stake (PoS) consensus mechanism may not be suitable for an E-Voting blockchain network like Vocdoni as it may lead to centralization, lack of accountability, and security concerns. Specially for targeting the web2 world, not familiarized with pure token-based governance. It's important to acknowledge that voting is a critical aspect for society. We believe that a better choice for such a network would be a new federated or hybrid consensus mechanism that balances the need for decentralization, accountability, security, and control in a voting context: Federated-Proof-of-Stake (FPoS). In FPoS, contributing to the validator set is not open to everyone, but rather a federation of selected parties. The authority, which could be a DAO or similar entity, set the details of the federation including the power to approve new validators, determine rewards mechanisms, and enforce network security and decentralization. In addition, validators are required to stake a certain amount of value, providing an incentive for good behavior and ensuring a sustainable reward system. However, if they act maliciously, the protocol or authority has the power to slash their stake. By balancing decentralization and control, FPoS might offer a more secure and stable network compared to pure PoS or PoA. It provides an extra layer of security to prevent potential external attacks and instills confidence in consumers of the blockchain.
     Like  Bookmark