Blockchain-based anonymous disclosure and many-to-many recognition system and method

By generating a one-time wallet address, encrypting data and generating valid tags, the balance between anonymity and identity confirmation in blockchain voting or polling systems is solved, and data transparency and security are achieved.

CN114662140BActive Publication Date: 2025-08-12SKYCHAIN CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110535652.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-12-22
Filing Date
2021-05-17
Publication Date
2025-08-12
Estimated Expiration
2041-05-17

AI Technical Summary

Technical Problem

Existing blockchain voting or polling systems are difficult to balance between anonymity and identity confirmation. Traditional encryption methods are easy to crack, and identity verification is opaque, and there is a gap in data opaqueness.

Method used

The public host generates a one-time wallet address, encrypts data using the public key of the announcement side and writes it to the blockchain, the authentication host generates valid tags, collects the public host to decrypt and confuses the correspondence between the public data and the wallet address, forming an obfuscation recognition announcement and writing to the blockchain.

Benefits of technology

A balance between anonymity and identity confirmation is achieved, data transparency and security are improved, and data is not tampered with.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114662140B_ABST
    Figure CN114662140B_ABST
Patent Text Reader

Abstract

The present invention discloses a blockchain-based anonymous disclosure and many-to-many recognition system and method that allows identity confirmation. The system generates a one-time wallet address through a public host, encrypts public data into encrypted data, and then writes it into a blockchain. The authentication host then generates a corresponding valid mark, and the collection and announcement host decrypts the encrypted data and generates a corresponding receipt mark. The correspondence between the public data obtained by decryption and its corresponding one-time wallet address is obfuscated and used as the content of an obfuscated recognition announcement and written into the blockchain. When the public host detects its own public data and one-time wallet address in the obfuscated recognition announcement, it writes the recognition mark into the blockchain, thereby achieving the technical effect of improving anonymity and allowing identity confirmation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a system and method for anonymous disclosure and many-to-many recognition, and in particular to a system and method for anonymous disclosure and many-to-many recognition based on blockchain that allows identity confirmation. Background Art

[0002] In recent years, with the popularization and vigorous development of blockchain, various blockchain applications have sprung up like mushrooms after rain. Among them, blockchain is often used in voting or polls because of its undeniable and difficult to tamper with characteristics.

[0003] Generally speaking, when traditionally voting or polling is conducted using blockchain, since the blockchain fully records the voter's address, as blockchain applications become more widespread, the original address anonymity (or so-called anonymity) will gradually weaken. For example, as the usage rate of a certain address increases, analysts can analyze the users of a single address and thus understand their choices, interests, and preferences. If the real identity corresponding to this address is known in a certain application, then this address will no longer be anonymous, and the previous anonymous choice will become named.

[0004] In light of this, some manufacturers have proposed encoding and encryption technologies, which use hashing and key encryption to encode and encrypt data content (such as ballots or polls), allowing the data publicly available on the blockchain to maintain a considerable degree of anonymity. However, if the key is stolen, this method can be used by the thief to try various hash functions (Hash Function) through brute force testing to perform decryption and hash collision to obtain the data content, thus suffering from the problem of poor anonymity. In addition, although many applications require anonymity, such as anonymous voting and anonymous polls, in practice, a mechanism for verifying identity authenticity is still required to prevent fraud. Traditional methods often only perform verification at the initial stage or after the voting is completed, resulting in gaps in data transparency.

[0005] In summary, it can be seen that the existing technology has long had the problem of being unable to balance anonymity and identity confirmation. Therefore, it is necessary to propose improved technical means to solve this problem. Summary of the Invention

[0006] The present invention discloses a blockchain-based anonymous disclosure and many-to-many recognition system and method thereof.

[0007] First, the present invention discloses a blockchain-based anonymous public and many-to-many recognition system that allows identity confirmation, which includes: a public end host, an identity verification end host, and a collection announcement end host. The public end host is used to transmit a one-time wallet address to the identity verification end host, and encrypt the public data with the collection announcement end public key to generate encrypted data, and then publish the encrypted data with the one-time wallet address, write the encrypted data into the blockchain, and when detecting its own public data and one-time wallet address in the obfuscated recognition announcement on the blockchain, use its own one-time wallet address to write the recognition mark into the blockchain to acknowledge the existence of its own public data in the obfuscated recognition announcement; the identity verification end host is used to receive the one-time wallet address from the public end host, and when detecting that the one-time wallet address writes the encrypted data into the blockchain, write the corresponding valid mark of the encrypted data into the blockchain to acknowledge the existence of its own public data in the obfuscated recognition announcement. The invention further provides a method for the collection and announcement end host to verify that the encrypted data comes from the one-time wallet address; when the collection and announcement end host detects a valid mark and its corresponding encrypted data on the blockchain, the collection and announcement end host loads the encrypted data from the blockchain, decrypts the data using the collection and announcement end private key to obtain the public data and its corresponding one-time wallet address, and then writes the receipt mark corresponding to the encrypted data into the blockchain; and when the collection and announcement end host obtains the public data and its corresponding one-time wallet address, the collection and announcement end host obfuscates the correspondence between the public data and the one-time wallet address as the content of the obfuscation acknowledgment announcement, and publishes the obfuscation acknowledgment announcement on the blockchain, so that the obfuscation acknowledgment announcement includes all the public data and the one-time wallet addresses that have been obfuscated.

[0008] In addition, the present invention also discloses a method for anonymous disclosure and many-to-many recognition based on blockchain that allows identity confirmation, which is applied to a blockchain network including a public end host, an identity verification end host and a collection and announcement end host, and the steps include: the public end host transmits a one-time wallet address to the identity verification end host, and encrypts the public data with the collection and announcement end public key to generate encrypted data, and then publishes the encrypted data with the one-time wallet address to write the encrypted data into the blockchain; when the identity verification end host detects that the one-time wallet address writes the encrypted data into the blockchain, the valid mark corresponding to the encrypted data is written into the blockchain to prove that the encrypted data comes from the one-time wallet address; when the collection and announcement end host detects the valid mark and its corresponding encrypted data on the blockchain, the valid mark is written into the blockchain from the blockchain. The blockchain loads the encrypted data, decrypts it using the private key of the collection and announcement end to obtain the public data and its corresponding one-time wallet address, and then writes the receipt mark corresponding to the encrypted data into the blockchain; when the collection and announcement end host obtains the public data and its corresponding one-time wallet address, it obfuscates the correspondence between the public data and the one-time wallet address as the content of the obfuscation acknowledgment announcement, and publishes the obfuscation acknowledgment announcement on the blockchain, so that the obfuscation acknowledgment announcement includes all the public data and the one-time wallet address that have been obfuscated; and when each public end host detects its own public data and one-time wallet address in the obfuscation acknowledgment announcement, it uses its own one-time wallet address to write an acknowledgment mark into the blockchain to acknowledge the presence of its own public data in the obfuscation acknowledgment announcement.

[0009] The system and method disclosed in the present invention are as described above. The difference from the prior art is that the present invention generates a one-time wallet address by a public end host, encrypts the public data into encrypted data and writes it to the blockchain, then the authentication end host generates a corresponding valid mark, and the collection announcement end host decrypts the encrypted data and generates a corresponding receipt mark. The correspondence between the public data obtained by decryption and its corresponding one-time wallet address is obfuscated and used as the content of the obfuscated acknowledgment announcement and written to the blockchain, so that when the public end host detects its own public data and one-time wallet address in the obfuscated acknowledgment announcement, it can write the acknowledgment mark to the blockchain.

[0010] Through the above-mentioned technical means, the present invention can achieve the technical effect of improving anonymity and allowing identity confirmation. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Figure 1 This is a system block diagram of the blockchain-based anonymous public and many-to-many recognition system of the present invention that allows identity confirmation.

[0012] Figure 2A and Figure 2BThis is a flowchart of the method for anonymous disclosure and many-to-many recognition based on blockchain that allows identity confirmation in the present invention.

[0013] Figures 3A to 3D A schematic diagram of applying the present invention to conduct anonymous voting or polling and lottery drawing.

[0014] Description of reference numerals:

[0015] 100 blockchain networks

[0016] 110 Public host

[0017] 110a~110n public host

[0018] 120 Authentication host

[0019] 130 Collection announcement host

[0020] 300 Blockchain

[0021] 310 Encrypted Data

[0022] 311 Public Data

[0023] 312 Salt Data

[0024] 320 valid tags

[0025] 330 Signature Mark

[0026] 410 Confusion Acknowledgement Notice

[0027] 411a-411n public data

[0028] 412a~412n one-time wallet address

[0029] 413a~413n Approval Mark DETAILED DESCRIPTION

[0030] The following will describe the embodiments of the present invention in detail with reference to figures and examples, so that the implementation process of how the present invention applies technical means to solve technical problems and achieve technical effects can be fully understood and implemented accordingly.

[0031] Before describing the disclosed blockchain-based anonymous public and many-to-many authentication system and method, the present invention's application environment will be described. The present invention is applied in a blockchain network environment, comprising a public host, an authentication host, and a collection and announcement host. In practice, each of these hosts can be considered a node in the blockchain network, and each maintains a blockchain containing the same content. Furthermore, the blockchain can also host pre-configured smart contracts. Smart contracts are computer programs that execute instructions based on pre-defined conditions and transmitted information on the blockchain. Specifically, smart contracts are written in programming languages such as Solidity, Serpent, LLL, EtherScript, Sidechain, etc., and can contain various functions, events, parameter states, and so on, allowing execution of instructions to change parameter states or trigger events.

[0032] The following diagrams further illustrate the system and method for anonymous disclosure and multi-to-multi recognition based on blockchain technology. Figure 1 , Figure 1This is a system block diagram of a blockchain-based anonymous public and many-to-many recognition system that allows for identity verification. The system includes a public host 110, an authentication host 120, and a collection and announcement host 130. The public host 110 transmits a one-time wallet address to the authentication host 120, encrypts the public data using the collection and announcement public key to generate encrypted data, and then deploys the encrypted data using the one-time wallet address to write the encrypted data to the blockchain. When the public host 110 detects its own public data and one-time wallet address in an obfuscated recognition announcement on the blockchain, it uses its own one-time wallet address to write an acknowledgement tag to the blockchain, acknowledging the presence of its own public data in the obfuscated recognition announcement. In practice, the collection and announcement public key refers to the public key obtained in advance from the collection and announcement host 130. The one-time wallet address can be generated by the public host 110 using a hierarchical deterministic wallet (HD Wallet) based on the master key used as a seed. In practice, the authentication host 120 pre-stores the primary wallet address or identity data. When the authentication host 120 completes verification of the public host 110 based on the primary wallet address or identity data and receives the one-time wallet address from the public host 110, a correspondence is established between the one-time wallet address and the primary wallet address or identity data, thereby allowing the user's true identity to be confirmed from this correspondence. Furthermore, during encryption and decryption, cryptographic salt data can be used as part of the encrypted data. After the collection and announcement host 130 loads the encrypted data from the blockchain, it can decrypt the encrypted data using the collection and announcement private key to obtain the public data, thereby improving the overall security level.

[0033] The authentication host 120 is configured to receive a one-time wallet address from the public host 110 and, upon detecting that the one-time wallet address writes encrypted data to the blockchain, write a corresponding valid flag for the encrypted data to the blockchain to attest that the encrypted data originated from the one-time wallet address. In practice, since the public host 110 will first transmit the one-time wallet address to the authentication host 120 as described above, the authentication host 120 will first confirm whether the public host 110 is qualified before detection, for example, by comparing it with the primary wallet address, performing real-name verification, or similar methods. If so, it will detect whether the one-time wallet address writes encrypted data to the blockchain. Furthermore, the valid flag generated by the authentication host 120 can be recorded using JSON or a similar format, with the following content:

[0034] 「

[0035] The encrypted transaction hash value of the public data is: "0x04542..."

[0036] Is the source address valid: True

[0037] Or add a new record in the Smart Contract as follows:

[0038] [Public data record number: 13, Source address validity: False]

[0039] When the collection and announcement host 130 detects a valid token and its corresponding encrypted data on the blockchain, it loads the encrypted data from the blockchain and decrypts it using the collection and announcement host's private key (i.e., the collection and announcement host 130's own private key) to obtain the public data (which can be one or more entries) and their corresponding one-time wallet addresses. The collection and announcement host 130 then writes the corresponding receipt token for this encrypted data into the blockchain. Furthermore, when the collection and announcement host 130 obtains the public data and its corresponding one-time wallet address, it obfuscates the correspondence between the public data and the one-time wallet address as the content of the obfuscation acknowledgment announcement. It is important to note that the collection and announcement host 130 still holds the public data and one-time wallet addresses containing the corresponding relationship. The obfuscation acknowledgment announcement is then published on the blockchain, including all the public data and one-time wallet addresses that have been obfuscated. In other words, the obfuscation acknowledgment announcement consists of the collection of multiple public data entries that do not contain the corresponding relationship plus the collection of multiple one-time wallet addresses. As for the obfuscation, the correspondence between the public data and the one-time wallet address can be obfuscated, disrupted or hidden by executing an obfuscation function. For example, the order of the public data and the one-time wallet address in the obfuscation acknowledgment announcement can be randomly sorted, obfuscated, etc., so that there is no longer a correspondence between the two in the obfuscation acknowledgment announcement, and their correspondence cannot be known. In fact, the private key of the collection announcement end corresponds to the public key of the collection announcement end, and is the same set of key pairs (Key Pairs) of the collection announcement end host 130, which can be implemented using symmetric or asymmetric encryption technology. In addition, the public data may include a unique identification code to allow the public end host 110 to identify its own public data based on this identification code when the public data is announced in the obfuscation acknowledgment announcement. In actual implementation, the receipt mark generated by the collection announcement end host 130 can be recorded using JSON or a similar format, and its content is as follows:

[0040] 「

[0041] The encrypted transaction hash value of the public data is: "0x04542..."

[0042] Decryption successful: False

[0043] Or add a new record in the smart contract as follows:

[0044] "[Public data record number: 17, Decryption success: True]"

[0045] Compared to the aforementioned validity mark, which primarily records whether the source address is valid, the receipt mark here primarily records whether the decryption was successful. Furthermore, in practical implementation, the obfuscated acknowledgement announcement can be a smart contract that records the public data and its corresponding one-time wallet address, and allows the public host 110 to write the acknowledgement mark through this smart contract. The obfuscated acknowledgement announcement can also be the data content of a blockchain transaction, allowing the public host 110 to write a separate transaction representing the acknowledgement mark, and indicate the corresponding relationship in the data content, such as the hash value of the corresponding obfuscated acknowledgement announcement transaction. Furthermore, since the amount of public data may not be equal to the number of public hosts 110, for example, a public host 110 can generate multiple public data records, a weighted relationship can be indicated in the obfuscated acknowledgement announcement smart contract. For example, taking weighted voting as an example, some public hosts 110 can generate three voting records, and their one-time addresses can acknowledge three votes. Alternatively, the same public host 110 can generate multiple one-time identities through the authentication host 120 to vote individually. Furthermore, when there is unrecognizable public data, the collection and announcement end host re-issues the obfuscated acknowledgment announcement based on all the public data with the acknowledgment mark until all the public data have the corresponding acknowledgment mark. In other words, if the number of public end hosts 110 that acknowledge the obfuscated acknowledgment announcement is insufficient, the collection and announcement end host 130 can remove the unacknowledged one-time addresses and public data and re-issue the obfuscated acknowledgment announcement until all the public data are acknowledged. In addition, the obfuscated acknowledgment announcement can be split into multiple, for example: the number of public end hosts 110 is large, and it is difficult to achieve that all public end hosts 110 acknowledge the same obfuscated acknowledgment announcement. Taking the application in anonymous voting as an example, it can be split into multiple obfuscated acknowledgment announcements to represent multiple voting stations, but the final number of votes is the aggregate of all voting stations.

[0046] It should be noted that, in actual implementation, the hosts described in the present invention can be implemented in various ways, including software, hardware, or any combination thereof. For example, in certain embodiments, each host can be implemented using software and hardware, or one of them. In addition, the present invention can also be implemented partially or completely based on hardware. For example, one or more hosts in the system can be implemented by an integrated circuit chip, a system on a chip (SoC), a complex programmable logic device (CPLD), a field programmable gate array (FPGA), etc. The present invention can be a system, a method, and / or a computer program. The computer program can include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present invention. The computer-readable storage medium can be a tangible device that can retain and store instructions used by an instruction execution device. The computer-readable storage medium can be, but is not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: a hard disk, random access memory, read-only memory, flash memory, an optical disk, a floppy disk, and any suitable combination of the foregoing. As used herein, the computer-readable storage medium is not to be interpreted as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated through a waveguide or other transmission medium (e.g., an optical signal through a fiber optic cable), or an electrical signal transmitted through a wire. In addition, the computer-readable program instructions described herein can be downloaded from the computer-readable storage medium to each computing / processing device, or downloaded to an external computer device or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmission, wireless transmission, routers, firewalls, switches, hubs, and / or gateways. The network card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.The computer program instructions for performing the operations of the present invention may be assembly language instructions, instruction set architecture instructions, machine instructions, machine-dependent instructions, microinstructions, firmware instructions, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Common Lisp, Python, C++, Objective-C, Smalltalk, Delphi, Java, Swift, C#, Perl, Ruby, and PHP, as well as conventional procedural programming languages such as C or similar programming languages. The computer program instructions may be executed entirely on the computer, partially on the computer, as a standalone software, partially on the client computer and partially on a remote computer, or entirely on a remote computer or server.

[0047] See also Figure 2A and Figure 2B , Figure 2A and Figure 2BThe method flow chart of the method for anonymous disclosure and many-to-many recognition based on blockchain that allows identity confirmation of the present invention is applied to a blockchain network 100 including a public end host 110, an authentication end host 120, and a collection and announcement end host 130. The steps include: the public end host 110 transmits a one-time wallet address to the authentication end host 120, and encrypts the public data with the collection and announcement end public key to generate encrypted data, and then publishes the encrypted data with the one-time wallet address to write the encrypted data into the blockchain (step 210); when the authentication end host 120 detects that the one-time wallet address writes the encrypted data into the blockchain, it writes a valid mark corresponding to the encrypted data into the blockchain to prove that the encrypted data comes from the one-time wallet address (step 220); the collection and announcement end host 130 detects the valid mark and its corresponding encrypted data on the blockchain When the collection and announcement end host 130 obtains the public data and its corresponding one-time wallet address, it loads the encrypted data from the blockchain, decrypts it using the collection and announcement end private key, obtains the public data and its corresponding one-time wallet address, and then writes the receipt mark of the corresponding encrypted data into the blockchain (step 230); when the collection and announcement end host 130 obtains the public data and its corresponding one-time wallet address, it obfuscates the correspondence between the public data and the one-time wallet address as the content of the obfuscation acknowledgment announcement, and publishes the obfuscation acknowledgment announcement on the blockchain, so that the obfuscation acknowledgment announcement includes all the public data and one-time wallet addresses that have been obfuscated (step 240); when each public end host 110 detects its own public data and one-time wallet address in the obfuscation acknowledgment announcement, it uses its own one-time wallet address to write the acknowledgment mark into the blockchain to acknowledge the existence of its own public data in the obfuscation acknowledgment announcement (step 250). Through the above steps, the public host 110 generates a one-time wallet address, encrypts the public data into encrypted data, and writes it to the blockchain. The authentication host 120 then generates a corresponding validity token, and the collection and announcement host 130 decrypts the encrypted data and generates a corresponding receipt token. The decrypted public data and its corresponding one-time wallet address are then obfuscated and used as the content of the obfuscated acknowledgment announcement, which is then written to the blockchain. This allows the public host 110 to write the acknowledgment token to the blockchain when it detects its own public data and one-time wallet address in the obfuscated acknowledgment announcement. In this way, only the collection and announcement host 130 can determine the public data from the encrypted data on the blockchain. While the authentication host 120 knows the relationship between the one-time wallet address and the real identity, it cannot know the relationship between the one-time wallet address and the public data. Similarly, while the collection and announcement host 130 knows the relationship between the one-time wallet address and the public data, it cannot know the relationship between the one-time wallet address and the real identity. Therefore, both anonymity and identity verification are achieved.

[0048] The following combination Figures 3A to 3DThe following description is given by way of example: Figures 3A to 3D Indicated, Figures 3A to 3D This is a schematic diagram of the application of the present invention to conduct anonymous voting or polls and lottery draws. When applied to anonymous voting, the role of the public end host 110 can be regarded as the voter, the role of the authentication end host 120 can be regarded as the election staff of each voting station, the role of the collection and announcement end host 130 can be regarded as the election center, and the public data is the vote of the voters. In addition, the operation, confirmation information and writing behavior of each end host can be automated through a device or system, such as: an Internet of Things (IoT) voting machine or a dedicated voting mobile application (APP). The following are the steps for conducting anonymous voting:

[0049] 1. Such as Figure 3A As shown, the public host 110 transmits the one-time wallet address to be used to the authentication host 120. This step is equivalent to the voter informing the voting staff of the one-time wallet address to be used after the identity verification at the voting station.

[0050] 2. Such as Figure 3B As shown, the public end host 110 uses the public key of the collection and announcement end to encrypt the public data 311 to generate encrypted data 310, and then publishes this encrypted data 310 with a one-time wallet address to write the encrypted data into the blockchain 300. In actual implementation, in order to improve data security, cryptographic salt data 312 can also be used and made part of the encrypted data 310 for decryption. This step is equivalent to the voter using the public key of the election center (i.e., the public key of the collection and announcement end) to encrypt his voting content (including the identification code) and write the encryption result into the smart contract (such as the voting collection contract). In addition, the voting content can also include weights to achieve the effect of weighted voting, and one public end host 110 can generate more than one voting content.

[0051] 3. When the authentication host 120 detects that the one-time wallet address has written encrypted data 310 to the blockchain 300, it writes a validation flag 320 corresponding to the encrypted data 310 to the blockchain 300 to verify that the encrypted data 310 originated from the one-time wallet address. This step is equivalent to each polling station staff writing the corresponding validation flag to the polling station collection contract upon observing the voter's encryption result (i.e., encrypted data 310) being written to the polling station collection contract.

[0052] 4. When the collection and announcement host 130 detects a valid mark 320 and its corresponding encrypted data 310 on the blockchain 300, it loads the encrypted data 310 from the blockchain 300 and decrypts the loaded encrypted data 310 using the collection and announcement host's private key to obtain the public data 311 and its corresponding one-time wallet address. It then writes a receipt mark 330 corresponding to the encrypted data 310 into the blockchain 300. This step is equivalent to the election center observing the valid mark and the corresponding encryption result, obtaining the encryption result from the blockchain, decrypting it using the election center's private key (i.e., the collection and announcement host's private key) to obtain the voting content and identification code, and then writing the corresponding valid mark into the voting collection contract.

[0053] 5. Such as Figure 3C As shown, when the collection and announcement host 130 obtains the public data (411a-411n) and its corresponding one-time wallet addresses (412a-412n), it obfuscates the correspondence between the public data (411a-411n) and the one-time wallet addresses (412a-412n), and publishes an obfuscation confirmation announcement 410 on the blockchain 300, wherein the obfuscation confirmation announcement 410 includes all the public data (411a-411n) and one-time wallet addresses (412a-412n) that have obfuscated the corresponding relationship. This step is equivalent to the election center collecting the voting information (including identification codes) of all voters and publishing a public vote verification contract (i.e., obfuscation confirmation announcement 410), which discloses all voting information and all voters' one-time wallet addresses, but does not include the correspondence between the two. In fact, the published public vote verification contract can integrate or break up one or more voting information.

[0054] 6. Such as Figure 3D As shown, when each public host (110a-110n) detects its own public data and one-time wallet address in the obfuscation confirmation announcement 410, it will use its own one-time wallet address to write an acknowledgement mark into the blockchain 300 to acknowledge the existence of its own public data in the obfuscation confirmation announcement 410. This step is equivalent to each voter confirming their vote content in the public verification contract through the identification code and writing an acknowledgement mark into the public verification contract.

[0055] In this way, when all voters enter the acknowledgement mark, it means that all ballots in the public ballot verification contract have been acknowledged by the voters, and the public ballot verification contract is established. Conversely, if not all voters enter the acknowledgement mark, the election center can delete the record and reissue the public ballot verification contract. The deleted record can be reissued in other public ballot verification contracts until it is acknowledged or deemed invalid after the voting period ends. The election center can issue multiple voting collection contracts and multiple public ballot verification contracts, and finally count all established public ballot verification contracts and calculate the voting content as the voting result. In this example, because the collection and announcement host 130 cannot change the content of the public data, the public host 110 can independently verify whether the public data is indeed announced. In other words, since the vote counter cannot falsify the ballots, and each voter can confirm that their vote has been counted during the ballot verification stage, it can be called autonomous ballot verification.

[0056] Next, when applied to anonymous polls, the role of the public end host 110 can be regarded as the respondent, the role of the identity verification end host 120 can be regarded as a third-party verification agency, the role of the collection and announcement end host 130 can be regarded as the poll center, and the public data is the content of the interview (such as: the vote of the respondent). The operation, confirmation information and writing behavior of each end host can be automated through a device or system, such as a poll web system or a mobile application. In fact, the application in anonymous polls and the application in anonymous voting are similar. The only difference is the role of each end host and the content of the public data. Therefore, the following also uses Figures 3A to 3D Describe the steps for conducting an anonymous poll:

[0057] 1. Such as Figure 3A As shown, the public end host 110 also first transmits the one-time wallet address to be used to the authentication end host 120. This step is equivalent to the interviewee informing the third-party verification agency of the one-time wallet address to be used after the identity verification is completed at the third-party verification agency.

[0058] 2. Such as Figure 3B As shown, the public host 110 uses the public key of the collection and announcement end to encrypt the public data 311 (including the identification code) to generate encrypted data 310 (which may include salt data 312). This encrypted data 310 is then published using a one-time wallet address to write encrypted data 310 to the blockchain 300. This step is equivalent to a transaction in which the respondent uses the public key of the poll center (i.e., the public key of the collection and announcement end) to encrypt his or her interview content (including the identification code) and even encrypt salt data 312, and then write the encrypted result to the blockchain.

[0059] 3. When the authentication host 120 detects that the one-time wallet address has written encrypted data 310 to the blockchain 300, it writes a valid flag 320 corresponding to the encrypted data 310 to the blockchain 300 to attest that the encrypted data 310 originated from the one-time wallet address. This step is equivalent to a third-party verification agency writing a valid flag 320 indicating the transaction hash value of the encrypted data 310 to the blockchain 300 upon observing the transaction containing the respondent's encrypted result (i.e., encrypted data 310) being written to the blockchain 300.

[0060] 4. When the collection and announcement host 130 detects a valid flag 320 and its corresponding encrypted data 310 on the blockchain 300, it loads the encrypted data 310 from the blockchain 300 and decrypts the loaded encrypted data 310 using the collection and announcement host's private key to obtain the public data 311 and its corresponding one-time wallet address. It then writes a receipt flag 330 corresponding to the encrypted data 310 onto the blockchain 300. This step is equivalent to the polling center observing the valid flag and the corresponding encryption result, obtaining the encryption result from the blockchain, decrypting it using the polling center's private key (i.e., the collection and announcement host's private key), obtaining the interviewee's content and identification code, and writing the receipt flag 330 indicating the transaction hash value of the encryption result onto the blockchain 300.

[0061] 5. Such as Figure 3C As shown, when the collection and announcement host 130 obtains the public data (411a-411n) and its corresponding one-time wallet addresses (412a-412n), it obfuscates the correspondence between the public data (411a-411n) and the one-time wallet addresses (412a-412n) and publishes an obfuscation acknowledgment announcement 410 on the blockchain 300. This obfuscation acknowledgment announcement 410 includes all the public data (411a-411n) and one-time wallet addresses (412a-412n) whose correspondences have been obfuscated. This step is equivalent to the poll center collecting all the signed interview content (including identification codes) and publishing a public poll announcement (i.e., obfuscation acknowledgment announcement 410), which discloses all the interview content and the one-time wallet addresses of all respondents, but does not include the correspondence between the two. In practice, there can be one or more public poll announcements. If there is only one, all the signed interview content can be integrated; if there are multiple, all the signed interview content can be dispersed into different public poll announcements.

[0062] 6. Such as Figure 3DAs shown, when each public host (110a-110n) detects its own public data and one-time wallet address in the obfuscated confirmation announcement 410, it will use its own one-time wallet address to write an acknowledgement tag into the blockchain 300, acknowledging the presence of its own public data in the obfuscated confirmation announcement 410. This step is equivalent to each respondent confirming their own interview content in the public poll announcement using their identification code and writing an acknowledgement tag indicating the transaction hash value of the public poll announcement into the blockchain.

[0063] In this way, when all respondents enter the acknowledgement mark, it means that all the interviewed content in the public poll announcement has been acknowledged by the corresponding respondents, and therefore the public poll announcement is valid. Conversely, if not all respondents enter the acknowledgement mark, the poll center can delete the record and re-issue the public poll announcement. The deleted interviewed content can be re-issued in other public poll announcements until it is acknowledged, or after the poll period ends, the record will be deemed invalid. In fact, the poll center can publish multiple public poll announcements and finally count all the valid public poll announcements, and count the interviewed content as the poll results.

[0064] Finally, when applied to lottery draws, the role of the public host 110 can be regarded as a lottery buyer, the role of the authentication host 120 can be regarded as a lottery retailer, the role of the collection and announcement host 130 can be regarded as the lottery head office, and the public data is the lottery number selection and the algorithm weights arbitrarily determined or randomly generated. The operation, confirmation information and writing behavior of each end host can be automated through a device or system, such as the official lottery web system or mobile application. Similarly, since the application in lottery draws is similar to the application in anonymous voting or polls, the same method is used. Figures 3A to 3D Explain the steps for lottery draw:

[0065] 1. Such as Figure 3A As shown, the public end host 110 transmits the one-time wallet address to be used to the authentication end host 120. This step is equivalent to the lottery buyer notifying the lottery retailer of the one-time wallet address to be used.

[0066] 2. Such as Figure 3B As shown, the public host 110 uses the public key of the collection and announcement end to encrypt public data 311 to generate encrypted data 310. This encrypted data 310 is then published using a one-time wallet address, which is then written to the blockchain 300. This step is equivalent to a lottery purchaser using the lottery company's public key to encrypt the public data (including the purchased lottery number, algorithm weight, and identification code) and then writing the encrypted result to the current lottery smart contract previously published by the lottery company on the blockchain. Similarly, to enhance data security, cryptographic salt data 312 can be used in conjunction with the encryption and decryption process.

[0067] 3. When the authentication host 120 detects that the one-time wallet address has written encrypted data 310 to the blockchain 300, it writes a validation flag 320 corresponding to the encrypted data 310 to the blockchain 300 to verify that the encrypted data 310 originated from the one-time wallet address. This step is similar to a lottery retailer observing the lottery purchaser's encrypted result being written to the lottery purchase smart contract and writing the validation flag corresponding to this record into the current lottery smart contract.

[0068] 4. When the collection and announcement host 130 detects the valid flag 320 and its corresponding encrypted data 310 on the blockchain 300, it loads the encrypted data 310 from the blockchain 300 and decrypts the loaded encrypted data 310 using the collection and announcement host's private key to obtain the public data 311 and its corresponding one-time wallet address. It then writes the receipt flag 330 corresponding to the encrypted data 310 onto the blockchain 300. This step is equivalent to the lottery headquarters observing the valid flag and the corresponding encryption result, obtaining the encryption result from the blockchain, decrypting it using the collection and announcement host's private key, and then obtaining the purchased lottery number, algorithm weight, and identification code, and then writing the corresponding valid flag into the current lottery smart contract.

[0069] 5. Such as Figure 3C As shown, when the collection and announcement host 130 obtains the public data (411a-411n) and its corresponding one-time wallet addresses (412a-412n), it obfuscates the correspondence between the public data (411a-411n) and the one-time wallet addresses (412a-412n) and publishes an obfuscation confirmation announcement 410 on the blockchain 300. The obfuscation confirmation announcement 410 includes all the public data (411a-411n) and one-time wallet addresses (412a-412n) that have been obfuscated. This step is equivalent to the lottery company collecting all lottery records purchased by all buyers (including the purchased lottery numbers, algorithm weights, and identification codes) and publishing an obfuscation confirmation announcement contract, which discloses all lottery records and all buyers' one-time wallet addresses, but does not include the correspondence between the two.

[0070] 6. Such as Figure 3D As shown, when each public host (110a-110n) detects its own public data and one-time wallet address in the obfuscation confirmation announcement 410, it uses its own one-time wallet address to write an acknowledgement tag into the blockchain 300, acknowledging the presence of its own public data in the obfuscation confirmation announcement 410. This step is equivalent to each lottery purchaser confirming the lottery record they purchased in the obfuscation confirmation announcement contract using an identification code and then writing an acknowledgement tag into the obfuscation confirmation announcement contract.

[0071] Once all lottery ticket purchasers have entered their approval mark, the winning numbers can be calculated using the algorithmic weights in the lottery records. If not all lottery ticket purchasers have entered their approval mark, the lottery company can remove these lottery records without the approval mark and re-issue a confusing approval announcement contract. Because the winning numbers are calculated using the algorithmic weights provided by all lottery ticket purchasers, the winning numbers are out of the control of the lottery company. In addition to the algorithmic weights, the randomness of the purchasers and the approval mark ensure fairness and prevent fraud.

[0072] In summary, the difference between the present invention and the prior art lies in that a one-time wallet address is generated by a public host, and public data is encrypted into encrypted data and then written into the blockchain. The authentication host then generates a corresponding valid mark, and the collection and announcement host decrypts the encrypted data and generates a corresponding receipt mark. The correspondence between the public data obtained by decryption and its corresponding one-time wallet address is obfuscated and used as the content of the obfuscated acknowledgment announcement and written into the blockchain. This allows the public host to write the acknowledgment mark into the blockchain when it detects its own public data and one-time wallet address in the obfuscated acknowledgment announcement. This technical means can solve the problems existing in the prior art and achieve the technical effect of improving anonymity and allowing identity confirmation.

[0073] Although the present invention is disclosed above with reference to the aforementioned embodiments, they are not intended to limit the present invention. Any person skilled in the art may make slight changes and modifications without departing from the spirit and scope of the present invention. Therefore, the scope of patent protection of the present invention shall be determined by the scope defined by the claims attached to this specification.

Claims

1. A blockchain-based anonymous public identity verification and many-to-many recognition system, comprising: The public host is configured to transmit a one-time wallet address, encrypt the public data using the public key of the collection and announcement end to generate encrypted data, publish the encrypted data using the one-time wallet address, write the encrypted data into the blockchain, and, upon detecting its own public data and the one-time wallet address in the obfuscated acknowledgment announcement on the blockchain, write an acknowledgment tag into the blockchain using its own one-time wallet address to acknowledge the presence of its own public data in the obfuscated acknowledgment announcement; an authentication end host, configured to receive the one-time wallet address from the public end host, and upon detecting that the one-time wallet address writes the encrypted data into the blockchain, write a valid flag corresponding to the encrypted data into the blockchain to prove that the encrypted data comes from the one-time wallet address; as well as The collection and announcement end host is configured to, upon detecting the valid mark and the corresponding encrypted data on the blockchain, load the encrypted data from the blockchain, decrypt the data using the collection and announcement end private key to obtain the public data and the corresponding one-time wallet address, and then write a receipt mark corresponding to the encrypted data into the blockchain. When the collection and announcement end host obtains the public data and the corresponding one-time wallet address, it obfuscates the correspondence between the public data and the one-time wallet address as the content of the obfuscation acknowledgment announcement, and publishes the obfuscation acknowledgment announcement on the blockchain, so that the obfuscation acknowledgment announcement includes all the public data and the one-time wallet addresses whose correspondences have been obfuscated.

2. The blockchain-based anonymous public and many-to-many recognition system that allows identity confirmation according to claim 1, wherein the one-time wallet address is generated by the public host using a hierarchical deterministic wallet based on a master key as a seed, and the authentication host pre-stores a primary wallet address or identity data. When the authentication host completes verification of the public host based on the primary wallet address or the identity data and receives the one-time wallet address from the public host, a correspondence between the one-time wallet address and the primary wallet address or the identity data is established.

3. The blockchain-based anonymous public and many-to-many recognition system that allows identity confirmation according to claim 1, wherein the validity mark, the receipt mark, and the recognition mark are allowed to be recorded in the same smart contract or multiple different blockchain transaction records, the validity mark and the receipt mark include the encrypted transaction hash value of the public data and a judgment message on whether the decryption is successful, and the recognition mark includes the one-time wallet address.

4. The blockchain-based anonymous public and many-to-many recognition system that allows identity confirmation according to claim 1, wherein the encrypted data includes salt data, and when the collection and announcement end loads the encrypted data from the blockchain, the encrypted data is decrypted using the collection and announcement end private key to obtain the public data.

5. The blockchain-based anonymous public and many-to-many recognition system that allows identity confirmation according to claim 1, wherein the public data includes an identification code, which allows the public end host to identify the public data belonging to itself based on the identification code when the public data is announced in the obfuscated recognition announcement. When there is unidentifiable public data, the collection and announcement end host re-issues the obfuscated recognition announcement based on all the public data with the recognition mark until all the public data have the corresponding recognition mark.

6. A blockchain-based anonymous public and many-to-many authentication method that allows for identity verification, applied to a blockchain network comprising multiple public end hosts, authentication end hosts, and collection and announcement end hosts, comprising the following steps: The public host transmits the one-time wallet address to the authentication host, encrypts the public data with the collection and announcement end public key to generate encrypted data, and then publishes the encrypted data with the one-time wallet address to write the encrypted data into the blockchain; When the authentication host detects that the one-time wallet address writes the encrypted data into the blockchain, it writes a valid mark corresponding to the encrypted data into the blockchain to prove that the encrypted data comes from the one-time wallet address; When the collection and announcement end host detects the valid mark and the corresponding encrypted data on the blockchain, it loads the encrypted data from the blockchain, decrypts it using the collection and announcement end private key to obtain the public data and the corresponding one-time wallet address, and then writes the receipt mark corresponding to the encrypted data into the blockchain; When the collection and announcement end host obtains the public data and the corresponding one-time wallet address, it obfuscates the correspondence between the public data and the one-time wallet address as the content of the obfuscation acknowledgment announcement, and publishes the obfuscation acknowledgment announcement on the blockchain, so that the obfuscation acknowledgment announcement contains all the public data and the one-time wallet address in which the correspondence has been obfuscated; as well as When each public end host detects its own public data and the one-time wallet address in the obfuscated acknowledgment announcement, it uses its own one-time wallet address to write an acknowledgment mark into the blockchain to acknowledge the existence of its own public data in the obfuscated acknowledgment announcement.

7. The blockchain-based anonymous public and many-to-many recognition method for identity confirmation according to claim 6, wherein the one-time wallet address is generated by a hierarchical deterministic wallet based on a master key as a seed, and the authentication host pre-stores a primary wallet address or identity data; when the authentication host completes verification of the public host based on the primary wallet address or the identity data and receives the one-time wallet address from the public host, a correspondence between the one-time wallet address and the primary wallet address or the identity data is established.

8. The blockchain-based anonymous disclosure and many-to-many recognition method that allows identity confirmation according to claim 6, wherein the validity mark, the receipt mark, and the recognition mark are allowed to be recorded in the same smart contract or multiple different blockchain transaction records, the validity mark and the receipt mark include the encrypted transaction hash value of the public data and a judgment message on whether the decryption is successful, and the recognition mark includes the one-time wallet address.

9. The method of anonymous disclosure and many-to-many recognition based on blockchain that allows identity confirmation according to claim 6, wherein the encrypted data includes salt data, and when the collection and announcement end host loads the encrypted data from the blockchain, the encrypted data is decrypted by the collection and announcement end private key to obtain the public data.

10. The blockchain-based anonymous disclosure and many-to-many recognition method that allows identity confirmation according to claim 6, wherein the public data includes an identification code, which allows the public end host to identify the public data belonging to itself based on the identification code when the public data is announced in the obfuscated recognition announcement. When there is unidentifiable public data, the collection and announcement end host re-issues the obfuscated recognition announcement based on all the public data with the recognition mark until all the public data have the corresponding recognition mark.

Citation Information

Patent Citations

  • Anonymous electronic voting method based on blockchain

    CN108109257A

  • KR1019086770000B1