WO2020015635A1 - 分布式投票系统、方法、装置、计算机设备及可读存储介质 - Google Patents
分布式投票系统、方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- WO2020015635A1 WO2020015635A1 PCT/CN2019/096155 CN2019096155W WO2020015635A1 WO 2020015635 A1 WO2020015635 A1 WO 2020015635A1 CN 2019096155 W CN2019096155 W CN 2019096155W WO 2020015635 A1 WO2020015635 A1 WO 2020015635A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- voting
- node
- information
- commitment
- distributed
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000004422 calculation algorithm Methods 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 15
- 230000000977 initiatory effect Effects 0.000 claims description 9
- 238000013524 data verification Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 description 23
- 230000008569 process Effects 0.000 description 23
- 238000012795 verification Methods 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000001788 irregular Effects 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000002747 voluntary effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C13/00—Voting apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
Definitions
- the present disclosure relates to the field of information technology, and in particular, to a distributed voting system, method, device, computer device, and readable storage medium.
- online art galleries can expand the spread of art works and increase the public's attention to art works or authors. Online art galleries can also organize art works promotion activities on the online platform on a regular or irregular basis, such as voting for awards.
- the present disclosure provides a distributed voting system, method, device, computer equipment, and readable storage medium, which is applied to the voting process of platforms such as online art galleries.
- a distributed voting system including: a first node configured to broadcast voting invitation information; and a second node configured to generate voting commitment information based on the voting invitation information.
- the voting commitment information includes The second node generates first signature information for the voting commitment information according to its own key; and broadcasts the voting commitment information; and the third node is configured to respond to receiving the voting commitment information according to the pre-acquired second node's
- the public key information and the first signature information determine that the voting commitment information is valid, wherein the secret key of the second node corresponds uniquely to the public key of the second node; and, a voting record is generated according to the voting commitment information, and the voting record is stored in the system In the first data block.
- the voting invitation information includes identification information of the voting object
- the voting commitment information further includes identification information of the second node, identification information of the voting object, and voting time information
- the third node is configured to generate the information including the second The voting records of the node's identification information, the voting object's identification information, and the voting time information.
- the third node is configured to determine that the voting commitment information is edited and generated by the second node according to the public key information and the first signature information of the second node; and according to the identification information of the second node and stored in the system Historical voting records, determine that the account balance corresponding to the second node is not lower than the first preset value.
- the second node is configured to send voting request information to the first node; and reduce the account balance corresponding to the second node according to the first preset value; and the first node is configured to respond to receiving According to the voting request information, the account balance corresponding to the first node is increased according to the first preset value and the voting result of the voting object is updated.
- the distributed voting system further includes: a fourth node or cloud platform configured to broadcast voting initiation information; wherein the first node is configured to broadcast voting invitation information in response to receiving the voting initiation information; and, The second node is configured to increase the account balance corresponding to the second node according to the second preset value in response to receiving the voting initiation information; and broadcast the public key information of the second node, and the public key information of the second node includes the second The identification information of the node and the public key of the second node.
- the third node is configured to determine an input value that causes an output value of the first preset algorithm to meet a set condition; and generate the first data according to the output value and identification information of a data block that is recently generated in the system. Block; and, broadcasting the input value, output value, and identification information of the first data block, so that other nodes in the system confirm the first data block corresponding to the first data block according to the input value, output value, and first preset algorithm.
- a data block is generated.
- the third node is configured to increase the account balance corresponding to the third node according to the third preset value in response to confirming the generation of the first data block by other nodes in the system.
- the first node is configured to broadcast copyright registration request information, and the copyright registration request information includes a digital content identifier of the voting object; wherein the distributed voting system further includes: a fifth node configured to respond to receiving The copyright registration request information determines that the digital content identifier is a unique value in the system; and, according to the copyright registration request information, a copyright registration record of the voting object is generated, and the copyright registration record is stored in a second data block of the system.
- the first node is configured to generate the content identification of the voting object based on the second preset algorithm and the content information of the voting object; and the third preset algorithm, the content identification of the voting object, and the copyright of the voting object Owner identification information to generate digital content identification.
- the copyright owner identification information of the voting object is the public key of the first node.
- the fifth node is configured to determine that before the digital content identifier is a unique value in the system, the copyright registration request information further includes identity information of the copyright owner of the voting object, rights declaration information of the voting object, and voting object. At least one of the author's identity information and the copyright owner address information of the voting object.
- the copyright registration request information further includes second signature information generated by the first node for the copyright registration request information according to its own key; the fifth node is configured to be based on the public key information of the first node obtained in advance and The second signature information determines that the copyright registration request information is edited and generated by the first node; wherein the secret key of the first node corresponds uniquely to the public key of the first node.
- a distributed voting method including: a first node receives voting commitment information broadcasted by a second node; wherein the voting commitment information is a voting invitation broadcasted by the second node according to a third node broadcast Based on the information, the voting commitment information includes signature information generated by the second node for the voting commitment information according to its own key; the first node determines that the voting commitment information is valid according to the public key information and signature information of the second node obtained in advance, where , The second node ’s secret key uniquely corresponds to the second node ’s public key; and the first node generates a voting record according to the voting commitment information, and stores the voting record in the current data block of the distributed system.
- the distributed system includes the first A node, a second node, and a third node.
- the voting invitation information includes identification information of the voting object
- the voting commitment information further includes identification information of the second node, identification information of the voting object, and voting time information
- the first node generates a voting record according to the voting commitment information.
- the method includes: the first node generates a voting record including identification information of the second node, identification information of the voting object, and voting time information.
- the first node determining that the voting commitment information is valid includes: the first node determines that the voting commitment information is edited and generated by the second node according to the public key information and the signature information of the second node; and The identification information of the two nodes and the historical voting records stored in the distributed system determine that the account balance corresponding to the second node is not lower than a preset value.
- the current data block is obtained in the following manner: the first node determines an input value that causes the output value of the preset algorithm to meet the set conditions; the first node according to the output value and the most recently generated in the distributed system The identification information of the data block to generate the current data block; and the first node broadcasts the input value, the output value, and the identification information of the current data block, so that other nodes in the distributed system can use the input value, the output value, and a preset algorithm, Confirm that the current data block corresponding to the identification information of the current data block is generated.
- another distributed voting method including: a first node receives voting invitation information broadcasted by a second node; the first node generates voting commitment information and voting commitment information according to the voting invitation information It includes signature information generated by the first node for the voting commitment information according to its own secret key; and the first node broadcasts the voting commitment information so that the third node determines the vote based on the public key information and signature information of the first node obtained in advance.
- the commitment information is valid, and a voting record is generated and stored in the current data block of the distributed system according to the voting commitment information; wherein the secret key of the first node corresponds uniquely to the public key of the first node, and the distributed system includes the first A node, a second node, and a third node.
- the voting invitation information includes identification information of the voting object; and the voting commitment information further includes identification information of the first node, identification information of the voting object, and voting time information, so that the third node generates the information including the first node.
- the voting information, the identification information of the voting object, and the voting record of the voting time information includes identification information of the voting object; and the voting commitment information further includes identification information of the first node, identification information of the voting object, and voting time information, so that the third node generates the information including the first node.
- a distributed voting device including: a voting data receiving module configured to receive voting commitment information broadcasted by a first node; wherein the voting commitment information is the first node according to the second node Generated from broadcast voting invitation information, the voting commitment information includes signature information generated by the first node for the voting commitment information according to its own key; the voting data verification module is configured to be based on the public key information and signature information of the first node obtained in advance To determine that the voting commitment information is valid, wherein the secret key of the first node corresponds uniquely to the public key of the first node; and the voting transaction writing module is configured to generate a voting record based on the voting commitment information and store the voting record in the distribution
- the distributed system includes a distributed voting device, a first node, and a second node.
- another distributed voting device including: a voting invitation receiving module configured to receive voting invitation information broadcasted by a first node; a voting commitment generating module configured to generate the voting invitation information according to the voting invitation information; Voting commitment information, which includes signature information generated by the device for the voting commitment information according to its own key; and a voting commitment broadcast module configured to broadcast the voting commitment information so that the second node can obtain the voting information according to the device's pre-obtained information.
- the distributed system includes a first node, a second node, and the device.
- a computer device including a memory, a processor, and computer instructions stored on the memory and executable on the processor, wherein the processor implements the instructions in the foregoing embodiment when executing the instructions. Steps of a distributed voting method.
- a readable storage medium having computer instructions stored thereon, which, when executed, implement the steps of the distributed voting method in the above embodiments.
- FIG. 1 is a flowchart of a distributed voting method according to an embodiment of the present disclosure.
- FIG. 2 is a flowchart of generating voting data according to an embodiment of the present disclosure.
- FIG. 3 is a flowchart of a copyright registration method according to an embodiment of the present disclosure.
- FIG. 4 is another flowchart of a distributed voting method according to an embodiment of the present disclosure.
- FIG. 5 is another flowchart of a distributed voting method according to an embodiment of the present disclosure.
- FIG. 6 is a flowchart of verifying a copyright registration request according to an embodiment of the present disclosure.
- FIG. 7 is a flowchart of verifying a content of a copyright registration request according to an embodiment of the present disclosure.
- FIG. 8 is a schematic structural diagram of a distributed voting device according to an embodiment of the present disclosure.
- FIG. 9 is a schematic structural diagram of another distributed voting device according to an embodiment of the present disclosure.
- FIG. 10 is a schematic structural diagram of still another distributed voting device according to an embodiment of the present disclosure.
- FIG. 11 is a schematic structural diagram of a computer device according to an embodiment of the present disclosure.
- online platforms can hold promotional activities on the platform on a regular or irregular basis, such as voting and evaluation of artistic works; however, online platforms require the organizer to participate in the voting process, that is, the current voting systems are centralized. In this way, the voting process is not open and transparent, and it is easy to breed fraud, cheating and other behaviors, leading to unreliable voting results and lack of security.
- FIG. 1 is a flowchart of the distributed voting method shown in the embodiment of the present disclosure.
- the distributed voting method provided by the embodiment of the present disclosure can be applied to a distributed voting system composed of multiple blockchain devices, and each blockchain device constitutes a node in the system. Since the status of each node is equal, each node can switch among the three roles of ticket checking node, voting node and participating node, or play two or three roles at the same time.
- participating nodes refer to nodes that jointly initiate voting activities or respond to voting activities and upload voting objects; voting nodes refer to nodes that respond to voting activities and vote for voting objects; and check nodes refer to writing voting transactions Nodes of a distributed voting system.
- the voting activity may be initiated by a cloud platform (server), or may be jointly initiated by multiple participating nodes.
- a voting activity when a voting activity is initiated by the cloud platform, a user enters the system through any node in the distributed voting system to check the voting activity, and then each node can upload the corresponding voting object in response to the voting activity, and these nodes become participating nodes. At the same time, each node in the distributed voting system can appreciate the voting objects and vote for each voting object in response to the voting activity. These nodes become voting nodes. For specific voting or verification content, refer to the subsequent embodiments, and details are not described herein.
- one node in the distributed voting system can initiate a voting invitation through the system, and other nodes in the system can accept the voting invitation.
- a certain number such as 3-5
- the voting activity takes effect, these nodes become participating nodes, and the system prompts each participating node to upload voting objects.
- each node in the system can be used as a voting node to vote for the voting object, and each node in the system can be used as a check node to verify the voting request of the voting node.
- the embodiment of the present disclosure takes the distributed voting system as an online art gallery and the voting object as an art work, and the scenario where each node in the online art gallery votes for one or more art works as an example.
- the distributed voting method provided in the embodiment is described, but this scenario does not constitute a limitation on this application.
- the distributed voting method may include steps 101 and 102.
- step 101 the ticket checking node in the distributed voting system monitors the voting commitment information broadcast by the voting node in the system, and determines the voting commitment based on the public key information of the voting node obtained in advance and the signature information of the voting commitment information. Information is valid.
- the voting commitment information is generated by the voting node based on the voting invitation information broadcasted by the participating nodes.
- the voting commitment information includes the identification information of the voting node, the identification information of the voting object, and the voting time information, and the voting node promises to vote according to its own key Information generated signature information.
- the secret key of the voting node corresponds uniquely to the public key of the voting node.
- the user after uploading the artwork (voting object) by the participating node, the user can enjoy the artwork through the node in the system, and can also respond to the voting activity for the artwork.
- Participating nodes can broadcast voting invitation information to other nodes in the system.
- the voting invitation information may include related content of voting activities (hereinafter referred to as competition data) such as the identification of the participating nodes and the identification information of the artwork.
- Other nodes in the system can respond to the voting activity as a voting node to vote for the artwork.
- Voting nodes can generate voting commitment information (hereinafter referred to as voting data) for participating nodes.
- the artistic work may include a photographic work, a painting work, a literary work, or a video work, and even the displayed art form on the device terminal is not limited here.
- the voting node generates voting data according to the entry data, which may specifically include steps 201 to 203.
- step 201 the voting node initiates voting request information to the participating nodes, and the participating nodes agree to the voting request by default.
- the voting node In step 202, the voting node generates a voting commitment for the participating node.
- step 203 the voting node uses its own private key to sign the voting commitment and generates voting data.
- the format of voting data can be as follows:
- S represents the voting data
- Pri TC represents the private key of the voting node
- P / T timestamp represents the time stamp, that is, the voting time information (the time when the transaction was formed).
- the system may randomly generate a pair of public and private keys for each node (or a user corresponding to each node).
- the voting node Before the voting node initiates the voting request information to the participating nodes, the voting node can bind its own identification information with the public key to generate a public key certificate (public key information), and publish the public key certificate to the system, so that the Other nodes (voting nodes) obtain the public key certificate of the voting node, and verify the voting data broadcast by the voting node based on the public key certificate of the voting node.
- the node that has monitored the voting data at this time can be used as the ticket checking node.
- Ticket checking nodes can use asymmetric encryption algorithms to verify whether the voting data is valid.
- the ticket checking node may determine that the voting data is edited and generated by the voting node according to the public key certificate of the voting node and the signature information of the voting data obtained in advance.
- the ticket checking node may further determine whether the account balance corresponding to the voting node exceeds the voting amount based on the identification information of the voting node and the historical voting record stored in the system.
- the voting amount is the amount that the voting node needs to pay to the participating nodes for this voting.
- the ticket checking node determines that the voting data is valid voting data. Otherwise it is invalid voting data.
- those skilled in the art can also adjust the verification conditions according to specific scenarios to achieve the purpose of judging whether the voting data is valid data, and can also implement the solution of the present application.
- the ticket checking node can perform the following verification after receiving the voting transaction: First, verify whether the voting transaction is reliable in the system and check the votes The node runs a check script against the output of each pre-order transaction to ensure that the return result is true. Second, check for double payments. Third, check whether the node has received this voting transaction. Fourth, nodes only receive and pass standard scripts on the whitelist. For specific verification methods, refer to related technologies, which are not limited herein.
- step 102 the ticket checking node generates a voting record according to the voting commitment information, and stores the voting record in the current data block of the system.
- the process of generating voting data by a voting node is regarded as a voting transaction, and it is written into a smart contract in advance.
- the ticket checking node can trigger the smart contract to take effect.
- the content of the smart contract is to write the voting transaction (voting record) between the voting node and the participating node into the current data block.
- the voting node may reduce the account balance corresponding to the voting node according to the voting amount; that is, after completing the transaction, the account balance corresponding to the voting node is reduced by one voting amount.
- the participating nodes may increase the account balance corresponding to the entry and update the result of the vote of the artwork according to the voting amount; that is, after completing the transaction, the account balance corresponding to the voted participating node increases the corresponding vote amount, and the result of the vote of the artwork And it changed.
- the current data block of the system may be obtained in the following ways: the ticket checking node determines an input value such that the output value of the first preset algorithm meets a set condition; the ticket checking node is based on the output value and in the system The recently generated data block identification information is used to generate the current data block; and the ticket checking node broadcasts the input value, output value, and the current data block identification information, so that other nodes in the system may use the input value, output value, and A preset algorithm confirms that the current data block corresponding to the identification information of the current data block is generated.
- the voting transactions of the voting nodes are written into the blockchain system, so that all nodes in the system can consult the voting information, thereby increasing the transparency of the voting process and improving the credibility of the voting process.
- the voting process is written into the current data block as a transaction, it cannot be tampered with, which is beneficial to improving the security of the voting process.
- the online art gallery when an online art gallery initiates a voting activity or a plurality of participating nodes jointly initiate a voting activity, the online art gallery adds a first set value to the account of each node in the system, or Add the first setting data to the account. For example, when node A in the system is ready to vote for participating nodes, the online art gallery allocates 3 voting coins to the account of node A, thereby facilitating node A to vote. In this way, by allocating voting coins to the voting nodes, it is convenient for the voting nodes to pay a certain amount of voting amount to the participating nodes during the voting process, such as 1 voting coin, that is, a payment transaction in which the voting node pays the voting node to the participating node as a voting transaction. .
- the online art gallery may directly add a second set value to the user ’s account according to a preset algorithm; that is, the user may participate in a voting event with a second set value After that, users need to top up, participate in ticket checking or create data blocks to get rewards, and use the rewards to continue participating in voting activities.
- the ticket checking node may also respond to other nodes in the system to confirm the current data block generation, and increase the account balance corresponding to the ticket checking node according to the third set value.
- the voting records are packaged into data blocks and added. System.
- the ticket checking nodes do not do voluntary labor. Therefore, the distributed voting system can establish a reward mechanism, and the ticket checking nodes compete for ticket checking. For example, every new data block generated by the ticket checking node rewards 100 art coins, which can be used in online art galleries to purchase digital paintings or used for other transactions.
- the reward mechanism makes the ticket checking node have the power to verify and record the voting behavior. More and more ticket checking nodes are added, which also makes the blockchain structure more stable. At the same time, due to the increase in voting behavior, the number of data blocks With the increase, the growth of the blockchain makes the voting behavior recorded in the blockchain more difficult to be tampered with, and because each node can see the entire ledger of the blockchain, the voting process is more open and transparent.
- each participating node may request copyright registration of the art work at the same time or after uploading the art work; other nodes in the system It can also be used as a registration node for copyright registration of artistic works.
- the method for copyright registration may include steps 301-302.
- step 301 the participating nodes broadcast copyright registration request information, and the copyright registration request information includes a digital content identifier of the artwork.
- the participating node may generate the content identification of the artwork based on the second preset algorithm and the content information of the artwork; and the third preset algorithm, the content identification of the artwork, and the copyright owner identification of the artwork. Information to generate digital content identification.
- the copyright owner identification information of the artwork is the public key of the participating node.
- the registration node determines that the digital content identifier is a unique value in the system in response to receiving the copyright registration request information; and generates a copyright registration record of the artistic work according to the copyright registration request information, and stores the copyright registration record in the system in.
- the copyright registration request information may further include the identity information of the copyright owner of the artwork, the right declaration information of the artwork, and the author of the artwork At least one of identity information and copyright owner address information of the artwork. That is, the registration node verifies that the information in the copyright registration request information is complete.
- the copyright registration request information may further include signature information generated by the participating node for the copyright registration request information according to its own key; then in step 302, the registration node generates the copyright of the artistic work according to the copyright registration request information.
- the registration can also determine that the copyright registration request information is edited and generated by the participating node based on the public key information of the participating node and the signature information of the copyright registration request information obtained in advance; among them, the secret key of the participating node and the public node of the participating node The key corresponds uniquely.
- the distributed voting method may include steps 401 to 405.
- step 401 when the voting node in the blockchain detects that voting data in the blockchain initiates voting data, it verifies whether the voting data is valid; the voting data is edited by the voting node for the participating nodes.
- step 401 and step 101 are the same.
- FIG. 1 and the related content of step 101 are not described herein again.
- each node in the blockchain tries to find a random number that matches the random hash value of the current data block to create the current data block.
- each node in the blockchain tries to find a random number (Nounce), which matches the random hash value of the current data block. After several attempts, a node in the blockchain can find a random number that meets the above requirements, thereby obtaining the right to create a block, that is, the current data block. This node will broadcast the event that found the correct random number to other nodes in the blockchain.
- step 403 if it is detected that a node creates a current data block, other nodes than the node that created the current data block check whether the current data block satisfies a preset workload proof consensus mechanism.
- the POW consensus mechanism can be implemented according to the scheme in the related technology, which is not limited here.
- step 404 if satisfied, other nodes except the node that created the current data block trust and accept the current data block.
- the current data block satisfies the POW consensus mechanism, other nodes determine that the current data block is obtained through the honest labor of the node, thereby trusting and accepting the current data block. Otherwise, the current data block is not trusted.
- an algorithm can be preset in the online art gallery to add a second value to the account of the node that creates the current data block. For example, when a random number is first found by a ticket checking node, the online art gallery allows the ticket checking node to record transactions in this period in the block. At the same time, the transaction during this period also includes a special transaction, that is, the reward. The input content of this special transaction is empty, and the output content is the address of the first validating node where a random number is found. Account rewards for nodes in the current data block, such as 100 art coins. After that, users of this node can enjoy art works online, purchase ownership of art works, or other transactions.
- more and more blockchain nodes can be attracted to participate in ticket checking and establish new blocks through the reward mechanism, which can ensure a more stable blockchain structure.
- the blockchain can grow, which makes it more difficult to tamper with the voting data recorded in the blockchain.
- steps 402 to 404 and step 401 is not limited, that is, steps 402 to 404 may be performed before or after step 401, and may also be performed simultaneously with step 401. This embodiment does not make limited.
- step 405 if the voting data is valid, the smart contract becomes effective, and the content of the smart contract is to write the voting transaction between the voting node and the participating node into the current data block.
- step 405 and step 102 are the same.
- FIG. 1 and the relevant content of step 102, and details are not described herein again.
- each node in the blockchain writes the voting transactions of the voting nodes into the blockchain, so that all nodes in the blockchain can consult the voting information, thereby increasing the transparency of the voting process and increasing the credibility of the voting process.
- the distributed voting method may include steps 501 to 505.
- step 501 participating nodes broadcast a copyright registration request to the blockchain.
- the user can upload an artwork through the corresponding blockchain device. While uploading the artwork, the user can clarify the ownership of the artwork through a copyright registration request.
- the copyright registration request may include the address of the copyright owner, the identity information of the copyright owner, the signature of the copyright owner, the copyright statement, the One or more of the digital content identifications.
- a copyright notice can also contain basic information about digital content and / or a statement of rights to the artwork.
- Basic information about digital content includes digital content overview and / or evaluation.
- the signature of the copyright owner refers to the result of an encryption operation performed on an arbitrary number (for example, the digital content of an artwork and the digital content identification of an artwork) using the copyright owner's private key.
- the public key can be used to verify the signature. If the verification is successful, the signed digital content is published and trusted by the public key owner; otherwise, it means that the signed data is forged and untrusted.
- the private key and the public key have a one-to-one correspondence and are generated during the registration of the copyright owner.
- the length can be 256 bits or more.
- the address of the copyright owner can be generated in advance, and when the user registers in the online art gallery, an address of the copyright owner can be obtained.
- the copyright owner's address can be generated using the copyright owner's public key.
- the address can be the copyright owner's public key itself, or can be used to hash the copyright owner's public key according to a hash algorithm.
- the public key hash value can also be in various forms such as a script containing the public key, and is guaranteed to be unique across the network.
- the blockchain device uses a preset hash algorithm to perform a hash operation on digital content (that is, a work of art) to obtain a digital content hash value.
- the blockchain device uses a preset hash algorithm (or another hash algorithm) to perform a hash operation on the digital content hash value and the copyright owner identification information (such as the copyright owner's address) to obtain digital content.
- the hash algorithm may be a secure hash algorithm (Secure Hash Algorithm, SHA1) or a message-digest algorithm (MD5).
- SHA1 Secure Hash Algorithm
- MD5 message-digest algorithm
- the technician can also choose other algorithms to replace the hash algorithm.
- the corresponding scheme and algorithm also fall into the protection scope of this application.
- each node in the blockchain constructs a copyright registration transaction according to the copyright registration request.
- each node in the blockchain may verify the copyright registration request, which may include steps 601 to 603.
- each node in the blockchain detects whether the content in the copyright registration request is complete.
- each node in the blockchain can obtain check information broadcast by participating nodes.
- the verification information includes at least digital content, a character string with a digital signature, and a public key (corresponding to step 701).
- each node performs a hash operation on the digital content based on a preset hash algorithm to obtain a first hash value of the digital content (corresponding to step 702).
- each node uses the node's public key to decrypt the digitally signed character string to obtain the second hash value of the digital content (corresponding to step 703).
- each node determines whether the first hash value and the second hash value are equal. If the first hash value and the second hash value are equal, each node determines that the content in the copyright registration request is complete (corresponding to step 704), Otherwise it is incomplete.
- each node in the blockchain determines whether the digital content identifier in the copyright registration request is the unique value in the blockchain.
- each node can obtain the digital content identification corresponding to the copyright registration request, and each node matches the digital content identification in the verification information with the digital content identification in the respective block to determine the verification information. Whether the digital content ID is unique.
- step 603 if yes, each node in the blockchain determines that the copyright registration request passes verification.
- each node determines that the copyright registration request is edited by the node broadcasting the copyright registration request and is credible, that is, each node determines that the copyright registration request passes the verification, so that copyright registration can be guaranteed Authenticity, correctness, and legitimacy.
- each node in the blockchain can construct a copyright registration transaction according to the copyright registration request.
- each node in the blockchain stores the copyright registration transaction to the blockchain.
- each node in the blockchain can store the copyright registration transaction to the blockchain.
- the copyright management transaction will be difficult to change, which further guarantees the immutability of the copyright management transaction and the uniqueness of the time certification.
- each node in this embodiment sets the input content included in the copyright management transaction to empty and the output content to Address of copyright holder. In this way, after the copyright registration, the copyright of the artistic work recorded in the blockchain belongs to the copyright owner.
- step 504 when the ticket checking node in the blockchain detects that the voting node in the blockchain initiates voting data, it verifies whether the voting data is valid; the voting data is edited by the voting node for the participating nodes.
- step 504 The specific implementation method and implementation principle of step 504 are the same as step 101 in FIG. 1. For detailed descriptions, refer to FIG. 1 and step 101, and details are not described herein again.
- step 505 if the voting data is valid, the smart contract becomes effective, and the content of the smart contract is to write the voting transaction between the voting node and the participating node into the current data block.
- step 505 The specific implementation method and implementation principle of step 505 are the same as step 102 in FIG. 1.
- step 102 please refer to the related content of FIG. 1 and step 102, and details are not described herein again.
- each node in the blockchain writes the voting transactions of the voting nodes into the blockchain, so that all nodes in the blockchain can consult the voting information, thereby increasing the transparency of the voting process and improving the availability of the voting process. Reliability.
- An embodiment of the present disclosure also provides a distributed voting system, which may include: a first node configured to broadcast voting invitation information; a second node configured to generate voting commitment information according to the voting invitation information, and the voting commitment information includes a second The first signature information generated by the node for the voting commitment information according to its own secret key; and, the voting commitment information is broadcast; and the third node is configured to respond to receiving the voting commitment information according to the public key of the second node obtained in advance Information and the first signature information to determine that the voting commitment information is valid, wherein the secret key of the second node corresponds uniquely to the public key of the second node; and, a voting record is generated according to the voting commitment information, and the voting record is stored in the first In a data block.
- the voting invitation information includes identification information of the voting object
- the voting commitment information further includes identification information of the second node, identification information of the voting object, and voting time information
- the third node is configured to generate the information including the second Voting records of node identification information, voting object identification information, and voting time information
- the third node may be configured to determine that the voting commitment information is edited and generated by the second node according to the public key information and the first signature information of the second node; and according to the identification information of the second node and the system
- the stored historical voting record determines that the account balance corresponding to the second node is not lower than the first preset value.
- the second node may be configured to send voting request information to the first node; and reduce the account balance corresponding to the second node according to the first preset value; and the first node is configured to respond to receiving To the voting request information, increase the account balance corresponding to the first node according to the first preset value and update the voting result of the voting object.
- the distributed voting system may further include a fourth node or cloud platform configured to broadcast voting initiation information; wherein the first node may be configured to broadcast voting invitation information in response to receiving the voting initiation information; And, the second node may be configured to increase the account balance corresponding to the second node according to the second preset value in response to receiving the voting initiation information; and broadcast the public key information of the second node and the public key information of the second node It includes the identification information of the second node and the public key of the second node.
- the third node may be configured to determine an input value such that an output value of the first preset algorithm meets a set condition; and generate a first based on the output value and identification information of a recently generated data block in the system.
- a data block ; and broadcasting the input value, the output value, and the identification information of the first data block, so that other nodes in the system confirm that the identification information of the first data block corresponds to the input value, the output value, and the first preset algorithm.
- the first data block is generated.
- the third node may be configured to increase the account balance corresponding to the third node according to the third preset value in response to confirming the generation of the first data block by other nodes in the system.
- the first node may be configured to broadcast copyright registration request information, and the copyright registration request information includes a digital content identifier of a voting object; wherein the distributed voting system may further include a fifth node configured to respond to After receiving the copyright registration request information, it is determined that the digital content identifier is a unique value in the system; and, according to the copyright registration request information, a copyright registration record of the voting object is generated, and the copyright registration record is stored in a second data block of the system.
- the first node may be configured to generate the content identifier of the voting object based on the second preset algorithm and the content information of the voting object; and based on the third preset algorithm, the content identification of the voting object and the Copyright owner identification information to generate digital content identification.
- the copyright owner identification information of the voting object may be the public key of the first node.
- the fifth node may be configured to determine that before the digital content identifier is a unique value in the system, the copyright registration request information further includes the copyright owner identity information of the voting object, the rights declaration information of the voting object, At least one of the author's identity information of the object and the copyright owner address information of the voting object.
- the copyright registration request information may further include second signature information generated by the first node for the copyright registration request information according to its own secret key; the fifth node may be configured to be based on the public key of the first node obtained in advance Information and the second signature information, determining that the copyright registration request information is edited and generated by the first node; wherein the secret key of the first node corresponds uniquely to the public key of the first node.
- the embodiments of the present disclosure write voting transactions of voting nodes into the blockchain, so that all nodes in the blockchain can consult the voting information, thereby increasing the transparency of the voting process and improving the credibility of the voting process.
- the voting process is written into the current data block as a transaction, it cannot be tampered with, which is beneficial to improving the security of the voting process.
- FIG. 8 is a schematic structural diagram of a voting device according to an embodiment of the present disclosure.
- the distributed voting device 800 may include a voting data receiving module 801 configured to receive a first voting device. Voting commitment information broadcasted by a node; wherein the voting commitment information is generated by the first node based on the voting invitation information broadcasted by the second node, and the voting commitment information includes identification information of the first node, identification information of the voting object, and voting time information, And the signature information generated by the first node for the voting commitment information according to its own secret key; the voting data verification module 802 is configured to determine that the voting commitment information is valid according to the public key information and signature information of the first node obtained in advance, wherein the first The secret key of one node corresponds uniquely to the public key of the first node; and the voting transaction writing module 803 is configured to generate a voting record according to the voting commitment information, and store the voting record in the current data block of the distributed system, and distribute it.
- the distributed voting device 800 may include a voting data
- the voting data verification module 802 may be configured to determine that the voting commitment information is edited and generated by the first node according to the public key information and signature information of the first node;
- the historical voting record stored in the system determines that the account balance corresponding to the first node is not lower than a preset value.
- the distributed voting device 800 may further include a data block establishment module (not shown in the figure) configured to determine an input value that causes an output value of a preset algorithm to meet a set condition; according to the output value and the distribution The identification information of the recently generated data block in the distributed system to generate the current data block; and broadcast the input value, output value, and identification information of the current data block, so that other nodes in the distributed system are based on the input value, output value, and prediction. Set an algorithm to confirm that the current data block corresponding to the identification information of the current data block is generated.
- the embodiments of the present disclosure write voting transactions of voting nodes into the blockchain, so that all nodes in the blockchain can consult the voting information, thereby increasing the transparency of the voting process and improving the credibility of the voting process.
- the voting process is written into the current data block as a transaction, it cannot be tampered with, which is beneficial to improving the security of the voting process.
- FIG. 9 is a schematic structural diagram of another distributed voting device according to an embodiment of the present disclosure.
- the distributed voting device 900 may include: 901 configured to receive a first node. Broadcast voting invitation information, the voting invitation information includes identification information of the voting object; the voting commitment generation module 902 is configured to generate voting commitment information according to the voting invitation information, and the voting commitment information includes identification information of the device, identification information of the voting object, and voting Time information, and signature information generated by the device for the voting commitment information according to its own key; and the voting commitment broadcasting module 903 is configured to broadcast the voting commitment information so that the second node can obtain the public key information and signature of the device in advance Information, determine that the voting commitment information is valid, and generate a voting record based on the voting commitment information and store the voting record in the current data block of the distributed system; wherein the device's secret key uniquely corresponds to the device's public key, and the distributed system includes the first A node, a second node, and a device.
- FIG. 10 is a schematic structural diagram of another distributed voting device according to an embodiment of the present disclosure.
- the distributed voting device 1000 may include: 1001, configured to When the copyright registration request, the content in the copyright registration request is detected to be complete; 1002, configured to determine whether the digital content identifier in the copyright registration request is the unique value in the blockchain when the content in the copyright registration request is complete; the registration request
- the verification unit 1003 is configured to determine that the copyright registration request passes verification when the digital content identifier is a unique value in the blockchain.
- the distributed voting device 1000 may be further configured to set the input content in the copyright registration transaction to be empty and the output content to be the copyright owner address. This can complete the copyright registration of artistic works in the blockchain.
- An embodiment of the present disclosure also provides a computer device.
- the computer device includes a processor 1101, a memory 1102, and computer instructions stored on the memory and executable on the processor 1101.
- the processor 1101 and the memory 1102 communicate through a communication bus 1103 connection, where the processor 1101 can read instructions from the memory to implement the method steps implemented by the ticket checking node, voting node or participating node in the distributed voting method provided by the embodiment of the present disclosure.
- An embodiment of the present disclosure also provides a readable storage medium having computer instructions stored thereon.
- the distributed voting method provided by the embodiment of the present disclosure is implemented by a ticket checking node, a voting node, or a participating node. Method steps.
- first and second are used for descriptive purposes only, and should not be construed to indicate or imply relative importance.
- plurality refers to two or more, unless explicitly defined otherwise.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及分布式投票系统、方法、装置、计算机设备及可读存储介质。分布式投票系统包括:第一节点,配置为广播投票邀约信息;第二节点,配置为根据投票邀约信息,生成投票承诺信息,投票承诺信息包括第二节点根据自身的秘钥为投票承诺信息生成的第一签名信息;以及,广播投票承诺信息;以及,第三节点,配置为根据预先获取的第二节点的公钥信息以及第一签名信息,确定投票承诺信息有效,其中,第二节点的秘钥与第二节点的公钥唯一对应;以及根据投票承诺信息生成投票记录,并将投票记录存储在系统的第一数据块中。
Description
本公开涉及信息技术领域,尤其涉及一种分布式投票系统、方法、装置、计算机设备及可读存储介质。
随着互联网技术的发展,线上平台在各个领域得到广泛应用。例如,作为观赏艺术作品以及分享艺术创作的平台,线上艺术画廊,可扩大艺术作品的流传性以及增加大众对艺术作品或者作者的关注度。线上艺术画廊还可定期或不定期地在线上平台举办艺术作品推广活动,如投票评优等。
发明内容
本公开提供一种分布式投票系统、方法、装置、计算机设备及可读存储介质,应用于线上艺术画廊等平台的投票过程。
根据本公开实施例的一个方面,提供一种分布式投票系统,包括:第一节点,配置为广播投票邀约信息;第二节点,配置为根据投票邀约信息,生成投票承诺信息,投票承诺信息包括第二节点根据自身的秘钥为投票承诺信息生成的第一签名信息;以及,广播投票承诺信息;以及,第三节点,配置为响应于接收到投票承诺信息,根据预先获取的第二节点的公钥信息以及第一签名信息,确定投票承诺信息有效,其中,第二节点的秘钥与第二节点的公钥唯一对应;以及,根据投票承诺信息生成投票记录,并将投票记录存储在系统的第一数据块中。
可能的实施方式中,投票邀约信息包括投票对象的标识信息,投票承诺信息还包括第二节点的标识信息、投票对象的标识信息以及投票时间信息;以及,第三节点,配置为生成包括第二节点的标识信息、投票对象的标识信息以及投票时间信息的投票记录。
可能的实施方式中,第三节点,配置为根据第二节点的公钥信 息以及第一签名信息,确定投票承诺信息由第二节点编辑生成;以及,根据第二节点的标识信息以及系统中存储的历史投票记录,确定第二节点对应的账户余额不低于第一预设数值。
可能的实施方式中,第二节点,配置为向第一节点发送投票请求信息;以及,根据第一预设数值减少第二节点对应的账户余额;以及,第一节点,配置为响应于接收到投票请求信息,根据第一预设数值增加第一节点对应的账户余额并更新投票对象的得票结果。
可能的实施方式中,分布式投票系统还包括:第四节点或云平台,配置为广播投票发起信息;其中,第一节点,配置为响应于接收到投票发起信息,广播投票邀约信息;以及,第二节点,配置为响应于接收到投票发起信息,根据第二预设数值增加第二节点对应的账户余额;以及,广播第二节点的公钥信息,第二节点的公钥信息包括第二节点的标识信息以及第二节点的公钥。
可能的实施方式中,第三节点,配置为确定使得第一预设算法的输出值满足设定条件的输入值;根据输出值、以及系统中最近生成的数据块的标识信息,生成第一数据块;以及,广播输入值、输出值以及第一数据块的标识信息,以使得系统中的其它节点根据输入值、输出值以及第一预设算法,确认第一数据块的标识信息对应的第一数据块生成。
可能的实施方式中,第三节点,配置为响应于系统中的其它节点确认第一数据块生成,根据第三预设数值增加第三节点对应的账户余额。
可能的实施方式中,第一节点,配置为广播版权登记请求信息,版权登记请求信息包括投票对象的数字内容标识;其中,分布式投票系统,还包括:第五节点,配置为响应于接收到版权登记请求信息,确定数字内容标识为系统中的唯一值;以及,根据版权登记请求信息生成投票对象的版权登记记录,并将版权登记记录存储在系统的第二数据块中。
可能的实施方式中,第一节点,配置为基于第二预设算法以及投票对象的内容信息,生成投票对象的内容标识;以及基于第三预设 算法、投票对象的内容标识以及投票对象的版权所有人标识信息,生成数字内容标识。
可能的实施方式中,投票对象的版权所有人标识信息为第一节点的公钥。
可能的实施方式中,第五节点,配置为在确定数字内容标识为系统中的唯一值之前,确定版权登记请求信息还包括投票对象的版权所有人身份信息,投票对象的权利声明信息,投票对象的作者身份信息以及投票对象的版权所有人地址信息中的至少一个。
可能的实施方式中,版权登记请求信息还包括第一节点根据自身的秘钥为版权登记请求信息生成的第二签名信息;第五节点,配置为根据预先获取的第一节点的公钥信息以及第二签名信息,确定版权登记请求信息由第一节点编辑生成;其中,第一节点的秘钥与第一节点的公钥唯一对应。
根据本公开实施例的另一方面,提供一种分布式投票方法,包括:第一节点接收第二节点广播的投票承诺信息;其中,投票承诺信息是第二节点根据第三节点广播的投票邀约信息生成的,投票承诺信息包括第二节点根据自身的秘钥为投票承诺信息生成的签名信息;第一节点根据预先获取的第二节点的公钥信息以及签名信息,确定投票承诺信息有效,其中,第二节点的秘钥与第二节点的公钥唯一对应;以及,第一节点根据投票承诺信息生成投票记录,并将投票记录存储在分布式系统的当前数据块中,分布式系统包括第一节点、第二节点以及第三节点。
可能的实施方式中,投票邀约信息包括投票对象的标识信息,投票承诺信息还包括第二节点的标识信息、投票对象的标识信息以及投票时间信息;其中,第一节点根据投票承诺信息生成投票记录,包括:第一节点生成包括第二节点的标识信息、投票对象的标识信息以及投票时间信息的投票记录。
可能的实施方式中,第一节点确定投票承诺信息有效,包括:第一节点根据第二节点的公钥信息以及签名信息,确定投票承诺信息由第二节点编辑生成;以及,第一节点根据第二节点的标识信息以及 分布式系统中存储的历史投票记录,确定第二节点对应的账户余额不低于预设数值。
可能的实施方式中,当前数据块是通过以下方式获得的:第一节点确定使得预设算法的输出值满足设定条件的输入值;第一节点根据输出值、以及分布式系统中最近生成的数据块的标识信息,生成当前数据块;以及,第一节点广播输入值、输出值以及当前数据块的标识信息,以使得分布式系统中的其它节点根据输入值、输出值以及预设算法,确认当前数据块的标识信息对应的当前数据块生成。
根据本公开实施例的再一方面,提供另一种分布式投票方法,包括:第一节点接收第二节点广播的投票邀约信息;第一节点根据投票邀约信息,生成投票承诺信息,投票承诺信息包括第一节点根据自身的秘钥为投票承诺信息生成的签名信息;以及,第一节点广播投票承诺信息,以使得第三节点根据预先获取的第一节点的公钥信息以及签名信息,确定投票承诺信息有效,并根据投票承诺信息生成投票记录并将投票记录存储在分布式系统的当前数据块中;其中,第一节点的秘钥与第一节点的公钥唯一对应,分布式系统包括第一节点、第二节点以及第三节点。
可能的实施方式中,投票邀约信息包括投票对象的标识信息;以及,投票承诺信息还包括第一节点的标识信息、投票对象的标识信息以及投票时间信息,以使得第三节点生成包括第一节点的标识信息、投票对象的标识信息以及投票时间信息的投票记录。
根据本公开实施例的又一方面,提供一种分布式投票装置,包括:投票数据接收模块,配置为接收第一节点广播的投票承诺信息;其中,投票承诺信息是第一节点根据第二节点广播的投票邀约信息生成的,投票承诺信息包括第一节点根据自身的秘钥为投票承诺信息生成的签名信息;投票数据验证模块,配置为根据预先获取的第一节点的公钥信息以及签名信息,确定投票承诺信息有效,其中,第一节点的秘钥与第一节点的公钥唯一对应;以及,投票交易写入模块,配置为根据投票承诺信息生成投票记录,并将投票记录存储在分布式系统的当前数据块中,分布式系统包括分布式投票装置、第一节点以及第 二节点。
根据本公开实施例的又方面,提供另一种分布式投票装置,包括:投票邀约接收模块,配置为接收第一节点广播的投票邀约信息;投票承诺生成模块,配置为根据投票邀约信息,生成投票承诺信息,投票承诺信息包括该装置根据自身的秘钥为投票承诺信息生成的签名信息;以及,投票承诺广播模块,配置为广播投票承诺信息,以使得第二节点根据预先获取的装置的公钥信息以及签名信息,确定投票承诺信息有效,并根据投票承诺信息生成投票记录并将投票记录存储在分布式系统的当前数据块中;其中,该装置的秘钥与该装置的公钥唯一对应,分布式系统包括第一节点、第二节点以及该装置。
根据本公开实施例的再一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其中,处理器执行指令时实现上述实施例中的分布式投票方法的步骤。
根据本公开实施例的又一方面,提供一种可读存储介质,其上存储有计算机指令,指令被执行时实现上述实施例中的分布式投票方法的步骤。
图1是本公开实施例提供的分布式投票方法的一种流程图。
图2是本公开实施例提供的生成投票数据的流程图。
图3是本公开实施例提供的版权登记方法的流程图。
图4是本公开实施例提供的分布式投票方法的又一种流程图。
图5是本公开实施例提供的分布式投票方法的再一种流程图。
图6是本公开实施例提供的校验版权登记请求的流程图。
图7是本公开实施例提供的验证版权登记请求内容的流程图。
图8是本公开实施例提供的一种分布式投票装置的结构示意图。
图9是本公开实施例提供的另一种分布式投票装置的结构示意图。
图10是本公开实施例提供的再一种分布式投票装置的结构示意图。
图11是本公开实施例提供的一种计算机设备的结构示意图。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
目前,线上平台可定期或不定期地在平台上举办推广活动,如艺术作品的投票评优活动等;然而,线上平台都需要主办方参与投票过程,即目前的投票系统都采用中心化方式,这样会引起投票过程不公开透明,容易滋生舞弊、作弊等行为,导致投票结果不可信和缺乏安全性。
为解决上述问题,本公开实施例提供了一种分布式投票方法,图1是本公开实施例示出的分布式投票方法的一种流程图。本公开实施例提供的分布式投票方法可以应用于多个区块链设备构成的分布式投票系统,每个区块链设备构成系统中的一个节点。由于每个节点的地位是平等的,因此各节点可以在验票节点、投票节点和参赛节点三个角色中互转,或者同时扮演两个或三个角色。其中,参赛节点,是指共同发起投票活动或者响应投票活动且上传投票对象的节点;投票节点,是指响应投票活动且为投票对象进行投票的节点;验票节点,是指将投票交易写入分布式投票系统的节点。
需要说明的是,本实施例中投票活动可以由云平台(服务器)发起,也可以由多个参赛节点共同发起。
例如,由云平台发起投票活动时,用户通过分布式投票系统中任意一个节点进入系统以查阅到该投票活动,然后各节点可以响应该投票活动上传相应的投票对象,这些节点成为参赛节点。同时,分布式投票系统中的各节点可以欣赏投票对象,并响应投票活动为各投票对象进行投票,这些节点成为投票节点。具体投票或验证内容参考后续实施例,在此先不作赘述。
又如,由多个参赛节点共同发起投票活动时,分布式投票系统中的一个节点可以通过系统发起投票活动邀请,系统中的其他节点可以接受该投票活动邀请,当参赛节点的数量达到一定数量,例如3-5个,该投票活动生效,这些节点成为参赛节点,并且系统提示各参赛节点上传投票对象。之后,系统中各节点可以作为投票节点为投票对象进行投票,并且系统中各节点可以作为验票节点来验证投票节点的投票请求,具体内容参考后续实施例,在此先不作赘述。
为方便描述,本公开实施例以分布式投票系统为线上艺术画廊、投票对象为艺术作品,且以线上艺术画廊中各节点为某一件或者几件艺术作品投票的场景为例对本公开实施例提供的分布式投票方法进行描述,但是该场景不构成对本申请的限定。如图1所示,分布式投票方法可包括步骤101和步骤102。
在步骤101中,分布式投票系统中的验票节点监测到系统中的投票节点广播的投票承诺信息,根据预先获取的投票节点的公钥信息以及该投票承诺信息的签名信息,确定该投票承诺信息有效。
其中,投票承诺信息是投票节点根据参赛节点广播的投票邀约信息生成的,投票承诺信息包括投票节点的标识信息、投票对象的标识信息、投票时间信息,以及投票节点根据自身的秘钥为投票承诺信息生成的签名信息。投票节点的秘钥与投票节点的公钥唯一对应。
根据本公开实施例,在参赛节点上传艺术作品(投票对象)之后,用户可以通过系统中的节点欣赏艺术作品,还可以针对该艺术作品响应投票活动。参赛节点可以将投票邀约信息广播至系统中的其他节点。投票邀约信息可包括参赛节点标识以及艺术作品的标识信息等投票活动的相关内容(后文称之为参赛数据)。系统中的其它节点可以响应于投票活动,作为投票节点为该艺术作品投票。投票节点可以针对参赛节点生成投票承诺信息(后文称之为投票数据)。
根据本公开实施例,艺术作品中可包括摄影作品、绘画作品、文学作品或影视作品,甚至在设备终端播放显示的艺术形式皆可,在此不做限制。
根据本公开实施例,如图2所示,投票节点根据参赛数据,生 成投票数据,可具体包括步骤201-步骤203。
在步骤201中,投票节点向参赛节点发起投票请求信息,参赛节点默认同意该投票请求。
在步骤202中,投票节点生成针对参赛节点的投票承诺。例如,投票节点生成随机字符串作为投票承诺,记作:P=TvoteC,其中,P为投票承诺,T表示投票节点的标识信息,C表示参赛节点的标识信息或艺术作品的标识信息。
在步骤203中,投票节点利用自身私钥签名投票承诺,生成投票数据。投票数据的格式可如下:
S=Sign(Pri
TC,P/T
timestamp);
其中,S表示投票数据,Pri
TC表示投票节点的私钥,P/T
timestamp表示时间戳,即投票时间信息(形成交易的时间)。
根据本公开实施例,在云平台(服务器)或者多个参赛节点发起投票活动之后,系统可为每个节点(或每个节点对应的用户)随机生成一对公钥和私钥。在投票节点向参赛节点发起投票请求信息之前,投票节点可将自身的标识信息与公钥进行绑定生成公钥证书(公钥信息),并将公钥证书发布至系统,以由系统中的其它节点(验票节点)获取该投票节点的公钥证书,并根据该投票节点的公钥证书对该投票节点广播的投票数据进行验证。
实施例,在投票节点将投票数据广播至系统中的其他节点之后,此时监测到投票数据的节点可以作为验票节点。验票节点可以采用不对称加密算法验证投票数据是否有效。在一种实施方式中,验票节点可根据预先获取的该投票节点的公钥证书以及该投票数据的签名信息,确定该投票数据由该投票节点编辑生成。
根据本公开实施例,验票节点还可根据投票节点的标识信息以及系统中存储的历史投票记录,确定投票节点对应的账户余额是否超过投票额。投票额为投票节点为本次投票需要支付给参赛节点的数额。
根据本公开实施例,在投票数据由投票节点编辑,以及投票节点的账户中余额超过投票额的情况下,验票节点确定该投票数据为有效的投票数据。否则为无效的投票数据。当然,本领域技术人员还可 以根据具体场景,调整验证条件以达到判断投票数据是否有效数据的目的,同样可以实现本申请的方案。
根据本公开实施例,由于将每个投票行为(投票数据)作为一次投票交易,验票节点可以在接收到投票交易后作如下校验:首先,验证投票交易在系统之中是否可靠,验票节点会针对每个前序交易的输出运行核验脚本,确保返回结果为真。第二,检查是否存在双重支付。第三,检查节点是否已经接收过此投票交易。第四,节点只接收和传递在白名单上的标准脚本。具体校验方式可以参见相关技术在此不作限定。
在步骤102中,验票节点根据投票承诺信息生成投票记录,并将投票记录存储在系统的当前数据块。
本实施例中将投票节点生成投票数据的过程,视为一次投票交易,并且预先写入智能合约。在投票数据有效的情况下,验票节点可以触发智能合约生效。智能合约的内容为将投票节点与参赛节点之间的投票交易(投票记录)写入当前数据块。
根据本公开实施例,投票交易写入当前数据块之后,投票节点可根据投票额减少投票节点对应的账户余额;即,完成交易后,投票节点对应的账户余额减少一个投票额。相应地,参赛节点可根据投票额增加参赛对应的账户余额并更新艺术作品的得票结果;即,完成交易后,被投票的参赛节点对应的账户余额相应增加一个投票额,并且艺术作品的得票结果也随之改变。
根据本公开实施例,系统的当前数据块可以是通过以下方式获得的:验票节点确定使得第一预设算法的输出值满足设定条件的输入值;验票节点根据输出值、以及系统中最近生成的数据块的标识信息,生成该当前数据块;以及,验票节点广播输入值、输出值以及该当前数据块的标识信息,以使得系统中的其它节点根据输入值、输出值以及第一预设算法,确认该当前数据块的标识信息对应的该当前数据块生成。
至此本实施例中通过将投票节点的投票交易写入区块链系统,这样系统中的所有节点可以查阅投票信息,从而增加投票过程的透明 度,可以提升投票过程的可信度。并且,本实施例中,将投票过程作为一次交易写入当前数据块后,不可以篡改,有利于提高投票过程的安全性。
根据本公开实施例,当线上艺术画廊发起投票活动或者多个参赛节点共同发起投票活动时,线上艺术画廊为系统中各节点的账户中增加第一设定数值,或者为各投票节点的账户中增加第一设定数据。例如,系统中的节点A准备为参赛节点投票时,线上艺术画廊中为节点A的账户中分配3个投票币,从而方便节点A进行投票。这样,通过为投票节点分配投票币,可方便投票节点在投票过程中向参赛节点支付一定数量的投票额,例如1个投票币,即将投票节点向参赛节点支付投票币的支付交易作为一次投票交易。
根据本公开实施例,在用户注册时,线上艺术画廊可根据预先设置的算法直接向该用户的账户中增加第二设定数值;即,该用户可以参加第二设定数值次的投票活动,之后则需要由用户充值,以及参与验票或者创建数据块来获取奖励,利用该奖励来继续参与投票活动。
根据本公开实施例,验票节点还可响应于系统中的其它节点确认当前数据块生成,根据第三设定数值增加验票节点对应的账户余额。由于在分布式系统中,节点越多,数据链越稳定;因此,为了让投票系统更加稳定,则需要更多的节点参与,即需要更多的验证投票行为,将投票记录打包进数据块加入系统中。但是验票节点并不会做义务的劳动,因此,分布式投票系统可建立奖励机制,验票节点竞争验票。例如,验票节点每新生成一个新的数据块,奖励100枚艺术币,该艺术币可以在线上艺术画廊中使用,用来购买数字画作或用于其他交易行为。
根据本公开实施例,奖励机制使得验票节点有动力验证及记录投票行为,越来越多的验票节点加入,也使得区块链结构更稳定,同时,由于投票行为的增加,数据块数增加,区块链增长,使得区块链中记载的投票行为更难以被篡改,而由于每个节点都能看到区块链的整个账本,使得投票过程更为公开和透明。
根据本公开实施例,当线上艺术画廊发起例如艺术作品评优活 动的投票活动之后,各参赛节点在上传艺术作品的同时或之后,还可请求对艺术作品进行版权登记;系统中的其它节点还可作为登记节点,对艺术作品进行版权登记。如图3所示,版权登记的方法可包括步骤301-步骤302。
在步骤301中,参赛节点广播版权登记请求信息,版权登记请求信息包括艺术作品的数字内容标识。
根据本公开实施例,参赛节点可基于第二预设算法以及艺术作品的内容信息,生成艺术作品的内容标识;以及基于第三预设算法、艺术作品的内容标识以及艺术作品的版权所有人标识信息,生成数字内容标识。
在实施中,艺术作品的版权所有人标识信息为参赛节点的公钥。
在步骤302中,登记节点响应于接收到版权登记请求信息,确定数字内容标识为系统中的唯一值;以及,根据版权登记请求信息生成艺术作品的版权登记记录,并将版权登记记录存储在系统中。
根据本公开实施例,登记节点在确定数字内容标识为系统中的唯一值之前,还可确定版权登记请求信息还包括艺术作品的版权所有人身份信息,艺术作品的权利声明信息,艺术作品的作者身份信息以及艺术作品的版权所有人地址信息中的至少一个。即,登记节点验证版权登记请求信息中的信息完整。
根据本公开实施例,版权登记请求信息还可包括参赛节点根据自身的秘钥为版权登记请求信息生成的签名信息;则在步骤在步骤302中,登记节点根据版权登记请求信息生成艺术作品的版权登记记录之前,登记还可根据预先获取的参赛节点的公钥信息以及版权登记请求信息的签名信息,确定版权登记请求信息由该参赛节点编辑生成;其中,参赛节点的秘钥与参赛节点的公钥唯一对应。
结合具体实例对本公开实施例中的分布式投票方法进行详细说明。
如图4所示,其为本公开实施例中的分布式投票方法的又一种流程图,该分布式投票方法可包括步骤401~步骤405。
在步骤401中,区块链中的验票节点监测到区块链中的投票节 点发起投票数据时,验证投票数据是否有效;该投票数据由投票节点针对参赛节点编辑。
步骤401和步骤101的具体实施方法和实施原理一致,详细描述请参考图1及步骤101的相关内容,此处不再赘述。
在步骤402中,区块链中各节点尝试寻找与当前数据块的随机散列值相匹配的随机数,以创建当前数据块。
为保证区块链的数据稳定可靠,需要尽可能的增加区块链中的节点数量,因此,在实施中,需要更多的区块链设备参与验证投票,将投票交易写入区块链。
在实施中,区块链中各节点尝试寻找一个随机数(Nounce),该随机数与当前数据块的随机散列值相匹配。经过多次尝试,区块链中一个节点可以找到一个随机数满足上述要求,从而获取到创建一个区块(Block)即当前数据块的权利。该节点将找到正确随机数的事件广播至区块链中的其他节点。
在步骤403中,若检测到有节点创建当前数据块,则除创建该当前数据块的节点之外的其他节点检验该当前数据块是否满足预先设置的工作量证明共识机制。
本在实施中,当区块链中的其他节点检测到有节点创建当前数据块后,则验证当前数据块是否满足预先设置的工作量证明(Proof of Work,POW)共识机制。其中,POW共识机制可以根据相关技术中的方案实现,在此不作限定。
在步骤404中,若满足,则除创建该当前数据块的节点之外的其他节点信任并接纳该当前数据块。
在实施中,若当前数据块满足POW共识机制,则其他节点确定当前数据块是经过该节点的诚实劳动得到的,从而信任并接纳当前数据块。否则,不信任该当前数据块。
为使区块链中各节点有动力参与验票,在实施中,线上艺术画廊中可以预先设置算法,为创建当前数据块的节点的账户中增加第二数值。例如,在某个验票节点先找到随机数时,线上艺术画廊允许该验票节点将此段时间内的交易记录在区块中。同时,此段时间内的交 易中还包括一个特殊交易即奖励,该特殊交易的输入内容为空,输出内容为第一个找到随机数的验票节点的地址,这样线上艺术画廊可以为创建当前数据块的节点的账户奖励,比如100枚艺术币。之后,该节点的用户可以在线上艺术画廊中进行欣赏艺术作品,购买艺术作品的所有权或者其他交易行为。
可见,根据本公开实施例,通过奖励机制可以吸引越来越多的区块链节点参与验票和建立新区块,这样可以保证区块链结构更稳定。同时,由于投票行为的增加以及区块数增加,可以使区块链增长,进而使得区块链中记载的投票数据更难以被篡改。
需要说明的是,在实施中,步骤402~步骤404与步骤401的执行顺序不作限定,即步骤402~步骤404可以先于或者后于步骤401,还可以与步骤401同时执行,本实施例不作限定。
在步骤405中,若投票数据有效,则智能合约生效,该智能合约的内容为将投票节点与参赛节点之间的投票交易写入当前数据块。
步骤405和步骤102的具体实施方法和实施原理一致,详细描述请参考图1及步骤102的相关内容,此处不再赘述。
至此根据本公开实施例,通过设置奖励机制,可以吸引更多的区块链节点加入验票和建立新区块,这样可以保证区块链增长,且保证投票数据不被篡改,提升投票过程的安全性。并且,区块链中各节点将投票节点的投票交易写入区块链,这样区块链中的所有节点可以查阅投票信息,从而增加投票过程的透明度,可以提升投票过程的可信度。
如图5所示,其为本公开实施例中的分布式投票方法的再一种流程图,该分布式投票方法可包括步骤501~步骤505。
在步骤501中,参赛节点向区块链广播版权登记请求。
在实施中,在多个用户通过区块链设备(即参赛节点)共同发起投票活动或者线上艺术画廊发起投票活动时,用户可以通过相应的区块链设备上传艺术作品。在上传艺术作品的同时,用户可以通过版权登记请求明确艺术作品的归属,其中版权登记请求可以包括版权所有人的地址、版权所有人的身份信息、版权所有人的签名、版权声明、 艺术作品的数字内容标识中的一种或者多种。版权声明还可以包含数字内容的基本信息和/或艺术作品的权利状况说明。数字内容的基本信息包括数字内容概述和/或评价。
在实施中,版权所有人的签名,是指利用版权所有人的私钥对一段任意数字(例如:艺术作品的数字内容,艺术作品的数字内容标识)进行加密运算的结果。并且,通过公钥可以对签名进行验证,验证通过,则说明被签名的数字内容是由公钥所有者发布的和可信的;否则表示被签名的数据是伪造的和不可信的。私钥和公钥是一一对应的,在版权所有人注册在过程中生成,其长度可以是256位(bit)或者以上。
在实施中,版权所有人的地址,可以是预先生成的,当用户在线上艺术画廊中注册时,可以得到一个该版权所有人的地址。本实施例中,版权所有人的地址可以利用版权所有人的公钥生成,例如地址可以是版权所有人的公钥自身,也可以是根据一个hash算法,对版权所有人的公钥进行hash生成的公钥hash值,还可以是包含公钥的一段脚本等多种形式,并且保证是全网唯一。
在实施中,区块链设备利用预先设置的哈希算法对数字内容(即艺术作品)作哈希运算,得到数字内容哈希值。之后,区块链设备利用预先设置的哈希算法(或者另一个哈希算法)对数字内容哈希值和版权所有人标识信息(如,版权所有人的地址)作哈希运算,得到数字内容标识,即数字内容标识=hash(数字内容hash值+版权所有人标识信息)。
在实施中,哈希算法可以为安全哈希算法(Secure Hash Algorithm,SHA1)或者信息-摘要算法5(Message-Digest Algorithm 5,MD5)。当然,技术人员还可以选择其他算法来替代哈希算法,在实现上述方案的情况下,相应的方案和算法同样落入本申请的保护范围。
在步骤502中,在版权登记请求通过校验后,区块链中的各节点根据该版权登记请求构造版权登记事务。
在实施中,如图6所示,区块链中各节点在接收到版权登记请 求后,对该版权登记请求进行校验,可包括步骤601-步骤603。
在步骤601中,区块链中各节点检测版权登记请求中的内容是否完整。
参见图7,区块链中各节点可以获取参赛节点广播的校验信息。其中检验信息至少包括数字内容、带有数字签名的字符串和公钥(对应步骤701)。然后,各节点基于预设的哈希算法对数字内容进行哈希运算,可以得到数字内容的第一哈希值(对应步骤702)。之后,各节点利用该节点的公钥解密带有数字签名的字符串,得到数字内容的第二哈希值(对应步骤703)。最后,各节点判断第一哈希值和第二哈希值是否相等,若第一哈希值和第二哈希值相等,则各节点确定版权登记请求中的内容完整(对应步骤704),否则不完整。
在步骤602中,若完整,区块链中的各节点判断版权登记请求中的数字内容标识是否为区块链中的唯一值。
基于数字内容标识的计算公式,各节点可以得到版权登记请求对应的数字内容标识,各节点将校验信息中的数字内容标识与各自区块中的数字内容标识进行匹配,从而确定校验信息中的数字内容标识是否为唯一值。
在步骤603中,若是,则区块链中的各节点确定版权登记请求通过校验。
在实施中,若数字内容标识为唯一值,则各节点确定版权登记请求由广播该版权登记请求的节点编辑且是可信的,即各节点确定版权登记请求通过校验,这样可以保证版权登记的真实性、正确性和合法性。之后,区块链中的各节点可以根据版权登记请求,构造版权登记事务。构成版权登记事务的方案可以参考相关技术,在此不再赘述。
在步骤503中,区块链中的各节点将版权登记事务存储到区块链。
在实施中,区块链中的各节点可以将版权登记事务存储到区块链,这样该版权管理事务将很难被更改,进一步保证了版权管理事务的不可更改和时间证明的唯一性。
由于版权登记时,在区块链中还没有该版权的相关信息,即该 版权是新增的,因此本实施例中各节点将版权管理事务中包含的输入内容设置为空,输出内容设置为版权所有人的地址。这样,在版权登记后,区块链中记录了该艺术作品的版权是属于该版权所有人的。
在步骤504中,区块链中的验票节点监测到区块链中的投票节点发起投票数据时,验证投票数据是否有效;该投票数据由投票节点针对参赛节点编辑。
步骤504和图1中的步骤101的具体实施方法和实施原理一致,详细描述请参考图1及步骤101的相关内容,此处不再赘述。
在步骤505中,若投票数据有效,则智能合约生效,该智能合约的内容为将投票节点与参赛节点之间的投票交易写入当前数据块。
步骤505和图1中的步骤102的具体实施方法和实施原理一致,详细描述请参考图1及步骤102的相关内容,此处不再赘述。
根据本公开实施例,通过为艺术作品登记版权,并保证版权在区块链中唯一存在,防止艺术作品被抄袭,可以保证线上艺术画廊中艺术作品版权的公信力。并且,本实施例中区块链中各节点将投票节点的投票交易写入区块链,这样区块链中的所有节点可以查阅投票信息,从而增加投票过程的透明度,可以提升投票过程的可信度。
本公开实施例还提供了一种分布式投票系统,可包括:第一节点,配置为广播投票邀约信息;第二节点,配置为根据投票邀约信息,生成投票承诺信息,投票承诺信息包括第二节点根据自身的秘钥为投票承诺信息生成的第一签名信息;以及,广播投票承诺信息;以及,第三节点,配置为响应于接收到投票承诺信息,根据预先获取的第二节点的公钥信息以及第一签名信息,确定投票承诺信息有效,其中,第二节点的秘钥与第二节点的公钥唯一对应;以及,根据投票承诺信息生成投票记录,并将投票记录存储在系统的第一数据块中。
根据本公开实施例,投票邀约信息包括投票对象的标识信息,投票承诺信息还包括第二节点的标识信息、投票对象的标识信息以及投票时间信息;以及,第三节点,配置为生成包括第二节点的标识信息、投票对象的标识信息以及投票时间信息的投票记录
根据本公开实施例,第三节点,可配置为根据第二节点的公钥 信息以及第一签名信息,确定投票承诺信息由第二节点编辑生成;以及,根据第二节点的标识信息以及系统中存储的历史投票记录,确定第二节点对应的账户余额不低于第一预设数值。
根据本公开实施例,第二节点,可配置为向第一节点发送投票请求信息;以及,根据第一预设数值减少第二节点对应的账户余额;以及,第一节点,配置为响应于接收到投票请求信息,根据第一预设数值增加第一节点对应的账户余额并更新投票对象的得票结果。
根据本公开实施例,分布式投票系统还可包括:第四节点或云平台,配置为广播投票发起信息;其中,第一节点,可配置为响应于接收到投票发起信息,广播投票邀约信息;以及,第二节点,可配置为响应于接收到投票发起信息,根据第二预设数值增加第二节点对应的账户余额;以及,广播第二节点的公钥信息,第二节点的公钥信息包括第二节点的标识信息以及第二节点的公钥。
根据本公开实施例,第三节点,可配置为确定使得第一预设算法的输出值满足设定条件的输入值;根据输出值、以及系统中最近生成的数据块的标识信息,生成第一数据块;以及,广播输入值、输出值以及第一数据块的标识信息,以使得系统中的其它节点根据输入值、输出值以及第一预设算法,确认第一数据块的标识信息对应的第一数据块生成。
根据本公开实施例,第三节点,可配置为响应于系统中的其它节点确认第一数据块生成,根据第三预设数值增加第三节点对应的账户余额。
根据本公开实施例,第一节点,可配置为广播版权登记请求信息,版权登记请求信息包括投票对象的数字内容标识;其中,分布式投票系统,还可包括:第五节点,配置为响应于接收到版权登记请求信息,确定数字内容标识为系统中的唯一值;以及,根据版权登记请求信息生成投票对象的版权登记记录,并将版权登记记录存储在系统的第二数据块中。
根据本公开实施例,第一节点,可配置为基于第二预设算法以及投票对象的内容信息,生成投票对象的内容标识;以及基于第三预 设算法、投票对象的内容标识以及投票对象的版权所有人标识信息,生成数字内容标识。
根据本公开实施例,投票对象的版权所有人标识信息可为第一节点的公钥。
根据本公开实施例,第五节点,可配置为在确定数字内容标识为系统中的唯一值之前,确定版权登记请求信息还包括投票对象的版权所有人身份信息,投票对象的权利声明信息,投票对象的作者身份信息以及投票对象的版权所有人地址信息中的至少一个。
根据本公开实施例,版权登记请求信息还可包括第一节点根据自身的秘钥为版权登记请求信息生成的第二签名信息;第五节点,可配置为根据预先获取的第一节点的公钥信息以及第二签名信息,确定版权登记请求信息由第一节点编辑生成;其中,第一节点的秘钥与第一节点的公钥唯一对应。
本公开实施例通过将投票节点的投票交易写入区块链,使得区块链中的所有节点可以查阅投票信息,从而增加投票过程的透明度,可以提升投票过程的可信度。并且,将投票过程作为一次交易写入当前数据块后,不可以篡改,有利于提高投票过程的安全性。
本公开实施例还提供了一种分布式投票装置,图8是本公开实施例示出的一种投票装置的结构示意图,该分布式投票装置800可包括:投票数据接收模块801,配置为接收第一节点广播的投票承诺信息;其中,投票承诺信息是第一节点根据第二节点广播的投票邀约信息生成的,投票承诺信息包括第一节点的标识信息、投票对象的标识信息、投票时间信息,以及第一节点根据自身的秘钥为投票承诺信息生成的签名信息;投票数据验证模块802,配置为根据预先获取的第一节点的公钥信息以及签名信息,确定投票承诺信息有效,其中,第一节点的秘钥与第一节点的公钥唯一对应;以及,投票交易写入模块803,配置为根据投票承诺信息生成投票记录,并将投票记录存储在分布式系统的当前数据块中,分布式系统包括分布式投票装置、第一节点以及第二节点。
根据本公开实施例,投票数据验证模块802,可配置为根据第一 节点的公钥信息以及签名信息,确定投票承诺信息由第一节点编辑生成;以及,根据第一节点的标识信息以及分布式系统中存储的历史投票记录,确定第一节点对应的账户余额不低于预设数值。
根据本公开实施例,分布式投票装置800还可包括数据块建立模块(图中未示出),配置为确定使得预设算法的输出值满足设定条件的输入值;根据输出值、以及分布式系统中最近生成的数据块的标识信息,生成当前数据块;以及,广播输入值、输出值以及当前数据块的标识信息,以使得分布式系统中的其它节点根据输入值、输出值以及预设算法,确认当前数据块的标识信息对应的当前数据块生成。
至此,本公开实施例通过将投票节点的投票交易写入区块链,使得区块链中的所有节点可以查阅投票信息,从而增加投票过程的透明度,可以提升投票过程的可信度。并且,将投票过程作为一次交易写入当前数据块后,不可以篡改,有利于提高投票过程的安全性。
公开实施例还提供了另一种分布式投票装置,图9是本公开实施例示出的另一种分布式投票装置的结构示意图,分布式投票装置900可包括:901,配置为接收第一节点广播的投票邀约信息,投票邀约信息包括投票对象的标识信息;投票承诺生成模块902,配置为根据投票邀约信息,生成投票承诺信息,投票承诺信息包括装置的标识信息、投票对象的标识信息、投票时间信息,以及装置根据自身的秘钥为投票承诺信息生成的签名信息;以及,投票承诺广播模块903,配置为广播投票承诺信息,以使得第二节点根据预先获取的装置的公钥信息以及签名信息,确定投票承诺信息有效,并根据投票承诺信息生成投票记录并将投票记录存储在分布式系统的当前数据块中;其中,装置的秘钥与装置的公钥唯一对应,分布式系统包括第一节点、第二节点以及装置。
本公开实施例还提供了再一种分布式投票装置,图10是本公开实施例示出的再一种分布式投票装置的结构示意图,分布式投票装置1000可包括:1001,配置为在接收到版权登记请求时,检测版权登记请求中的内容是否完整;1002,配置为在版权登记请求中的内容完整时,判断版权登记请求中的数字内容标识是否为区块链中的唯一值; 登记请求校验单元1003,配置为在数字内容标识为区块链中的唯一值时,确定版权登记请求通过校验。
根据本公开实施例,分布式投票装置1000还可配置为将版权登记事务中输入内容设置为空,以及输出内容设置为版权所有人地址。这样可以在区块链中完成艺术作品的版权登记。
本公开实施例还提供了提供一种计算机设备,参见图11,包括处理器1101、存储器1102及存储在存储器上并可在处理器1101上运行的计算机指令,处理器1101与存储器1102通过通信总线1103连接,其中,处理器1101可以从存储器中读取指令,以实现本公开实施例提供的分布式投票方法中,验票节点、投票节点或参赛节点实施的方法步骤。
本公开实施例还提供了一种可读存储介质,其上存储有计算机指令,该指令被执行时实现本公开实施例提供的分布式投票方法中,验票节点、投票节点或参赛节点实施的方法步骤。
在本公开中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“多个”指两个或两个以上,除非另有明确的限定。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (22)
- 一种分布式投票系统,包括:第一节点,配置为广播投票邀约信息;第二节点,配置为根据所述投票邀约信息,生成投票承诺信息,所述投票承诺信息包括所述第二节点根据自身的秘钥为所述投票承诺信息生成的第一签名信息;以及,广播所述投票承诺信息;以及,第三节点,配置为响应于接收到所述投票承诺信息,根据预先获取的所述第二节点的公钥信息以及所述第一签名信息,确定所述投票承诺信息有效,其中,所述第二节点的秘钥与所述第二节点的公钥唯一对应;以及,根据所述投票承诺信息生成投票记录,并将所述投票记录存储在所述系统的第一数据块中。
- 根据权利要求1所述的分布式投票系统,其中,所述投票邀约信息包括投票对象的标识信息,所述投票承诺信息还包括所述第二节点的标识信息、所述投票对象的标识信息以及投票时间信息;以及,所述第三节点,配置为生成包括所述第二节点的标识信息、所述投票对象的标识信息以及所述投票时间信息的所述投票记录。
- 根据权利要求1所述的分布式投票系统,其中,所述第三节点,配置为根据所述第二节点的公钥信息以及所述第一签名信息,确定所述投票承诺信息由所述第二节点编辑生成;以及,根据所述第二节点的标识信息以及所述系统中存储的历史投票记录,确定所述第二节点对应的账户余额不低于第一预设数值。
- 根据权利要求3所述的分布式投票系统,其中,所述第二节点,配置为向所述第一节点发送投票请求信息;以及,根据所述第一预设数值减少所述第二节点对应的账户余额;以及,所述第一节点,配置为响应于接收到所述投票请求信息,根据所述第一预设数值增加所述第一节点对应的账户余额并更新所述投 票对象的得票结果。
- 根据权利要求1所述的分布式投票系统,还包括:第四节点或云平台,配置为广播投票发起信息;其中,所述第一节点,配置为响应于接收到所述投票发起信息,广播所述投票邀约信息;以及,所述第二节点,配置为响应于接收到所述投票发起信息,根据第二预设数值增加所述第二节点对应的账户余额;以及,广播所述第二节点的公钥信息,所述第二节点的公钥信息包括所述第二节点的标识信息以及所述第二节点的公钥。
- 根据权利要求1所述的分布式投票系统,其中,所述第三节点,配置为确定使得第一预设算法的输出值满足设定条件的输入值;根据所述输出值、以及所述系统中最近生成的数据块的标识信息,生成所述第一数据块;以及,广播所述输入值、所述输出值以及所述第一数据块的标识信息,以使得所述系统中的其它节点根据所述输入值、所述输出值以及所述第一预设算法,确认所述第一数据块的标识信息对应的所述第一数据块生成。
- 根据权利要求6所述的分布式投票系统,其中,所述第三节点,配置为响应于所述系统中的其它节点确认所述第一数据块生成,根据第三预设数值增加所述第三节点对应的账户余额。
- 根据权利要求1所述的分布式投票系统,其中,所述第一节点,配置为广播版权登记请求信息,所述版权登记请求信息包括所述投票对象的数字内容标识;其中,所述分布式投票系统,还包括:第五节点,配置为响应 于接收到所述版权登记请求信息,确定所述数字内容标识为所述系统中的唯一值;以及,根据所述版权登记请求信息生成所述投票对象的版权登记记录,并将所述版权登记记录存储在所述系统的第二数据块中。
- 根据权利要求8所述的分布式投票系统,其中,所述第一节点,配置为基于第二预设算法以及所述投票对象的内容信息,生成所述投票对象的内容标识;以及基于第三预设算法、所述投票对象的内容标识以及所述投票对象的版权所有人标识信息,生成所述数字内容标识。
- 根据权利要求9所述的分布式投票系统,其中,所述投票对象的版权所有人标识信息为所述第一节点的公钥。
- 根据权利要求8所述的分布式投票系统,其中,所述第五节点,配置为在确定所述数字内容标识为所述系统中的唯一值之前,确定所述版权登记请求信息还包括所述投票对象的版权所有人身份信息,所述投票对象的权利声明信息,所述投票对象的作者身份信息以及所述投票对象的版权所有人地址信息中的至少一个。
- 根据权利要求8所述的分布式投票系统,其中,所述版权登记请求信息还包括所述第一节点根据自身的秘钥为所述版权登记请求信息生成的第二签名信息;所述第五节点,配置为根据预先获取的所述第一节点的公钥信息以及所述第二签名信息,确定所述版权登记请求信息由所述第一节点编辑生成;其中,所述第一节点的秘钥与所述第一节点的公钥唯一对应。
- 一种分布式投票方法,包括:第一节点接收第二节点广播的投票承诺信息;其中,所述投票承诺信息是所述第二节点根据第三节点广播的投票邀约信息生成的,所述投票承诺信息包括所述第二节点根据自身的秘钥为所述投票承诺信息生成的签名信息;所述第一节点根据预先获取的所述第二节点的公钥信息以及所述签名信息,确定所述投票承诺信息有效,其中,所述第二节点的秘钥与所述第二节点的公钥唯一对应;以及,所述第一节点根据所述投票承诺信息生成投票记录,并将所述投票记录存储在分布式系统的当前数据块中,所述分布式系统包括所述第一节点、所述第二节点以及所述第三节点。
- 根据权利要求13所述分布式投票方法,其中,所述投票邀约信息包括投票对象的标识信息,所述投票承诺信息还包括所述第二节点的标识信息、所述投票对象的标识信息以及投票时间信息;其中,所述第一节点根据所述投票承诺信息生成所述投票记录,包括:所述第一节点生成包括所述第二节点的标识信息、所述投票对象的标识信息以及所述投票时间信息的所述投票记录。
- 根据权利要求13所述分布式投票方法,其中,所述第一节点确定所述投票承诺信息有效,包括:所述第一节点根据所述第二节点的公钥信息以及所述签名信息,确定所述投票承诺信息由所述第二节点编辑生成;以及,所述第一节点根据所述第二节点的标识信息以及所述分布式系统中存储的历史投票记录,确定所述第二节点对应的账户余额不低于预设数值。
- 根据权利要求13所述分布式投票方法,其中,所述当前数据块是通过以下方式获得的:所述第一节点确定使得预设算法的输出值满足设定条件的输入值;所述第一节点根据所述输出值、以及所述分布式系统中最近生成的数据块的标识信息,生成所述当前数据块;以及,所述第一节点广播所述输入值、所述输出值以及所述当前数据块的标识信息,以使得所述分布式系统中的其它节点根据所述输入值、所述输出值以及所述预设算法,确认所述当前数据块的标识信息对应的所述当前数据块生成。
- 一种分布式投票方法,包括:第一节点接收第二节点广播的投票邀约信息;所述第一节点根据所述投票邀约信息,生成投票承诺信息,所述投票承诺信息包括所述第一节点根据自身的秘钥为所述投票承诺信息生成的签名信息;以及,所述第一节点广播所述投票承诺信息,以使得第三节点根据预先获取的所述第一节点的公钥信息以及所述签名信息,确定所述投票承诺信息有效,并根据所述投票承诺信息生成投票记录并将投票记录存储在分布式系统的当前数据块中;其中,所述第一节点的秘钥与所述第一节点的公钥唯一对应,所述分布式系统包括所述第一节点、所述第二节点以及所述第三节点。
- 根据权利要求17所述分布式投票方法,其中,所述投票邀约信息包括投票对象的标识信息;以及,所述投票承诺信息还包括所述第一节点的标识信息、所述投票对象的标识信息以及投票时间信息,以使得所述第三节点生成包括所述第一节点的标识信息、所述投票对象的标识信息以及所述投票时间信息的所述投票记录。
- 一种分布式投票装置,包括:投票数据接收模块,配置为接收第一节点广播的投票承诺信息;其中,所述投票承诺信息是所述第一节点根据第二节点广播的投票邀约信息生成的,所述投票承诺信息包括所述第一节点根据自身的秘钥 为所述投票承诺信息生成的签名信息;投票数据验证模块,配置为根据预先获取的所述第一节点的公钥信息以及所述签名信息,确定所述投票承诺信息有效,其中,所述第一节点的秘钥与所述第一节点的公钥唯一对应;以及,投票交易写入模块,配置为根据所述投票承诺信息生成投票记录,并将所述投票记录存储在分布式系统的当前数据块中,所述分布式系统包括所述分布式投票装置、所述第一节点以及所述第二节点。
- 一种分布式投票装置,包括:投票邀约接收模块,配置为接收第一节点广播的投票邀约信息;投票承诺生成模块,配置为根据所述投票邀约信息,生成投票承诺信息,所述投票承诺信息包括所述装置根据自身的秘钥为所述投票承诺信息生成的签名信息;以及,投票承诺广播模块,配置为广播所述投票承诺信息,以使得第二节点根据预先获取的所述装置的公钥信息以及所述签名信息,确定所述投票承诺信息有效,并根据所述投票承诺信息生成投票记录并将投票记录存储在分布式系统的当前数据块中;其中,所述装置的秘钥与所述装置的公钥唯一对应,所述分布式系统包括所述第一节点、所述第二节点以及所述装置。
- 一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其中,所述处理器执行所述指令时实现如权利要求13~18任一项所述的方法的步骤。
- 一种可读存储介质,其上存储有计算机指令,所述指令被执行时实现如权利要求13~18任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/637,860 US11495075B2 (en) | 2018-07-18 | 2019-07-16 | Distributed voting system, method, apparatus, computer device and readable storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810793077.7 | 2018-07-18 | ||
CN201810793077.7A CN108933656B (zh) | 2018-07-18 | 2018-07-18 | 在线作品投票方法及装置、计算机设备、可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020015635A1 true WO2020015635A1 (zh) | 2020-01-23 |
Family
ID=64447781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/096155 WO2020015635A1 (zh) | 2018-07-18 | 2019-07-16 | 分布式投票系统、方法、装置、计算机设备及可读存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11495075B2 (zh) |
CN (1) | CN108933656B (zh) |
WO (1) | WO2020015635A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108933656B (zh) | 2018-07-18 | 2021-09-10 | 京东方科技集团股份有限公司 | 在线作品投票方法及装置、计算机设备、可读存储介质 |
CN109785229B (zh) * | 2019-01-11 | 2023-08-04 | 百度在线网络技术(北京)有限公司 | 基于区块链实现的智能合影方法、装置、设备和介质 |
CN109903450B (zh) * | 2019-03-28 | 2021-04-09 | 深圳职业技术学院 | 电子投票方法以及系统 |
CN110380847B (zh) * | 2019-07-01 | 2021-11-19 | 创新先进技术有限公司 | 一种区块链共识方法和装置 |
CN110474779B (zh) * | 2019-08-09 | 2024-06-25 | 深圳前海微众银行股份有限公司 | 基于区块链的投票存证方法、装置、设备及可读存储介质 |
CN110738783A (zh) * | 2019-10-15 | 2020-01-31 | 腾讯科技(深圳)有限公司 | 投票数据的更新系统、方法、装置、设备及可读存储介质 |
CN111833510B (zh) * | 2019-12-25 | 2021-12-14 | 北京熠智科技有限公司 | 基于区块链的投票处理方法及装置、设备、存储介质 |
CN111404876A (zh) * | 2020-02-20 | 2020-07-10 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链的投票方法 |
CN111416709B (zh) * | 2020-03-18 | 2021-07-30 | 腾讯科技(深圳)有限公司 | 基于区块链系统的投票方法、装置、设备及存储介质 |
CN111914515A (zh) * | 2020-08-17 | 2020-11-10 | 江苏华泽微福科技发展有限公司 | 一种票券加密系统及验证方法 |
US20220141020A1 (en) * | 2020-11-04 | 2022-05-05 | Gwangju Institute Of Science And Technology | Blockchain e-voting system and operating method thereof |
CN112699415A (zh) * | 2020-12-23 | 2021-04-23 | 广州汉全信息科技股份有限公司 | 一种智能合约的排序方法、装置、计算机设备和存储介质 |
CN112685751B (zh) * | 2020-12-25 | 2024-04-26 | 联想(北京)有限公司 | 数据处理方法、装置及电子投票系统 |
CN112822022B (zh) * | 2020-12-31 | 2022-05-27 | 深圳前海益链网络科技有限公司 | 一种多签名地址的更新方法及相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107294727A (zh) * | 2017-05-22 | 2017-10-24 | 联动优势科技有限公司 | 一种电子投票方法、终端设备以及区块链网络 |
CN107833135A (zh) * | 2017-10-30 | 2018-03-23 | 中山大学 | 一种基于区块链的公平电子投票协议 |
CN108933656A (zh) * | 2018-07-18 | 2018-12-04 | 京东方科技集团股份有限公司 | 在线作品投票方法及装置、计算机设备、可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180191503A1 (en) * | 2015-07-14 | 2018-07-05 | Fmr Llc | Asynchronous Crypto Asset Transfer and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
US20170109955A1 (en) * | 2015-10-20 | 2017-04-20 | Follow My Vote, Inc. | Blockchain electronic voting system and method |
CN107145768B (zh) * | 2016-03-01 | 2021-02-12 | 华为技术有限公司 | 版权管理方法和系统 |
CN106341460A (zh) * | 2016-08-26 | 2017-01-18 | 宇龙计算机通信科技(深圳)有限公司 | 一种锻炼实现方法、客户端以及服务端 |
CN106411503B (zh) * | 2016-11-28 | 2019-11-08 | 中国银行股份有限公司 | 区块链投票记账模式的记账方法及系统、投票及记账节点 |
CN107622385A (zh) * | 2017-08-28 | 2018-01-23 | 南京邮电大学 | 一种基于区块链智能合约的数字作品发行方法 |
-
2018
- 2018-07-18 CN CN201810793077.7A patent/CN108933656B/zh active Active
-
2019
- 2019-07-16 US US16/637,860 patent/US11495075B2/en active Active
- 2019-07-16 WO PCT/CN2019/096155 patent/WO2020015635A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107294727A (zh) * | 2017-05-22 | 2017-10-24 | 联动优势科技有限公司 | 一种电子投票方法、终端设备以及区块链网络 |
CN107833135A (zh) * | 2017-10-30 | 2018-03-23 | 中山大学 | 一种基于区块链的公平电子投票协议 |
CN108933656A (zh) * | 2018-07-18 | 2018-12-04 | 京东方科技集团股份有限公司 | 在线作品投票方法及装置、计算机设备、可读存储介质 |
Non-Patent Citations (2)
Title |
---|
BARTOLUCCI, SILVIA ET AL.: "SHARVOT: secret SHARe-based VOTing on the blockchain", ARXIV:1803.04861V1 [CS:CY), 13 March 2018 (2018-03-13), XP080864156 * |
LIU, YI ET AL.: "An E-voting Protocol Based on Blockchain", CRYPTOLOGY EPRINT ARCHIVE: REPORT 2017/1043, 28 October 2017 (2017-10-28) * |
Also Published As
Publication number | Publication date |
---|---|
US20200250912A1 (en) | 2020-08-06 |
CN108933656B (zh) | 2021-09-10 |
CN108933656A (zh) | 2018-12-04 |
US11495075B2 (en) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020015635A1 (zh) | 分布式投票系统、方法、装置、计算机设备及可读存储介质 | |
US20210133359A1 (en) | Permission management method, permission verification method, and related apparatus | |
CN107770115B (zh) | 在对等网络中分发数字内容的方法和系统 | |
US20180374173A1 (en) | Copyright management method and system | |
CN107967416B (zh) | 版权维权检测的方法、装置和系统 | |
KR101929482B1 (ko) | 상호인증 블록체인 기반의 기업정보 공유 방법 | |
JP2023018005A (ja) | 一般的な計算のためのブロックチェーン | |
WO2018020944A1 (ja) | 掲示板情報管理システム | |
WO2020211496A1 (zh) | 一种块链式账本中的签名验证方法、系统、装置及设备 | |
JP2020528222A (ja) | ブロックチェーンにおけるスマートコントラクトに基づくトランザクション活動の取扱注意データを保護するための方法及びデバイス | |
US20220391887A1 (en) | Systems and Methods for Maintenance of NFT Assets | |
WO2019127532A1 (zh) | 基于区块链的众筹信息处理方法、装置、存储介质及电子设备 | |
JP2020509680A (ja) | 分散型ブロックチェーンコンセンサスネットワークにおいて新しいブロックに署名する方法 | |
JP2022000765A (ja) | アプリケーション実績処理方法、コンピュータプログラム及びアプリケーション実績処理システム | |
CN110489946B (zh) | 基于区块链的版权认证方法、装置、设备和存储介质 | |
WO2015116998A2 (en) | Electronic transfer and obligation enforcement system | |
CN109242404B (zh) | 履历信息管理方法、装置、计算机设备与可读存储介质 | |
TW202135504A (zh) | 平台服務驗證技術 | |
US12120252B2 (en) | Methods for securely adding data to a blockchain using dynamic time quanta and version authentication | |
KR102272511B1 (ko) | 프로젝트 관리 플랫폼 | |
CN114900334A (zh) | Nft权限控制方法、系统、计算机可读存储介质及终端设备 | |
CN114168913A (zh) | 基于智能合约众包结果评估与奖励分配方法、系统和介质 | |
CN111202987A (zh) | 游戏应用的登录控制方法及装置 | |
JPWO2020085226A1 (ja) | 制御方法、コンテンツ管理システム、プログラム、及び、データ構造 | |
US20220393892A1 (en) | Composite Cryptographic Systems with Variable Configuration Parameters and Memory Bound Functions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19837744 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19837744 Country of ref document: EP Kind code of ref document: A1 |