VoteSecure

Fair and verifiable voting on a public blockchain.

No funding. No deadline. Several unsolved problems. We think it takes ten years, and we are looking for the people who want to spend them on this.

Apply to contribute Read the open problems

Not yet solved

  • Eligibility without identity
  • Anonymity against a timestamped ledger
  • Removing the trusted parts
  • Cost, wallets and anchoring

No token. No investment. No pre-sale. Contribution is the only way in.

Within ten years, public blockchains will be the most trusted settlement layer in finance. People will then ask why their elections are less verifiable than their money. Building that takes a decade, so it has to start now, in the open, with no owner.

Why this matters

Money on a public chain can be verified by anyone, at any time, without trusting the institution that holds it. Elections cannot. Voters are asked to trust a supplier, an administrator and a machine they will never inspect.

Verifiable voting is a harder problem than verifiable money, because a ballot has to be provably counted and permanently unlinkable from the person who cast it. Those two requirements pull against each other. That is why this is not already solved, and why it is worth a decade.

Why Nervos CKB

CKB's cell model lets us put arbitrary verification logic on chain instead of fitting voting into a token standard. Lock scripts are programmable, state is explicit, and the chain is proof-of-work anchored. Fiber can cut the per-ballot cost. RGB++ can anchor results to Bitcoin, the chain with the widest trust.

We are not tied to CKB by ideology. It is currently the best fit for what an election needs.

What we have not solved

This is the honest state of the project. If one of these is your field, we would like to hear from you.

Open

Eligibility without identity

Only eligible people may vote, exactly once. No voter's identity or wallet may ever appear on chain. Nobody, including the organiser and including us, may be able to link a ballot to a person. The current design checks eligibility on chain and never decrypts a single ballot, but whoever issues the voter keys can still tell who voted. Anonymous credentials, blind signatures and nullifiers are the obvious directions. None of them is chosen yet.

Open

Anonymity against a timestamped ledger

A blockchain records when everything happened. Submission timing, transaction graphs and fee sources all leak. Batching and shuffling help. They are not a proof. We need an anonymity model we can state precisely and defend. And a chain cannot tell that a deadline has passed, so even closing the vote is a design problem.

Open

Removing the trusted parts

Ballots are counted while still encrypted, and only the totals are ever decrypted. That decryption needs several trustees together, each holding one share of the key. But trustees who collude could read ballots, and trustees who disappear leave an election without a result. A single relay can still delay ballots. Who the trustees are, how we show they are independent, and whether the proof checks fit on chain at all: open.

Open

Cost, wallets and anchoring

A voter should not need a wallet, a token balance, or any prior blockchain knowledge, and should never pay a fee. Passkey-derived keys with organiser-paid fees are the current direction. Fiber for cost. RGB++ for a Bitcoin anchor. All unproven at election scale.

Full technical detail lives in the repository (opens in a new tab)

Nobody owns this

Contribution is the only currency. Every quarter, contributors award each other Merit-Voice (MV) — a non-transferable unit that can never be bought, at any price. MV decides voting power, capped at 15% for any one person once there are seven or more contributors, and decides how any donations the project ever receives are split.

The Steward runs the first rounds and says so publicly. Every round result and every decision is put to a public poll before it is carried out. The intention is to hand governance to VoteSecure itself once it can run its own elections.

Everything is public: the code (MIT), the ledger, every award, every vote, and every application to join.

Read the Contributor Charter

Apply to the founding cohort

The first Merit Round opens 1 March 2027. Applications before then are considered for the founding cohort, which shares the first 100 MV equally.

  1. A link to something you have made. A repository, a paper, a portfolio, a campaign, a professional profile. Not a CV.
  2. About 300 words: why fair on-chain voting matters to you, and what you would work on in your first two quarters.
  3. Your real name, known to the other contributors. You can stay pseudonymous in public.

Applications are public. The Steward selects the founding cohort against the criteria in the Charter, and publishes every application and the reason for every decision. AI may be used to summarise and shortlist applications. The Steward makes every decision.

If fewer than five people qualify by 1 March 2027, the first round moves one quarter and we say so.

Apply on GitHub (opens in a new tab)

A contact route for applicants who do not use GitHub will be published here shortly.

We cannot pay anyone. If the project ever receives donations, they are split by MV. That may be nothing, for years, or forever.

There is already code

A prototype dApp runs on the CKB test network:

  • ballot encryption in the browser
  • on-chain event publishing and ballot submission
  • results the organiser decrypts

It follows the earlier v1 design, not the current architecture, and its on-chain script does not yet check anything. It is not secure enough for a real election. It exists so you can see that this is engineering, not a whitepaper.

Open the prototype Read the code (opens in a new tab)