CN111865587B - 数据处理方法、区块链节点设备、电子设备及计算机程序 - Google Patents

数据处理方法、区块链节点设备、电子设备及计算机程序 Download PDF

Info

Publication number
CN111865587B
CN111865587B CN202010789298.4A CN202010789298A CN111865587B CN 111865587 B CN111865587 B CN 111865587B CN 202010789298 A CN202010789298 A CN 202010789298A CN 111865587 B CN111865587 B CN 111865587B
Authority
CN
China
Prior art keywords
random number
user information
user
block
uplink
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010789298.4A
Other languages
English (en)
Other versions
CN111865587A (zh
Inventor
钟文波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010789298.4A priority Critical patent/CN111865587B/zh
Publication of CN111865587A publication Critical patent/CN111865587A/zh
Application granted granted Critical
Publication of CN111865587B publication Critical patent/CN111865587B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME 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
    • G07C15/00Generating random numbers; Lottery apparatus
    • G07C15/006Generating random numbers; Lottery apparatus electronically
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请实施例提供了一种数据处理方法、区块链节点设备、电子设备及计算机程序,涉及区块链领域。该方法包括:获取由至少一个公证方终端生成的加密值,将加密值进行上链;在加密值上链后,获取至少一个候选用户的用户信息,将至少一个候选用户的用户信息进行上链;在用户信息上链后,获取至少一个公证方终端生成的随机数,将随机数进行上链;根据区块链上的随机数、加密值以及候选用户的用户信息获得随机数种子;根据随机数种子,通过智能合约中预先设定好的随机算法,获得目标用户的用户信息。本申请实施例实现了随机数种子不存在提前预测的可能,确保了筛选目标用户的可靠性。

Description

数据处理方法、区块链节点设备、电子设备及计算机程序
技术领域
本申请涉及区块链技术领域,具体而言,本申请涉及一种数据处理方法、区块链节点设备、电子设备及计算机程序。
背景技术
在涉及到资源分配时,摇号是常见的技术手段,例如车牌摇号,新楼盘摇号等等。在传统的摇号模式下,为了保证公平、公证和公开,可能会采用现场抽签、公证人公证摇号或者随机摇号等方式去为公众提供可信摇号。
目前的随机算法实际上都是伪随机,也就是说只要随机算法的种子(即程序的入参)是相同的情况下,得到的结果一定是相同的,那么一些黑客可以通过控制入参从而达到随机结果命中其预期的目标结果。在传统的摇号系统中也是相同的原理,在算法是已知的情况下,提前测试入参运算随机结果,或许只是替换某个参加摇号的姓名的顺序就可以命中所期望的结果,在实际运行的时候也按照这个排序的入参进行执行,这样既得到了所期望的中签结果,又完全无法发现中间存在作弊的情况。。
发明内容
本申请实施例提供一种克服上述问题或者至少部分地解决上述问题的数据处理方法、区块链节点设备、电子设备及计算机程序。
第一方面,提供了一种数据处理方法,该方法包括:
获取由至少一个公证方终端生成的加密值,将加密值进行上链,加密值由公证方终端对自身生成的随机数进行哈希运算获得;
在加密值上链后,获取至少一个候选用户的用户信息,将至少一个候选用户的用户信息进行上链;
在用户信息上链后,获取至少一个公证方终端生成的随机数,将随机数进行上链;
根据区块链上的随机数、加密值以及候选用户的用户信息获得随机数种子;
根据随机数种子,通过智能合约中预先设定好的随机算法,获得目标用户的用户信息。
进一步地,用户信息包括根据候选用户的参选顺序确定的编号;
将至少一个候选用户的用户信息进行上链,包括:
根据至少一个候选用户的编号,将至少一个候选用户的用户信息进行上链。
进一步地,将随机数进行上链,之前还包括:
获取公证方终端使用的哈希算法,根据哈希算法对获取的公证方生成的随机数进行一致性校验;
将随机数进行上链,包括:
若一致性校验通过,则将随机数进行上链。
进一步地,将加密值进行上链,包括:
根据加密值生成加密值区块,将加密值区块添加至区块链中;
将至少一个候选用户的用户信息进行上链,包括:
根据至少一个候选用户的用户信息生成候选区块,将候选区块添加至区块链中;
将随机数进行上链,包括:
根据随机数生成随机数区块,将随机数区块添加至区块链中。
进一步地,根据随机数、加密值以及候选用户的用户信息获得随机数种子,包括:
从区块链中获得生成时间晚于随机数区块的生成时间的区块,作为目标区块,获取目标区块中记录的哈希值,将哈希值作为最终的随机数种子。
进一步地,根据随机数、加密值以及候选用户的用户信息获得随机数种子,包括:
从加密值区块中提取加密值;从候选区块中提取候选用户的用户信息;从随机数区块中提取随机数;
对随机数、加密值以及候选用户的用户信息进行哈希运算,获得随机数种子。
进一步地,对随机数、加密值以及候选用户的用户信息进行哈希运算,获得随机数种子,包括:
根据随机数、加密值以及候选用户的用户信息的上链顺序,对随机数、加密值以及候选用户的用户信息进行哈希运算,获得随机数种子。
进一步地,获得目标用户的用户信息,之后还包括:
对从其他区块链节点设备获得的目标用户的用户信息进行一致性校验,若一致性校验通过,则将目标用户的用户信息进行上链。
进一步地,区块链网络中区块链节点设备的个数不小于公证方终端的个数。
第二方面,提供了一种区块链节点设备,区块链节点设备为区块链网络中的区块链节点设备,区块链节点设备包括:
加密值上链模块,用于获取由至少一个公证方终端生成的加密值,将加密值进行上链,加密值由公证方终端对自身生成的随机数进行哈希运算获得;
用户信息上链模块,用于在加密值上链后,获取至少一个候选用户的用户信息,将至少一个候选用户的用户信息进行上链;
随机数上链模块,用于在用户信息上链后,获取至少一个公证方终端生成的随机数,将随机数进行上链;
种子生成模块,用于根据随机数、加密值以及候选用户的用户信息获得随机数种子;
输出模块,用于根据随机数种子,通过智能合约中预先设定好的随机算法,获得目标用户的用户信息。
进一步地,用户信息包括根据候选用户的参选顺序确定的编号;
用户信息上链模块将至少一个候选用户的用户信息进行上链,包括:根据至少一个候选用户的编号,将至少一个候选用户的用户信息进行上链。
进一步地,区块链节点设备还包括:
随机数校验模块,用于在将随机数进行上链之前,获取公证方终端使用的加密算法,根据加密算法对获取的公证方生成的随机数进行一致性校验;
随机数上链模块将随机数进行上链,包括:若一致性校验通过,则将随机数进行上链。
进一步地,加密值上链模块将加密值进行上链,包括:根据加密值生成加密值区块,将加密值区块添加至区块链中;
用户信息上链模块将至少一个候选用户的用户信息进行上链,包括:根据至少一个候选用户的用户信息生成候选区块,将候选区块添加至区块链中;
随机数上链模块将随机数进行上链,包括:根据随机数生成随机数区块,将随机数区块添加至区块链中。
进一步地,种子生成模块包括:
目标区块获取单元,用于从区块链中获得生成时间晚于随机数区块的生成时间的区块,作为目标区块;
加密值获取单元,用于获取目标区块中记录的哈希值,将哈希值作为最终的随机数种子。
进一步地,种子生成模块包括:
信息提取单元,用于从加密值区块中提取加密值;从候选区块中提取候选用户的用户信息;从随机数区块中提取随机数;
哈希运算单元,用于对随机数、加密值以及候选用户的用户信息进行哈希运算,获得随机数种子。
进一步地,哈希运算单元具体用于:根据随机数、加密值以及候选用户的用户信息的上链顺序,对随机数、加密值以及候选用户的用户信息进行哈希运算,获得随机数种子。
进一步地,区块链节点设备还包括:
目标用户上链模块,用于在获得目标用户的用户信息后,对从其他区块链节点设备获得的目标用户的用户信息进行一致性校验,若一致性校验通过,则将目标用户的用户信息进行上链。
第三方面,本申请实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如第一方面所提供的方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
第五方面,本申请实施例提供一种计算机程序,该计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,当计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如第一方面所提供的方法的步骤。
本申请实施例提供的数据处理方法、区块链节点设备、电子设备及计算机程序,通过由区块链节点设备获取由至少一个公证方终端生成的加密值,将加密值进行上链,在加密值上链后,获取至少一个候选用户的用户信息,将至少一个候选用户的用户信息进行上链,在用户信息上链后,获取至少一个公证方终端生成的随机数,将随机数进行上链,根据随机数、加密值以及候选用户的用户信息获得随机数种子;根据随机数种子,通过智能合约中预先设定好的随机算法,获得目标用户的用户信息,由于随机数种子的由于在对随机数上链前,各公证方终端都不知道其余公证方终端的随机数,即只有在所有公证方进行联合欺骗的时候才能提前获得最初始的各公证方的随机数,在接着公众的申请信息上链环节,即便各公证方进行联合欺骗,但是无法控制公众申请的上链的时间以及申报的最终人数,除非能够在报名截止前的一瞬间获取已上链的所有数据并模拟运算出随机结果,再控制僵尸号进行实名申报上链,但是无论从运算难度还是操作的可行性都是几乎不可能的,因此本申请实施例获得随机数种子不存在提前预测的可能,并且随机数种子是根据链上的随机数、加密值以及候选用户的用户信息生成的,这些数据无法篡改,提高了摇号数据的可靠性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种分布式系统的场景示意图;
图2为本申请实施例提供的一种区块结构的结构示意图;
图3为本申请实施例提供的一种数据处理的系统架构图;
图4为本申请实施例提供的一种数据处理方法的流程示意图;
图5为本申请实施例的区块链节点设备、公证方终端以及摇号系统的交互示意图;
图6为本申请实施例提供的一种区块链节点设备的结构示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
摇号的核心问题是随机算法是否公平以及是否无法预测,而目前的随机函数实际上均为伪随机,即相同的输入参数(随机数种子)得到的结果必定相同,正常情况下算法公开且随机数种子公开的情况下,一些黑客可以通过控制入参从而达到随机结果命中其预期的目标结果。在传统的摇号系统中也是相同的原理,在算法是已知的情况下,提前测试入参运算随机结果,或许只是替换某个参加摇号的姓名的顺序就可以命中期望的结果,在实际运行的时候也按照这个排序的入参进行执行,这样既得到了所期望的中签结果,又完全无法发现中间存在作弊的情况。因此基于区块链的摇号解决方案中,由于智能合约中的算法都已经公开,需要解决的便是如何让程序的输入参数(即随机算法的种子)无法被人为的进行操控的问题。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面将结合图1和图2,为本申请实施例提供的具体实施场景进行说明。本申请实施例涉及的区块链网络可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。
以分布式系统为区块链系统为例,参见图1,图1是本申请实施例提供的分布式系统100应用于区块链系统的一个可选的场景示意图,由多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端300形成,节点之间形成组成的点对点(P2P,PeerTo Peer)网络,P2P协议是一个运行在传输控制协议(TCP,TransmissionControlProtocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图1示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块,新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
参见图2,图2是本申请实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时间的时间戳等信息。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
图3为本申请实施例提供的一种数据处理的系统架构图,如图3所示,区块链网络10a通过通信总线10b与摇号系统10c和公证方终端集群10d建立连接,摇号系统10c通过通信总线10e与用户终端集群10f建立链接。公证方终端集群10d包括公证方终端10g、公证方终端10h、…、公证方终端10i。用户终端集群包括用户终端10j、用户终端10k、…、用户终端10l。区块链网络10a包括区块链节点设备10m、区块链节点设备10n、…、区块链节点设备10o。各公证方终端生成随机数,并计算该随机数的加密值,将加密值发送至区块链网络10a中的所有区块链节点设备,由区块链节点设备将加密值进行上链,在加密值上链完成后,用户终端集群10f中的各用户终端向摇号系统10c输入用户信息,摇号系统10c将所用候选用户的用户信息发送至区块链网络10a中的所有区块链节点设备,由区块链节点设备将所有用户的用户信息进行上链,在所有用户信息上链完成后,公证方终端集群10d将加密值对应的随机数发送至区块链网络10a中的所有区块链节点设备,由区块链节点设备将随机数进行上链,随机数上链完成后,各区块链节点设备根据随机数、加密值以及候选用户的用户信息获得随机数种子,显然,如果随机数、加密值以及候选用户的用户信息在各区块链节点设备中存储的都是一样的,那么获得的随机数种子也应该是一样的,各区块链节点设备根据生成的随机数种子,通过智能合约中预先设定好的随机算法,获得目标用户的用户信息,如果所有区块链节点设备获得的目标用户的用户信息一致,说明智能合约结果一致,达成共识,区块链节点设备将目标用户的用户信息上链。
图4为本申请实施例的一种数据处理方法的流程示意图,如图4所示,本申请实施例的方法可以包括以下步骤S101-步骤S105。
S101、获取由至少一个公证方终端生成的加密值,将加密值进行上链,加密值由公证方终端对自身生成的随机数进行哈希运算获得。
公证是指公证方根据自然人、法人或者其他组织的申请,依照法定程序对民事法律行为、有法律意义的事实和文书的真实性、合法性予以证明的活动。在本申请中,公证方用于对获取目标用户的过程进行真实性的证明。公证方终端是指公证方使用的终端,本申请的公证方终端可以生成随机数和随机数的加密值,并将随机数和加密值在预设的时机进行上链,从而保证生成的随机数种子是不可预测的,进而保证获取的目标用户是具有公正性的。
每个公证方终端根据自己设定的伪随机算法生成一个随机数,此时公证方相互之间并不知道其他公证方生成的随机数是多少,但为了防止公证方终端在后续过程中变更随机数,因此需要将随机数进行上链,上链即将数据传输在区块链上,通过将数据上链,能够实现数据不可篡改的效果。
进一步地,如果直接将随机数进行上链,显然每个公证方都将知晓随机数,那么后续在获取候选用户的摇号信息时,就可能通过修改候选用户的顺序达到命中期望结果的目的,因此公证方终端并不会直接将随机数进行上传,而是将随机数通过加密运算获得一个对应的加密值,然后将加密值发送至区块链节点设备,由区块链节点设备将加密值进行上链。本申请实施例所采用的加密算法可以为对称式加密技术,也可以是非对称式加密技术,对称式加密就是加密和解密使用同一个密钥,非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件,本申请实施例进一步采用Hash(哈希)算法作为加密算法,Hash算法特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。区块链节点设备是区块链中处理数据,维护区块链正常运行的服务器,在区块链中可以包括多个区块链节点设备,区块链节点设备之间的信息可以共享。
区块链节点设备根据加密值生成加密值区块,将加密值区块添加至区块链中。加密值区块包括区块头和区块体,区块头中包括区块链的版本号、时间戳以及上一个区块的哈希地址,区块体用于存储公证方终端生成的加密值。
S102、在加密值上链后,获取至少一个候选用户的用户信息,将至少一个候选用户的用户信息进行上链。
可以理解的是,候选用户可以是参与摇号获得的用户,摇号获得具体可以为汽车牌照摇号、买房摇号,或者其他抽奖活动,用户信息是摇号用户对应的用户名,用户信息是摇号用户在摇号活动之前注册的,与摇号用户是一一对应的关系,具体可以是用户的身份证信息和/或申请摇号的时间顺序,例如,用户通过用户终端登录摇号系统参与摇号活动,摇号系统会根据用户预约摇号的时间分配摇号信息,具体的,若用户是第一个预约摇号的,则给用户分配的摇号信息为“1”,若用户不是第一个预约摇号的,且上一个用户的摇号信息为“100”,则给用户分配的摇号信息为“101”。
摇号系统可以一次将所有候选用户的用户信息发送至区块链节点设备,也可以将用户信息通过多次发送至区块链节点设备,区块链节点设备接收到用户信息后,基于至少一个候选用户的用户信息生成候选区块,并将候选区块添加至区块链中,候选区块用于存储用户信息。具体的,若摇号系统一次将所有的用户信息发送至区块链节点设备,则生成的候选区块中包括所有的用户信息,若摇号系统每次将一个用户信息发送至区块链节点设备,则根据这一个用户信息生成的候选区块中包括一个用户信息,摇号系统每次发送的用户信息的数量不做限制,同时多次发送用户信息则会生成多个对应的候选区块,候选区块包括区块头和区块体,区块头中包括区块链的版本号、时间戳以及上一个区块的哈希地址,区块体用于存储用户信息。
由于将用户信息进行上链的顺序一定程度上是由候选用户参与摇号的顺序决定的,因此可以任务是无法预测的顺序,难以被人为操控。
S103、在用户信息上链后,获取至少一个公证方终端生成的随机数,将随机数进行上链。
在用户信息上链后,可以认为已经结束了申报摇号的环境,各公证方终端将之前发送的加密值所对应的随机数发送至区块链节点终端,区块链节点终端对随机数进行上链。
具体地,区块链节点设备根据随机数生成随机数区块,将随机数区块添加至区块链中。随机数区块包括区块头和区块体,区块头中包括区块链的版本号、时间戳以及上一个区块的哈希地址,区块体用于存储公证方终端生成的随机数。
S104、根据随机数、加密值以及候选用户的用户信息获得随机数种子。
本申请实施例通过对随机数、加密值以及候选用户的用户信息进行整体的哈希运算,获得随机数种子。随机数种子(random seed)是指在伪随机数生成器中用于生成伪随机数的初始数值。随机数种子与公证方终端生成的随机数是两个不同的概念,公证方终端生成的随机数是通过预设的随机算法生成的,该随机数作为生成随机数种子的其中一个基础数据,对于一个伪随机数生成器,从相同的随机数种子出发,可以得到相同的随机数序列。利用伪随机算法的上述特性,能够保证公众可以利用伪随机数种子对最终获取的目标用户进行校验。由于在对随机数上链前,各公证方终端都不知道其余公证方终端的随机数,即只有在所有公证方进行联合欺骗的时候才能提前获得最初始的各公证方的随机数,在接着公众的用户信息上链环节,即便各公证方进行联合欺骗,但是无法控制公众申请的上链的时间以及申报的最终人数,除非能够在报名截止前的一瞬间获取已上链的所有数据并模拟运算出随机结果,再控制僵尸号进行实名申报上链,但是无论从运算难度还是操作的可行性都是几乎不可能的,因此本申请实施例获得随机数种子不存在提前预测的可能。
S105、根据随机数种子,通过智能合约中预先设定好的随机算法,获得目标用户的用户信息。
本申请实施例的摇号程序的随机算法以区块链中的智能合约的形式存在,由于随机数种子是根据候选用户的用户信息获得,因此通过将随机数种子输入至随机算法中,即可获得随机算法输出的目标用户的用户信息,目标用户也即中签的用户。
本申请实施例通过由区块链节点设备获取由至少一个公证方终端生成的加密值,将加密值进行上链,在加密值上链后,获取至少一个候选用户的用户信息,将至少一个候选用户的用户信息进行上链,在用户信息上链后,获取至少一个公证方终端生成的随机数,将随机数进行上链,根据随机数、加密值以及候选用户的用户信息获得随机数种子;根据随机数种子,通过智能合约中预先设定好的随机算法,获得目标用户的用户信息,由于随机数种子的由于在对随机数上链前,各公证方终端都不知道其余公证方终端的随机数,即只有在所有公证方进行联合欺骗的时候才能提前获得最初始的各公证方的随机数,在接着公众的申请信息上链环节,即便各公证方进行联合欺骗,但是无法控制公众申请的上链的时间以及申报的最终人数,除非能够在报名截止前的一瞬间获取已上链的所有数据并模拟运算出随机结果,再控制僵尸号进行实名申报上链,但是无论从运算难度还是操作的可行性都是几乎不可能的,因此本申请实施例获得随机数种子不存在提前预测的可能,并且随机数种子是根据链上的随机数、加密值以及候选用户的用户信息生成的,这些数据无法篡改,提高了摇号数据的可靠性。
本申请实施例在实际应用中,公证方终端生成的加密值在上链后,向公众进行公示,在用户信息上链后,对用户信息进行脱敏后向工资进行公示,在随机数上链后,继续向公众进行公示,同时还向公众公示智能合约代码和随机数种子,使得公众不仅可以对比自身的结果是否一致意外,同样可以获取公示的智能合约代码,以及每期的公示的参与摇号的数据进行模拟运算出当期的中签情况,从而实现公开、透明,证明其公平性。
在上述各实施例的基础上,作为一种可选实施例,用户信息包括用户信息包括根据候选用户的参选顺序确定的编号;
通过在用户信息中增加根据候选用户的参选顺序确定的编号,可以在用户信息上链后无法篡改候选用户的参选顺序。号是指预先设置编号规则的一系列代号,具体可以是数字或者字母等,数字也可以对应其他进制的数据,例如,二进制数据、十进制数据、十六进制数据等,通常采用连续数字进行编号,具体的,若候选用户在摇号报名周期中为第一个参与的摇号用户,则将初始编号确定为用户信息对应的摇号信息,初始编号是指预先设置的系列代号中的第一个代号,具体的,若选择数字给摇号用户进行编号,则初始编号为“1”,即给第一个参与的候选用户分配的摇号信息为“1”,若选择字母给摇号用户进行编号,则初始编号为“a”,即给第一个参与的候选用户分配的编号为“a”,若候选用户不是第一个摇号用户,则根据上一个候选用户的摇号信息生成用户信息对应的编号,具体可根据编号规则以及上一编号,生成用户对应的编号。例如,若当前参与摇号的用户不是第一个摇号用户,采用数字进行编号,上一个摇号用户的编号为“3”,编号规则为数字排序,则生成当前摇号用户的编号为“4”;若采用字母进行编号,上一个摇号用户的编号为“c”,编号规则为字母排序,则生成当前摇号用户的编号为“d”。
将至少一个候选用户的用户信息进行上链,包括:
根据至少一个候选用户的编号,将至少一个候选用户的用户信息进行上链。
通过根据编号将用户信息进行上链,使得上链的用户信息在各个区块链节点设备中都具有一致的顺序,有利于避免不同区块链节点设备在计算随机数种子时出现差异。
在上述各实施例的基础上,将随机数进行上链,之前还包括:
获取公证方终端使用的加密算法,根据加密算法对获取的公证方生成的随机数进行一致性校验。
区块链节点设备在将随机数上链前还需要对公证方终端发送的随机数进行一致性校验,具体地,区块链节点获取公证方终端在根据随机数生成加密值时使用的加密算法,然后根据该加密算法对获取的随机数进行加密运算,若获得的加密运算结果和之前公证方终端上传的加密值一致,则确定通过一致性校验。
将随机数进行上链,包括:
若一致性校验通过,则将随机数进行上链。
本申请实施例通过在随机数上链前进行一致性校验,能够及时发现公证方上传与此前发送的加密值不对应的随机数的情况,从而保证了获取获得目标用户的用户信息的准确性。
图5为本申请实施例的区块链节点设备、公证方终端以及摇号系统的交互示意图,如图5所示,该交互过程包括:
公证方终端生成随机数,计算该随机数的加密值
公证方终端将加密值发送至区块链节点设备;
区块链节点设备将加密值进行上链;
摇号系统采集候选用户的用户信息,将候选用户的用户信息发送至区块链节点设备;
区块链节点设备将候选用户的用户信息上链;
公证方终端将随机数发送至区块链节点设备;
区块链节点设备对随机数进行一致性校验,若校验通过则将随机数上链;
根据区块链上的随机数、加密值以及候选用户的用户信息获得随机数种子,根据随机数种子,通过智能合约中预先设定好的随机算法,获得目标用户的用户信息。
在上述各实施例的基础上,作为一种可选实施例,将加密值进行上链,包括:根据加密值生成加密值区块,将加密值区块添加至区块链中。加密值区块包括区块头和区块体,区块头中包括区块链的版本号、时间戳以及上一个区块的哈希地址,区块体用于存储公证方终端生成的加密值。
将至少一个候选用户的用户信息进行上链,包括:根据至少一个候选用户的用户信息生成候选区块,将候选区块添加至区块链中。候选区块包括区块头和区块体,区块头中包括区块链的版本号、时间戳以及上一个区块的哈希地址,区块体用于存储用户信息。
将随机数进行上链,包括:根据随机数生成随机数区块,将随机数区块添加至区块链中。随机数区块包括区块头和区块体,区块头中包括区块链的版本号、时间戳以及上一个区块的哈希地址,区块体用于存储公证方终端生成的随机数。
在上述各实施例的基础上,本申请根据随机数、加密值以及候选用户的用户信息获得随机数种子存在以下两种方式:
方式一:从区块链中获得生成时间晚于随机数区块的生成时间的区块,作为目标区块,获取目标区块中记录的哈希值,将哈希值作为最终的随机数种子。
具体地,区块链节点设备从区块链中获取区块生成时间晚于随机数区块的生成时间的区块,作为目标区块,将目标区块的哈希值确定随机数种子,可以理解的是,随机数区块的生成时间,意味着随机数、加密值以及用户信息都已上链的时间,目标区块的生成时间晚于随机数、加密值以及用户信息都已上链的时间,意味着随机数、加密值以及用户信息上链时,目标区块还未生成,因此无法提前知晓目标区块的哈希值,进而无法提前获知随机数种子,提高了后续得出目标用户的数据可靠性。
时间戳存储于区块的区块头中,在随机数上链后,从区块链中获取区块生成时间晚于随机数区块的生成时间的区块,作为目标区块,例如,随机数上链的时间为早上8点,揭晓摇号结果的时间为9点,则从区块链中获取区块生成时间处于八点至九点之间的区块,作为目标区块,需要说明的是,满足时间戳晚于摇号截止时间的区块可以包括多个区块,可以从多个区块中随机选取一个作为目标区块,也可以按照时间戳的顺序选取一个作为目标区块,获取目标区块的哈希值,并作为随机数种子,需要说明的是,对于区块链中的多个区块链节点设备来说,只要预订约定好获取同一个生成时间晚于随机数区块的生成时间的区块的规则,即可保证缩影区块链节点设备获得的随机数种子是一致的。
方式二:从加密值区块中提取加密值;从候选区块中提取候选用户的用户信息;从随机数区块中提取随机数;对随机数、加密值以及候选用户的用户信息进行哈希运算,获得随机数种子。
具体地,区块链节点设备从区块链中找出加密值区块、候选区块和随机数区块,然后从三个区块的区块体中获取加密值、随机数和候选用户的用户信息,之后通过预先约定好的哈希算法进行哈希运算,即可获得随机数种子。
本申请实施例的上述两种方式均可达到随机数种子无法预测的效果。
在上述实施例的基础上,作为一种可选实施例,对随机数、加密值以及候选用户的用户信息进行哈希运算,获得随机数种子,包括:
根据随机数、加密值以及候选用户的用户信息的上链顺序,对随机数、加密值以及候选用户的用户信息进行哈希运算,获得随机数种子。
由于不同的公证方终端发送加密值和随机数的时间存在差异,因此区块链节点设备在区块链上生成加密值区块和随机数区块的时间也会存在差异,即区块链中的随机数和加密值都存在顺序关系,同理,摇号系统上传候选用户的用户信息时也是根据候选用户的参选顺序上传的,因此用户信息也存在特定的顺序,区块链节点设备根据上链顺序进行哈希运算,能够保证所有的区块链节点设备采用完全相同的运算方法计算随机数种子,这样最终计算的随机数种子也是一致的。
在上述各实施例的基础上,作为一种可选实施例,获得目标用户的用户信息,之后还包括:对从其他区块链节点设备获得的目标用户的用户信息进行一致性校验,若一致性校验通过,则将目标用户的用户信息进行上链。
通过各区块链节点设备对自身获得的目标用户的用户信息与其他区块链节点设备获得的目标用户的用户信息进行一致性校验,如果完全一致,则确定一致性校验通过,智能合约结果一致,达成共识,则将目标用户的用户信息进行上链。若未通过一致性校验,则可以根据对已上链的数据进行检查,发现前后不一致的数据,及时发现作弊的区块链节点设备。
在上述各实施例的基础上,区块链网络中区块链节点设备的个数不小于公证方终端的个数。
需要说明的是,通过将区块链节点设备的个数设置为不小于公证方终端的个数,能够增加修改某一个或者某些区块链节点设备本地存储的数据的技术难度,进而增加区块链网络中数据的安全性。
本申请实施例提供了一种区块链节点设备,区块链节点设备为区块链网络中的区块链节点设备,图6为本申请实施例提供的一种区块链节点设备的结构示意图,如图6所示,区块链节点设备包括:加密值上链模块201、用户信息上链模块202、随机数上链模块203、种子生成模块204和输出模块205,具体地:
加密值上链模块201,用于获取由至少一个公证方终端生成的加密值,将加密值进行上链,加密值由公证方终端对自身生成的随机数进行哈希运算获得;
用户信息上链模块202,用于在加密值上链后,获取至少一个候选用户的用户信息,将至少一个候选用户的用户信息进行上链;
随机数上链模块203,用于在用户信息上链后,获取至少一个公证方终端生成的随机数,将随机数进行上链;
种子生成模块204,用于根据随机数、加密值以及候选用户的用户信息获得随机数种子;
输出模块205,用于根据随机数种子,通过智能合约中预先设定好的随机算法,获得目标用户的用户信息。
本申请实施例的区块链节点设备,通过由区块链节点设备获取由至少一个公证方终端生成的加密值,将加密值进行上链,在加密值上链后,获取至少一个候选用户的用户信息,将至少一个候选用户的用户信息进行上链,在用户信息上链后,获取至少一个公证方终端生成的随机数,将随机数进行上链,根据随机数、加密值以及候选用户的用户信息获得随机数种子;根据随机数种子,通过智能合约中预先设定好的随机算法,获得目标用户的用户信息,由于随机数种子的由于在对随机数上链前,各公证方终端都不知道其余公证方终端的随机数,即只有在所有公证方进行联合欺骗的时候才能提前获得最初始的各公证方的随机数,在接着公众的申请信息上链环节,即便各公证方进行联合欺骗,但是无法控制公众申请的上链的时间以及申报的最终人数,除非能够在报名截止前的一瞬间获取已上链的所有数据并模拟运算出随机结果,再控制僵尸号进行实名申报上链,但是无论从运算难度还是操作的可行性都是几乎不可能的,因此本申请实施例获得随机数种子不存在提前预测的可能,并且随机数种子是根据链上的随机数、加密值以及候选用户的用户信息生成的,这些数据无法篡改,提高了摇号数据的可靠性。
在上述各实施例的基础上,作为一种可选实施例,用户信息包括根据候选用户的参选顺序确定的编号;
用户信息上链模块将至少一个候选用户的用户信息进行上链,包括:根据至少一个候选用户的编号,将至少一个候选用户的用户信息进行上链。
在上述各实施例的基础上,作为一种可选实施例,区块链节点设备还包括:
随机数校验模块,用于在将随机数进行上链之前,获取公证方终端使用的哈希算法,根据哈希算法对获取的公证方生成的随机数进行一致性校验;
随机数上链模块将随机数进行上链,包括:若一致性校验通过,则将随机数进行上链。
在上述各实施例的基础上,作为一种可选实施例,加密值上链模块将加密值进行上链,包括:根据加密值生成加密值区块,将加密值区块添加至区块链中;
用户信息上链模块将至少一个候选用户的用户信息进行上链,包括:根据至少一个候选用户的用户信息生成候选区块,将候选区块添加至区块链中;
随机数上链模块将随机数进行上链,包括:根据随机数生成随机数区块,将随机数区块添加至区块链中。
在上述各实施例的基础上,作为一种可选实施例,种子生成模块包括:
目标区块获取单元,用于从区块链中获得生成时间晚于随机数区块的生成时间的区块,作为目标区块;
加密值获取单元,用于获取目标区块中记录的哈希值,将哈希值作为最终的随机数种子。
在上述各实施例的基础上,作为一种可选实施例,种子生成模块包括:
信息提取单元,用于从加密值区块中提取加密值;从候选区块中提取候选用户的用户信息;从随机数区块中提取随机数;
哈希运算单元,用于对随机数、加密值以及候选用户的用户信息进行哈希运算,获得随机数种子。
在上述各实施例的基础上,作为一种可选实施例,哈希运算单元具体用于:根据随机数、加密值以及候选用户的用户信息的上链顺序,对随机数、加密值以及候选用户的用户信息进行哈希运算,获得随机数种子。
在上述各实施例的基础上,作为一种可选实施例,区块链节点设备还包括:
目标用户上链模块,用于在获得目标用户的用户信息后,对从其他区块链节点设备获得的目标用户的用户信息进行一致性校验,若一致性校验通过,则将目标用户的用户信息进行上链。
在一个可选实施例中提供了一种电子设备,如图7所示,图7所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,通过由区块链节点设备获取由至少一个公证方终端生成的加密值,将加密值进行上链,在加密值上链后,获取至少一个候选用户的用户信息,将至少一个候选用户的用户信息进行上链,在用户信息上链后,获取至少一个公证方终端生成的随机数,将随机数进行上链,根据随机数、加密值以及候选用户的用户信息获得随机数种子;根据随机数种子,通过智能合约中预先设定好的随机算法,获得目标用户的用户信息,由于随机数种子的由于在对随机数上链前,各公证方终端都不知道其余公证方终端的随机数,即只有在所有公证方进行联合欺骗的时候才能提前获得最初始的各公证方的随机数,在接着公众的申请信息上链环节,即便各公证方进行联合欺骗,但是无法控制公众申请的上链的时间以及申报的最终人数,除非能够在报名截止前的一瞬间获取已上链的所有数据并模拟运算出随机结果,再控制僵尸号进行实名申报上链,但是无论从运算难度还是操作的可行性都是几乎不可能的,因此本申请实施例获得随机数种子不存在提前预测的可能,并且随机数种子是根据链上的随机数、加密值以及候选用户的用户信息生成的,这些数据无法篡改,提高了摇号数据的可靠性。
本申请实施例提供了一种计算机程序,该计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,当计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述方法实施例中的相应内容。与现有技术相比,通过由区块链节点设备获取由至少一个公证方终端生成的加密值,将加密值进行上链,在加密值上链后,获取至少一个候选用户的用户信息,将至少一个候选用户的用户信息进行上链,在用户信息上链后,获取至少一个公证方终端生成的随机数,将随机数进行上链,根据随机数、加密值以及候选用户的用户信息获得随机数种子;根据随机数种子,通过智能合约中预先设定好的随机算法,获得目标用户的用户信息,由于随机数种子的由于在对随机数上链前,各公证方终端都不知道其余公证方终端的随机数,即只有在所有公证方进行联合欺骗的时候才能提前获得最初始的各公证方的随机数,在接着公众的申请信息上链环节,即便各公证方进行联合欺骗,但是无法控制公众申请的上链的时间以及申报的最终人数,除非能够在报名截止前的一瞬间获取已上链的所有数据并模拟运算出随机结果,再控制僵尸号进行实名申报上链,但是无论从运算难度还是操作的可行性都是几乎不可能的,因此本申请实施例获得随机数种子不存在提前预测的可能,并且随机数种子是根据链上的随机数、加密值以及候选用户的用户信息生成的,这些数据无法篡改,提高了摇号数据的可靠性。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种数据处理方法,所述方法应用于区块链网络中的区块链节点设备,其特征在于,所述方法包括:
获取由至少两个公证方终端生成的加密值,将所述加密值进行上链,所述加密值由所述公证方终端对自身生成的随机数进行加密运算获得;
在所述加密值上链后,获取至少一个候选用户的用户信息,将所述至少一个候选用户的用户信息进行上链;
在所述用户信息上链后,获取至少两个公证方终端生成的所述随机数,将所述随机数进行上链;
根据区块链上的随机数、加密值以及候选用户的用户信息获得随机数种子;其中,所述随机数种子是在伪随机数生成器中用于生成伪随机数的初始数值;
根据所述随机数种子,通过智能合约中预先设定好的随机算法,获得目标用户的用户信息。
2.根据权利要求1所述的数据处理方法,其特征在于,所述用户信息包括根据候选用户的参选顺序确定的编号;
所述将所述至少一个候选用户的用户信息进行上链,包括:
根据所述至少一个候选用户的编号,将所述至少一个候选用户的用户信息进行上链。
3.根据权利要求1所述的数据处理方法,其特征在于,所述将所述随机数进行上链,之前还包括:
获取公证方终端使用的加密算法,根据所述加密算法对获取的所述公证方生成的随机数进行一致性校验;
所述将所述随机数进行上链,包括:
若一致性校验通过,则将所述随机数进行上链。
4.根据权利要求1所述的数据处理方法,其特征在于,所述将所述加密值进行上链,包括:
根据所述加密值生成加密值区块,将所述加密值区块添加至区块链中;
所述将所述至少一个候选用户的用户信息进行上链,包括:
根据所述至少一个候选用户的用户信息生成候选区块,将所述候选区块添加至区块链中;
所述将所述随机数进行上链,包括:
根据所述随机数生成随机数区块,将所述随机数区块添加至区块链中。
5.根据权利要求4所述的数据处理方法,其特征在于,所述根据所述随机数、加密值以及候选用户的用户信息获得随机数种子,包括:
从区块链中获得生成时间晚于所述随机数区块的生成时间的区块,作为目标区块,获取所述目标区块中记录的哈希值,将所述哈希值作为最终的随机数种子。
6.根据权利要求4所述的数据处理方法,其特征在于,所述根据所述随机数、加密值以及候选用户的用户信息获得随机数种子,包括:
从所述加密值区块中提取所述加密值;从所述候选区块中提取所述候选用户的用户信息;从所述随机数区块中提取所述随机数;
对所述随机数、加密值以及候选用户的用户信息进行哈希运算,获得所述随机数种子。
7.根据权利要求6所述的数据处理方法,其特征在于,所述对所述随机数、加密值以及候选用户的用户信息进行哈希运算,获得所述随机数种子,包括:
根据所述随机数、加密值以及候选用户的用户信息的上链顺序,对所述随机数、加密值以及候选用户的用户信息进行哈希运算,获得所述随机数种子。
8.根据权利要求1所述的数据处理方法,其特征在于,所述获得目标用户的用户信息,之后还包括:
对从其他区块链节点设备获得的目标用户的用户信息进行一致性校验,若一致性校验通过,则将所述目标用户的用户信息进行上链。
9.根据权利要求1所述的数据处理方法,其特征在于,所述区块链网络中区块链节点设备的个数不小于所述公证方终端的个数。
10.一种区块链节点设备,所述区块链节点设备为区块链网络中的区块链节点设备,其特征在于,所述区块链节点设备包括:
加密值上链模块,用于获取由至少两个公证方终端生成的加密值,将所述加密值进行上链,所述加密值由所述公证方终端对自身生成的随机数进行哈希运算获得;
用户信息上链模块,用于在所述加密值上链后,获取至少一个候选用户的用户信息,将所述至少一个候选用户的用户信息进行上链;
随机数上链模块,用于在所述用户信息上链后,获取至少两个公证方终端生成的所述随机数,将所述随机数进行上链;
种子生成模块,用于根据所述随机数、加密值以及候选用户的用户信息获得随机数种子;其中,所述随机数种子是在伪随机数生成器中用于生成伪随机数的初始数值;
输出模块,用于根据所述随机数种子,通过智能合约中预先设定好的随机算法,获得目标用户的用户信息。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至9任一项所述数据处理方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至9中任意一项所述数据处理方法的步骤。
CN202010789298.4A 2020-08-07 2020-08-07 数据处理方法、区块链节点设备、电子设备及计算机程序 Active CN111865587B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010789298.4A CN111865587B (zh) 2020-08-07 2020-08-07 数据处理方法、区块链节点设备、电子设备及计算机程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010789298.4A CN111865587B (zh) 2020-08-07 2020-08-07 数据处理方法、区块链节点设备、电子设备及计算机程序

Publications (2)

Publication Number Publication Date
CN111865587A CN111865587A (zh) 2020-10-30
CN111865587B true CN111865587B (zh) 2021-08-31

Family

ID=72972273

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010789298.4A Active CN111865587B (zh) 2020-08-07 2020-08-07 数据处理方法、区块链节点设备、电子设备及计算机程序

Country Status (1)

Country Link
CN (1) CN111865587B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112562168B (zh) * 2020-11-27 2022-08-02 中国联合网络通信集团有限公司 基于区块链的线上摇号方法、系统、设备及存储介质
CN113536287A (zh) * 2021-06-21 2021-10-22 苏州工业园区服务外包职业学院 信息校验方法、系统、计算机设备及存储介质
CN113867690B (zh) * 2021-12-07 2022-03-04 中移(上海)信息通信科技有限公司 一种区块链中随机数的生成方法、装置及区块链节点
CN114244535B (zh) * 2022-02-24 2022-05-17 成都易达数安科技有限公司 一种基于区块链技术的城市级公示系统及公示方法
CN114900348B (zh) * 2022-04-28 2024-01-30 福建福链科技有限公司 一种区块链传感器数据验证的方法及终端
CN115085909A (zh) * 2022-05-09 2022-09-20 北京红洞科技有限公司 一种随机数生成方法、装置、计算机设备及介质
CN115083062B (zh) * 2022-07-22 2022-12-09 阿里健康科技(杭州)有限公司 信息处理方法、信息发送方法、计算机设备及存储介质
FR3138553A1 (fr) * 2022-07-27 2024-02-02 La Française Des Jeux Procédé, dispositif et programme d’ordinateur de tirage électronique
CN115796869B (zh) * 2022-11-24 2024-01-19 元疆(广州)供应链管理合伙企业(有限合伙) 一种基于智能数字合约的商品数据处理方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109543443A (zh) * 2018-10-17 2019-03-29 平安科技(深圳)有限公司 基于区块链的用户数据管理方法、装置、设备和存储介质
CN110162996A (zh) * 2019-04-23 2019-08-23 上海链度科技有限公司 基于区块链的投票系统、方法和投票终端
CN110310097A (zh) * 2019-07-05 2019-10-08 匿名科技(重庆)集团有限公司 一种智能合约的公租房可信摇号方法
CN110780847B (zh) * 2019-10-15 2022-02-25 腾讯科技(深圳)有限公司 随机数生成方法、随机数生成装置及电子设备
CN116739660A (zh) * 2019-11-28 2023-09-12 湖南天河国云科技有限公司 一种基于区块链的抽奖方法及系统
CN110968644A (zh) * 2019-11-29 2020-04-07 腾讯科技(深圳)有限公司 一种数据处理方法以及设备
CN111314069B (zh) * 2020-02-13 2022-08-30 苏州同济区块链研究院有限公司 基于区块链的摇号系统、方法、电子设备及存储介质
CN111460482B (zh) * 2020-04-15 2024-04-16 中国银行股份有限公司 一种基于区块链的摇号方法及装置

Also Published As

Publication number Publication date
CN111865587A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111865587B (zh) 数据处理方法、区块链节点设备、电子设备及计算机程序
Zaghloul et al. Bitcoin and blockchain: Security and privacy
CN109523683B (zh) 一种基于区块链技术的不记名电子投票方法
EP3449452B1 (en) Implementing logic gate functionality using a blockchain
CN107180350B (zh) 一种基于区块链的多方共享交易元数据的方法、装置及系统
CN111445333B (zh) 区块生成方法、装置、计算机设备以及存储介质
US10832230B2 (en) Scalable and distributed shared ledger transaction management
Ismail et al. Towards a blockchain deployment at uae university: Performance evaluation and blockchain taxonomy
Shukla et al. Online voting application using ethereum blockchain
CN110730963B (zh) 用于信息保护的系统和方法
CN109842606A (zh) 基于一致性哈希算法的区块链共识算法和系统
JP6672889B2 (ja) 電子抽選システム及び電子抽選方法
CN111464518A (zh) 一种跨链通信数据的发送、验证方法及装置
CN110096903B (zh) 基于区块链的资产验证方法及区块链网络系统
US10607297B2 (en) Scalable and distributed shared ledger transaction management
Abbade et al. Blockchain applied to vehicular odometers
CN111314067A (zh) 区块存储方法、装置、计算机设备及存储介质
CN111460482B (zh) 一种基于区块链的摇号方法及装置
CN111815321A (zh) 交易提案的处理方法、装置、系统、存储介质和电子装置
CN111008863A (zh) 一种基于区块链的抽奖方法及系统
CN108831001B (zh) 基于区块链的节点随机选取方法、系统、节点、电子设备
CN113328997A (zh) 联盟链跨链系统及方法
CN111523152B (zh) 基于区块链的电子证件管理方法、管理网络及电子设备
CN110968644A (zh) 一种数据处理方法以及设备
KR20190078668A (ko) 검증가능한 추첨을 위한 장치 및 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant