Blockchain-based voting management method, system, device and storage medium
By using blockchain technology to verify the identity of voting users and store voting results, the problems of vote counting tampering and fake votes in traditional voting are solved, and fair, just and transparent voting management is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA MOBILE ZIJIN INNOVATION INST CO LTD
- Filing Date
- 2023-11-14
- Publication Date
- 2026-06-05
Smart Images

Figure CN117576824B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of blockchain technology, and in particular to a blockchain-based voting management method, system, device, and storage medium. Background Technology
[0002] In traditional voting processes, there is a risk that vote counting staff may tamper with ballots or add fake ballots during the counting process, and the vote counters may also choose to publish incorrect results under the influence of third-party organizations.
[0003] The existing voting system fails to achieve transparency and guarantees fairness and impartiality. Therefore, providing a highly credible voting method has become an urgent problem to be solved. Summary of the Invention
[0004] The main objective of this invention is to provide a blockchain-based voting management method, system, device, and storage medium, addressing the technical problem of how to provide a highly credible voting method.
[0005] To achieve the above objectives, this invention provides a blockchain-based voting management method. This method is executed by a voting management system applied to a blockchain voting management architecture that includes an identity verification authority. The method includes:
[0006] When a voting user sends a first voting request, a verification instruction is sent to the identity verification agency. When the identity verification agency determines that the voting user has voting rights based on the first smart contract and the verification instruction, it sends a login password to the voting user.
[0007] When it is detected that the voting user sends a second voting request based on the login password, verify whether the voting user is eligible to vote;
[0008] If so, then obtain the voting results of the voting user;
[0009] Voting information is generated based on the voting results of the voting users, and the voting information is stored in the target blockchain.
[0010] Optionally, the step of verifying whether the voting user is eligible to vote when it is detected that the voting user has sent a second voting request based on the login password includes:
[0011] When it is detected that the voting user sends a second voting request based on the login password, the identity identifier of the voting user is obtained;
[0012] Obtain the transaction hash corresponding to the voting user based on the identity identifier;
[0013] The transaction hash is used to verify whether the voting user is eligible to vote.
[0014] Optionally, a preset number of voting credentials may be assigned to the voting user based on the identity identifier;
[0015] The corresponding target voting options are sent to the voting users based on the second smart contract;
[0016] The voting results determined by the voting user based on the voting credentials and the target voting option are obtained through the second smart contract.
[0017] Optionally, the validity of the target blockchain corresponding to the voting information can be detected according to a preset blockchain security algorithm;
[0018] If so, the voting information is stored in the target blockchain.
[0019] Optionally, if not, the target blockchain is scrapped and a new blockchain is assigned to the voting user.
[0020] Optionally, the transaction hash in the voting information is determined to be normal based on a preset consensus algorithm, the second smart contract, and the identity of the voting user;
[0021] If so, then generate the voting user's digital signature based on the voting user's private key and the voting information;
[0022] The digital signature, the voting information, and the voting user's public key are stored in the target blockchain.
[0023] Optionally, after storing the voting information in the target blockchain, the method further includes:
[0024] When a voting query request is received from the voting user, the target area block is obtained from the target blockchain based on the voting user's public key;
[0025] The digital signature in the target block is decrypted using the private key sent by the voting user to obtain the voting information corresponding to the voting user, and the voting information is then sent to the voting user.
[0026] In addition, to achieve the above objectives, the present invention also proposes a blockchain-based voting management system, which includes: an interface layer, an application layer, a trust layer, a transaction layer, and a blockchain layer;
[0027] The interface layer is used to send a verification instruction to the identity verification agency when a voting user sends a first voting request. When the identity verification agency verifies that the voting user has a voting identity based on the first smart contract and the verification instruction, it sends a login password to the voting user. The first smart contract is stored in the trust layer.
[0028] The interface layer is also used to verify whether the voting user is eligible to vote when it is detected that the voting user sends a second voting request based on the login password;
[0029] The application layer is configured to, if so, obtain the voting result of the voting user;
[0030] The transaction layer is used to generate voting information based on the voting results of the voting users, and to store the voting information in the target blockchain located in the blockchain layer.
[0031] Furthermore, to achieve the above objectives, the present invention also proposes a blockchain-based voting device, the device comprising: a memory, a processor, and a blockchain-based voting program stored on the memory and capable of running on the processor, the blockchain-based voting program being configured to implement the steps of the blockchain-based voting management method described above.
[0032] Furthermore, to achieve the above objectives, the present invention also proposes a storage medium storing a blockchain-based voting program, which, when executed by a processor, implements the steps of the blockchain-based voting management method described above.
[0033] This invention discloses a blockchain-based voting management method, system, device, and storage medium. The method is executed by a voting management system applied to a blockchain voting management architecture that includes an identity verification authority. The method includes: when a voting user sends a first voting request, sending a verification instruction to the identity verification authority; the identity verification authority, based on a first smart contract and the verification instruction, determines that the voting user has voting authority and then sends a login password to the voting user; when a voting user sends a second voting request based on the login password, verifying whether the voting user is eligible to vote; if so, obtaining the voting result of the voting user; generating voting information based on the voting result of the voting user, and storing the voting information in the target blockchain. Compared to existing voting management methods, this invention proposes using the concept of blockchain in the voting management system. The login password prevents attempts to impersonate individuals with voting authority within the chain to conduct fake votes, thereby ensuring the credibility of the votes; by introducing blockchain, any illegal tampering with the original voting management system is prevented, and the integrity of the ballots stored on the system is guaranteed; through the aforementioned first smart contract, a secure connection is ensured between the voting user and the network when executing transactions within the chain. Therefore, this invention can integrate blockchain with the voting management system to improve the security of voting results in the voting management system and provide a highly reliable voting management method. Attached Figure Description
[0034] Figure 1 This is a schematic diagram of the structure of a blockchain-based voting device in the hardware operating environment involved in the embodiments of the present invention;
[0035] Figure 2 This is a flowchart illustrating the first embodiment of the blockchain-based voting management method of the present invention.
[0036] Figure 3 This is a schematic diagram of the blockchain voting management architecture of the first embodiment of the blockchain-based voting management method of the present invention;
[0037] Figure 4 This is a schematic diagram of the first process of the second embodiment of the blockchain-based voting management method of the present invention;
[0038] Figure 5 This is a schematic diagram of the second process of a second embodiment of the blockchain-based voting management method of the present invention;
[0039] Figure 6 This is a schematic diagram of the voting process in the second embodiment of the blockchain-based voting management method of the present invention;
[0040] Figure 7 This is a schematic diagram of transaction storage information for a second embodiment of the blockchain-based voting management method of the present invention;
[0041] Figure 8 This is a schematic diagram of the voting process in the second embodiment of the blockchain-based voting management method of the present invention;
[0042] Figure 9 This is a schematic diagram of the first process of the third embodiment of the blockchain-based voting management method of the present invention;
[0043] Figure 10 This is a schematic diagram illustrating the chain fault recovery process in the third embodiment of the blockchain-based voting management method of the present invention.
[0044] Figure 11 This is a schematic diagram of the second process of the third embodiment of the blockchain-based voting management method of the present invention;
[0045] Figure 12 This is a schematic diagram of the voting process in the third embodiment of the blockchain-based voting management method of the present invention;
[0046] Figure 13 This is a schematic diagram of any block information in the third embodiment of the blockchain-based voting management method of the present invention;
[0047] Figure 14 This is a schematic diagram of the third process of the third embodiment of the blockchain-based voting management method of the present invention;
[0048] Figure 15 This describes the encryption and decryption process of voting information in the third embodiment of the blockchain-based voting management method of the present invention.
[0049] Figure 16 This is a structural block diagram of the first embodiment of the blockchain-based voting management system of the present invention.
[0050] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0051] It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
[0052] Reference Figure 1 , Figure 1 This is a schematic diagram of the structure of a blockchain-based voting device in the hardware operating environment of an embodiment of the present invention.
[0053] like Figure 1As shown, the blockchain-based voting device may include: a processor 1001, such as a central processing unit (CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. The communication bus 1002 is used to enable communication between these components. The user interface 1003 may include a display screen or an input unit such as a keyboard; optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wireless-Fidelity (Wi-Fi) interface). The memory 1005 may be high-speed random access memory (RAM) or stable non-volatile memory (NVM), such as a disk drive. The memory 1005 may also optionally be a storage system independent of the aforementioned processor 1001.
[0054] Those skilled in the art will understand that Figure 1 The structure shown does not constitute a limitation on blockchain-based voting devices and may include more or fewer components than illustrated, or combine certain components, or have different component arrangements.
[0055] like Figure 1 As shown, the memory 1005, which serves as a storage medium, may include an operating system, a data storage module, a network communication module, a user interface module, and a blockchain-based voting program.
[0056] exist Figure 1 In the blockchain-based voting device shown, the network interface 1004 is mainly used for data communication with the network server; the user interface 1003 is mainly used for data interaction with the user; the processor 1001 and the memory 1005 in the blockchain-based voting device of the present invention can be set in the blockchain-based voting device. The blockchain-based voting device calls the blockchain-based voting program stored in the memory 1005 through the processor 1001 and executes the blockchain-based voting management method provided in the embodiment of the present invention.
[0057] This invention provides a blockchain-based voting management method, referring to... Figure 2 , Figure 2 This is a flowchart illustrating the first embodiment of the blockchain-based voting management method of the present invention.
[0058] It is important to understand that existing voting systems cannot guarantee transparency or fairness. Therefore, this embodiment combines digital systems to avoid the subjective problems inherent in manual voting. However, these digital voting machines are susceptible to tampering by hackers and pose a risk of disrupting the voting process. In conclusion, we need a more comprehensive voting management method to ensure the security of voting data.
[0059] Based on this, this embodiment proposes a blockchain-based voting management system to prevent any unauthorized tampering with the original voting management system, thereby ensuring the credibility of the vote. Therefore, in this embodiment, the method is executed by the voting management system, which is applied to a blockchain voting management architecture that includes an identity verification authority. The method includes the following steps:
[0060] Step S10: When a voting user sends a first voting request, a verification instruction is sent to the identity verification agency. When the identity verification agency determines that the voting user has a voting identity based on the first smart contract and the verification instruction, it sends a login password to the voting user.
[0061] It should be noted that the executing entity of the method in this embodiment can be a voting management system with data processing, network communication and program running functions, such as a mobile phone, television, tablet computer, personal computer, etc., or other electronic devices that can achieve the same or similar functions.
[0062] It is readily understood that the blockchain voting management architecture described above in this embodiment may include the aforementioned voting management system, the aforementioned identity verification structure, and the voting result management organization. Furthermore, the voting management system is connected to the blockchain and uses the blockchain to conduct voting transactions, statistically analyze voting results, and store voting data. Figure 3 As shown, Figure 3 This is a schematic diagram of the blockchain voting management architecture of the first embodiment of the blockchain-based voting management method of the present invention. In this embodiment, the various components in the blockchain voting management architecture can work together to complete a certain voting task. Figure 3 All voting users can directly access the Voting Management System (VMS) within the blockchain via a mobile application or voting portal. An identity verification agency verifies the identities of users registered in the VMS; only those verified and qualified can participate in the voting process. After verification, the voting results are sent to the voting results agency connected through the application.
[0063] Specifically, such as Figure 3 As shown, when voting users (i.e. Figure 3When a voter logs into the voting management system for the first time, they can send an initial vote request. Upon detecting this request, the system determines that the user is not yet registered. Therefore, the system can send a verification instruction to the identity verification structure. This instruction can contain the voter's identity information, such as their ID number, name, age, or nationality. The verification structure can then use this instruction to authenticate the voter and determine if they match the current voting item.
[0064] It is easy to understand that smart contracts provide a secure connection between users and the network when executing transactions in the blockchain. In this embodiment, all nodes (or blocks) in the blockchain must follow the smart contract to successfully store voting information in the system, such as... Figure 3 As shown, the voting management system can connect to the blockchain via the web to obtain smart contracts to verify user identity and voting information. Voting information may include voting records, the voting user's digital wallet, user profile, and voting options. The aforementioned first smart contract can be pre-set in this embodiment to perform user verification between the identity verification agency and the voting management system, verifying the voting user's identity information. Specifically, this first smart contract can be used to ensure that the voting user has never registered in the voting management system. That is, for each new first voting request sent by a voting user, the identity verification structure can verify through the first smart contract whether the voting user sending the first voting request already exists in the chain. Furthermore, for voting processes with age restrictions, nationality restrictions, or other special conditions, the first smart contract can also support simultaneous checks on the voting user's age or nationality during the identity ID verification process to ensure that the voting user meets the voting requirements. Therefore, in this embodiment, the aforementioned first smart contract can ensure that the designated voter can vote by checking the requirements of the voting management system. Once a voting user is verified, the first smart contract can access the voting user's detailed identity information for further use. If the identity ID corresponding to the current voting user's identity information does not exist, the identity verification agency can register the newly registered voting user and assign a voting credential, such as voting coins.
[0065] Step S20: When it is detected that a voting user sends a second voting request based on the login password, verify whether the voting user is eligible to vote;
[0066] As described above, after a voting user sends their first voting request to the voting management system, they can register based on their identity information. During the registration process, the identity verification agency will verify the voting user's identity information. Once the verification confirms the voting user's voting identity, registration is complete. After registration, the voting user can log in to the voting management system again using the login password sent by the identity verification agency. That is, the voting process involves sending a second voting request to the voting management system based on the login password. It is easy to understand that each time a voting user logs into the voting management system, a unique dynamic login password is generated. In this application, the login password has an expiration period. Therefore, when a voting user logs into the voting management system for the first time, identity verification is required. After successful verification, a dynamic login password is returned to the voting user, allowing them to vote based on the login password. However, if a voting user logs in a second time, since their identity information is already stored in the identity verification agency, identity verification is no longer required. However, a new dynamic password still needs to be sent to the voting user for login, as the previous login password may have expired. A dynamic password with an expiration period can prevent the voting information from being tampered with if the voting user's dynamic password is leaked.
[0067] In summary, in this embodiment, the login password is only sent to the voting user after their identity has been verified. Therefore, in this embodiment, voting users must log in to the voting management system using the login password before they can vote; simply sending a vote request to the voting management system is insufficient to actually vote. Based on this method, this embodiment can prevent unqualified individuals from voting, thus avoiding the occurrence of "fake ballots."
[0068] It is easy to understand that voting users can connect to the blockchain through the voting management system. In this embodiment, the voting management system can be a decentralized application, which not only provides fair access to each voting user but also supports the traceability of voting results. The purpose of using a decentralized application is to ensure the reliability of the voting management system and improve the processing efficiency of all nodes through decentralization. If one node in the system becomes vulnerable during the voting process, all other nodes will not be harmed, and the vulnerable node will be restored by other nodes, thereby ensuring the reliability of the vote. In addition, the blockchain-based decentralized application can run on a P2P blockchain network and generate a corresponding dynamic login password each time a voting user logs into the voting management system, thus providing each voting user with a fair access opportunity and providing traceability after voting. Voting users log into the system using their assigned dynamic login password. The voting management system obtains the user's ID and other information through the login password and verifies it against the database of the identity verification structure. Once the voting user's identity verification is successful, this embodiment can begin to verify whether the voting user is qualified to vote.
[0069] Step S30: If yes, then obtain the voting results of the voting users;
[0070] Step S40: Generate voting information based on the voting results of the voting users, and store the voting information in the target blockchain.
[0071] Understandably, once a voting user's voting identity and voting eligibility have been verified, the voting user can cast their vote. This embodiment can obtain the voting results of the voting user, and in order to prevent the voting results from being leaked, the voting results and other information of the voting user, such as the voting user's voting credentials usage, voting user configuration file, all voting options, and voting timestamps, can be encrypted together to obtain the voting information, and the voting information can be stored in any node (or block) of the target blockchain currently associated with the voting user.
[0072] It's easy to understand that one of the core characteristics of blockchain technology is its distributed data storage. This storage structure ensures that once a node is added to the blockchain, it can never be deleted. Simultaneously, data is stored across multiple nodes on the chain, enabling replication among all nodes in the network. This method prevents data on each node from being deleted simultaneously, guaranteeing the reliability of the voting management system. Furthermore, because the data is dynamically calculated, each node calculates and stores the data independently, thereby reducing the computational load for counting.
[0073] Verification of existing voting results is conducted online with the assistance of relevant authorities. In blockchain technology, once a node is added to the chain, it cannot be deleted or modified under any circumstances. If a node is attacked, the affected nodes will detect and rebuild the attacked node, thus making the chain immutable. The decentralized nature of blockchain makes the voting management system independent of any single computing node. Even if any one or more nodes are attacked or become unavailable, the voting process will continue. Therefore, blockchain technology guarantees the reliability of the system under any adverse conditions.
[0074] Therefore, this embodiment proposes using the concept of blockchain in the voting management system. Login passwords are used to prevent attempts to impersonate voters on the chain and cast fake votes, thus ensuring the credibility of the votes. Furthermore, by introducing blockchain, any illegal tampering with the original voting management system is prevented, ensuring the integrity of the ballots stored on the system. The aforementioned first smart contract ensures a secure connection between the voting user and the network when executing transactions on the chain. In summary, this embodiment not only integrates blockchain with the voting management system but also improves the security of voting results, providing a highly reliable voting management method.
[0075] This embodiment discloses a blockchain-based voting management method, executed by a voting management system applied to a blockchain voting management architecture including an identity verification authority. The method includes: when a voting user sends a first voting request, sending a verification instruction to the identity verification authority; the identity verification authority, upon determining the voting user's voting identity based on a first smart contract and the verification instruction, sending a login password to the voting user; when a voting user sends a second voting request based on the login password, verifying the voting user's voting eligibility; if so, obtaining the voting user's voting result; generating voting information based on the voting user's voting result, and storing the voting information in the target blockchain. Compared to existing voting management methods, this embodiment proposes using the concept of blockchain in the voting management system. The login password prevents attempts to impersonate individuals with voting identities within the chain to conduct fake votes, thereby ensuring the credibility of the votes. Furthermore, by introducing blockchain, any illegal tampering with the original voting management system is prevented, ensuring the integrity of the ballots stored on the system. The aforementioned first smart contract ensures a secure connection between the voting user and the network during the execution of in-chain transactions. Therefore, this embodiment can integrate blockchain with the voting management system to improve the security of voting results in the voting management system and provide a highly reliable voting management method.
[0076] Reference Figure 4 , Figure 4 This is a schematic diagram of the first process of the second embodiment of the blockchain-based voting management method of the present invention. Figure 2 The illustrated embodiment presents a second embodiment of the blockchain-based voting management method of the present invention.
[0077] like Figure 4 As shown, in this embodiment, step S20 includes:
[0078] Step S21: When it is detected that a voting user sends a second voting request based on the login password, obtain the voting user's identity identifier;
[0079] Step S22: Obtain the transaction hash corresponding to the voting user based on the identity identifier;
[0080] Step S23: Verify whether the voting user is eligible to vote by using transaction hash.
[0081] As is readily understood, in this embodiment, after a voting user completes registration, they can log in to the voting management system using their unique login password. The voting management system can then obtain the voting user's identity identifier based on the login password. This identity identifier can be a uniquely corresponding identification information, such as the voting user's ID, which determines the uniqueness of each voting user within the voting management system. When a voting user enters their detailed identity information into the decentralized application, this information is verified by the decentralized application of the voting management system to ensure that a person's identity information cannot be used by others. After successful verification, a corresponding identity identifier can be assigned to the voting user.
[0082] Understandably, after logging in, users can access the voting page of the voting management system. When a user votes, the system verifies their voting status based on their acquired identity identifier by checking all existing transaction hashes. If a user's voting status is "voted" (specifically, this can be represented by an existing transaction hash in the blockchain assigned to their identity identifier), then that user is not eligible to vote on the current matter; conversely, if their status is "voted," then they are eligible to vote.
[0083] Furthermore, as one possible implementation method, such as Figure 5 As shown, Figure 5 This is a second flowchart illustrating a second embodiment of the blockchain-based voting management method of the present invention. In this embodiment, step S30 includes:
[0084] Step S31: Assign a preset number of voting tokens to voting users based on their identity identifiers;
[0085] It should be noted that if a voting user meets the voting qualifications, this embodiment can allocate corresponding voting credentials, such as voting coins (which can be allocated to the voting user's wallet), to the voting user based on their identity identifier, thereby forcibly limiting the number of votes a user can cast. The aforementioned preset number is the number of votes each voting user can cast, which is usually set to one, but can also be set to a value greater than one depending on the actual situation. This embodiment does not impose any restrictions on this.
[0086] It is easy to understand that the above-mentioned voting certificate allocation process will only be carried out once. Therefore, voting users can only vote based on the allocated preset number of voting certificates. Each time a voting user votes, they need to consume one voting certificate. Therefore, after a voting user has cast the preset number of votes, all of their voting certificates should be used up. Even if there are some technical failures, the number of voting certificates will not be updated again after they are used up. This can prevent a voting user from casting too many votes and thus ensure the reliability of the voting results.
[0087] Step S32: Send the corresponding target voting options to the voting users based on the second smart contract;
[0088] Step S33: Obtain the voting results determined by the voting users based on their voting credentials and target voting options through the second smart contract.
[0089] It should be noted that the voting management system utilizes two smart contracts, one for login and the other for voting. The second smart contract is used when a user votes. This contract first specifies which voting options a user can receive, thus allowing the system to send the corresponding target voting option to the user. Secondly, the second smart contract checks the number of voting credentials a user possesses to determine their eligibility to vote. Specifically, the second smart contract defines a `cast vote` function, whose input is the user's identity identifier. It first determines whether the user has voting credentials based on the identifier. If so, the smart contract allows the user to vote, consuming their voting credentials to select the desired result based on the target voting option; otherwise, the second smart contract rejects the user's vote request.
[0090] As the above analysis shows, after each voting user registers, they can be assigned corresponding voting tokens based on their identity. If the voting token is voting currency, then the voting currency can be allocated to the voting user's wallet. At this point, voting transactions in the voting management system can be executed using the UTXO (Unspent Transaction Output) mechanism. For ease of understanding, let's take... Figure 6 Let's take an example to illustrate this. Figure 6 This is a schematic diagram of the voting process in the second embodiment of the blockchain-based voting management method of the present invention. Figure 6 In this scenario, different voting users perform three transactions for each voting option, consuming one voting token per transaction. Each voting user can use one voting token to cast their vote for the option. This transaction is recorded and forwarded to the transaction mempool. The UTXO value is updated to zero after each transaction to ensure that a voting user cannot vote again.
[0091] It's important to understand that when a user votes, this embodiment assigns a transaction hash value (or transaction ID) based on the user's identity, thus initiating a corresponding transaction for the user's voting transaction. Next, the user selects any option to complete the vote. The voting management system records the user's voting results, digital wallet usage, user profile, all available voting options, and voting timestamps. For each vote, the voting management system generates a transaction based on the user's identity and stores this transaction in the blockchain's transaction list. Therefore, every vote from every user is stored in a transaction, such as... Figure 7 As shown, Figure 7 This diagram illustrates the transaction storage information of the second embodiment of the blockchain-based voting management method of the present invention. The TX hash represents the transaction hash value (or transaction ID) corresponding to a specific transaction; the block represents the specific block information corresponding to the execution of the transaction; From represents the address that sent the transaction; to represents which option the current voting transaction corresponds to; and the remarks contain the voter's information and detailed information about the transaction. For example, options A and E received votes in the first transaction of block 101, where the detailed information corresponding to option A is event 1, and the detailed information corresponding to option E is event 2. All information stored in the transaction can be highly encrypted using cryptographic hashing (digital signature algorithm) so that after a user completes their vote, the blockchain can update and save the voting information of the voting user based on the voting transaction.
[0092] It is easy to understand that when the transaction assigned to the voting user is completed (i.e., it is detected that the voting user has finished voting and the voting user's voting ID matches the transaction hash), and a node (or block) is successfully added to the target blockchain related to the vote, the registered phone number and email address of the voting user for that specific voting transaction can receive a voting success notification.
[0093] In specific implementations, such as Figure 8 As shown, Figure 8 This is a schematic diagram of the voting process in the second embodiment of the blockchain-based voting management method of the present invention, as shown below. Figure 8 As shown, in the implementation process of a blockchain-based voting management system, the voting management system (i.e. Figure 8 Decentralized applications (DAPIs) can first verify voting users (i.e., those located in an identity verification authority) based on a voter identity database. Figure 8 Do the voters in the poll have voting rights (i.e., Figure 8The process involves verifying whether the voter is registered in the VMS (Voting Management System), and upon successful verification, adding the voter's identity as their credential to the target blockchain related to the vote (i.e., Figure 8 The voting details chain is then used to verify the voting user's eligibility. If the user still has voting credentials, they are allowed to vote, and the corresponding transaction is initiated. The voting details are then verified based on the user's identity identifier. Upon successful verification, the transaction hash generated based on the user's voting results and the voting result information are stored on the target blockchain (i.e., the voting details chain). Figure 8 The voting details are recorded on the blockchain so that the voting results can be viewed later. Therefore, this embodiment proposes a second smart contract to ensure a secure connection between the user and the network when executing in-chain transactions. By comprehensively judging the transaction hash of the voting user, the UTXO, and the second smart contract, the voting management system effectively prevents malicious transactions in the blockchain, namely, unqualified people voting and users casting more votes than the predetermined share. At the same time, it effectively avoids the disadvantage of being difficult to maintain, further improving the reliability of the voting management system.
[0094] This embodiment obtains the voting user's identity identifier when a second voting request based on a login password is detected; it then obtains the corresponding transaction hash based on the identity identifier; and verifies the voting user's eligibility using the transaction hash. Furthermore, this embodiment allocates a preset number of voting credentials to the voting user based on the identity identifier; sends the corresponding target voting option to the voting user based on a second smart contract; and obtains the voting result determined by the voting user based on the voting credentials and the target voting option through the second smart contract. This embodiment can propose a second type of smart contract to ensure a secure connection between the user and the network when executing in-chain transactions. By comprehensively judging the voting user's transaction hash, UTXO, and the second smart contract, the voting management system effectively prevents malicious transactions in the blockchain, namely, unqualified individuals voting and users casting more votes than the predetermined quota, further improving the reliability of the voting management system.
[0095] Reference Figure 9 , Figure 9 This is a schematic diagram of the first process of the third embodiment of the blockchain-based voting management method of the present invention. Figure 2 Alternatively, as shown in embodiment 4, a third embodiment of the blockchain-based voting management method of the present invention is proposed. Figure 9 Based on Figure 1 The embodiments shown are examples of the proposed embodiments.
[0096] In this embodiment, before step S40, the method further includes:
[0097] Step S34: Detect whether the target blockchain corresponding to the voting information is valid according to the preset blockchain security algorithm;
[0098] Step S35: If yes, store the voting information in the target blockchain.
[0099] Understandably, the voting management system in this embodiment may further propose a blockchain security algorithm that automatically verifies the validity of the blockchain whenever a new block is added or the block data undergoes unauthorized changes.
[0100] Therefore, before adding the voting information of voting users to the target blockchain, this embodiment can detect the security and validity of the target blockchain corresponding to the voting information through a preset chain security algorithm. Specifically, this embodiment can use the preset chain security algorithm to check whether the hash value of the target block to which the voting information is to be added is consistent with the hash value of the previous block in the target blockchain to detect whether the target blockchain is valid. If they are consistent, it indicates that the current target blockchain is valid. The preset chain security algorithm allows the target blockchain to be replicated on all nodes of the peer-to-peer network, so the voting information can be stored in the target blockchain. If they are inconsistent, it indicates that the current blockchain may have been attacked from the outside, and its data has undergone unauthorized changes. Therefore, further, in this embodiment, before step S40, the following is also included:
[0101] Step S36: If not, then abolish the target blockchain and allocate a new blockchain to the voting users.
[0102] Understandably, to ensure the reliability of voting results, this embodiment can, upon detecting a problem with the target blockchain, declare the target blockchain corresponding to the voting user invalid and notify all nodes in the network of this information. Simultaneously, the voting management system can allocate a new blockchain as the new target blockchain for the voting user and notify all voting users related to the current voting transaction to re-vote. In summary, this embodiment ensures the security of the blockchain associated with the vote based on the preset chain security algorithm, thereby improving the reliability of the voting management system.
[0103] It is easy to understand that in this embodiment, in the event of any technical failure such as network interruption or temporary power outage, the voting management system can activate its own response measures to deal with it. For ease of understanding... Figure 10 Let's take an example to illustrate this. Figure 10 This is a schematic diagram illustrating the chain failure recovery process in the third embodiment of the blockchain-based voting management method of the present invention. Figure 10 As shown in (a), when node 2 is unable to continue working normally due to network or other reasons, it is in a disconnected state. At this time, other nodes are in a connected state (such as node 1) and can perform their work normally; while... Figure 10As shown in (b), when node 2 reconnects to the network (i.e., returns from the disconnected state to the connected state), according to the rules of the blockchain, the longer chain wins, that is, the chain where node 1 is located is considered the valid chain. At this time, this embodiment can enable node 2 to synchronously copy the content on the chain where node 1 is located.
[0104] Furthermore, such as Figure 11 As shown, Figure 11 This is a second flowchart illustrating a third embodiment of the blockchain-based voting management method of the present invention. As one possible implementation, in this embodiment, step S40 includes:
[0105] Step S41: Determine whether the transaction hash in the voting information is normal based on the preset consensus algorithm, the second smart contract, and the identity of the voting user;
[0106] Step S42: If yes, then generate the voting user's digital signature based on the voting user's private key and voting information;
[0107] Step S43: Store the digital signature, voting information, and the public key of the voting user in the target blockchain.
[0108] It is understood that in this embodiment, the second smart contract can also be used to verify the consensus consistency between the node and the chain through a preset consensus algorithm to determine whether to allow the voting user to vote. This preset consensus algorithm can be any consensus algorithm, and this embodiment does not impose any restrictions on it. If the consensus matches, the voting user can vote; if the consensus does not match, the current voting user will be redirected to a new voting page. This page helps the voting user find the reason for the consensus mismatch, mainly including: 1. Incorrect identity ID; 2. The user's identity ID is correct, but they do not actually have voting rights. After identifying the reason, the voting user can re-execute the correct operation based on the current reason for the failure.
[0109] It's important to understand that once the second smart contract determines that a voting user can vote, the voting management system can send voting information, such as voting transactions generated based on the voting user's voting process, to the transaction mempool for analysis. However, before adding the voting transactions to the target blockchain, malicious requests must be removed through consensus from other nodes. Specifically, the voting management system can determine whether any node or request from a voting user is malicious by checking whether the voting user's transaction hash is generated based on the voting user's identity. If a voting request from a user is deemed malicious, it will be automatically rejected and removed from the transaction mempool.
[0110] It should be noted that, in order to hide the voting information of voting users from intruders in the system and protect the privacy of voting users' identities, this embodiment can also ensure the security of voting transactions by encrypting the voting information. Specifically, this embodiment can generate a digital signature of the voting user based on the voting user's private key and voting information, so that when the voting user's transaction hash is transmitted to any node (or block) in the target blockchain, only the authorized owner of the transaction can decrypt the transaction and view the content using their private key.
[0111] Furthermore, since voting information can be stored in any block of the target blockchain, this embodiment can store the voting user's digital signature, voting information, and public key together in the target blockchain for easy retrieval. This allows the specific location of the information to be locked using the voting user's public key. Simultaneously, voting users can track their voting data in the blockchain using the transaction hash value obtained during registration.
[0112] For ease of understanding, Figure 12 Let's take an example to illustrate this. Figure 12 This is a schematic diagram of the voting process in the third embodiment of the blockchain-based voting management method of the present invention, as shown below. Figure 12 As shown, in this embodiment, the voting management system first verifies the voting user's identity with the identity verification agency based on the password and identity ID provided by the voting user. Once the identity verification agency verifies the voting user's identity, the voting management system pushes the voting options to the voting user. After obtaining the voting results, it encrypts the voting information using a digital signature algorithm and sends the encrypted data (including the digital signature, voting information, and the voting user's public key) to the transaction memory pool of the target blockchain for transaction verification. If the verification passes, the encrypted data is stored in any block of the target blockchain; if it fails, the voting user's voting request is automatically rejected and deleted from the transaction memory pool. The data storage method in the block is as follows... Figure 13 As shown, Figure 13 This is a schematic diagram of any block information in the third embodiment of the blockchain-based voting management method of the present invention. Figure 13 In this context, Nonce is the random number of blocks assigned to the region, Voter1-3 are the identity identifiers of the voting users, Option1-3 are the voting options, PrevHash is the transaction hash value of the previous region block, and Hash is the transaction hash value of the current region block.
[0113] Furthermore, as one possible implementation method, such as Figure 14 As shown, Figure 14 This is a schematic diagram of the third process of the third embodiment of the blockchain-based voting management method of the present invention. In this embodiment, after step S40, the method further includes:
[0114] Step S50: When a voting query request is received from a voting user, the target block is obtained from the target blockchain based on the voting user's public key;
[0115] Step S60: Decrypt the digital signature in the target block using the private key sent by the voting user to obtain the voting information corresponding to the voting user, and send the voting information to the voting user.
[0116] As the above analysis shows, when the voting management system receives a vote query request from a voter and tracks the voting process, it can identify the node (or block) storing the voter's voting time in the target block using the public key provided by the voter. Then, it can view the corresponding voting transaction based on the user's private key. It's important to understand that voters can only view the ballot; once voting is complete, they cannot modify or delete it.
[0117] In specific implementations, such as Figure 15 As shown, Figure 15 This describes the encryption and decryption process of voting information in the third embodiment of the blockchain-based voting management method of the present invention. For example... Figure 15 As shown, this embodiment can use a digital signature algorithm to generate a signature for a voting user based on the voting user's private key and voting information. Then, the signature, voting information, and public key are stored together in the target blockchain. When a voting user needs to query their corresponding voting information, they must first locate the information using their public key, and then verify their identity using their private key before they can view the corresponding voting information.
[0118] In summary, this embodiment ensures the integrity of votes stored in the system based on a second smart contract and a preset consensus algorithm; it prevents any illegal sabotage of the system by attempting to impersonate any role in the chain through a preset security chain algorithm, thereby eliminating the voting management system's reliance on intermediaries, helping to save resources and prevent human error. Furthermore, this embodiment can encrypt and decrypt voting information in the blockchain through digital signatures, allowing voting users' voting information to be hidden from intruders in the system, protecting the privacy of voting users' identities, and further ensuring the security of voting transactions.
[0119] This embodiment uses a preset chain security algorithm to detect whether the target blockchain corresponding to the voting information is valid. If valid, the voting information is stored in the target blockchain; otherwise, the target blockchain is discarded, and a new blockchain is allocated to the voting user. Based on a preset consensus algorithm, a second smart contract, and the voting user's identity, the embodiment determines whether the transaction hash in the voting information is normal. If so, a digital signature of the voting user is generated based on the voting user's private key and voting information. The digital signature, voting information, and the voting user's public key are stored in the target blockchain. When a voting query request is received from a voting user, the target block is retrieved from the target blockchain based on the voting user's public key. The digital signature in the target block is decrypted using the private key sent by the voting user to obtain the voting information corresponding to the voting user, and the voting information is sent to the voting user. This embodiment ensures the integrity of the votes stored in the system based on the second smart contract and the preset consensus algorithm. The preset secure chain algorithm prevents any illegal damage to the system by attempts to impersonate any role in the chain, thereby eliminating the voting management system's dependence on intermediaries, saving resources, and preventing human error. Furthermore, this embodiment can also encrypt and decrypt voting information in the blockchain through digital signatures, so that the voting information of voting users can be hidden from intruders in the system, thereby protecting the privacy of voting users' identities and further ensuring the security of voting transactions.
[0120] Furthermore, this embodiment of the invention also proposes a storage medium storing a blockchain-based voting program, which, when executed by a processor, implements the steps of the blockchain-based voting management method described above.
[0121] refer to Figure 16 , Figure 16 This is a structural block diagram of the first embodiment of the blockchain-based voting management system of the present invention.
[0122] like Figure 16 As shown, the blockchain-based voting management system proposed in this embodiment of the invention includes: an interface layer, an application layer, a trust layer, a transaction layer, and a blockchain layer;
[0123] The interface layer is used to send a verification instruction to the identity verification authority when the first voting request is detected. When the identity verification authority verifies that the voting user has voting identity based on the first smart contract and the verification instruction, it sends a login password to the voting user. The first smart contract is stored in the trust layer.
[0124] The interface layer is also used to verify whether a voting user is eligible to vote when it is detected that a voting user has sent a second voting request based on a login password;
[0125] The application layer is used to retrieve the voting results of the voting users if the condition is met.
[0126] The transaction layer is used to generate voting information based on the voting results of voting users and store the voting information in the target blockchain located in the blockchain layer.
[0127] It should be understood that the voting management system framework proposed in this invention can be divided into 5 layers according to the service process, the specific hierarchical structure is as follows. Figure 16 As shown in the diagram, this embodiment divides the system into layers, separating system functions into independent modules, each responsible for a specific function. This improves the system's maintainability and scalability, facilitating the addition and modification of functions. Services at different layers can interact through interfaces, achieving loose coupling between modules. Each layer of service has clearly defined responsibilities and functions, achieving high cohesion. This further enhances the system's maintainability and testability.
[0128] Specifically, in this embodiment, the interface layer contains all the decentralized applications developed for voting users and administrators. Any individual involved in voting can connect to the voting management system through these decentralized applications or web pages. Therefore, the primary purpose of the interface layer is to provide an interface for interacting with the system.
[0129] The application layer primarily provides all the front-end interfaces for the voting management system, encapsulating all data within the database. Simultaneously, all blockchain transactions are processed at this layer; for example, by verifying the identity information of voting users, it determines whether the current user is eligible (or has the opportunity) to participate in this voting activity.
[0130] The trust layer is primarily used to ensure correct consensus and securely transmit data via smart contracts. This layer verifies each new block to be added to the chain, essentially performing proof-of-work.
[0131] The blockchain layer stores all the essential information related to the blockchain, such as transaction data. Simultaneously, this layer enables block verification to ensure the immutability of the chain by tracking faulty nodes within it.
[0132] The transaction layer mainly contains all transaction information initiated between the voting management system and voting users through smart contracts, i.e., transaction confirmation. All transaction mining is completed in this layer.
[0133] Furthermore, in this embodiment, the voting management system may also include a security layer. As the most critical layer, the security layer protects the blockchain from attacks. The security layer utilizes a pre-defined chain security algorithm (i.e., Figure 16 The security protocols and basic rules of the blockchain defend against any attempt to attack the system. This layer can also contain public and private keys.
[0134] This embodiment, upon detecting a first voting request from a voting user, sends a verification instruction to an identity verification agency. The agency, based on the first smart contract and the verification instruction, determines the voting user has voting authority and then sends a login password to the user. When a second voting request is detected from a voting user using the login password, the agency verifies the user's voting eligibility. If so, the voting result is obtained. Voting information is generated based on the voting result and stored in the target blockchain. Compared to existing voting management methods, this embodiment proposes using the concept of blockchain in the voting management system. The login password prevents attempts to impersonate voting entities on the chain, ensuring voting credibility. Furthermore, the introduction of blockchain prevents any illegal tampering with the original voting management system, guaranteeing the integrity of ballots stored on the system. The first smart contract ensures a secure connection between the voting user and the network during on-chain transactions. In summary, this embodiment integrates blockchain with the voting management system, improving the security of voting results within the system.
[0135] Based on the first embodiment of the blockchain-based voting management system of the present invention described above, a second embodiment of the blockchain-based voting management system of the present invention is proposed.
[0136] In this embodiment, the interface layer is also used to obtain the identity identifier of the voting user when it is detected that the voting user sends a second voting request based on the login password;
[0137] The interface layer is also used to obtain the transaction hash corresponding to the voting user based on the identity identifier;
[0138] The interface layer is also used to verify whether a voting user is eligible to vote through transaction hashes.
[0139] Furthermore, as one possible implementation, in this embodiment, the application layer is also used to allocate a preset number of voting credentials to voting users based on their identity identifiers;
[0140] The application layer is also used to send the corresponding target voting options to voting users based on the second smart contract, which is stored in the trust layer;
[0141] The application layer is also used to obtain the voting results determined by the voting users based on their voting credentials and target voting options through a second smart contract.
[0142] Furthermore, as one possible implementation, in this embodiment, the security layer is also used to detect whether the target blockchain corresponding to the voting information is valid according to a preset chain security algorithm;
[0143] The transaction layer is also used to store voting information into the target blockchain if the condition is met.
[0144] Furthermore, as one possible implementation, in this embodiment, the application layer is also used to determine whether the transaction hash in the voting information is normal based on the preset consensus algorithm, the second smart contract, and the identity identifier of the voting user;
[0145] The application layer is also used to generate the voting user's digital signature based on the voting user's private key and voting information if the conditions are met;
[0146] The transaction layer is also used to store digital signatures, voting information, and the public keys of voting users into the target blockchain.
[0147] Furthermore, as one possible implementation, in this embodiment, the application layer is also used to obtain the target area block from the target blockchain based on the public key of the voting user when a voting user's voting query request is received;
[0148] The application layer is also used to decrypt the digital signature in the target area block based on the private key sent by the voting user, obtain the voting information corresponding to the voting user, and send the voting information to the voting user.
[0149] This embodiment obtains the voting user's identity identifier when a second voting request based on a login password is detected; it then obtains the corresponding transaction hash based on the identity identifier; and verifies the voting user's eligibility using the transaction hash. Furthermore, this embodiment allocates a preset number of voting credentials to the voting user based on the identity identifier; sends the corresponding target voting option to the voting user based on a second smart contract; and obtains the voting result determined by the voting user based on the voting credentials and the target voting option through the second smart contract. This embodiment can propose a second type of smart contract to ensure a secure connection between the user and the network when executing in-chain transactions. By comprehensively judging the voting user's transaction hash, UTXO, and the second smart contract, the voting management system effectively prevents malicious transactions in the blockchain, namely, voting by unqualified individuals and voting users casting more votes than the predetermined share, further improving the reliability of the voting management system. In addition, this embodiment checks whether the target blockchain corresponding to the voting information is valid based on a preset chain security algorithm; if so, the voting information is stored in the target blockchain; if not, the target blockchain is discarded, and a new blockchain is allocated to the voting user. Based on a preset consensus algorithm, a second smart contract, and the identity identifier of the voting user, the system determines whether the transaction hash in the voting information is normal. If so, it generates the voting user's digital signature based on the voting user's private key and voting information. The digital signature, voting information, and the voting user's public key are then stored in the target blockchain. When a voting query request is received from a voting user, the system retrieves the target block from the target blockchain based on the voting user's public key. The digital signature in the target block is decrypted using the private key sent by the voting user to obtain the voting information corresponding to the voting user, and the voting information is sent to the voting user. This embodiment ensures the integrity of the votes stored in the system based on the second smart contract and the preset consensus algorithm. It can also prevent any illegal damage to the system by attempting to impersonate any role in the chain through a preset security chain algorithm, thereby eliminating the voting management system's dependence on intermediaries, helping to save resources and prevent human error. In addition, this embodiment can also encrypt and decrypt the voting information in the blockchain through digital signatures, allowing the voting user's voting information to be hidden from intruders in the system, protecting the privacy of the voting user's identity, and further ensuring the security of voting transactions.
[0150] Other embodiments or specific implementations of the blockchain-based voting management system of the present invention can be found in the above-described method embodiments, and will not be repeated here.
[0151] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.
[0152] The sequence numbers of the above embodiments of the present invention are merely for descriptive purposes and do not represent the superiority or inferiority of the embodiments. Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods of the various embodiments of the present invention.
[0153] The above are merely preferred embodiments of the present invention and do not limit the scope of the patent. Any equivalent structural or procedural transformations made based on the description and drawings of the present invention, or direct or indirect applications in other related technical fields, are similarly included within the scope of patent protection of the present invention.
Claims
1. A blockchain-based voting management method, characterized in that, The method is executed by a voting management system, which is applied to a blockchain voting management architecture that includes an identity verification authority. The method includes: When a voting user sends a first voting request, a verification instruction is sent to the identity verification agency. When the identity verification agency determines that the voting user has voting rights based on the first smart contract and the verification instruction, it sends a login password to the voting user. When it is detected that the voting user sends a second voting request based on the login password, verify whether the voting user is eligible to vote; If so, then obtain the voting results of the voting user; Voting information is generated based on the voting results of the voting users, and the voting information is stored in the target blockchain; The step of verifying whether a voting user is eligible to vote when a second voting request is detected based on the login password includes: When it is detected that the voting user sends a second voting request based on the login password, the identity identifier of the voting user is obtained; The transaction hash corresponding to the voting user is obtained based on the identity identifier. The transaction hash is assigned to the identity identifier of the voting user when the voting status of the voting user and the current voting item is "voted". The transaction hash is used to verify whether the voting user is eligible to vote. The step of obtaining the voting results of the voting users includes: A preset number of voting credentials are assigned to the voting user based on the identity identifier, and the number of voting credentials will not be updated after they are used up; The corresponding target voting options are sent to the voting users based on the second smart contract; The voting results determined by the voting user based on the voting credentials and the target voting option are obtained through the second smart contract.
2. The blockchain-based voting management method as described in claim 1, characterized in that, Before storing the voting information into the target blockchain, the process also includes: The validity of the target blockchain corresponding to the voting information is detected based on a preset blockchain security algorithm. If so, the voting information is stored in the target blockchain; If not, the target blockchain will be scrapped, and a new blockchain will be assigned to the voting user.
3. The blockchain-based voting management method as described in claim 2, characterized in that, The step of storing the voting information in the target blockchain includes: Based on a preset consensus algorithm, the second smart contract, and the identity of the voting user, it is determined whether the transaction hash in the voting information is normal; If so, then generate the voting user's digital signature based on the voting user's private key and the voting information; The digital signature, the voting information, and the voting user's public key are stored in the target blockchain.
4. The blockchain-based voting management method as described in claim 3, characterized in that, After storing the voting information in the target blockchain, the process further includes: When a voting query request is received from the voting user, the target area block is obtained from the target blockchain based on the voting user's public key; The digital signature in the target block is decrypted using the private key sent by the voting user to obtain the voting information corresponding to the voting user, and the voting information is then sent to the voting user.
5. A blockchain-based voting management system, characterized in that, The voting management system includes: an interface layer, an application layer, a trust layer, a transaction layer, and a blockchain layer; The interface layer is used to send a verification instruction to the identity verification agency when a voting user sends a first voting request. When the identity verification agency verifies that the voting user has a voting identity based on the first smart contract and the verification instruction, it sends a login password to the voting user. The first smart contract is stored in the trust layer. The interface layer is also used to verify whether the voting user is eligible to vote when it is detected that the voting user sends a second voting request based on the login password; The application layer is configured to, if so, obtain the voting result of the voting user; The transaction layer is used to generate voting information based on the voting results of the voting users, and store the voting information in the target blockchain located in the blockchain layer; The interface layer is further configured to: obtain the identity identifier of the voting user when it is detected that the voting user sends a second voting request based on the login password; obtain the transaction hash corresponding to the voting user based on the identity identifier, wherein the transaction hash is assigned to the identity identifier of the voting user when the voting status of the voting user and the current voting item is "voted"; and verify whether the voting user is eligible to vote through the transaction hash. The application layer is further configured to allocate a preset number of voting credentials to the voting user based on the identity identifier, and the number of voting credentials will not be updated after they are exhausted; send the corresponding target voting option to the voting user based on the second smart contract; and obtain the voting result determined by the voting user based on the voting credentials and the target voting option through the second smart contract.
6. A blockchain-based voting device, characterized in that, The device includes: a memory, a processor, and a blockchain-based voting program stored in the memory and executable on the processor, the blockchain-based voting program being configured to implement the steps of the blockchain-based voting management method as described in any one of claims 1 to 4.
7. A storage medium, characterized in that, The storage medium stores a blockchain-based voting program, which, when executed by a processor, implements the steps of the blockchain-based voting management method as described in any one of claims 1 to 4.