Voting system and voting method
The described voting system employs secret sharing, distributed storage, and secure calculations with blockchain technology to securely analyze votes and prevent fraud, maintaining confidentiality in electronic voting.
Patent Information
- Application Number
- JP2023506675
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-19
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2041-03-19
AI Technical Summary
There is a need for secure electronic voting systems that can prevent fraud and maintain the secrecy of voting information in electronic voting processes.
A voting system utilizing secret sharing, distributed storage of shares, blockchain processing, and secure calculations to record and analyze votes while maintaining secrecy, using methods like multi-party computation (MPC) and blockchain technology to ensure tamper-resistance.
The system effectively prevents voting fraud and allows secure analysis of votes while keeping voting information confidential, ensuring the integrity of electronic voting processes.
Smart Images

Figure 0007605291000001 
Figure 0007605291000002 
Figure 0007605291000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a voting system and a voting method. [Background technology]
[0002] There are known technologies for conducting electronic voting. For example, Patent Document 1 discloses a tallying system that makes it possible to disclose a vote distribution in which the correspondence between candidates and their votes is kept secret. This tallying system employs a configuration in which, instead of disclosing a list of decrypted plaintexts, a list of converted and decrypted results is disclosed, and further, information (converted and decrypted result proof data) that can verify that the converted and decrypted results are correct is disclosed without using the list of decrypted plaintexts. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] International Publication No. 2009 / 014215 Summary of the Invention [Problem to be solved by the invention]
[0004] In recent years, the use of ICT (Information and Communication Technology) in social activities has been gaining momentum, and there is a demand for new systems for electronic voting.
[0005] Therefore, one of the objectives that the embodiments disclosed in this specification aim to achieve is to provide a voting system and a voting method that can perform electronic voting securely. [Means for solving the problem]
[0006] A voting system according to a first aspect of the present disclosure includes: a secret sharing means for generating a plurality of shares from the voting information by secret sharing; a plurality of share storage means for distributing and storing the plurality of shares; A first blockchain processing means for transmitting transaction data of a vote performed using the voting information to a node that manages the blockchain in order to record the transaction data in the blockchain; a secure computation means for performing a secure computation for analyzing the votes using the distributed and stored shares; It is equipped with:
[0007] In the voting method according to the second aspect of the present disclosure, Generate multiple shares from the voting information by secret sharing, Distributing and storing the plurality of shares; Transmitting transaction data of a vote performed using the voting information to a node that manages the blockchain in order to record the transaction data in the blockchain; The distributed stored shares are used to perform secret computations to analyze the votes. Effect of the Invention
[0008] According to the present disclosure, it is possible to provide a voting system and a voting method that can perform electronic voting securely. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a block diagram showing an example of a configuration of a voting system according to an embodiment. [Diagram 2] FIG. 1 is a schematic diagram showing an example of a configuration of a voting system according to an embodiment; [Diagram 3] 2 is a block diagram showing an example of a functional configuration of a voter terminal. FIG. [Figure 4] FIG. 2 is a block diagram showing an example of a functional configuration of a calculation server. [Diagram 5] 3 is a block diagram showing an example of a functional configuration of an administrator terminal; FIG. [Figure 6]1 is a sequence chart showing an example of the flow of operations of a voting system according to an embodiment; [Figure 7] FIG. 2 is a block diagram showing an example of a configuration of a computer. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] <Outline of the embodiment> Before describing the details of the embodiment, an outline of the embodiment will be described first. FIG. 1 is a block diagram showing an example of the configuration of a voting system 1 according to the outline of the embodiment. As shown in FIG. 1, the voting system 1 includes a secret sharing unit 2, a share storage unit 3, a blockchain processing unit 4, and a secure calculation unit 5.
[0011] The secret sharing unit 2 generates multiple shares (also called shared information) from the voting information by secret sharing. That is, one voting information is divided into N shares (shared information) (N is an integer equal to or greater than 2). Here, the original voting information cannot be restored from one share, but the voting information can be restored by collecting M shares (M is an integer equal to or greater than 2 and equal to or less than N) out of the N shares.
[0012] The voting system 1 has multiple share storage units 3. The multiple share storage units 3 distribute and store multiple shares generated by the secret distribution unit 2. When N shares are generated for one piece of voting information, the voting system 1 has, for example, N share storage units 3, but the shares may be stored in more than N share storage units 3, or the shares may be stored in fewer than N share storage units 3.
[0013] The blockchain processing unit 4 transmits transaction data of a vote performed using the voting information to a node that manages the blockchain in order to record the transaction data in the blockchain. This node is a node that constitutes a blockchain network. As a result, the node performs a process of recording the transaction data in the blockchain. The transaction data recorded in the blockchain is an arbitrary history of a voting act using the voting information. For example, the transaction data recorded in the blockchain may include data that identifies a voter, may include data that represents the content of the vote, or may include data that represents the date and time of the vote. The blockchain is an information group in which blocks, which are a collection of transaction data, are linked, and is ledger information that is managed in a distributed manner on a network. A blockchain with such characteristics is generally guaranteed to be tamper-resistant. By recording the transaction data of the vote in the blockchain, it is possible to prevent fraudulent voting.
[0014] The secure computation unit 5 performs secure computation for analyzing votes by using the distributed and stored shares. For example, the secure computation unit 5 performs the secure computation by performing multi-party computation (MPC).
[0015] The voting system 1 having such a configuration can prevent fraudulent voting and can analyze the votes while keeping the voting information secret. Therefore, the voting system 1 can implement electronic voting securely.
[0016] Next, the details of the embodiment will be described. FIG. 2 is a schematic diagram showing an example of the configuration of a voting system 10 according to an embodiment. The voting system 10 is a system that accepts votes from voters and analyzes the voting results. As an example, the voting system 10 shown in FIG. 2 includes voter terminals 100_1, 100_2, . . . , 100_N1, a calculation server group 200, an administrator terminal 300, and a blockchain network 400. In addition to the voting system 10, in FIG. 2, voters 90_1, 90_2, . . . , 90_N1 and an administrator 91 are also shown in order to facilitate understanding. In the following description, when the voter terminals 100_1, 100_2, . . . , 100_N1 are referred to without any particular distinction, they are referred to as voter terminals 100, and when the voters 90_1, 90_2, . . . , 90_N1 are referred to without any particular distinction, they are referred to as voters 90.
[0017] The blockchain network 400 is a network composed of nodes 401_1, 401_2, ..., 401_N2 that manage the blockchain, and may be provided as a cloud service, for example. In the following description, when the nodes 401_1, 401_2, ..., 401_N2 are mentioned without any particular distinction, they are referred to as nodes 401. Each node 401 is a node that constitutes the blockchain network 400, and is a server that shares the blockchain and performs recording processing of transaction data in the blockchain. The node 401 receives transaction data to be written in the blockchain from another device (for example, the voter terminal 100 or the administrator terminal 300) and performs recording processing in the blockchain.
[0018] The voter terminal 100 is a terminal device used by the voter 90 for voting, and is, for example, a smartphone, a tablet terminal, a personal computer, etc. Each voter 90 casts a vote using each voter terminal 100. That is, a voter 90_i (where 1≦i≦N1) casts a vote using a voter terminal 100_i. FIG. 3 is a block diagram showing an example of the functional configuration of the voter terminal 100. As shown in FIG. 3, the voter terminal 100 has an authentication unit 110, a voting information generation unit 120, a secret distribution unit 130, a share storage processing unit 140, and a blockchain processing unit 150.
[0019] The authentication unit 110 authenticates the voter 90 using personal information of the voter 90. The personal information is information input to the voter terminal 100, and may be, for example, biometric information of the voter 90. Note that this biometric information is, for example, but is not limited to, facial features, fingerprint features, iris features, etc. of the voter 90. Although the convenience of authentication can be improved by using biometric information, the authentication unit 110 may also perform authentication using personal information such as the voter 90's ID and password. Furthermore, the authentication unit 110 may perform authentication by transmitting personal information to an authentication server (not shown) and receiving an authentication result from the authentication server.
[0020] The voting information generating unit 120 generates voting information according to an input operation from the voter 90. For example, the voter 90 performs an input operation to select the voting contents via an input device provided in the voter terminal 100. In this way, the voting contents are determined. Here, the voting contents are not limited to the selection of a specific person from among candidates such as a mayor or a council member, and may be the selection of options (for example, yes or no) in a predetermined opinion poll. The voting information generating unit 120 generates data including the determined voting contents as voting information. Note that the voting information generating unit 120 may generate voting information including not only the voting contents but also various other information. In this embodiment, the voting information generating unit 120 generates voting information including, for example, the voting contents and information representing the attributes of the voter 90. Here, the information representing the attributes of the voter 90 may be, for example, information representing the gender of the voter 90, information representing the age, or information representing the affiliation. Note that these are merely examples, and other information may be used as the information representing the attributes. Furthermore, the voting information may include information indicating the date and time when the voting information was generated, and may include information identifying the voter 90. In this embodiment, the voting information generating unit 120 generates the voting information when the authentication unit 110 has succeeded in authenticating the voter 90. This makes it possible to correctly identify the voter 90.
[0021] The secret sharing unit 130 corresponds to the secret sharing unit 2 in Fig. 1, and encrypts the voting information generated by the voting information generation unit 120 using a secret sharing method. That is, the secret sharing unit 130 performs secret sharing processing on the voting information according to a predetermined secret sharing method, and generates a plurality of shares from this voting information. For example, the secret sharing unit 130 may use AONT (All or Nothing Transformation) as the secret sharing method. However, this is merely an example, and the secret sharing unit 130 may perform secret sharing processing using other secret sharing methods.
[0022] Generally, in the secret sharing scheme, the original data cannot be restored from one of the generated shares, but the original data can be restored by collecting a predetermined number of shares. Therefore, by distributing and storing the generated multiple shares, data leakage can be prevented. In this embodiment, the share storage processing unit 140 distributes and stores the shares generated from one piece of voting information in three servers, namely, the calculation servers 201A, 201B, and 201C, which will be described later. Therefore, the share storage processing unit 140 distributes and transmits the generated multiple shares to the calculation servers 201A, 201B, and 201C, and stores them in a distributed manner in each of the share storage units 210 provided in the calculation servers 201A, 201B, and 201C. This makes it possible to prevent leakage of the voting information. Note that, in this embodiment, the secret sharing process is performed by the terminal device used by the voter 90 to generate the voting information. That is, the secret sharing is performed before the voting information is transmitted from this terminal device (i.e., the voter terminal 100) to another device. This makes it possible to prevent leakage of voting information during transmission, thereby providing a more secure system compared to a system in which secret sharing is performed after transmission to other devices.
[0023] The blockchain processing unit 150 corresponds to the blockchain processing unit 4 in Fig. 1, and transmits the transaction data of the vote to the node 401 that manages the blockchain in order to record the transaction data in the blockchain. Specifically, for example, the blockchain processing unit 150 generates the transaction data of the vote and broadcasts the generated transaction data to the blockchain network 400. That is, the blockchain processing unit 150 transmits the transaction data to each node 401 that constitutes the blockchain network 400. The broadcasted transaction data is processed by the node 401 and added to the blockchain as a block including one or more transaction data.
[0024] The blockchain processing unit 150 may generate data including the following information as transaction data. For example, the blockchain processing unit 150 may generate transaction data including data for identifying the voter 90, data representing the voting content, and data representing the date and time of the execution of the vote. The blockchain processing unit 150 may generate transaction data including only a part of these data. For example, the blockchain processing unit 150 may generate transaction data including only the data for identifying the voter 90, or may generate transaction data including the data for identifying the voter 90 and data representing the date and time of the execution of the vote. The data for identifying the voter 90 may be any data that can identify the voter 90, and may be the name or ID of the voter 90. The date and time of the execution of the vote may be, specifically, the date and time of the generation of the voting information, or the date and time of the transmission of the voting information to the blockchain network 400.
[0025] Furthermore, when cancellation of a previously cast vote is permitted, the blockchain processing unit 150 may generate transaction data including data related to the cancellation of the vote and transmit it to the blockchain network 400. Here, the data related to the cancellation of the vote may be, for example, any one of data identifying the person who performed the cancellation, data specifying the vote to be cancelled, and data indicating the date and time of the cancellation, or any combination of these. Note that the blockchain processing unit 150 regards the user who is identified by authentication by the authentication unit 110 as the person who performed the cancellation. Furthermore, when re-voting is permitted, the blockchain processing unit 150 may generate transaction data of the re-voting and transmit it to the blockchain network 400.
[0026] The blockchain processing unit 150 may calculate a hash value of the data to be recorded as transaction data, and use this hash value as the transaction data. Although some examples of data to be included as transaction data have been given, these are merely examples, and other data may be included in the transaction data. For example, information indicating the attributes of the voter 90 may be included in the transaction data. In this way, by generating transaction data that includes various data, it is possible to record various voting histories on the blockchain.
[0027] Next, the calculation server group 200 will be described. The calculation server group 200 is a server group that distributes and stores shares generated by the secret sharing process and performs secure calculation using the distributed and stored shares. In this embodiment, the calculation server group 200 includes three calculation servers, 201A, 201B, and 201C. The calculation servers 201A, 201B, and 201C may be servers managed by different organizations (for example, a local government, an election management committee, a third-party organization, etc.). Hereinafter, when the calculation servers 201A, 201B, and 201C are mentioned without any particular distinction, they are referred to as the calculation server 201. FIG. 4 is a block diagram showing an example of the functional configuration of the calculation server 201. As shown in FIG. 4, each calculation server 201 has a share storage unit 210 and a secure calculation unit 220.
[0028] 1, and is a storage that stores shares generated by the secret sharing unit 130 of the voter terminal 100. As described above, multiple shares generated for one piece of voting information are distributed and stored in the share storage unit 210 of each calculation server 201.
[0029] The secure computation unit 220 corresponds to the secure computation unit 5 in FIG. 1, and performs secure computation for analyzing votes using shares stored in the share storage unit 210. In this embodiment, each of the secure computation units 220 of the computation servers 201A, 201B, and 201C performs multi-party computation (MPC) in cooperation with the secure computation units 220 of the other computation servers 201. In this embodiment, the secure computation unit 220 performs secure computation in response to a request from the administrator terminal 300, and transmits the secure computation result to the administrator terminal 300. The secure computation result transmitted by each of the secure computation units 220 is a secretly shared computation result. Therefore, the final computation result can be obtained by collecting the secure computation results transmitted by each of the secure computation units 220 and performing a decryption process.
[0030] Next, the administrator terminal 300 will be described. The administrator terminal 300 is a terminal device used by an administrator 91, such as an election administrator, to obtain analysis results of votes from multiple voters, and is, for example, a smartphone, a tablet terminal, a personal computer, etc. FIG. 5 is a block diagram showing an example of the functional configuration of the administrator terminal 300. As shown in FIG. 5, the administrator terminal 300 has an authentication unit 310, a calculation instruction unit 320, a calculation result decryption unit 330, an output unit 340, and a blockchain processing unit 350.
[0031] The authentication unit 310 authenticates the administrator 91 using personal information of the administrator 91. This personal information is information input to the administrator terminal 300, and may be, for example, biometric information of the administrator 91. Note that this biometric information is, for example, but is not limited to, facial features, fingerprint features, and iris features of the administrator 91. The authentication unit 310 may perform authentication using personal information such as the ID and password of the administrator 91. Furthermore, the authentication unit 310 may perform authentication by transmitting personal information to an authentication server (not shown) and receiving an authentication result from the authentication server.
[0032] The calculation instruction unit 320 instructs the calculation server 201 to execute secure calculation according to the specified analysis in order to perform the analysis specified by the input operation from the administrator 91. That is, the calculation instruction unit 320 instructs the calculation server 201 to execute secure calculation for analyzing the vote in response to the input operation from the administrator 91. In other words, the calculation instruction unit 320 transmits a request for executing secure calculation to the calculation server 201. The secure calculation for analyzing the vote may be a statistical process using the voting information. That is, the secure calculation unit 220 of the calculation server 201 may calculate a statistical process result using the voting information as the secure calculation result. For example, the number of votes for each option (each candidate) may be calculated. In particular, when the voting information includes information representing the attributes of the voter 90, the secure calculation for analyzing the vote may be a statistical process related to the attributes. That is, in this case, the secure calculation unit 220 of the calculation server 201 may calculate statistical data related to the attributes of the voter 90. For example, the distribution of ages, age groups, or genders of the voters 90 who voted for each option may be calculated, or the distribution of voting options by age, age group, or gender may be calculated. In this embodiment, the calculation instruction unit 320 instructs the calculation server 201 to execute secure calculation when the authentication unit 310 has successfully authenticated the administrator 91. This makes it possible to correctly identify the user who instructed the execution of secure calculation.
[0033] The calculation result decryption unit 330 obtains the result of the secret calculation performed based on the instruction by the calculation instruction unit 320 from each calculation server 201, and performs a decryption process. The calculation result decryption unit 330 performs a decryption process according to a predetermined secret sharing method (e.g., AONT) used by the secret sharing unit 130 of the voter terminal 100, and obtains a final calculation result (vote analysis result).
[0034] The output unit 340 outputs the final calculation result obtained by the calculation result decryption unit 330, i.e., the vote analysis result. The output unit 340 may output the final calculation result to a display connected to the administrator terminal 300, or may transmit the final calculation result to another device, for example.
[0035] In order to record transaction data regarding the execution of secure computation in the blockchain, the blockchain processing unit 350 transmits the transaction data to the node 401 that manages the blockchain. Specifically, for example, the blockchain processing unit 350 generates transaction data regarding the execution of secure computation and broadcasts the generated transaction data to the blockchain network 400. That is, the blockchain processing unit 350 transmits transaction data to each node 401 that constitutes the blockchain network 400. The broadcasted transaction data is processed by the node 401 and added to the blockchain as a block including one or more pieces of transaction data.
[0036] The blockchain processing unit 350 may generate data including the following information as transaction data. For example, the blockchain processing unit 350 may generate transaction data including data for identifying the user (administrator 91) who instructed the execution of the secure computation, data representing the analysis content obtained by the execution of the secure computation, and data representing the execution date and time of the secure computation. The blockchain processing unit 350 may generate transaction data including only a part of these data. For example, the blockchain processing unit 350 may generate transaction data including only data for identifying the user, or may generate transaction data including data for identifying the user and data representing the execution date and time of the secure computation. The data for identifying the user may be any data that can identify the user, and may be the user's name or ID. The execution date and time of the secure computation may be, specifically, the instruction date and time by the calculation instruction unit 320, the decryption date and time by the calculation result decryption unit 330, or the output date and time by the output unit 340.
[0037] The blockchain processing unit 350 may calculate a hash value of the data to be recorded as transaction data, and use this hash value as the transaction data. Although some examples of data to be included as transaction data have been given, these are merely examples, and other data may be included in the transaction data. In this way, by generating transaction data including various data, it becomes possible to record various histories regarding the execution of analysis in the blockchain.
[0038] Next, a description will be given of the flow of operations in the voting system 10. Fig. 6 is a sequence chart showing an example of the flow of operations in the voting system 10. The flow of operations will be described below with reference to the sequence chart shown in Fig. 6.
[0039] In step S100, the authentication unit 110 of the voter terminal 100 authenticates the voter 90. If the authentication is successful, the voting information generating unit 120 of the voter terminal 100 generates voting information according to the input operation from the voter 90 in step S101. Next, in step S102, the secret sharing unit 130 of the voter terminal 100 generates a plurality of shares from the voting information generated in step S101 by secret sharing. Next, in step S103, the share storage processing unit 140 of the voter terminal 100 distributes and stores the multiple shares generated in step S102 in the three calculation servers 201A, 201B, and 201C. As a result, in step S104, the shares are stored in the share storage units 210 of the calculation servers 201A, 201B, and 201C. In step S105, the blockchain processing unit 150 of the voter terminal 100 generates vote transaction data and broadcasts the generated transaction data to the blockchain network 400.
[0040] The processes from step S100 to step S105 are performed in the voter terminal 100 of each voter. As a result, the share storage unit 210 of the calculation server 201 stores the shares of voting information transmitted from the voter terminals 100 of multiple voters.
[0041] Thereafter, in step S106, the authentication unit 310 of the administrator terminal 300 authenticates the administrator 91. If the authentication is successful, in step S107, the calculation instruction unit 320 of the administrator terminal 300 instructs the calculation server 201 to perform secure calculation for analyzing the votes, in response to an input operation from the administrator 91. In response to this instruction, in step S 108 , the secure computation unit 220 of each computation server 201 executes secure computation using the shares stored in the share storage unit 210 . Then, in step S109, the secure computation unit 220 of each computation server 201 transmits the result of the secure computation to the administrator terminal 300. Next, in step S110, the calculation result decryption unit 330 of the administrator terminal 300 performs a decryption process on the obtained result of the secure calculation, and obtains the analysis result of the vote. Next, in step S111, the output unit 340 of the manager terminal 300 outputs the analysis result obtained in step S110. Next, in step S112, the blockchain processing unit 350 of the administrator terminal 300 generates transaction data regarding the execution of the secure computation, and broadcasts the generated transaction data to the blockchain network 400.
[0042] The above describes the flow of operations of the voting system 10, but the above-mentioned operations are merely examples and can be modified in various ways. For example, the timing of recording transaction data to the blockchain is not limited to the timing shown in FIG. 6 and can be changed to any timing.
[0043] The above describes the embodiment. In the voting system 10 according to the embodiment, the voting information is distributed and stored through secret sharing processing. Then, the analysis of the vote is performed by secret calculation. Furthermore, the history is recorded in the blockchain. Therefore, according to the voting system 10, it is possible to suppress fraud regarding the vote, and to analyze the vote while keeping the voting information secret. Therefore, according to the voting system 10, electronic voting can be performed securely. Note that various modifications are possible to the above-mentioned embodiment. For example, each calculation server 201 may play the role of a node 401 of the blockchain network 400. That is, for example, the storage of the calculation server 201 may store the blockchain, and the calculation server 201 may perform a recording process of transaction data to the blockchain. In addition, when data loss occurs for the shares stored in the share storage unit 210, the calculation server 201 may perform data recovery according to a predetermined secret sharing algorithm (for example, AONT). In addition, in the present embodiment, the voting system 10 includes three calculation servers 201, but the number of calculation servers 201 may be more than one, and is not limited to three.
[0044] In addition, the processing of the voter terminal 100, the calculation server 201, the administrator terminal 300, or the node 401 can be realized by a hardware circuit, or, for example, by having a computer processor execute a computer program.
[0045] 7 is a block diagram showing an example of a configuration of a computer 500 that realizes the processing of the voter terminal 100, the calculation server 201, the administrator terminal 300, or the node 401. As shown in FIG. 7, the computer 500 includes a network interface 501, a memory 502, and a processor 503.
[0046] The network interface 501 is used to communicate with any other device. The memory 502 is configured, for example, by a combination of a volatile memory and a non-volatile memory. The memory 502 is used to store software (computer programs) including one or more instructions to be executed by the processor 503.
[0047] The processor 503 reads out software (computer programs) from the memory 502 and executes them to perform processing of the voter terminal 100, the calculation server 201, the administrator terminal 300, or the node 401.
[0048] The processor 503 may be, for example, a microprocessor, a microprocessor unit (MPU), a central processing unit (CPU), etc. The processor 503 may include multiple processors.
[0049] The above-mentioned program can be stored and supplied to a computer using various types of non-transitory computer readable media. The non-transitory computer readable medium includes various types of tangible storage media. Examples of the non-transitory computer readable medium include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROM (Read Only Memory), CD-R, CD-R / W, and semiconductor memory (e.g., mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)). The program may also be supplied to a computer by various types of transitory computer readable media. Examples of the transitory computer readable medium include electric signals, optical signals, and electromagnetic waves. The transitory computer readable medium can supply the program to a computer via a wired communication path such as an electric wire and an optical fiber, or via a wireless communication path.
[0050] Although the present invention has been described above with reference to the embodiment, the present invention is not limited to the above. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the invention.
[0051] A part or all of the above-described embodiments can be described as, but is not limited to, the following supplementary notes. (Appendix 1) a secret sharing means for generating a plurality of shares from the voting information by secret sharing; a plurality of share storage means for distributing and storing the plurality of shares; A first blockchain processing means for transmitting transaction data of a vote performed using the voting information to a node that manages the blockchain in order to record the transaction data in the blockchain; a secure computation means for performing a secure computation for analyzing the votes using the distributed and stored shares; A voting system with (Appendix 2) The processing of the secret sharing means is performed by a terminal device that a voter uses to generate the voting information. 2. A voting system as described in Appendix 1. (Appendix 3) An authentication means for authenticating a voter using personal information of the voter; a voting information generating means for generating the voting information according to an input operation from the voter when the authentication of the voter is successful; 3. The voting system according to claim 1 or 2, further comprising: (Appendix 4) The personal information is the voter's biometric information. 2. A voting system as described in Appendix 3. (Appendix 5) The transaction data recorded on the blockchain includes data identifying a voter. A voting system according to any one of claims 1 to 4. (Appendix 6) The transaction data recorded on the blockchain further includes data representing voting details. 6. A voting system as described in Appendix 5. (Appendix 7) The transaction data recorded on the blockchain further includes data representing the date and time of the execution of the vote. 7. A voting system according to claim 5 or 6. (Appendix 8) The transaction data recorded on the blockchain includes data regarding the revocation of the vote. A voting system as described in any one of appendix 1 to 7. (Appendix 9) The second blockchain processing means transmits transaction data regarding the execution of the secure computation to the node in order to record the transaction data in the blockchain. A voting system as described in any one of appendix 1 to 8. (Appendix 10) The transaction data regarding the execution of the secure computation recorded in the blockchain includes data for identifying a user who instructed the execution of the secure computation. 7. A voting system as described in Appendix 9. (Appendix 11) The transaction data regarding the execution of the secure computation recorded in the blockchain further includes data representing analysis results obtained by the execution of the secure computation. 11. A voting system as described in claim 10. (Appendix 12) The transaction data regarding the execution of the secure computation recorded in the blockchain further includes data indicating the date and time of the execution of the secure computation. 12. The voting system according to claim 10 or 11. (Appendix 13) The voting information includes information representing attributes of voters, The secret calculation means calculates statistical data regarding the attributes. A voting system according to any one of claims 1 to 12. (Appendix 14) Generate multiple shares from the voting information by secret sharing, Distributing and storing the plurality of shares; Transmitting transaction data of a vote performed using the voting information to a node that manages the blockchain in order to record the transaction data in the blockchain; Using the distributed and stored shares, perform a secret computation to analyze the votes. How to vote. [Explanation of symbols]
[0052] 1. Voting System 2 Secret Sharing Department 3 Share memory section 4 Blockchain processing section 5 Secret Computing Department 10 Voting System 90 voters 91 Administrator 100 Voter Terminals 110 Authentication Section 120 Voting information generation section 130 Secret Sharing Department 140 Share memory processing unit 150 Blockchain Processing Unit 200 Calculation Servers 201 Calculation Server 210 Share Memory Unit 220 Secret Computing Department 300 Administrator terminal 310 Authentication Department 320 Calculation instruction section 330 Calculation result decryption unit 340 Output section 350 Blockchain Processing Unit 400 Blockchain Networks 401 Node 500 Computers 501 Network Interface 502 Memory 503 Processor
Claims
1. a secret sharing means for generating a plurality of shares from the voting information by secret sharing; a plurality of share storage means for distributing and storing the plurality of shares; A first blockchain processing means for transmitting transaction data of a vote performed using the voting information to a node that manages the blockchain in order to record the transaction data in the blockchain; a secure computation means for performing a secure computation for analyzing the votes using the shares stored in a distributed manner; a second block chain processing means for transmitting transaction data regarding the execution of the secure computation to the node in order to record the transaction data in the block chain; A voting system with
2. The processing of the secret sharing means is performed by a terminal device that a voter uses to generate the voting information. The voting system of claim 1 .
3. An authentication means for authenticating a voter using personal information of the voter; a voting information generating means for generating the voting information according to an input operation from the voter when the authentication of the voter is successful; The voting system according to claim 1 or 2, further comprising:
4. The personal information is the voter's biometric information. The voting system of claim 3.
5. The transaction data of the vote recorded on the blockchain includes data identifying the voter. A voting system according to any one of claims 1 to 4.
6. The transaction data of the vote recorded in the blockchain further includes data representing the vote content. The voting system of claim 5.
7. The transaction data of the vote recorded on the blockchain further includes data representing the date and time of the execution of the vote.
7. A voting system according to claim 5 or 6.
8. The transaction data of the vote recorded on the blockchain includes data regarding the revocation of the vote. A voting system according to any one of claims 1 to 7.
9. The transaction data regarding the execution of the secure computation recorded in the blockchain includes data for identifying a user who instructed the execution of the secure computation. A voting system according to any one of claims 1 to 8.
10. The transaction data regarding the execution of the secure computation recorded in the blockchain further includes data representing analysis results obtained by the execution of the secure computation. The voting system of claim 9.
11. The transaction data regarding the execution of the secure computation recorded in the blockchain further includes data indicating the date and time of the execution of the secure computation.
11. A voting system according to claim 9 or 10.
12. The voting information includes information representing attributes of voters, The secret calculation means calculates statistical data regarding the attributes. A voting system according to any one of claims 1 to 11.
13. Generate multiple shares from the voting information by secret sharing, Distributing and storing the plurality of shares; Transmitting transaction data of a vote performed using the voting information to a node that manages the blockchain in order to record the transaction data in the blockchain; performing a secret computation using the distributed stored shares to analyze the votes; Sending transaction data regarding the execution of the secure computation to the node in order to record the transaction data in the blockchain. How to vote.
Citation Information
Patent Citations
System and apparatus of public telephone for vote, and center apparatus for election management and vote counting
JP2003099557A
Electronic voting method and system, voter device and manager device and tabulator device, electronic voting program and storage medium with its program stored
JP2004013606A
Electronic voting system, voting data generating server, terminal equipment, tabulation server and computer program
JP2004192029A
Questionnaire aggregation method, questionnaire system, server device, and client device
JP2011248436A
Electronic voting system
JP2018101380A
