共识处理方法、共识节点、电子设备和可读存储介质技术

技术编号:24763809 阅读:23 留言:0更新日期:2020-07-04 11:03
本申请实施例提供了一种共识处理方法、共识节点、电子设备和可读存储介质,其中方法包括:基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据所述输出数据生成公共硬币的投掷结果;向区块链网络广播所述公共硬币的投掷结果,并接收所述区块链网络中其它共识节点广播的公共硬币的投掷结果;根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到所述投掷结果为目标结果的共识节点的数量,若所述投掷结果为目标结果的共识节点的数量符合预设条件,则将所述输出数据存入当前区块中。本申请实施例可以简化公共硬币的投掷过程。

Consensus processing method, consensus node, electronic device and readable storage medium

【技术实现步骤摘要】
共识处理方法、共识节点、电子设备和可读存储介质
本申请涉及区块链
,尤其涉及一种共识处理方法、共识节点、电子设备和计算机可读存储介质。
技术介绍
区块链(Blockchain)是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术(DistributedLedgerTechnology,简称DLT)。共识方法是以去中心化的方式就网络的状态达成统一协议的过程,是区块链的核心技术之一。在典型的区块链系统中,区块链网络中的节点按照事先约定的规则共同存储信息并达成共识。为了防止共识信息被篡改,系统以区块(Block)为单位存储数据,区块之间按照时间顺序、结合密码学算法构成链式(Chain)数据结构,通过共识机制选出记录节点,由该节点决定最新区块的数据,其他节点共同参与最新区块数据的验证、存储和维护,数据一经确认,就难以删除和更改,只能进行授权查询操作。在共识过程中,为了使参与的节点达成一致,所有参与的节点可以投掷一枚公共硬币,这样经过一段时间,所有参与的节点都可能得到相同的结果。然而,现有的公共硬币的投掷过程是通过各参与的节点基于交互式的方法来实现,例如阈值签名的方法等,其投掷过程复杂。
技术实现思路
本申请实施例提供一种共识处理方法、共识节点、电子设备和计算机可读存储介质,可以简化公共硬币的投掷过程。为了解决上述技术问题,本专利技术实施例是这样实现的:第一个方面,本申请实施例提供了一种共识处理方法,应用于共识节点中,包括:基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据所述输出数据生成公共硬币的投掷结果;向区块链网络广播所述公共硬币的投掷结果,并接收所述区块链网络中其它共识节点广播的公共硬币的投掷结果;根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到所述投掷结果为目标结果的共识节点的数量,若所述投掷结果为目标结果的共识节点的数量符合预设条件,则将所述输出数据存入当前区块中。第二各方面,本申请实施例提供了一种共识节点,包括:处理模块,用于基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据所述输出数据生成公共硬币的投掷结果;收发模块,用于向区块链网络广播所述公共硬币的投掷结果,并接收所述区块链网络中其它共识节点广播的公共硬币的投掷结果;所述处理模块,还用于根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到所述投掷结果为目标结果的共识节点的数量,若所述投掷结果为目标结果的共识节点的数量符合预设条件,则将所述输出数据存入当前区块中。第三个方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线;其中,所述处理器、所述通信接口以及所述存储器通过总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现如第一方面所述的共识处理方法。第四个方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的共识处理方法。本申请实施例提供的共识处理方法、共识节点、电子设备和计算机可读存储介质,通过基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据输出数据生成公共硬币的投掷结果;向区块链网络广播公共硬币的投掷结果,并接收区块链网络中其它共识节点广播的公共硬币的投掷结果;根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到投掷结果为目标结果的共识节点的数量,若投掷结果为目标结果的共识节点的数量符合预设条件,则将输出数据存入当前区块中;在进行共识处理时,利用可验证延时函数实现公共硬币的投掷过程,利用可验证延时函数具有时间不可被缩短的特性,可以保证所生成的公共硬币的投掷结果的随机性,利用可验证延时函数的输出数据具有唯一性,可以使各共识节点不需要进行交互就可以达成一致,可以简化公共硬币的投掷过程,从而加快公共硬币投掷过程的处理速度,提高处理效率,可以有利于共识的达成。附图说明为了更清楚地说明本申请一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例的共识处理方法的一种实现方式的流程示意图;图2为本申请实施例生成公共硬币的投掷结果的一种实现方式的流程示意图;图3为本申请实施例的共识处理方法的一个应用场景的示意图;图4为本申请实施例的共识节点的一种组成结构示意图。具体实施方式为了使本
的人员更好地理解本申请一个或多个实施例中的技术方案,下面将结合本申请一个或多个实施例中的附图,对本申请一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。图1为本申请实施例的共识处理方法的一种实现方式的流程示意图,图1所示的方法应用于区块链网络中的共识节点,共识节点可以为连接于区块链网络中具备计算能力的设备,例如:手机、计算机、车载设备、可穿戴设备等,本申请实施例对共识节点的实现方式不作限定,如图1所示,该方法至少包括:S102,基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据输出数据生成公共硬币的投掷结果。在本申请实施例中,可验证延时函数((VerifiableRandomFunction,简称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的验证信息。可选地,可以采用现有的方法来构造可验证延时函数,例如:可以采用单射有理映射(injectiverationalmaps)来构造可验证延时函数,或者可以采用基于RSA群重复平方运算(repeatedsquaring)来构造可验证延时函数,又或者可以采用基于本文档来自技高网
...

【技术保护点】
1.一种共识处理方法,其特征在于,应用于共识节点中,包括:/n基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据所述输出数据生成公共硬币的投掷结果;/n向区块链网络广播所述公共硬币的投掷结果,并接收所述区块链网络中其它共识节点广播的公共硬币的投掷结果;/n根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到所述投掷结果为目标结果的共识节点的数量,若所述投掷结果为目标结果的共识节点的数量符合预设条件,则将所述输出数据存入当前区块中。/n

【技术特征摘要】
1.一种共识处理方法,其特征在于,应用于共识节点中,包括:
基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据所述输出数据生成公共硬币的投掷结果;
向区块链网络广播所述公共硬币的投掷结果,并接收所述区块链网络中其它共识节点广播的公共硬币的投掷结果;
根据所生成的公共硬币的投掷结果和接收到的公共硬币的投掷结果,得到所述投掷结果为目标结果的共识节点的数量,若所述投掷结果为目标结果的共识节点的数量符合预设条件,则将所述输出数据存入当前区块中。


2.根据权利要求1所述的方法,其特征在于,还包括:
若所述投掷结果为目标结果的共识节点的数量不符合所述预设条件,则从所述基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据所述输出数据生成公共硬币的投掷结果开始执行。


3.根据权利要求2所述的方法,其特征在于,所述基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到输出数据,根据所述输出数据生成公共硬币的投掷结果,包括:
从所述前一个区块中获取所述输入数据,将所述输入数据输入所述可验证延时函数进行计算处理,根据可验证延时函数的时间参数确定所述计算处理得到的所述输出数据;
将所述输出数据输入公共硬币生成函数进行处理,生成所述公共硬币的投掷结果。


4.根据权利要求3所述的方法,其特征在于,所述从所述前一个区块中获取所述输入数据,包括:
从所述前一个区块中获取所存储的输出数据,作为所述输入数据输入所述可验证延时函数进行计算处理。


5.根据权利要求3所述...

【专利技术属性】
技术研发人员:王虎森
申请(专利权)人:浙江超脑时空科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1