CN112634034B - 预约方法、装置、电子设备及计算机可读存储介质 - Google Patents
预约方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112634034B CN112634034B CN202011290217.2A CN202011290217A CN112634034B CN 112634034 B CN112634034 B CN 112634034B CN 202011290217 A CN202011290217 A CN 202011290217A CN 112634034 B CN112634034 B CN 112634034B
- Authority
- CN
- China
- Prior art keywords
- ordering
- reservation
- random number
- transaction request
- transaction
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004422 calculation algorithm Methods 0.000 claims description 27
- 238000012795 verification Methods 0.000 claims description 22
- 230000001174 ascending effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims 2
- 238000011161 development Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000000977 initiatory effect Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Marketing (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种预约方法、装置、电子设备及计算机可读存储介质。该方法包括:接收打包有预约排序交易请求的区块;基于预约排序交易请求的请求类型,获取预约排序交易请求对应的随机数;基于随机数对预约排序交易请求进行排序。本方案中,由于是基于随机数进行预约排序,能够保证排序结果的公平性,有利于业务的开展。
Description
技术领域
本申请涉及区块链技术领域,具体而言,本申请涉及一种预约方法、装置、电子设备及计算机可读存储介质。
背景技术
用户在银行等机构进行业务的办理时,可能需要对待办理的业务进行预约,以便银行等机构的业务***基于用户的预约来决定业务顺序。
区块链具有去中心化、透明公开、数据不可修改等优势,越来越受到人们的重视。通过区块链技术来处理银行业务中的预约、排队等业务,能够提升业务透明度,有利于银行业务的开展。但是,目前在区块链上进行业务预约时无法保证公平性,影响了业务的开展。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:
第一方面,本申请实施例提供了一种预约方法,该方法包括:
接收打包有预约排序交易请求的区块;
基于预约排序交易请求的请求类型,获取预约排序交易请求对应的随机数;
基于随机数对预约排序交易请求进行排序。
可选地,基于预约排序交易请求的请求类型,获取预约排序交易请求对应的随机数,包括:
若预约排序交易请求的请求类型为全局预约排序交易请求,则获取区块链中的排序节点广播的预约排序交易请求对应的随机数。
可选地,上述方法还包括:
获取排序节点广播的随机数对应的证据;
基于随机数对预约排序交易请求进行排序,包括:
基于证据对随机数进行验证。
若验证通过,则基于随机数对预约排序交易请求进行排序。
可选地,排序节点生成预约排序交易请求对应的随机数以及证据,是基于如下方式:
基于排序节点的私钥,以及预约排序交易请求的交易内容,并基于预设的数字签名算法,生成预约排序交易请求对应的随机数以及证据。
可选地,基于随机数对预约排序交易请求进行排序,包括:
确定业务节点中是否存在预约排序交易请求对应事件的排序信息;
若存在,则将预约排序交易请求的排序结果添加至排序信息;
若不存在,则基于预约排序交易请求的排序结果创建排序信息。
可选地,基于预约排序交易请求的请求类型,获取预约排序交易请求对应的随机数,包括:
若预约排序交易请求的请求类型为局部预约排序交易请求,则生成预约排序交易请求对应的随机数。
可选地,上述方法还包括:
生成随机数对应的证据。
可选地,基于随机数对预约排序交易请求进行排序,包括:
确定业务节点中是否存在对应的排序信息;
若存在,则将预约排序交易请求的排序结果添加至排序信息;
若不存在,则基于预约排序交易请求的排序结果创建排序信息。
可选地,区块是由区块链中的领导者共识节点打包出块的。
第二方面,本申请实施例提供了一种预约装置,该装置包括:
区块接收模块,用于接收打包有预约排序交易请求的区块;
随机数获取模块,用于基于预约排序交易请求的请求类型,获取预约排序交易请求对应的随机数;
排序模块,用于基于随机数对预约排序交易请求进行排序。
可选地,随机数获取模块具体用于:
若预约排序交易请求的请求类型为全局预约排序交易请求,则获取区块链中的排序节点广播的预约排序交易请求对应的随机数。
可选地,上述装置还包括:
证据获取模块,用于获取排序节点广播的随机数对应的证据;
上述排序模块具体用于:
基于证据对随机数进行验证。
若验证通过,则基于随机数对预约排序交易请求进行排序。
可选地,排序节点生成预约排序交易请求对应的随机数以及证据,是基于如下方式:
基于排序节点的私钥,以及预约排序交易请求的交易内容,并基于预设的数字签名算法,生成预约排序交易请求对应的随机数以及证据。
可选地,上述排序模块具体用于:
确定业务节点中是否存在预约排序交易请求对应事件的排序信息;
若存在,则将预约排序交易请求的排序结果添加至排序信息;
若不存在,则基于预约排序交易请求的排序结果创建排序信息。
可选地,随机数获取模块具体用于:
若预约排序交易请求的请求类型为局部预约排序交易请求,则生成预约排序交易请求对应的随机数。
可选地,上述装置还包括:
证据生成模块,生成随机数对应的证据。
可选地,上述排序模块具体用于:
确定业务节点中是否存在对应的排序信息;
若存在,则将预约排序交易请求的排序结果添加至排序信息;
若不存在,则基于预约排序交易请求的排序结果创建排序信息。
可选地,区块是由区块链中的领导者共识节点打包出块的。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行如本申请的第一方面的任一实施方式中所示的预约方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请的第一方面的任一实施方式中所示的预约方法。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施提供的方案,通过接收打包有预约排序交易请求的区块,基于预约排序交易请求的请求类型,获取预约排序交易请求对应的随机数,从而基于随机数对预约排序交易请求进行排序。本方案中,由于是基于随机数进行预约排序,能够保证排序结果的公平性,有利于业务的开展。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种预约方法的流程示意图;
图2为本申请实施例提供的随机数的计算流程示意图;
图3为本申请实施例提供的随机数的计算过程中计算γ=hx的具体流程示意图;
图4为本申请实施例提供的随机数的合法性验证的流程示意图;
图5为本申请实施例提供的预约方法的一种具体实施方式的流程示意图;
图6为本申请实施例提供的一种预约装置的结构示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
现有技术中,在基于区块链进行预约排序时,可能会存在如下问题:
1、公有链中的出块者,会挑选对自己有利的交易优先打包,例如手续费高的交易,这会对预约排序的公平性造成影响。
2、在区块链的出块过程中,用于打包交易算法的时序性不强,影响预约排序的准确性。
3、联盟链中,一般会直接按区块中的交易顺序决定业务顺序,其公平性仍存在一定的提高空间。
本申请实施例提供的预约方法、装置、电子设备及计算机可读存储介质,旨在解决现有技术的如上技术问题中的至少一个。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1示出了本申请实施例提供的一种预约方法的流程示意图,如图1所示,该方法主要可以包括:
步骤S110:接收打包有预约排序交易请求的区块;
步骤S120:基于预约排序交易请求的请求类型,获取预约排序交易请求对应的随机数;
步骤S130:基于随机数对预约排序交易请求进行排序。
本申请实施例中,用户可以通过客户端发起预约排序交易请求,并将预约排序交易请求发送至区块链。预约排序交易请求中的请求信息可以包括交易ID、事件标识、交易日期以及客户端对交易请求的签名等。预约排序交易请求可以被打包为区块,并进行出块。
本申请实施例中,排序节点在接收到区块后,可以对区块的合法性进行验证。在验证通过后,可以确定预约排序交易请求的请求类型,针对不同请求类型的预约排序交易请求通过不同方式分别获取随机数。
本申请实施例中,在获取到随机数之后,业务节点可以基于随机数对预约排序交易请求进行排序。
由于是基于随机生成的随机数进行排序,在保证随机数公平的前提下,各预约排序交易请求的排序结果也具有公平性。
本申请实施提供的方法,通过接收打包有预约排序交易请求的区块,基于预约排序交易请求的请求类型,获取预约排序交易请求对应的随机数,从而基于随机数对预约排序交易请求进行排序。本方案中,由于是基于随机数进行预约排序,能够保证排序结果的公平性,有利于业务的开展。
本申请实施例的一种可选方式中,基于预约排序交易请求的请求类型,获取预约排序交易请求对应的随机数,包括:
若预约排序交易请求的请求类型为全局预约排序交易请求,则获取区块链中的排序节点广播的预约排序交易请求对应的随机数。
本申请实施例中,可以通过在预约排序交易请求中定义不同的请求类型,从而针对不同请求类型的预约排序交易请求分别构建预约排序交易请求集合,并通过不同方式分别将获取预约排序交易请求集合内的各预约排序交易请求的随机数。
本申请实施例中,可以在预约排号交易请求中添加“事件”字段,用于对标识预约排序交易请求的请求类型,
请求类型可以包括全局预约排序交易请求以及局部预约排序交易请求。具体而言,全局预约排序交易请求,即对接收到区块内的全部预约排号交易请求进行排序的交易请求,例如对纪念币的预约请求。局部预约排序交易请求即某业务节点自己发起预约排号交易请求进行排序的交易请求,例如银行网点的排号请求。
作为一个示例,若“事件”字段的首位若为1,则可以确定该请求类型为全局预约排序交易请求;若“事件”字段首位若为0,则可以确定该请求类型为局部预约排序交易请求。
在实际使用中,预约排序交易请求中的“事件”字段可以通过下的编码方式:
“事件”标识的长度可以为64比特,编码方式如下:
(1)若首位为全局预约排序标识位1,则表示是需要全局预约排序的交易请求;若首位为局部预约排序标识位0,则表示只需局部排序。
(2)“事件”标识的后63位为请求指向的事件编码
a、若首位为1,其余位为事件发起的时间(单位为天,一般为距离1970年1月1日的天数,最终解析结果可为实际时间)以及相应事件的编号,记为1||time||eventID。
b、若首位为0,其余位为事件发起的时间以及相应节点的编号,记为0||time||nodeID。
通过编码值(标识位+时间戳+事件ID)指向具体的事件,从而保证了事件编码的唯一性。其中,时间戳+eventID是指向全局排号事件的ID,时间戳+nodeID是指向区块内某节点的ID。
本申请实施例中,全局预约排序交易请求中的“事件”字段中,事件ID可以与所预约的业务相对应,可以将各业务对应的全局预约排序交易请求分别构建交易集合,并针对交易集合内的全局预约排序交易请求分别计算随机数。
本申请实施例的一种可选方式中,上述方法还包括:
获取排序节点广播的随机数对应的证据;
基于随机数对预约排序交易请求进行排序,包括:
基于证据对随机数进行验证。
若验证通过,则基于随机数对预约排序交易请求进行排序。
本申请实施例中,对于全局预约排序交易请求,可以在业务节点中指定排序节点,由排序节点生成随机数,并将随机数在区块链内进行广播,以使业务节点接收到随机数。
本申请实施例中,排序节点可以在生成随机数的同时,生成随机数对应的证据,基于证据能够实现对应随机数的验证。业务节点可以在随机数验证通过时,才进行基于随机数的预约排序,以保证预约排序的公平性。
本申请实施例的一种可选方式中,排序节点生成预约排序交易请求对应的随机数以及证据,是基于如下方式:
基于排序节点的私钥,以及预约排序交易请求的交易内容,并基于预设的数字签名算法,生成预约排序交易请求对应的随机数以及证据。
本申请实施例中,预设的数字签名算法可以为唯一签名算法,基于该数据签名算法,能够在输入排序节点的私钥,以及预约排序交易请求的交易内容时,生成唯一的随机数,并且生成与随机数对应的证据。基于上述数字签名算法生成的随机数,能够被基于证据进行验证,以保证随机数的公平性。
本申请实施例的一种可选方式中,基于随机数对预约排序交易请求进行排序,包括:
确定业务节点中是否存在预约排序交易请求对应事件的排序信息;
若存在,则将预约排序交易请求的排序结果添加至排序信息;
若不存在,则基于预约排序交易请求的排序结果创建排序信息。
本申请实施例中,在对全局预约排序交易请求进行排序时,预约排序交易请求中的“事件”字段中,事件ID可以与所预约的业务相对应,业务节点中可能已经存在了某业务的排序信息(如排序队列),这时可以将新增区块内的该业务对应的预约排序交易请求的排序结果添加至排序信息。
如业务节点中未存在某业务的排序信息,则可以基于新增区块内该业务对应的预约排序交易请求的排序结果建立排序信息。
本申请实施例的一种可选方式中,若预约排序交易请求的请求类型为局部预约排序交易请求,获取预约排序交易请求对应的随机数,包括:
生成预约排序交易请求对应的随机数。
本申请实施例中,可以通过局部预约排序交易请求中的“事件”字段中的节点ID,确定出对应的业务节点,并将区块中对应同一业务节点的局部预约排序交易请求构建为交易集合,由该业务节点针对交易集合内的各局部预约排序交易请求分别生成对应随机数,从而基于随机数进行对各局部预约排序交易请求的排序。
本申请实施例的一种可选方式中,上述方法还包括:
生成排序节点广播的随机数对应的证据。
本申请实施例中,业务节点可以在生成随机数的同时,生成随机数对应的证据。业务节点可以留存证据,以便后续基于证据实现对应随机数的验证。
本申请实施例中,业务节点可以采用上述的数字签名算法,输入该业务节点的私钥,以及预约排序交易请求的交易内容,生成唯一的随机数,并且生成与随机数对应的证据。
本申请实施例的一种可选方式中,基于随机数对预约排序交易请求进行排序,包括:
确定业务节点中是否存在对应的排序信息;
若存在,则将预约排序交易请求的排序结果添加至排序信息;
若不存在,则基于预约排序交易请求的排序结果创建排序信息。
本申请实施例中,在对局部预约排序交易请求进行排序时,业务节点中可能已经存在了对应业务的排序信息(如排序队列),这时可以将新增区块内的预约排序交易请求的排序结果添加至排序信息。
如业务节点中未存在对应业务的排序信息,则可以基于新增区块内的预约排序交易请求的排序结果建立排序信息。
本申请实施例的一种可选方式中,区块是由区块链中的领导者节点打包出块的。
本申请实施例中,可以采用领导者模式的共识算法,根据共识算法从多个共识节点中选出其中一个共识节点作为领导者共识节点,领导者共识节点负责交易打包,生成新的区块。
非领导者共识节点收到节点发送的预约排序交易请求,并转发给领导者共识节点。
领导者共识节点可以按照顺序打包交易,具体而言,领导者共识节点可以基于共识算法将收到的交易序列化,按接收交易的先后顺序打包交易出块,即先收到的交易先打包,最后通过区块广播给其他节点。
本申请实施例中,领导者共识节点所打包的区块中,各预约排序交易请求的实际发生时间可能较为接近,为了公平性的考虑,可以基于随机数对区块内的预约排序交易请求进行随机排序。
本申请实施例中,可以采用raft共识+联盟链的通信架构。
raft算法包含三种角色,分别是:跟随者(Follower),候选人(Candidate)和领导者(Leader)。
领导者(Leader):领导者由重新排序节点动态选举产生,领导者处理所有的客户端请求,这个领导者会将消息复制到跟随者节点中。通常情况下,***中只有一个领导人并且其他的节点全部都是跟随者。
跟随者(Follower):都是被动的,不会发送任何请求,只是简单的响应来自领导者或者候选人的请求。如果一个客户端和跟随者联系,那么跟随者会把请求重定向给领导人;
候选人(Follower):初始情况下,所有的节点都是跟随者。一旦某个跟随者没有正常通信,一直未收到领导者发送的心跳请求,则转换为候选人。一个或者多个候选人尝试成为领导者。如果一个候选人赢得选举,然后他就在接下来的任期内充当领导人的职责。
Raft使用心跳机制来出发主导节点的选举,选举流程如下:
(1)***中所有节点初始为跟随状态,同时启动选举定时器;
(2)领导者定期向所有跟随者发送心跳信号;
(3)如果其中某个节点发现在超过选举定时器的时间以后一直未收到领导者发送的心跳请求,则跟随者就会转化为候选人;
(4)某个候选人向其他节点发送投票请求,如果得到半数以上节点的同意,则这个候选人就可以转化为领导者,其余的候选人都会回到跟随状态;
(5)如果选举超时,则重新选举;
(6)完成领导者选举后,领导者会定时向其他节点发送心跳信号,通知其他节点领导者还在运行,同时重置这些节点的选举定时器。
图2示出了本申请实施例提供的随机数的计算流程,具体包括:
(1)计算γ=hx(具体流程见图3);
(2)随机选取k∈Zq;q是椭圆曲线基点的阶,为椭圆曲线参数;Zq表示模q后的数,例如Z3={0,1,2}。一般q的大小接近2256;
(3)验证k是否等于0或者1,如果等于,则重新选取k;如果不等于,则继续执行下一步;
(4)计算c=H(g,h,gx,hx,gk,hk);
其中,g是椭圆曲线上的基点,为椭圆曲线参数;
h是(1)中计算所得的点;
gx是重新排序节点的公钥;
hx是根据h和x,即可求出hx;
gk是根据k和g,即可求出gk;
hk是根据h和k,即可求出hk;
最后,通过hash运算,得出c=H(g,h,gx,hx,gk,hk)。
(5)计算s=k-cxmodq;q是椭圆曲线基点的阶。
(6)验证s是否等于0或者1,如果等于,则重新选取k,如果不等于,则继续执行下一步。
(7)输出结果:证据π=(γ,c,s),对γ进行哈希运算得到β=H(γ),β就是生成的随机数。
最后,可以将上述结果整理,输出交易信息为:
{交易ID1,随机数b1,证据π1;
交易ID2,随机数b1,证据π2;
…;
交易IDn,随机数bn,证据πn}
其中,
交易ID:可以根据交易ID解析原交易事件标识;
证据π:通过唯一签名算法输出,用于验证随机数的合法性;
随机数:通过唯一签名算法输出的随机数。
通过上述算法计算随机数,排序节点无法操控输出的随机数,因此该算法公平性高。
图3示出了随机数的计算过程中计算γ=hx的具体流程,包括:
a)h=Alpha(Alpha是对预约排序交易请求的交易内容经过
hash运算的结果,即Alpha=Hash(该笔交易内容)),初始化hx=h;
b)将hx作为横坐标,根据椭圆曲线算法,求解纵坐标hy;
c)判断根据椭圆曲线算法是否可以通过hx求解出hy;如果是,说明hx在椭圆曲线上,则输出h=(hx,hy);如果否,说明hx不在椭圆曲线上,则继续执行hx++,直到根据椭圆曲线算法通过hx可以计算出hy。
d)通过私钥x和坐标h=(hx,hy),则可以计算γ=hx,该计算为椭圆曲线上的计算。
图4示出了本申请实施例提供的随机数的合法性验证流程,具体包括:
(1)可以从生成随机数的业务节点的证书中解析出公钥gx。输入从证书中解析出的公钥gx、收到的证据π、随机数以及该笔交易信息;
(2)从证据π中解析出来γ、c和s,计算u=(gx)c·gs;
(3)根据交易ID从交易集合中把需要验证的交易获取到,对该笔交易内容做hash运算,得到Alpha;
(4)利用Alpha计算h(坐标),该方法同图3中计算h的方法;
(5)计算v=(γ)c·hs;
(6)验证c和H(g,h,gx,γ,u,v)是否相等;
c是根据证据π中解析出来的;
g是椭圆曲线上的基点;
h是3)中计算的椭圆曲线上的点;
gx是随机源节点的公钥;
γ是根据证据π中解析出来的;
u是通过此流程中b)计算得出;
v是通过此流程中e)计算得出。
最后,对(g,h,gx,γ,u,v)进行哈希运算得到H(g,h,gx,γ,u,v),与c进行比较,如果相等,则继续执行下一步,否则,验证失败。
(7)验证输入的随机数和H(γ)是否相等;
输入的随机数和H(γ)进行比较,其中,γ是根据证据π中解析出来的,并通过对γ进行哈希运算得到H(γ);如果两者相等,则验证通过,否则,验证失败。
(8)以上验证都通过,说明该笔交易对应的随机数合法。
在实际使用中若无特殊情况,均能通过所有验证。同时,验证时,通过节点自己收到的交易信息计算Alpha,进而验证随机数的合法性,该过程任何数据不一致均将导致随机数验证不通过。
图5示出了本申请实施例提供的预约方法的一种具体实施方式的流程示意图。具体如下:
(1)各客户端发起预约排序交易请求到区块链网络,包含交易ID,交易日期,事件标识(64位,为方便举例,省略日期前的补位),签名:
客户端1发起交易1:{0101234821,20200818,1||2020081810||01234516,签名1};
客户端1发起交易2:{0101234822,20200818,1||2020081810||01234516,签名2};
客户端2发起交易3:{0101234823,20200818,1||2020081810||01234616,签名3};
客户端2发起交易4:{0101234824,20200818,0||2020081810||00000316,签名4};
客户端2发起交易5:{0101234825,20200818,0||2020081810||00000316,签名5};
(2)节点1、节点3接收预约排序交易请求的请求信息:
a.验证客户的签名,确认客户的身份是否有权执行本次交易,如果没有权限,提示交易无效,返回提示信息给客户端;如果有权限,继续验证;
b.验证交易内容的合法性,如果合法,则继续执行下一步;如果不合法,返回失败信息给客户端。
(3)节点1、节点3验证通过,将交易发送到共识节点集。
(4)共识节点1接收到交易1、交易2,共识节点2接收到交易3、交易4、交易5,则将接收到的交易转发给领导者共识节点.
(5)领导者共识节点对接收到的交易顺序打包,将交易1、交易2、交易3、交易4、交易5全部打包进新的区块,区块高度为80,并全网广播。
(6)节点1、节点2、节点3、重新排序节点收到新的高度为80的区块,各节点解析区块,验证区块合法性,循环验证交易内容合法性,均验证通过后,根据方案中的事件标识判断流程,生成两个交易集:
事件标识最高位为1的交易集合P:
交易ID | 事件标识 | 交易日期 | 签名 | |
交易1 | 0101234821 | 1||2020081810||01234516 | 20200818 | 签名1 |
交易2 | 0101234822 | 1||2020081810||01234516 | 20200818 | 签名2 |
交易3 | 0101234823 | 1||2020081810||01234616 | 20200818 | 签名3 |
事件标识最高位为0的交易集合Q:
交易ID | 事件标识 | 交易日期 | 签名 | |
交易4 | 0101234824 | 0||2020081810||00000316 | 20200818 | 签名4 |
交易5 | 0101234825 | 0||2020081810||00000316 | 20200818 | 签名5 |
①集合P中的交易等待重新排序节点排序信息;
②排序节点循环处理事件标识最高位为1的交易集合P中的交易(交易1、交易2、交易3):
1)通过方案中描述的唯一签名算法计算对应的随机数:
交易1:
a.Alpha1=H(交易1);
b.输出一个证据π1=(γ1,c1,s1);
c.一个新的字符串随机种子β1=H(γ1);
d.随机数生成器依据随机种子β1生成可靠的随机数n1;
交易2:
a.Alpha2=H(交易2);
b.输出一个证据π2=(γ2,c2,s2);
c.一个新的字符串随机种子β2=H(γ2);
d.随机数生成器依据随机种子β2生成可靠的随机数n2;
交易3:
a.Alpha3=H(交易3);
b.输出一个证据π3=(γ3,c3,s3);
c.一个新的字符串随机种子β3=H(γ3);
d.随机数生成器依据随机种子β3生成可靠的随机数n3;
2)排序节点将生成的随机数n和证据π广播给各节点:
{区块高度,{交易ID:随机数n,证据π},……,排序节点的证书}
{80,
{0101234821,随机数n1,证据π1;
0101234822,随机数n2,证据π2;
0101234823,随机数n3,证据π3},
排序节点的证书}
③节点1、节点2、节点3收到重新排序节点广播的随机数和证据后,依次验证随机数合法性(具体验证流程参照图4),验证通过后,交易继续。
1)根据交易ID解析原交易事件标识;
2)根据解析出来的事件标识暂存交易ID以及随机数;
交易ID | 事件标识 | 交易日期 | 随机数 |
0101234821 | 1||2020081810||01234516 | 20200818 | n1=87 |
0101234822 | 1||2020081810||01234516 | 20200818 | n2=23 |
0101234823 | 1||2020081810||01234616 | 20200818 | n3=65 |
3)节点将请求基于事件标识,分为多个集合,并将同一事件下所有交易根据随机数按升序进行排序,序号则为排序顺序,排序后顺序如下;
4)根据事件标识,查询节点排队信息;
判断节点是否有排队信息:
如果有,将上述交易依次添加,交易所在位置则为其预约序号;
否则,新建排队信息,将上述交易依次添加,交易所在序号则为其预约序号;
012345集合已有排队信息,所以将集合1新增交易进行追加:
012346集合无排队信息,则新建012346集合,如下:
5)节点记录所有随机数和证据,交易ID为0101234822、0101234821向发起方客户端1进行反馈其预约序号88、89,交易ID为010123482向发起方客户端2进行反馈预约序号1。
④事件标识最高位为0的集合Q,则为局部预约排号,各节点判断交易中相应节点编号是否是指向本节点,如果指向的是本节点,则本节点循环对这些交易计算随机数,排序:
1)节点1、节点2判断集合Q中交易上送的节点编号非指向自己,所以不做处理;
节点3对集合Q中的交易进行处理:
通过方案中唯一签名算法计算该节点内每笔交易对应的随机数:
交易id:0101234824,对应随机数n4=143
交易id:0101234825,对应随机数n5=34
2)暂存交易ID、事件标识中的请求发起日期以及随机数;
交易ID | 事件标识 | 请求发起日期 | 随机数 |
0101234824 | 0||2020081810||00000316 | 20200818 | 143 |
0101234825 | 0||2020081810||00000316 | 20200818 | 34 |
3)在请求发起日期当天内集合Q中的所有交易按随机数升序进行排序,结果如下;
4)将上述交易依次添加,交易所在序号则为其预约序号;
节点3当日目前无排队信息,所以新建排队,将上述交易依次添加:
节点3记录每笔交易的随机数和证据,并向发起交易的客户端2进行反馈相应的预约序号35和36。
基于与图1中所示的方法相同的原理,图6示出了本申请实施例提供的一种预约装置的结构示意图,如图6所示,该预约装置20以包括:
区块接收模块210,用于接收打包有预约排序交易请求的区块;
随机数获取模块220,用于基于预约排序交易请求的请求类型,获取预约排序交易请求对应的随机数;
排序模块230,用于基于随机数对预约排序交易请求进行排序。
本申请实施提供的装置,通过接收打包有预约排序交易请求的区块,基于预约排序交易请求的请求类型,获取预约排序交易请求对应的随机数,从而基于随机数对预约排序交易请求进行排序。本方案中,由于是基于随机数进行预约排序,能够保证排序结果的公平性,有利于业务的开展。
可选地,随机数获取模块具体用于:
若预约排序交易请求的请求类型为全局预约排序交易请求,则获取区块链中的排序节点广播的预约排序交易请求对应的随机数。
可选地,上述装置还包括:
证据获取模块,用于获取排序节点广播的随机数对应的证据;
上述排序模块具体用于:
基于证据对随机数进行验证。
若验证通过,则基于随机数对预约排序交易请求进行排序。
可选地,排序节点生成预约排序交易请求对应的随机数以及证据,是基于如下方式:
基于排序节点的私钥,以及预约排序交易请求的交易内容,并基于预设的数字签名算法,生成预约排序交易请求对应的随机数以及证据。
可选地,上述排序模块具体用于:
确定业务节点中是否存在预约排序交易请求对应事件的排序信息;
若存在,则将预约排序交易请求的排序结果添加至排序信息;
若不存在,则基于预约排序交易请求的排序结果创建排序信息。
可选地,随机数获取模块具体用于:
若预约排序交易请求的请求类型为局部预约排序交易请求,则生成预约排序交易请求对应的随机数。
可选地,上述装置还包括:
证据生成模块,生成随机数对应的证据。
可选地,上述排序模块具体用于:
确定业务节点中是否存在对应的排序信息;
若存在,则将预约排序交易请求的排序结果添加至排序信息;
若不存在,则基于预约排序交易请求的排序结果创建排序信息。
可选地,区块是由区块链中的领导者共识节点打包出块的。
可以理解的是,本实施例中的预约装置的上述各模块具有实现图1中所示的实施例中的预约方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述预约装置的各模块的功能描述具体可以参见图1中所示实施例中的预约方法的对应描述,在此不再赘述。
本申请实施例提供了一种电子设备,包括处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的预约方法。
作为一个示例,图7示出了本申请实施例所适用的一种电子设备的结构示意图,如图7所示,该电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选的,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本申请实施例的限定。
其中,处理器2001应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器2004可以包括接收机和发射机,收发器2004应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。
处理器2001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器2003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
可选的,存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现本申请任一实施方式中所提供的预约方法。
本申请实施例提供的电子设备,适用于上述方法任一实施例,在此不再赘述。
本申请实施例提供了一种电子设备,与现有技术相比,通过接收打包有预约排序交易请求的区块,基于预约排序交易请求的请求类型,获取预约排序交易请求对应的随机数,从而基于随机数对预约排序交易请求进行排序。本方案中,由于是基于随机数进行预约排序,能够保证排序结果的公平性,有利于业务的开展。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的预约方法。
本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,在此不再赘述。
本申请实施例提供了一种计算机可读存储介质,与现有技术相比,通过接收打包有预约排序交易请求的区块,基于预约排序交易请求的请求类型,获取预约排序交易请求对应的随机数,从而基于随机数对预约排序交易请求进行排序。本方案中,由于是基于随机数进行预约排序,能够保证排序结果的公平性,有利于业务的开展。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种预约方法,其特征在于,应用于区块链中的业务节点,所述方法包括:
接收打包有预约排序交易请求的区块;所述预约排序交易请求中的请求信息包括交易ID、事件标识、交易日期以及客户端对交易请求的签名;
基于所述预约排序交易请求的请求类型,获取所述预约排序交易请求对应的随机数;包括:
若所述预约排序交易请求的请求类型为全局预约排序交易请求,则获取所述区块链中的排序节点广播的所述预约排序交易请求对应的随机数;
基于所述随机数对所述预约排序交易请求进行排序;包括:
基于证据对所述随机数进行验证,若验证通过,则基于所述随机数对所述预约排序交易请求进行排序;所述排序节点生成所述预约排序交易请求对应的随机数以及所述证据,是基于如下方式:
基于所述排序节点的私钥,以及所述预约排序交易请求的交易内容,并基于预设的数字签名算法,生成所述预约排序交易请求对应的随机数以及所述证据;
所述方法还包括:
获取所述排序节点广播的所述随机数对应的证据;
所述基于所述预约排序交易请求的请求类型,获取所述预约排序交易请求对应的随机数,包括:
若所述预约排序交易请求的请求类型为局部预约排序交易请求,则生成所述预约排序交易请求对应的随机数;
业务节点基于预设的数字签名算法,业务节点的私钥,以及预约排序交易请求的交易内容,生成唯一的随机数;
基于所述随机数对所述预约排序交易请求进行排序;包括:按照随机数升序进行排序。
2.根据权利要求1所述的方法,其特征在于,所述基于所述随机数对所述预约排序交易请求进行排序,包括:
确定所述业务节点中是否存在所述预约排序交易请求对应事件的排序信息;
若存在,则将所述预约排序交易请求的排序结果添加至所述排序信息;
若不存在,则基于预约排序交易请求的排序结果创建排序信息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
生成所述随机数对应的证据。
4.根据权利要求1所述的方法,其特征在于,所述基于所述随机数对所述预约排序交易请求进行排序,包括:
确定所述业务节点中是否存在对应的排序信息;
若存在,则将预约排序交易请求的排序结果添加至所述排序信息;
若不存在,则基于预约排序交易请求的排序结果创建排序信息。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述区块是由区块链中的领导者共识节点打包出块的。
6.一种预约装置,其特征在于,包括:
区块接收模块,用于接收打包有预约排序交易请求的区块;所述预约排序交易请求中的请求信息包括交易ID、事件标识、交易日期以及客户端对交易请求的签名;
随机数获取模块,用于基于所述预约排序交易请求的请求类型,获取所述预约排序交易请求对应的随机数;包括:
若所述预约排序交易请求的请求类型为全局预约排序交易请求,则获取区块链中的排序节点广播的所述预约排序交易请求对应的随机数;
排序模块,用于基于所述随机数对所述预约排序交易请求进行排序;包括:
基于证据对所述随机数进行验证,若验证通过,则基于所述随机数对所述预约排序交易请求进行排序;所述排序节点生成所述预约排序交易请求对应的随机数以及所述证据,是基于如下方式:
基于所述排序节点的私钥,以及所述预约排序交易请求的交易内容,并基于预设的数字签名算法,生成所述预约排序交易请求对应的随机数以及所述证据;
所述装置还包括:
获取所述排序节点广播的所述随机数对应的证据;
所述基于所述预约排序交易请求的请求类型,获取所述预约排序交易请求对应的随机数,包括:
若所述预约排序交易请求的请求类型为局部预约排序交易请求,则生成所述预约排序交易请求对应的随机数;
业务节点基于预设的数字签名算法,业务节点的私钥,以及预约排序交易请求的交易内容,生成唯一的随机数;
基于所述随机数对所述预约排序交易请求进行排序,包括:按照随机数升序进行排序。
7.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行权利要求1-5中任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011290217.2A CN112634034B (zh) | 2020-11-17 | 2020-11-17 | 预约方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011290217.2A CN112634034B (zh) | 2020-11-17 | 2020-11-17 | 预约方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112634034A CN112634034A (zh) | 2021-04-09 |
CN112634034B true CN112634034B (zh) | 2024-06-11 |
Family
ID=75303475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011290217.2A Active CN112634034B (zh) | 2020-11-17 | 2020-11-17 | 预约方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112634034B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112949798B (zh) * | 2021-05-17 | 2021-09-24 | 北京楠昊鹏物联网科技有限公司 | 基于rfid技术的实验室设备管理方法及其*** |
CN116361385A (zh) * | 2022-09-01 | 2023-06-30 | 矩阵时光数字科技有限公司 | 一种区块链的共识方法及*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491946A (zh) * | 2017-07-10 | 2017-12-19 | 北京云知科技有限公司 | 一种将虚拟物品存储至区块链的方法、装置及电子设备 |
CN108629588A (zh) * | 2018-05-09 | 2018-10-09 | 合肥达朴汇联科技有限公司 | 一种用于区块链共识达成的计算机可读介质 |
CN109615422A (zh) * | 2018-11-29 | 2019-04-12 | 哈希未来(北京)科技有限公司 | 基于区块链的竞抽方法、***以及存储介质 |
CN110602138A (zh) * | 2019-09-26 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链网络的数据处理方法、装置、电子设备及存储介质 |
CN111008825A (zh) * | 2019-11-27 | 2020-04-14 | 山东爱城市网信息技术有限公司 | 一种基于区块链的跨境支付方法、设备及介质 |
CN111147242A (zh) * | 2019-12-31 | 2020-05-12 | 百度在线网络技术(北京)有限公司 | 区块生成方法、装置、电子设备和存储介质 |
CN111161072A (zh) * | 2019-12-30 | 2020-05-15 | 山东爱城市网信息技术有限公司 | 基于区块链的随机数生成方法、设备及存储介质 |
CN111445333A (zh) * | 2020-03-26 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 区块生成方法、装置、计算机设备以及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10230756B2 (en) * | 2015-11-25 | 2019-03-12 | International Business Machines Corporation | Resisting replay attacks efficiently in a permissioned and privacy-preserving blockchain network |
US11080691B2 (en) * | 2018-04-09 | 2021-08-03 | Storecoin Inc. | Fork-tolerant consensus protocol |
-
2020
- 2020-11-17 CN CN202011290217.2A patent/CN112634034B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491946A (zh) * | 2017-07-10 | 2017-12-19 | 北京云知科技有限公司 | 一种将虚拟物品存储至区块链的方法、装置及电子设备 |
CN108629588A (zh) * | 2018-05-09 | 2018-10-09 | 合肥达朴汇联科技有限公司 | 一种用于区块链共识达成的计算机可读介质 |
CN109615422A (zh) * | 2018-11-29 | 2019-04-12 | 哈希未来(北京)科技有限公司 | 基于区块链的竞抽方法、***以及存储介质 |
CN110602138A (zh) * | 2019-09-26 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链网络的数据处理方法、装置、电子设备及存储介质 |
CN111008825A (zh) * | 2019-11-27 | 2020-04-14 | 山东爱城市网信息技术有限公司 | 一种基于区块链的跨境支付方法、设备及介质 |
CN111161072A (zh) * | 2019-12-30 | 2020-05-15 | 山东爱城市网信息技术有限公司 | 基于区块链的随机数生成方法、设备及存储介质 |
CN111147242A (zh) * | 2019-12-31 | 2020-05-12 | 百度在线网络技术(北京)有限公司 | 区块生成方法、装置、电子设备和存储介质 |
CN111445333A (zh) * | 2020-03-26 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 区块生成方法、装置、计算机设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112634034A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113329031B (zh) | 一种区块的状态树的生成方法及装置 | |
US10924285B2 (en) | Method and server for providing notary service with respect to file and verifying file recorded by the notary service | |
US11025714B2 (en) | System and method for announcing cryptographic keys on a blockchain | |
US10235538B2 (en) | Method and server for providing notary service for file and verifying file recorded by notary service | |
US20190074966A1 (en) | Revocation of cryptographic keys in the absence of a trusted central authority | |
CN110163609B (zh) | 一种区块链中数据处理方法及装置 | |
WO2019220317A1 (en) | Improved systems and methods for storage, generation and verification of tokens used to control access to a resource | |
US20210049715A1 (en) | Blockchain-based data procesing method, apparatus, and electronic device | |
CN112634034B (zh) | 预约方法、装置、电子设备及计算机可读存储介质 | |
CN108831001B (zh) | 基于区块链的节点随机选取方法、***、节点、电子设备 | |
CN110659905B (zh) | 交易验证方法、装置、终端设备以及存储介质 | |
CN114281888A (zh) | 一种区块链共识方法、装置、设备及存储介质 | |
CN113342838B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
US20220278854A1 (en) | Unity Protocol Consensus | |
CN111461751A (zh) | 基于区块链的房产信息链上组织方法、历史状态追溯方法及装置 | |
EP4011031A1 (en) | Secure identity card using unclonable functions | |
WO2020061822A1 (en) | Method and system for arbitrating authenticity of data in a blockchain | |
CN112636904B (zh) | 随机数生成与验证方法、装置、电子设备及可读存储介质 | |
CN109698750A (zh) | 区块链的区块生成方法、装置、设备及可读存储介质 | |
CN113051622B (zh) | 索引构建方法、装置、设备和存储介质 | |
CN111147477B (zh) | 一种基于区块链网络的验证方法及装置 | |
US11563585B1 (en) | Systems and methods for smart contracts including arbitration attributes | |
US20230047924A1 (en) | Ledger-based verifiable code execution | |
US20240214180A1 (en) | Systems and methods for storage, generation and verification of tokens used to control access to a resource | |
CN117010890A (zh) | 基于区块链的交易处理方法、相关装置及介质和程序产品 |
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 |