Distributed ledger 101 is a mesh of computing nodes executing the same smart voting contract. Personal devices submit registration and voting transaction requests across a wide-area network. An oracle supplies time; an optional private sidechain can hide running tallies.
FIG. 3A
Contest, contract, registration, token
01Administrator receives contest information and creates a smart voting contract (300–302).
02Contest is advertised with eligibility rules and the contract public address (304).
03Potential voters send a signed registration request from a personal device (306).
04Nodes independently verify identity, eligibility, and uniqueness (308–310).
05A unique ERC-721-style voting token is generated and issued to the voter wallet (312–314).
FIG. 3B
Cast, verify, record
01Voter generates a voting transaction request identifying token, wallet, and candidate (316).
02Each node receives the request over the wide-area network (318).
03Verification: contest time window, registered voter, token ownership, single-spend (320–324).
04Selected candidate is determined and a verified voting transaction is generated (326–328).
05Nodes validate the verified transaction by consensus (330).
FIG. 3C
Seal, close, audit
01A cryptographic block is generated and added to the blockchain (332–334).
02When the contest ends, nodes determine the winner from tallies or candidate wallets (336–338).
03Voters may self-audit that their token was counted correctly (340).
04Before close, a vote may be recalled and a replacement token issued (342).
05Optional incentives are awarded to participants (344).
Network roles (FIG. 1)
100 — Voting administrator node creates and distributes the smart voting contract.
101 / 108–116 — Distributed ledger nodes execute the contract and reach consensus.
102–106 — Personal communication devices used by voters (app or secure website).
118 — Wide-area network (typically the Internet).
120 — Private sidechain for masked running results.