# US 10,504,314 B2 · Blockchain-based anonymized cryptologic voting

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,504,314 B2
- Document ID: US10504314B2
- Status: Granted
- Kind: B2
- Application number: 16/212,026
- Filed: 2018-12-06
- Published: 2019-08-01
- Granted: 2019-12-10
- Earliest claimed: 2018-01-29
- Assignees: Accenture Global Solutions Limited; DSX Holdings Limited
- Applicants: Accenture Global Solutions Limited; DSX Holdings Limited
- Inventors: Aleksandr Nikolaevich Ivanov; Aleksei Vladimirovich Kazennov; Georgii Valerievich Mavchun; Mikhail Rymanov; Peter de Rooji; John Velissarios
- Web page: https://patentgrep.com/patent/US10504314B2

## CPC

- G07C 13/00: Voting apparatus
- G06F 21/602: {Providing cryptographic facilities or services}
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/088: {Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms (network architectures or network communication protocols for using time-dependent keys in a packet data network H04L63/068)}
- H04L 9/30: Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L 9/3066: {involving algebraic varieties, e.g. elliptic or hyper-elliptic curves}
- H04L 9/32: including means for verifying the identity or authority of a user of the system {or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials}
- G06Q 2220/00: Business processing using cryptography
- G06Q 2230/00: Voting or election arrangements
- H04L 9/3236: {using cryptographic hash functions}
- H04L 2209/463: Electronic voting
- G07C: TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A system may facilitate distributed ledger technology (DLT) record based (for example, blockchain-based) voting. A node configured to support a voter role may access a DLT record to determine answers and/or parameters for a ballot. An organizer of the ballot may provide the voter with a voter token that confers vote-value to the voter. The voter may distribute the vote-value to the answers using committed tokens that bind the voter to a particular vote-value without divulging the particular vote value while in a cryptographic form. The voter may distribute committed tokens to multiple answers. In some cases, the distribution of the committed tokens to multiple answers may frustrate attempts to determine the one or more targets to which the voter delivers a non-null vote-value.

## Claims

### Claim 1

A cryptographic voting method including:
obtaining a ballot established on a distributed ledger,
the ballot designating answers with corresponding answer identifiers;
receiving, a voter token, the voter token conferring a voter vote-value to a voter, the voter token received responsive to a transaction on the distributed ledger, and the transaction addressed to a voter identifier of the voter;
determining a target committed vote-value to assign to a target answer of the answers, the target committed vote-value including at least a portion of the voter vote-value;
generating a target committed token,
the target committed token configured to bind the voter to the target committed vote-value without revealing the target committed vote-value while in a cryptographic form;
requesting a first transaction on the distributed ledger,
the first transaction transferring the target committed token to the corresponding answer identifier of the target answer;
determining a completion committed vote-value to assign to a second answer of the answers,
the completion committed vote-value including:
a null, or
another portion of the voter vote-value;
generating a completion committed token configured to:
bind the voter to the completion committed vote-value without revealing the completion committed vote-value while in the cryptographic form; and
requesting a second transaction on the distributed ledger, and
the second transaction transferring the completion committed token to the corresponding answer identifier of the second answer.

### Claim 2 (depends on 1)

The cryptographic voting method of claim 1, where the first and second transactions include the same transaction.

### Claim 3 (depends on 1)

The cryptographic voting method of claim 1, where:
the completion committed vote-value includes a null; and
requesting the second transaction includes obfuscating a transfer of at least the portion of the vote-value transferred to the target answer.

### Claim 4 (depends on 1)

The cryptographic voting method of claim 1, where
the voter identifier is associated with a public key of the voter; and
the method further comprises using the public key to digitally sign the target committed token using a private key paired with the public key.

### Claim 5 (depends on 1)

The cryptographic voting method of claim 1, further including deducting the target committed vote-value and the completion vote-value from the voter vote-value.

### Claim 6 (depends on 5)

The cryptographic voting method of claim 5, where deducting the completion vote-value includes producing a resultant null voter vote-value.

### Claim 7 (depends on 1)

The cryptographic voting method of claim 1, further including sending a rest token back to the voter, the rest token including a remainder vote-value after the second transaction.

### Claim 8 (depends on 1)

The cryptographic voting method of claim 1, where generating the target committed token includes:
applying the target committed vote value to an amount point on an elliptic curve to generate an amount term;
applying a random blinding value to a blinding point on the elliptic curve to generate a blinding term; and
combining the amount term and the blinding term.

### Claim 9 (depends on 8)

The cryptographic voting method of claim 8, further including selecting the blinding point by applying a hash function to the amount point.

### Claim 10 (depends on 1)

The cryptographic voting method of claim 1, further including generating a range-proof token, the range-proof token configured to, when compared to the target committed token, establish that the target committed vote-value is within an allowed range for the ballot.

### Claim 11

A cryptographic voting method including:
accessing a ballot established on a blockchain,
the ballot designating multiple answers with corresponding answer identifiers;
determining a vote-value distribution to assign to the multiple answers,
the vote-value distribution distributing a voter vote-value received within a voter token;
generating a committed token for each of the multiple answers,
the committed tokens configured to bind a voter to the vote-value distribution without revealing individual committed vote-values within individual committed tokens of the committed tokens while the committed tokens are in a cryptographic form, and
at least one of the committed tokens including a null vote-value; and
requesting a transaction on the blockchain transferring the committed tokens to the multiple answers,
where transferring at least one of the committed tokens including the null vote-value obfuscates the vote-value distribution.

### Claim 12 (depends on 11)

The cryptographic voting method of claim 11, where generating the committed token for each of the multiple answers includes:
applying the individual committed vote-values to an amount point on an elliptic curve to generate individual amount terms;
applying random blinding values to a blinding point on the elliptic curve to generate individual blinding terms; and
combining the individual amount terms and the individual blinding terms.

### Claim 13 (depends on 12)

The cryptographic voting method of claim 12, further including selecting the blinding point by applying a hash function to the amount point.

### Claim 14 (depends on 11)

The cryptographic voting method of claim 11, further including:
generating a rest token configured to transfer a remainder vote-value; and
requesting the transaction on the blockchain further includes requesting a transfer of the rest token back to the voter.

### Claim 15

A cryptographic voting system, including:
network interface circuitry configured to:
obtain a ballot established on a distributed ledger,
the ballot designating answers with corresponding answer identifiers; and
receive, a voter token, the voter token conferring a voter vote-value to a voter, the voter token received responsive to a transaction on the distributed ledger addressed to a voter identifier of the voter;
cryptologic voting circuitry in communication with the network interface circuitry, the cryptologic voting circuitry configured to:
determine a target committed vote-value to assign to a target answer of the answers,
the target committed vote-value including at least a portion of the voter vote-value;
generate a target committed token,
the target committed token configured to bind the voter to the target committed vote-value without revealing the target committed vote-value while in a cryptographic form;
using a cryptographic key associated with the voter identifier,
request a first transaction on the distributed ledger transferring the target committed token to the corresponding answer identifier of the target answer;
determine a completion committed vote-value to assign to a second answer of the answers,
the completion committed vote-value including a null or another portion of the voter vote-value;
generate a completion committed token configured to bind the voter to the completion committed vote-value without revealing the completion committed vote-value while in the cryptographic form; and
using the cryptographic key associated with the voter identifier, request a second transaction on the distributed ledger transferring the completion committed token to the corresponding answer identifier of the second answer.

### Claim 16 (depends on 15)

The cryptographic voting system of claim 15, where the first and second transactions includes the same transaction.

### Claim 17 (depends on 15)

The cryptographic voting system of claim 15, where:
the completion committed vote-value includes a null; and
the cryptologic voting circuitry is configured to request the second transaction by obfuscating a transfer of at least the portion of the vote-value transferred to the target answer.

### Claim 18 (depends on 15)

The cryptographic voting system of claim 15, where
the voter identifier includes a public key of the voter; and
the cryptologic voting circuitry is configured to use the cryptographic key by digitally signing the target committed token using a private key paired with the public key.

### Claim 19 (depends on 15)

The cryptographic voting system of claim 15, the cryptologic voting circuitry is further configured to deduct the target committed vote-value and the completion vote-value from the voter vote-value.

### Claim 20 (depends on 19)

The cryptographic voting system of claim 19, where the cryptologic voting circuitry is configured to deduct the completion vote-value by producing a resultant null voter vote-value.
