区块链数据传输方法、区块链节点和计算机可读存储介质与流程

文档序号:19729843发布日期:2020-01-18 03:49阅读:322来源:国知局
区块链数据传输方法、区块链节点和计算机可读存储介质与流程

本发明涉及区块链技术领域,特别涉及一种区块链数据传输方法、区块链节点和计算机可读存储介质。



背景技术:

区块链具有防篡改和可追溯等特点,随着区块链技术的发展,越来越多的数据开始使用区块链进行存储。区块链系统是一种分布式账本系统,系统中各节点之间的频繁地进行网络交互。

在相关技术中,区块链系统在数据传输时一般采用以下方案:将消息内容、签名后的哈希(hash)值和公钥明文组成一条记录发送出去,其他节点收到消息后会对消息使用公钥按照相同算法生成哈希值,并校验消息中的哈希与当前算法生成的哈希是否一致。



技术实现要素:

发明人对相关技术进行分析后发现,公钥明文通常内容较大,占据字节数较多,会占用更多的网络带宽资源,影响传输效率,从而会降低整个区块链的性能。此外,虽然目前绝大部分算法都无法通过公钥反解析出私钥,但由于在网络中公开传输,因此仍然存在安全隐患。

本发明实施例所要解决的一个技术问题是:如何提高区块链数据传输效率和安全性。

根据本发明一些实施例的第一个方面,提供一种区块链数据传输方法,包括:第一区块链节点获取交易区块链数据,其中,第一区块链节点是交易区块链和公钥区块链的节点,交易区块链数据包括交易区块链数据的发送方的公钥的哈希值以及签名;第一区块链节点在公钥区块链中查找公钥的哈希值对应的公钥明文;第一区块链节点根据查找到的公钥明文和交易区块链数据的发送方的签名对交易区块链数据进行验证。

在一些实施例中,区块链数据传输方法还包括:第一区块链节点获取公钥入链交易信息,其中,公钥入链交易信息包括公钥入链交易的发起方的公钥明文和签名;第一区块链节点根据公钥入链交易的发起方的公钥明文和签名对公钥入链交易信息进行验证;响应于验证通过,第一区块链节点将公钥入链交易的发起方的公钥明文以及公钥入链交易的发起方的公钥的哈希值之间的对应关系存储到公钥区块链中。

在一些实施例中,公钥入链交易的发起方为用户,响应于验证通过,第一区块链节点将发起交易的用户的公钥明文以及发起交易的用户的公钥的哈希值存储到用户公钥区块链中;或者,公钥入链交易的发起方为第二区块链节点,响应于验证通过,第一区块链节点将第二区块链节点的公钥明文以及第二区块链节点的公钥的哈希值存储到节点公钥区块链中,其中,第二区块链节点是交易区块链和公钥区块链的节点。

在一些实施例中,第一区块链节点获取用户发起的第一交易信息,其中,第一交易信息包括发起交易的用户的公钥的哈希值以及签名;第一区块链节点在公钥区块链中查找发起交易的用户的公钥的哈希值对应的用户公钥明文;第一区块链节点根据查找到的用户公钥明文和发起交易的用户的签名对第一交易信息进行验证。

在一些实施例中,区块链数据传输方法还包括:第一区块链节点采用私钥对通过验证的第一交易信息加密,生成第一区块链节点的签名;第一区块链节点生成第二交易信息,其中,第二交易信息包括第一交易信息、第一区块链节点的签名、第一区块链节点的公钥的哈希值;第一区块链节点将第二交易信息广播给其他区块链节点,以便其他区块链节点对第二交易信息进行验证。

在一些实施例中,第一区块链节点获取其他区块链广播的第二交易信息,其中,第二交易信息包括第一交易信息、其他区块链节点的签名、其他区块链节点的公钥的哈希值,第一交易信息包括发起交易的用户的公钥的哈希值以及签名;第一区块链节点在公钥区块链中查找其他区块链节点的公钥的哈希值对应的公钥明文,以及发起交易的用户的公钥的哈希值对应的公钥明文;第一区块链节点根据查找到的用户公钥明文和发起交易的用户的签名对第二交易信息进行验证。

在一些实施例中,第一区块链节点接收生成的区块,其中,生成的区块包括区块生成节点的公钥的哈希值以及签名;第一区块链节点在公钥区块链中查找区块生成节点的公钥的哈希值对应的公钥明文;第一区块链节点根据查找到的公钥明文和生成的区块中的签名对区块进行验证。

根据本发明一些实施例的第二个方面,提供一种区块链节点,包括:交易区块链数据获取模块,被配置为获取交易区块链数据,其中,区块链节点是交易区块链和公钥区块链的节点,交易区块链数据包括交易区块链数据的发送方的公钥的哈希值以及签名;公钥明文查找模块,被配置为在公钥区块链中查找公钥的哈希值对应的公钥明文;交易区块链数据验证模块,被配置为根据查找到的公钥明文和交易区块链数据的发送方的签名对交易区块链数据进行验证。

在一些实施例中,区块链节点还包括:公钥入链交易信息获取模块,被配置为获取公钥入链交易信息,其中,公钥入链交易信息包括公钥入链交易的发起方的公钥明文和签名;公钥入链交易信息验证模块,被配置为根据公钥入链交易的发起方的公钥明文和签名对公钥入链交易信息进行验证;对应关系存储模块,被配置为响应于验证通过,将公钥入链交易的发起方的公钥明文以及公钥入链交易的发起方的公钥的哈希值之间的对应关系存储到公钥区块链中。

在一些实施例中,公钥入链交易的发起方为用户,对应关系存储模块进一步被配置为响应于验证通过,将发起交易的用户的公钥明文以及发起交易的用户的公钥的哈希值存储到用户公钥区块链中;或者,公钥入链交易的发起方为另一个区块链节点,对应关系存储模块进一步被配置为响应于验证通过,将另一个区块链节点的公钥明文以及另一个区块链节点的公钥的哈希值存储到节点公钥区块链中,其中,另一个区块链节点是交易区块链和公钥区块链的节点。

在一些实施例中,交易区块链数据获取模块进一步被配置为获取用户发起的第一交易信息,其中,第一交易信息包括发起交易的用户的公钥的哈希值以及签名;公钥明文查找模块进一步被配置为在公钥区块链中查找发起交易的用户的公钥的哈希值对应的用户公钥明文;交易区块链数据验证模块进一步被配置为根据查找到的用户公钥明文和发起交易的用户的签名对第一交易信息进行验证。

在一些实施例中,区块链节点还包括:签名生成模块,被配置为采用私钥对通过验证的第一交易信息加密,生成第一区块链节点的签名;第二交易信息生成模块,被配置为生成第二交易信息,其中,第二交易信息包括第一交易信息、第一区块链节点的签名、第一区块链节点的公钥的哈希值;第二交易信息广播模块,被配置为将第二交易信息广播给其他区块链节点,以便其他区块链节点对第二交易信息进行验证。

在一些实施例中,交易区块链数据获取模块进一步被配置为获取其他区块链广播的第二交易信息,其中,第二交易信息包括第一交易信息、其他区块链节点的签名、其他区块链节点的公钥的哈希值,第一交易信息包括发起交易的用户的公钥的哈希值以及签名;公钥明文查找模块进一步被配置为在公钥区块链中查找其他区块链节点的公钥的哈希值对应的公钥明文,以及发起交易的用户的公钥的哈希值对应的公钥明文;交易区块链数据验证模块进一步被配置为根据查找到的用户公钥明文和发起交易的用户的签名对第二交易信息进行验证。

在一些实施例中,交易区块链数据获取模块进一步被配置为接收生成的区块,其中,生成的区块包括区块生成节点的公钥的哈希值以及签名;公钥明文查找模块进一步被配置为在公钥区块链中查找区块生成节点的公钥的哈希值对应的公钥明文;交易区块链数据验证模块进一步被配置为根据查找到的公钥明文和生成的区块中的签名对区块进行验证。

根据本发明一些实施例的第三个方面,提供一种区块链节点,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行前述任意一种区块链数据传输方法。

根据本发明一些实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种区块链数据传输方法。

上述发明中的一些实施例具有如下优点或有益效果:通过本发明实施例的方法,交易区块链数据的发送方可以在交易区块链数据中包含公钥的哈希值,而接收方可以在公钥链中查找公钥明文以进行数据验证过程,从而节约了交易区块链数据传输过程中的传输带宽,提高了传输效率,并且非明文传输公钥的方式也提高了数据传输的安全性。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明一些实施例的区块链数据传输方法的示例性流程图。

图2为根据本发明一些实施例的公钥存储方法的示例性流程图。

图3a为根据本发明一些实施例的存储用户公钥的方法的示例性流程图。

图3b为根据本发明一些实施例的存储区块链节点公钥的方法的示例性流程图。

图4为根据本发明另一些实施例的交易区块链数据传输方法的示例性流程图。

图5为根据本发明又一些实施例的交易区块链数据传输方法的示例性流程图。

图6为根据本发明又一些实施例的区块链数据传输方法的示例性流程图。

图7为根据本发明一些实施例的区块链节点的示例性结构图。

图8为根据本发明另一些实施例的区块链节点的示例性结构图。

图9为根据本发明又一些实施例的区块链节点的示例性结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1为根据本发明一些实施例的区块链数据传输方法的示例性流程图。如图1所示,该实施例的区块链数据传输方法包括步骤s102~s106。

在步骤s102中,第一区块链节点获取交易区块链数据,其中,交易区块链数据包括交易区块链数据的发送方的公钥的哈希值以及签名。此外,还包括主体数据。例如,当交易区块链数据是交易信息时,主体数据则为交易内容;当交易区块链数据是区块时,主体数据是交易信息。

第一区块链节点既是交易区块链的节点,也是公钥区块链的节点。第一区块链节点可以是区块链系统中的任意节点。由于本发明还包括区块链节点之间的交互的实施例,因此采用“第一”、“第二”来区分不同的区块链节点,但是不对本发明起任何限制性作用。

在步骤s104中,第一区块链节点在公钥区块链中查找公钥的哈希值对应的公钥明文。公钥区块链用于存储公钥哈希值与公钥明文之间的对应关系。

在步骤s106中,第一区块链节点根据查找到的公钥明文和交易区块链数据的发送方的签名对交易区块链数据进行验证,以便确认数据在传输过程中是否被篡改。

在一些实施例中,第一区块链节点可以采用公钥明文对签名进行解密,获得第一哈希值;然后采用交易区块链数据的发送方所使用的哈希算法计算主体数据的哈希值,获得第二哈希值;在第一哈希值和第二哈希值一致的情况下,判定通过验证,可以进行后续处理。如果第一哈希值和第二哈希值不一致,则可以向交易区块链数据的发送方反馈异常结果,令交易区块链数据的发送方重新发送交易区块链数据。

通过上述实施例的方法,交易区块链数据的发送方可以在交易区块链数据中包含公钥的哈希值,而接收方可以在公钥链中查找公钥明文以进行数据验证过程,从而节约了交易区块链数据传输过程中的传输带宽,提高了传输效率,并且非明文传输公钥的方式也提高了数据传输的安全性。

公钥区块链中的信息也可以是区块链节点预先存储的。下面参考图2描述本发明公钥存储方法的实施例。

图2为根据本发明一些实施例的公钥存储方法的示例性流程图。如图2所示,该实施例的公钥存储方法包括步骤s202~s206。

在步骤s202中,第一区块链节点获取公钥入链交易信息,其中,公钥入链交易信息包括公钥入链交易的发起方的公钥明文和签名。公钥入链交易信息可以是用户发起的,也可以是区块链节点发起的。

在步骤s204中,第一区块链节点根据公钥入链交易的发起方的公钥明文和签名对公钥入链交易信息进行验证。例如,可以比较采用公钥明文解密签名获得的哈希值与对公钥明文进行哈希计算获得的哈希值是否一致。如果一致,则判定验证通过。

在步骤s206中,响应于验证通过,第一区块链节点将公钥入链交易的发起方的公钥明文以及公钥入链交易的发起方的公钥的哈希值的对应关系存储到公钥区块链中。例如,可以采用键-值(key-value)的方式存储公钥的哈希值与公钥明文之间的对应关系,以便于后续的查找。

通过将公钥明文数据作为一笔交易独立存储于公钥区块链中,可以令区块链系统在数据交互过程中使用该公钥的哈希值代替公钥进行传输,并在需要验证时去公钥区块链中查找公钥明文。从而提高了数据传输效率和安全性。

在一些实施例中的区块链系统中通常存在两个角色,一个是用户,一个是区块链节点。用户即使用者,也就是交易的发起者;节点即程序,部署在服务器、个人电脑等网络设备上的处理软件。例如在比特币系统中,每个账号就是用户,而每个矿机或矿机上“挖矿”的程序就是节点。本发明的实施例可以将用户的公钥和区块链节点的公钥进行分别存储。

在一些实施例中,在公钥入链交易的发起方为用户的情况下,响应于验证通过,第一区块链节点可以将发起交易的用户的公钥明文以及发起交易的用户的公钥的哈希值存储到用户公钥区块链中。下面参考图3a描述本发明存储用户公钥的方法的实施例。

图3a为根据本发明一些实施例的存储用户公钥的方法的示例性流程图。如图3a所示,该实施例的存储用户公钥的方法包括步骤s3102~s3120。

在步骤s3102中,用户上线后,使用哈希算法生成用户公钥的哈希值。根据需要,也可以设置在用户上线以外的其他时机触发本实施例,这里不再赘述。

在步骤s3104中,采用用户私钥对用户公钥的哈希值进行加密,生成用户签名。

在步骤s3106中,生成交易消息,交易消息中包括用户签名、用户公钥。

在步骤s3108中,将交易消息发送给第一区块链节点。

步骤s3102~s3108是由用户对应的设备执行的,例如是用户账号所登陆的设备、或者是用户服务器等等。

在步骤s3110中,第一区块链节点采用交易消息中的用户公钥解密用户签名,生成hasha。

在步骤s3112中,第一区块链节点使用哈希算法计算用户公钥的哈希值hashb。

在步骤s3114中,如果hasha和hashb不一致,第一区块链节点向用户返回交易异常消息,然后用户侧执行步骤s3116,重新发送交易消息。

在步骤s3118中,如果hasha和hashb一致,第一区块链节点检查用户公钥的哈希值即hasha是否已经写入用户公钥区块链。

如果用户公钥的哈希值已经写入用户公钥区块链,则可以终止流程。

在步骤s3120中,在用户公钥的哈希值没有写入用户公钥区块链的情况下,将hasha作为key、用户公钥作为value,将key-value对入链,即存储到用户公钥区块链中。入链过程还需要由区块链中的其他区块链节点进行配合,这里不再赘述。

最后,第一区块链节点可以选择将hasha返回给用户。

在一些实施例中,在公钥入链交易的发起方为第二区块链节点的情况下,响应于验证通过,第一区块链节点可以将第二区块链节点的公钥明文以及第二区块链节点的公钥的哈希值存储到节点公钥区块链中。下面参考图3b描述本发明存储区块链节点公钥的方法的实施例。

图3b为根据本发明一些实施例的存储区块链节点公钥的方法的示例性流程图。如图3b所示,该实施例的存储区块链节点公钥的方法包括步骤s3202~s3220。

在步骤s3202中,第二区块链节点注册后,使用哈希算法生成第二区块链节点公钥的哈希值。根据需要,也可以设置在节点注册以外的其他时机触发本实施例,这里不再赘述。

在步骤s3204中,第二区块链节点采用第二区块链节点私钥对第二区块链节点公钥的哈希值进行加密,生成第二区块链节点签名。

在步骤s3206中,第二区块链节点生成交易消息,交易消息中包括第二区块链节点签名、第二区块链节点公钥。

在步骤s3208中,第二区块链节点将交易消息发送给第一区块链节点。

在步骤s3210中,第一区块链节点采用交易消息中的第二区块链节点公钥解密第二区块链节点签名,生成hashc。

在步骤s3212中,第一区块链节点使用哈希算法计算第二区块链节点公钥的哈希值hashd。

在步骤s3214中,如果hashc和hashd不一致,第一区块链节点向第二区块链节点返回交易异常消息,然后第二区块链节点执行步骤s3216,重新发送交易消息。

在步骤s3218中,如果hashc和hashd一致,第一区块链节点检查第二区块链节点公钥的哈希值即hashc是否已经写入节点公钥区块链。

如果第二区块链节点公钥的哈希值已经写入节点公钥区块链,则可以终止流程。

在步骤s3220中,在第二区块链节点公钥的哈希值没有写入节点公钥区块链的情况下,将hashc作为key、用户公钥作为value,将key-value对入链,即存储到节点公钥区块链中。

最后,第一区块链节点可以选择将hashc返回给第二区块链节点。

本发明所采用的交易区块链数据传输方法适用于多种应用场景,例如用户发起交易请求阶段、交易在区块链系统中进行全网认证阶段、生成区块后的区块验证阶段等等。下面结合几种示例性的应用场景,介绍本发明交易区块链数据传输方法的其他实施例。

图4为根据本发明另一些实施例的交易区块链数据传输方法的示例性流程图。如图4所示,该实施例的交易区块链数据传输方法包括步骤s402~s406。

在步骤s402中,第一区块链节点获取用户发起的第一交易信息,其中,第一交易信息包括发起交易的用户的公钥的哈希值以及签名。此外,第一交易信息中还包括交易数据。

在步骤s404中,第一区块链节点在公钥区块链中查找发起交易的用户的公钥的哈希值对应的用户公钥明文。

在步骤s406中,第一区块链节点根据查找到的用户公钥明文和发起交易的用户的签名对第一交易信息进行验证。验证的方法可以参考前述实施例,这里不再赘述。

如果验证不通过,说明数据在传输过程中被篡改,可以向用户返回交易异常消息。

如果验证通过,该实施例还可以选择性地包括步骤s408~s412。

在步骤s408中,第一区块链节点采用私钥对通过验证的第一交易信息加密,生成第一区块链节点的签名。

在步骤s410中,第一区块链节点生成包括第一交易信息、第一区块链节点的签名、第一区块链节点的公钥的哈希值的第二交易信息。第二交易信息的结构可以如表1所示。

表1

在步骤s412中,第一区块链节点将第二交易信息广播给其他区块链节点,以便其他区块链节点对第二交易信息进行验证。

从而,可以在发起交易的过程中提高数据传输效率和安全性。

图5为根据本发明又一些实施例的交易区块链数据传输方法的示例性流程图。如图5所示,该实施例的交易区块链数据传输方法包括步骤s502~s506。

在步骤s502中,第一区块链节点获取其他区块链广播的第二交易信息。第二交易信息的内容可以参考前述实施例。

在步骤s504中,第一区块链节点在公钥区块链中查找其他区块链节点的公钥的哈希值对应的公钥明文,以及发起交易的用户的公钥的哈希值对应的公钥明文。

在步骤s506中,第一区块链节点根据查找到的用户公钥明文和发起交易的用户的签名对第二交易信息进行验证。

从而,可以在全网验证交易的过程中提高数据传输效率和安全性。

图6为根据本发明又一些实施例的区块链数据传输方法的示例性流程图。如图6所示,该实施例的区块链数据传输方法包括步骤s602~s606。

在步骤s602中,第一区块链节点接收生成的区块,其中,生成的区块包括区块生成节点的公钥的哈希值以及签名。

在步骤s604中,第一区块链节点在公钥区块链中查找区块生成节点的公钥的哈希值对应的公钥明文。

在步骤s606中,第一区块链节点根据查找到的公钥明文和生成的区块中的签名对区块进行验证。

从而,可以在区块验证的过程中提高数据传输效率和安全性。

下面参考图7描述本发明区块链节点的实施例。

图7为根据本发明一些实施例的区块链节点的示例性结构图。如图7所示,该实施例的区块链节点70包括:交易区块链数据获取模块710,被配置为获取交易区块链数据,其中,区块链节点是交易区块链和公钥区块链的节点,交易区块链数据包括交易区块链数据的发送方的公钥的哈希值以及签名;公钥明文查找模块720,被配置为在公钥区块链中查找公钥的哈希值对应的公钥明文;交易区块链数据验证模块730,被配置为根据查找到的公钥明文和交易区块链数据的发送方的签名对交易区块链数据进行验证。

在一些实施例中,区块链节点70还包括:公钥入链交易信息获取模块740,被配置为获取公钥入链交易信息,其中,公钥入链交易信息包括公钥入链交易的发起方的公钥明文和签名;公钥入链交易信息验证模块750,被配置为根据公钥入链交易的发起方的公钥明文和签名对公钥入链交易信息进行验证;对应关系存储模块760,被配置为响应于验证通过,将公钥入链交易的发起方的公钥明文以及公钥入链交易的发起方的公钥的哈希值之间的对应关系存储到公钥区块链中。

在一些实施例中,公钥入链交易的发起方为用户,对应关系存储模块760进一步被配置为响应于验证通过,将发起交易的用户的公钥明文以及发起交易的用户的公钥的哈希值存储到用户公钥区块链中;或者,公钥入链交易的发起方为另一个区块链节点,对应关系存储模块760进一步被配置为响应于验证通过,将另一个区块链节点的公钥明文以及另一个区块链节点的公钥的哈希值存储到节点公钥区块链中,其中,另一个区块链节点是交易区块链和公钥区块链的节点。

在一些实施例中,交易区块链数据获取模块710进一步被配置为获取用户发起的第一交易信息,其中,第一交易信息包括发起交易的用户的公钥的哈希值以及签名;公钥明文查找模块720进一步被配置为在公钥区块链中查找发起交易的用户的公钥的哈希值对应的用户公钥明文;交易区块链数据验证模块730进一步被配置为根据查找到的用户公钥明文和发起交易的用户的签名对第一交易信息进行验证。

在一些实施例中,区块链节点还包括:签名生成模块770,被配置为采用私钥对通过验证的第一交易信息加密,生成第一区块链节点的签名;第二交易信息生成模块780,被配置为生成第二交易信息,其中,第二交易信息包括第一交易信息、第一区块链节点的签名、第一区块链节点的公钥的哈希值;第二交易信息广播模块790,被配置为将第二交易信息广播给其他区块链节点,以便其他区块链节点对第二交易信息进行验证。

在一些实施例中,交易区块链数据获取模块710进一步被配置为获取其他区块链广播的第二交易信息,其中,第二交易信息包括第一交易信息、其他区块链节点的签名、其他区块链节点的公钥的哈希值,第一交易信息包括发起交易的用户的公钥的哈希值以及签名;公钥明文查找模块720进一步被配置为在公钥区块链中查找其他区块链节点的公钥的哈希值对应的公钥明文,以及发起交易的用户的公钥的哈希值对应的公钥明文;交易区块链数据验证模块730进一步被配置为根据查找到的用户公钥明文和发起交易的用户的签名对第二交易信息进行验证。

在一些实施例中,交易区块链数据获取模块710进一步被配置为接收生成的区块,其中,生成的区块包括区块生成节点的公钥的哈希值以及签名;公钥明文查找模块720进一步被配置为在公钥区块链中查找区块生成节点的公钥的哈希值对应的公钥明文;交易区块链数据验证模块730进一步被配置为根据查找到的公钥明文和生成的区块中的签名对区块进行验证。

图8为根据本发明另一些实施例的区块链节点的示例性结构图。如图8所示,该实施例的区块链节点80包括:存储器810以及耦接至该存储器810的处理器820,处理器820被配置为基于存储在存储器810中的指令,执行前述任意一个实施例中的区块链数据传输方法。

其中,存储器810例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)以及其他程序等。

图9为根据本发明又一些实施例的区块链节点的示例性结构图。如图9所示,该实施例的区块链节点90包括:存储器910以及处理器920,还可以包括输入输出接口930、网络接口940、存储接口950等。这些接口930,940,950以及存储器910和处理器920之间例如可以通过总线960连接。其中,输入输出接口930为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口940为各种联网设备提供连接接口。存储接口950为sd卡、u盘等外置存储设备提供连接接口。

本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种区块链数据传输方法。

本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1