CN111371769A - 共识处理方法、共识节点、电子设备和可读存储介质 - Google Patents
共识处理方法、共识节点、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN111371769A CN111371769A CN202010123217.7A CN202010123217A CN111371769A CN 111371769 A CN111371769 A CN 111371769A CN 202010123217 A CN202010123217 A CN 202010123217A CN 111371769 A CN111371769 A CN 111371769A
- Authority
- CN
- China
- Prior art keywords
- result
- throwing
- output data
- consensus
- coin
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 66
- 230000006870 function Effects 0.000 claims description 89
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 abstract description 35
- 238000012795 verification Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种共识处理方法、共识节点、电子设备和可读存储介质,其中方法包括:基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据所述输出数据生成公共硬币的投掷结果;向区块链网络广播所述公共硬币的投掷结果,并接收所述区块链网络中其它共识节点广播的公共硬币的投掷结果;根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到所述投掷结果为目标结果的共识节点的数量,若所述投掷结果为目标结果的共识节点的数量符合预设条件,则将所述输出数据存入当前区块中。本申请实施例可以简化公共硬币的投掷过程。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种共识处理方法、共识节点、电子设备和计算机可读存储介质。
背景技术
区块链(Blockchain)是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术(Distributed Ledger Technology,简称DLT)。共识方法是以去中心化的方式就网络的状态达成统一协议的过程,是区块链的核心技术之一。
在典型的区块链系统中,区块链网络中的节点按照事先约定的规则共同存储信息并达成共识。为了防止共识信息被篡改,系统以区块(Block)为单位存储数据,区块之间按照时间顺序、结合密码学算法构成链式(Chain)数据结构,通过共识机制选出记录节点,由该节点决定最新区块的数据,其他节点共同参与最新区块数据的验证、存储和维护,数据一经确认,就难以删除和更改,只能进行授权查询操作。
在共识过程中,为了使参与的节点达成一致,所有参与的节点可以投掷一枚公共硬币,这样经过一段时间,所有参与的节点都可能得到相同的结果。然而,现有的公共硬币的投掷过程是通过各参与的节点基于交互式的方法来实现,例如阈值签名的方法等,其投掷过程复杂。
发明内容
本申请实施例提供一种共识处理方法、共识节点、电子设备和计算机可读存储介质,可以简化公共硬币的投掷过程。
为了解决上述技术问题,本发明实施例是这样实现的:
第一个方面,本申请实施例提供了一种共识处理方法,应用于共识节点中,包括:
基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据所述输出数据生成公共硬币的投掷结果;
向区块链网络广播所述公共硬币的投掷结果,并接收所述区块链网络中其它共识节点广播的公共硬币的投掷结果;
根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到所述投掷结果为目标结果的共识节点的数量,若所述投掷结果为目标结果的共识节点的数量符合预设条件,则将所述输出数据存入当前区块中。
第二各方面,本申请实施例提供了一种共识节点,包括:
处理模块,用于基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据所述输出数据生成公共硬币的投掷结果;
收发模块,用于向区块链网络广播所述公共硬币的投掷结果,并接收所述区块链网络中其它共识节点广播的公共硬币的投掷结果;
所述处理模块,还用于根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到所述投掷结果为目标结果的共识节点的数量,若所述投掷结果为目标结果的共识节点的数量符合预设条件,则将所述输出数据存入当前区块中。
第三个方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线;其中,所述处理器、所述通信接口以及所述存储器通过总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现如第一方面所述的共识处理方法。
第四个方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的共识处理方法。
本申请实施例提供的共识处理方法、共识节点、电子设备和计算机可读存储介质,通过基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据输出数据生成公共硬币的投掷结果;向区块链网络广播公共硬币的投掷结果,并接收区块链网络中其它共识节点广播的公共硬币的投掷结果;根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到投掷结果为目标结果的共识节点的数量,若投掷结果为目标结果的共识节点的数量符合预设条件,则将输出数据存入当前区块中;在进行共识处理时,利用可验证延时函数实现公共硬币的投掷过程,利用可验证延时函数具有时间不可被缩短的特性,可以保证所生成的公共硬币的投掷结果的随机性,利用可验证延时函数的输出数据具有唯一性,可以使各共识节点不需要进行交互就可以达成一致,可以简化公共硬币的投掷过程,从而加快公共硬币投掷过程的处理速度,提高处理效率,可以有利于共识的达成。
附图说明
为了更清楚地说明本申请一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的共识处理方法的一种实现方式的流程示意图;
图2为本申请实施例生成公共硬币的投掷结果的一种实现方式的流程示意图;
图3为本申请实施例的共识处理方法的一个应用场景的示意图;
图4为本申请实施例的共识节点的一种组成结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请一个或多个实施例中的技术方案,下面将结合本申请一个或多个实施例中的附图,对本申请一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
图1为本申请实施例的共识处理方法的一种实现方式的流程示意图,图1所示的方法应用于区块链网络中的共识节点,共识节点可以为连接于区块链网络中具备计算能力的设备,例如:手机、计算机、车载设备、可穿戴设备等,本申请实施例对共识节点的实现方式不作限定,如图1所示,该方法至少包括:
S102,基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据输出数据生成公共硬币的投掷结果。
在本申请实施例中,可验证延时函数((Verifiable Random Function,简称VDF),可以是指在给定的延迟时间t内必须同时保证连续性和可高效验证性的一类函数;其中,连续性是指对于给定的输入x,任何人都需要至少通过一段时间t计算出f(x),而无法通过少于t的时间计算出f(x);可高效验证性是指对于给定的输出y,任何人都可以通过少于t的时间验证y=f(x)。也就是说,可验证延时函数可以包括计算过程,即计算出f(x),和验证过程,即验证y=f(x),两个处理过程,因此,可以将可验证延时函数表示为:y,proof=VDF(x,t);其中,t为延迟时间,也可以称为时间参数;x为输入数据;y为输出数据,proof为对VDF计算过程的证明,任何人都可以通过proof验证y是否正确,因此proof也可以称为y的验证信息。
可选地,可以采用现有的方法来构造可验证延时函数,例如:可以采用单射有理映射(injective rational maps)来构造可验证延时函数,或者可以采用基于RSA群重复平方运算(repeated squaring)来构造可验证延时函数,又或者可以采用基于虚二次域的类群(The class group of an imaginary quagratic number field)的重复平方运算来构造可验证延时函数;或者,也可以采用根据本申请实施例的要求设计的其它方法来构造可验证延时函数;本申请实施例对可验证延时函数的实现方式不作限定。
在本申请实施例中,共识节点可以在当前区块的共识过程中,基于预设的可验证延时函数y,proof=VDF(x,t),对从当前区块的前一个区块中获取的输入数据x进行处理得到的输出数据y和输出数据的验证信息proof,然后可以根据输出数据y生成公共硬币的投掷结果。例如:可以通过预设的函数生成公共硬币的投掷结果,或者可以通过查询预设的表格生成公共硬币的投掷结果,本申请实施例对根据输出数据生成公共硬币的投掷结果的实现方法不作限定。其中,当前区块可以为区块链中除第一个区块以外的区块,例如:第二个区块、第三个区块等等。
可选地,可以在区块链网络中的各节点预设相同的可验证延时函数,并使各节点预设的可验证延时函数具有相同的时间参数;或者,可以在区块链网络中的各节点预设具有相同的输出数据的可验证延时函数,并使各节点预设的可验证延时函数的时间参数相同;本申请实施例对此不作限定。
可选地,可以在区块链网络中的各节点预设相同的根据输出数据生成公共硬币的投掷结果的方法;或者,可以在区块链网络中的各节点预设等效的根据输出数据生成公共硬币的投掷结果的方法;本申请实施例对此不作限定。
S104,向区块链网络广播公共硬币的投掷结果,并接收区块链网络中其它共识节点广播的公共硬币的投掷结果。
在本申请实施例中,在生成公共硬币的投掷结果后,共识节点可以将所生成的公共硬币的投掷结果向区块链网络广播,并接收区块链网中其它共识节点向区块链网络广播的公共硬币的投掷结果。其中,其它共识节点广播的公共硬币的投掷结果,可以是区块链网络中其它共识节点基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,并根据该输出数据生成的公共硬币的投掷结果。
可选地,在当前区块的共识过程中,区块链网络中的各共识节点向区块链网络广播的公共硬币的投掷结果,是对相同的输入数据,基于相同的可验证延时函数或者输出数据相同的可验证延时函数,和相同的公共硬币的投掷结果生成方法或者等效的公共硬币的投掷结果生成方法,生成的公共硬币的投掷结果,因此区块链网络中的各共识节点可以得到相同的公共硬币的投掷结果。
可选地,共识节点可以通过对公共硬币的投掷,基于公共硬币的投掷结果在共识过程中选举出记账节点,即出块节点或者验证发起节点,由所选举出的记账节点获取交易信息和签名信息形成当前区块,并向区块链网络广播所形成的当前区块,通过区块链网络中的验证节点对当前区块进行验证,例如:对当前区块进行交易的合法性验证和签名的正确性验证等,从而达到共识,将当前区块连接到区块链上。但本申请实施例对共识处理方法的应用场景不作限定。
S106,根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到投掷结果为目标结果的节点的数量,若投掷结果为目标结果的节点的数量符合预设条件,则将输出数据存入当前区块中。
在本申请实施例中,共识节点在通过区块链网络接收到区块链网络中其它共识节点广播的公共硬币的投掷结果后,可以通过对公共硬币的投掷结果进行统计,得到公共硬币的投掷结果为目标结果的共识节点的数量,其中,公共硬币的投掷结果既包括共识节点生成的公共硬币的投掷结果,又包括共识节点接收到的公共硬币的投掷结果,并基于预设条件对投掷结果为目标结果的共识节点的数量进行判断,若投掷结果为目标结果的共识节点的数量符合预设条件,则将生成该目标结果的可验证延时函数的输出数据存入当前区块中。其中,预设条件可以根据需求、网络规模等设定,本申请实施例对预设条件不作限定,例如:预设条件可以为所有的投掷结果均相同。
在一些可选的例子中,公共硬币的投掷结果可以包括两种等概率的情形,可以将其中的一种情形预设为目标结果,本申请实施例对此不作限定。
可选地,在得到投掷结果为目标结果的共识节点的数量,若投掷结果为目标结果的共识节点的数量不符合预设条件,则从S102基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据输出数据生成公共硬币的投掷结果开始执行,直至投掷结果为目标结果的共识节点的数量符合预设条件。也就是说,区块链网络中的各共识节点经过一定时间对公共硬币的投掷,例如每个共识节点进行了多次公共硬币的投掷,均能够得到投掷结果为目标结果的符合预设条件的共识节点的数量,从而达成一致。
本申请实施例提供的共识处理方法,通过基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据输出数据生成公共硬币的投掷结果;向区块链网络广播公共硬币的投掷结果,并接收区块链网络中其它共识节点广播的公共硬币的投掷结果;根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到投掷结果为目标结果的共识节点的数量,若投掷结果为目标结果的共识节点的数量符合预设条件,则将输出数据存入当前区块中;在进行共识处理时,利用可验证延时函数实现公共硬币的投掷过程,利用可验证延时函数具有时间不可被缩短的特性,可以保证所生成的公共硬币的投掷结果的随机性,利用可验证延时函数的输出数据具有唯一性,可以使各共识节点不需要进行交互就可以达成一致,可以简化公共硬币的投掷过程,从而加快公共硬币投掷过程的处理速度,提高处理效率,可以有利于共识的达成。
下面将结合图2的实施例对本申请共识处理方法中生成公共硬币的投掷结果的实现方式进行详细说明。
图2为本申请实施例生成公共硬币的投掷结果的一种实现方式的流程示意图,如图2所示,该方法至少包括:
S202,从前一个区块中获取输入数据,将输入数据输入可验证延时函数进行计算处理,根据可验证延时函数的时间参数确定计算处理得到的输出数据。
在本申请实施例中,区块链网络中的各共识节点在进行共识处理时,可以从所存储的前一个区块中获取输入数据,将所获取的输入数据输入可验证延时函数进行计算处理,并根据可验证延时函数的时间参数确定计算处理得到的输出数据。可选地,可以将从前一个区块中获取所存储的输出数据,作为输入数据输入可验证延时函数进行计算处理;或者,可以将从前一个区块中获取的预设随机数,作为输入数据输入可验证延时函数进行计算处理。
在一些可选的例子中,从区块链中的第二个区块开始采用本申请实施例的方法进行共识处理,由于采用本申请实施例的方法对当前区块进行共识处理,需要基于预设的可验证延时函数对从前一区块获取的输入数据进行处理得到的输出数据。因此,在采用本申请实施例的方法对第二个区块进行共识处理时,可以通过在区块链中的第一个区块中预设随机数,将从第一个区块中获取的该预设随机数作为输入数据,输入预设的可验证延时函数进行计算处理得到输出数据;在采用本申请实施例的方法对第三个区块及其以后的区块进行共识处理时,由于在采用本申请实施例的方法对第二个区块及其以后的区块进行共识处理时,基于预设的可验证延时函数得到了输出数据,因此可以将从第二个区块及其以后的区块中获取的输出数据作为输入数据,输入预设的可验证延时函数进行计算处理得到输出数据。
可选地,还可以根据输入数据、输出数据和时间参数通过预设的可验证延时函数进行验证处理,得到输出数据的验证信息,以对通过可验证延时函数得到的输出数据的正确性进行验证,保证所生成的公共硬币的投掷结果的正确。
S204,将输出数据输入公共硬币生成函数进行处理,生成公共硬币的投掷结果。
在本申请实施例中,区块链网络中的各共识节点在得到预设的可验证延时函数的输出数据后,可以将所得到的输出数据输入公共硬币生成函数进行相应的处理,从而生成公共硬币的投掷结果。可选地,公共硬币生成函数可以为具有概率相等的二个输出数据的函数,可以将公共硬币生成函数的二个输出数据之一作为预设的公共硬币投掷的目标结果。本申请实施例对公共硬币生成函数的实现方式不作限定。
图3为本申请实施例的共识处理方法的一个应用场景的示意图,如图3所示,在区块链中的第i-1个区块中存储有输出数据alpha_(i-1),在第i-1个区块连接到区块链上后,开始第i个区块的共识过程,其中,i为整数,且i>1。
区块链网络中的n个节点,即p1、p2、······pn,参与第i个区块的共识过程,为共识节点,pj,其中,j为整数,且1≤j≤n,基于预设的可验证延时函数y,proof=VDF(x,t),对从第i-1个区块中获取的输入数据alpha_(i-1),进行处理得到输出数据alpha_i和输出数据的验证信息proof_i,即alpha_i,proof_i=VDF(alpha_(i-1),ts),其中,ts为预先设定的时间参数;并根据输出数据alpha_i通过公共硬币生成函数f,生成公共硬币的投掷结果coin_j,即coin_j=f(alpha_i),其中,coin_j为一个二进制数,即0或者1,函数f可以在在alpha_i为偶数时得到0,在alpha_i为奇数时得到1。区块链网络中的其它共识节点,即p1、p2、······pn中除pj以外的节点,以同样的方法生成公共硬币的投掷结果。
pj在得到公共硬币的投掷结果coin_j后,向区块链网络广播该公共硬币的投掷结果coin_j,并通过区块链网络接收p1、p2、······pn中除pj以外的节点广播的公共硬币的投掷结果,根据公共硬币的投掷结果coin_1、coin_2······coin_n得到投掷结果为目标结果的共识节点的数量,当各共识节点的投掷结果均为目标结果时,确定第i个区块进行共识处理的记账节点,并由所确定的记账节点形成第i个区块,将输出数据alpha_i存入第i个区块中,通过向区块链网络广播第i个区块,以及验证节点对第i个区块进行验证,对第i个区块达成共识,并将第i个区块连接到区块链上。
对应上述图1至图2描述的共识处理方法,基于相同的技术构思,本申请实施例还提供了一种共识节点,该共识节点可以为连接于区块链网络中具备计算能力的设备,例如:手机、计算机、车载设备、可穿戴设备等,本申请实施例对共识节点的实现方式不作限定,图4为本申请实施例的共识节点的一种组成结构示意图,该共识节点用于执行图1至图2描述的共识处理方法,如图4所示,该共识节点包括:处理模块410和收发模块420,其中,处理模块410和收发模块420连接。
处理模块410,用于基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据输出数据生成公共硬币的投掷结果。
收发模块420,用于向区块链网络广播公共硬币的投掷结果,并接收区块链网络中其它共识节点广播的公共硬币的投掷结果。
处理模块410,还用于根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到投掷结果为目标结果的共识节点的数量,若投掷结果为目标结果的共识节点的数量符合预设条件,则将输出数据存入当前区块中。
在本申请实施例中,关于处理模块410和收发模块420的说明可以参见图1中关于S102、S104、S106的说明,故在此不再复述。
本申请实施例提供的共识节点,通过基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据输出数据生成公共硬币的投掷结果;向区块链网络广播公共硬币的投掷结果,并接收区块链网络中其它共识节点广播的公共硬币的投掷结果;根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到投掷结果为目标结果的共识节点的数量,若投掷结果为目标结果的共识节点的数量符合预设条件,则将输出数据存入当前区块中;在进行共识处理时,利用可验证延时函数实现公共硬币的投掷过程,利用可验证延时函数具有时间不可被缩短的特性,可以保证所生成的公共硬币的投掷结果的随机性,利用可验证延时函数的输出数据具有唯一性,可以使各共识节点不需要进行交互就可以达成一致,可以简化公共硬币的投掷过程,从而加快公共硬币投掷过程的处理速度,提高处理效率,可以有利于共识的达成。
可选地,处理模块410,还用于若投掷结果为目标结果的共识节点的数量不符合预设条件,则从基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据输出数据生成公共硬币的投掷结果开始执行。
可选地,处理模块410,用于从前一个区块中获取所述输入数据,将输入数据输入可验证延时函数进行计算处理,根据可验证延时函数的时间参数确定计算处理得到的所述输出数据;将输出数据输入公共硬币生成函数进行处理,生成公共硬币的投掷结果。
可选地,处理模块410,用于从前一个区块中获取所存储的输出数据,作为输入数据输入可验证延时函数进行计算处理;或者,从前一个区块中获取预设随机数,作为输入数据输入可验证延时函数进行计算处理。
可选地,处理模块410中的公共硬币生成函数为具有概率相等的二个输出数据的函数。
对应上述图1至图2描述的共识处理方法,基于相同的技术构思,本申请实施例还提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线;其中,处理器、通信接口以及存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现以下方法:
基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据所述输出数据生成公共硬币的投掷结果;
向区块链网络广播所述公共硬币的投掷结果,并接收所述区块链网络中其它共识节点广播的公共硬币的投掷结果;
根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到所述投掷结果为目标结果的共识节点的数量,若所述投掷结果为目标结果的共识节点的数量符合预设条件,则将所述输出数据存入当前区块中。
本申请实施例提供的电子设备,通过基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据输出数据生成公共硬币的投掷结果;向区块链网络广播公共硬币的投掷结果,并接收区块链网络中其它共识节点广播的公共硬币的投掷结果;根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到投掷结果为目标结果的共识节点的数量,若投掷结果为目标结果的共识节点的数量符合预设条件,则将输出数据存入当前区块中;在进行共识处理时,利用可验证延时函数实现公共硬币的投掷过程,利用可验证延时函数具有时间不可被缩短的特性,可以保证所生成的公共硬币的投掷结果的随机性,利用可验证延时函数的输出数据具有唯一性,可以使各共识节点不需要进行交互就可以达成一致,可以简化公共硬币的投掷过程,从而加快公共硬币投掷过程的处理速度,提高处理效率,可以有利于共识的达成。
对应上述图1至图2描述的共识处理方法,基于相同的技术构思,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现以下方法:
基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据所述输出数据生成公共硬币的投掷结果;
向区块链网络广播所述公共硬币的投掷结果,并接收所述区块链网络中其它共识节点广播的公共硬币的投掷结果;
根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到所述投掷结果为目标结果的共识节点的数量,若所述投掷结果为目标结果的共识节点的数量符合预设条件,则将所述输出数据存入当前区块中。
本申请实施例提供的计算机可读存储介质,通过基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据输出数据生成公共硬币的投掷结果;向区块链网络广播公共硬币的投掷结果,并接收区块链网络中其它共识节点广播的公共硬币的投掷结果;根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到投掷结果为目标结果的共识节点的数量,若投掷结果为目标结果的共识节点的数量符合预设条件,则将输出数据存入当前区块中;在进行共识处理时,利用可验证延时函数实现公共硬币的投掷过程,利用可验证延时函数具有时间不可被缩短的特性,可以保证所生成的公共硬币的投掷结果的随机性,利用可验证延时函数的输出数据具有唯一性,可以使各共识节点不需要进行交互就可以达成一致,可以简化公共硬币的投掷过程,从而加快公共硬币投掷过程的处理速度,提高处理效率,可以有利于共识的达成。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请的一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本文件的实施例而已,并不用于限制本文件。对于本领域技术人员来说,本文件可以有各种更改和变化。凡在本文件的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本文件的权利要求范围之内。
Claims (10)
1.一种共识处理方法,其特征在于,应用于共识节点中,包括:
基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据所述输出数据生成公共硬币的投掷结果;
向区块链网络广播所述公共硬币的投掷结果,并接收所述区块链网络中其它共识节点广播的公共硬币的投掷结果;
根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到所述投掷结果为目标结果的共识节点的数量,若所述投掷结果为目标结果的共识节点的数量符合预设条件,则将所述输出数据存入当前区块中。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述投掷结果为目标结果的共识节点的数量不符合所述预设条件,则从所述基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据所述输出数据生成公共硬币的投掷结果开始执行。
3.根据权利要求2所述的方法,其特征在于,所述基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据所述输出数据生成公共硬币的投掷结果,包括:
从所述前一个区块中获取所述输入数据,将所述输入数据输入所述可验证延时函数进行计算处理,根据可验证延时函数的时间参数确定所述计算处理得到的所述输出数据;
将所述输出数据输入公共硬币生成函数进行处理,生成所述公共硬币的投掷结果。
4.根据权利要求3所述的方法,其特征在于,所述从所述前一个区块中获取所述输入数据,包括:
从所述前一个区块中获取所存储的输出数据,作为所述输入数据输入所述可验证延时函数进行计算处理。
5.根据权利要求3所述的方法,其特征在于,所述从所述前一个区块中获取所述输入数据,包括:
从所述前一个区块中获取预设随机数,作为所述输入数据输入所述可验证延时函数进行计算处理。
6.根据权利要求3所述的方法,其特征在于,所述公共硬币生成函数为具有概率相等的二个输出数据的函数。
7.根据权利要求6所述的方法,其特征在于,所述区块链网络中的各共识节点具有相同的所述可验证延时函数,且所述可验证延时函数的所述时间参数相同。
8.一种共识节点,其特征在于,包括:
处理模块,用于基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据所述输出数据生成公共硬币的投掷结果;
收发模块,用于向区块链网络广播所述公共硬币的投掷结果,并接收所述区块链网络中其它共识节点广播的公共硬币的投掷结果;
所述处理模块,还用于根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到所述投掷结果为目标结果的共识节点的数量,若所述投掷结果为目标结果的共识节点的数量符合预设条件,则将所述输出数据存入当前区块中。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线;其中,所述处理器、所述通信接口以及所述存储器通过总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现如权利要求1-7任一项所述的共识处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的共识处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010123217.7A CN111371769B (zh) | 2020-02-27 | 2020-02-27 | 共识处理方法、共识节点、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010123217.7A CN111371769B (zh) | 2020-02-27 | 2020-02-27 | 共识处理方法、共识节点、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111371769A true CN111371769A (zh) | 2020-07-03 |
CN111371769B CN111371769B (zh) | 2022-03-08 |
Family
ID=71212064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010123217.7A Expired - Fee Related CN111371769B (zh) | 2020-02-27 | 2020-02-27 | 共识处理方法、共识节点、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111371769B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884977A (zh) * | 2022-05-09 | 2022-08-09 | 深圳嘉业产业发展有限公司 | 一种基于区块链的数据共享方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182635A (zh) * | 2017-12-18 | 2018-06-19 | 深圳前海微众银行股份有限公司 | 区块链共识方法、系统和计算机可读存储介质 |
WO2019113495A1 (en) * | 2017-12-08 | 2019-06-13 | Solana Labs, Inc. | Systems and methods for cryptographic provision of synchronized clocks in distributed systems |
US20190312734A1 (en) * | 2018-04-05 | 2019-10-10 | Ares Technologies, Inc. | Systems and methods authenticating a digitally signed assertion using verified evaluators |
CN110708171A (zh) * | 2019-12-13 | 2020-01-17 | 腾讯科技(深圳)有限公司 | 区块链共识投票方法、装置、设备以及存储介质 |
CN110825349A (zh) * | 2019-11-14 | 2020-02-21 | 深圳市网心科技有限公司 | 随机数生成方法、区块链节点、系统及介质 |
-
2020
- 2020-02-27 CN CN202010123217.7A patent/CN111371769B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019113495A1 (en) * | 2017-12-08 | 2019-06-13 | Solana Labs, Inc. | Systems and methods for cryptographic provision of synchronized clocks in distributed systems |
CN108182635A (zh) * | 2017-12-18 | 2018-06-19 | 深圳前海微众银行股份有限公司 | 区块链共识方法、系统和计算机可读存储介质 |
US20190312734A1 (en) * | 2018-04-05 | 2019-10-10 | Ares Technologies, Inc. | Systems and methods authenticating a digitally signed assertion using verified evaluators |
CN110825349A (zh) * | 2019-11-14 | 2020-02-21 | 深圳市网心科技有限公司 | 随机数生成方法、区块链节点、系统及介质 |
CN110708171A (zh) * | 2019-12-13 | 2020-01-17 | 腾讯科技(深圳)有限公司 | 区块链共识投票方法、装置、设备以及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884977A (zh) * | 2022-05-09 | 2022-08-09 | 深圳嘉业产业发展有限公司 | 一种基于区块链的数据共享方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111371769B (zh) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109743173B (zh) | 区块链中出块节点确定方法、区块验证方法及区块链系统 | |
CN111371768B (zh) | 共识处理方法、验证发起节点、验证节点、设备和介质 | |
CN108320155B (zh) | 一种实现区块链共识机制的方法 | |
CN108769230B (zh) | 交易数据存储方法、装置、服务器及存储介质 | |
WO2017079652A1 (en) | Cryptographic transactions system | |
KR102187294B1 (ko) | 블록체인 네트워크를 기반으로 한 비밀 전자 투표 시스템 및 방법 | |
CN113055188B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
KR102208411B1 (ko) | 블록체인 네트워크의 트랜잭션 및 이벤트 감사 시스템 및 감사 방법 | |
TW202034656A (zh) | 產生區塊鏈上之安全隨機數的方法 | |
CN113326516A (zh) | 区块链共识方法、区块链系统及计算机设备 | |
CN108848125B (zh) | 区块链中提供共识服务的方法和装置及存储介质 | |
Rothblum et al. | Are PCPs inherent in efficient arguments? | |
Chung et al. | On the power of nonuniformity in proofs of security | |
CN110928880A (zh) | 基于区块链的数据处理方法、装置、终端及介质 | |
CN111371769B (zh) | 共识处理方法、共识节点、电子设备和可读存储介质 | |
Ning et al. | Keeping time-release secrets through smart contracts | |
CN110460471B (zh) | 一种超级节点竞选方法、装置及存储介质 | |
CN113347174B (zh) | 区块链中的共识方法、装置和电子设备 | |
CN112910661B (zh) | 适用于电子签约的区块链共识方法、装置、设备及介质 | |
CN112261427B (zh) | 恶意节点的识别方法及装置、电子设备 | |
CN112037055B (zh) | 交易处理方法、装置、电子设备及可读存储介质 | |
CN113609533A (zh) | 一种面向智能电网数据的完整性审计方法 | |
CN112994891B (zh) | 一种基于门限签名的交易请求共识方法和系统 | |
CN116383894A (zh) | 基于可验证vdch函数的可修改联盟链性能优化方法 | |
CN112261145B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210121 Address after: 100080 1120-64, 11 / F, 18 Zhongguancun Street, Haidian District, Beijing Applicant after: Beijing Lianhua Future Technology Co.,Ltd. Address before: 310026 808, office building 2, Xixi Yintai, Xihu District, Hangzhou City, Zhejiang Province Applicant before: ZHEJIANG ULTRAIN SPACE TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220308 |