基于区块链的函件传输方法及相关设备
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的函件传输方法及相关设备。
背景技术
目前,针对一些重要的文件,通常会以红头文件这种函件形式去通知其他单位或部门。针对每一份函件需要专门留档以备复查,同时还规定了函件的传递方式以及确认机制。随着跨部门、跨地区、跨领域的交流活动越来越频繁,传统的纸质函件的发布、传输、验证、确认、留档和审查需要花费很长的时间,同时,函件内容还容易被非法用户篡改,比如使用虚假公章对函件进行盖章。
可见,函件的传输效率较低,而且,函件内容的真实性得不到保障。
发明内容
鉴于以上内容,有必要提供一种基于区块链的函件传输方法及相关设备,能够提高函件的传输效率,同时,保障函件内容的真实性。
本发明的第一方面提供一种基于区块链的函件传输方法,所述方法包括:
第一节点获取区块链上保存的多个函件合约模板;
所述第一节点响应于输入的选择指令,从所述多个函件合约模板中确定目标合约模板;
所述第一节点接收输入的函件内容;
所述第一节点利用所述第一节点的私钥,对所述函件内容进行签名;
所述第一节点根据所述目标合约模板、签名后的函件内容以及目标账户地址,创建函件;
所述第一节点将所述函件发送至所述区块链上,以使第二节点通过所述区块链接收所述函件。
在一种可能的实现方式中,所述方法还包括:
所述第一节点获取所述第一节点的账户地址以及函件序号;
所述第一节点采用哈希算法,对所述账户地址、所述函件内容以及所述函件序号进行哈希运算,获得哈希值;
所述第一节点根据所述哈希值,生成函件编码。
在一种可能的实现方式中,所述方法还包括:
所述第一节点获取所述函件内容的生效日期;
在所述生效日期到达之前,若接收到针对所述函件的销毁指令,所述第一节点根据所述函件编码,销毁所述区块链上的所述函件。
在一种可能的实现方式中,所述方法还包括:
所述第一节点监听所述区块链上的交易;
所述第一节点判断所述交易是否为针对所述第一节点的函件交易;
若所述交易为针对所述第一节点的函件交易,所述第一节点向所述区块链发送数据读取交易;
所述第一节点接收所述区块链返回的函件内容。
在一种可能的实现方式中,所述方法还包括:
所述第一节点接收针对所述函件内容输入的确认信息;
所述第一节点使用所述第一节点的私钥对所述确认信息进行签名;
所述第一节点向所述区块链发送携带有签名后的确认信息的函件确认交易。
在一种可能的实现方式中,所述所述第一节点判断所述交易是否为针对所述第一节点的函件交易包括:
所述第一节点获取所述交易携带的目标账户地址以及所述交易的属性;
所述第一节点判断所述目标账户地址与本地账户地址是否匹配,以及判断所述属性是否为函件;
若所述目标账户地址与本地账户地址匹配,且所述属性为函件,所述第一节点确定所述交易为针对所述第一节点的函件交易。
在一种可能的实现方式中,所述方法还包括:
若所述函件的函件内容为密文,所述第一节点使用所述第一节点的私钥或共享密钥对所述密文进行解密,获得所述函件的函件内容。
在一种可能的实现方式中,所述方法还包括:
若所述函件为问询类函件,所述第一节点接收输入的答复内容;
所述第一节点使用所述第一节点的私钥对所述答复内容进行签名,并将签名后的答复内容发送至所述区块链上。
在一种可能的实现方式中,所述方法还包括:
所述第一节点根据目标节点的节点标识,通过父密钥,从所述区块链上查看所述目标节点发起的所有函件;
所述第一节点对所述所有函件进行审核。
本发明的第二方面提供一种区块链节点,所述区块链节点包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的基于区块链的函件传输方法。
本发明的第三方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于区块链的函件传输方法。
在上述技术方案中,可以使用区块链上保存的目标合约模板,在目标合约模板上添加函件内容,创建函件,并将创建的函件发送至区块链上,通过区块链的不可篡改的特性,可以确保发送的函件内容的真实性,同时,该函件可以通过区块链在各个节点上进行在线流通,减少了线下传输函件的时间,从而可以提高函件的传输效率。
附图说明
图1是本发明公开的一种基于区块链的函件传输方法的较佳实施例的流程图。
图2是本发明公开的另一种基于区块链的函件传输方法的较佳实施例的流程图。
图3是本发明公开的一种函件传输装置的较佳实施例的功能模块图。
图4是本发明实现基于区块链的函件传输方法的较佳实施例的区块链节点的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
区块链节点是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述电子设备还可包括网络设备和/或用户设备。其中,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云。所述用户设备包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理PDA等。
其中,第一节点和第二节点均可以是区块链上的任一个区块链节点,每个区块链节点既可以接收函件,也可以发送函件。
请参见图1,图1是本发明公开的一种基于区块链的函件传输方法的较佳实施例的流程图。其中,该基于区块链的函件传输方法可以应用于第一节点,该第一节点可以用来发送函件。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S11、第一节点获取区块链上保存的多个函件合约模板。
举例来说,可以在各个部门(比如政府部门、公司部门)之间搭建一条区块链,各个部门可以作为区块链上的一个节点。当各个部门之间需要传输函件时,可以通过区块链在线传输函件。
其中,各个部门可以预先在区块链上注册各自的单位名称和公钥,以供其他节点查询。
其中,可以根据函件的内容和用途,在区块链上预先保存一些函件合约模板,该函件合约模板可以包括但不限于商洽事宜函、通知事宜函、催办事宜函、邀请函、请示答复事宜函、转办函、催办函以及报送材料函等,当然函件合约模板还可以包括空白模板。
S12、第一节点响应于输入的选择指令,从所述多个函件合约模板中确定目标合约模板。
本发明中,在第一节点获取多个函件合约模板之后,用户可以根据要发送的函件内容选择相应模板,具体的,可以针对该多个函件合约模板中的某个函件合约模板输入选择指令,第一节点即可响应于输入的选择指令,从所述多个函件合约模板中将所述选择指令所指示的合约模板确定目标合约模板。
S13、第一节点接收输入的函件内容。
本发明中,在确定目标合约模板后,用户可以在所述目标合约模板的指定区域输入函件内容。
S14、第一节点利用所述第一节点的私钥,对所述函件内容进行签名。
其中,第一节点的公钥对外公开,第一节点的私钥由自己保存。当需要在区块链上进行交易时,第一节点需要利用所述第一节点的私钥,对所述函件内容进行签名。
可选的,第一节点还可以在所述函件内容中添加隐私保护,以确保只有合法的第二节点可以查看原始函件内容,而其他节点只能看到相关交易记录,但无法查看到函件内容。
其中,第一节点可以通过多种方式对所述函件内容进行加密。
可选的,第一节点可以采用第二节点的公钥对所述函件内容进行加密,后续第二节点只需要使用自己的私钥即可对加密的函件内容进行解密,就可以看到函件内容了。其中,该第二节点可以用来接收函件。
可选的,第一节点可以使用共享密钥对所述函件内容进行加密。其中,可以利用密码学中非对称密钥的乘法运算计算共享密钥,然后用对称加密算法加密数据。这样只有第一节点和第二节点可以计算出共享密钥进行解密。其中,计算共享密钥的公式为:Psb*Sa=Psa*Sb,Psb表示b的公钥,Sa表示a的私钥,Psa表示a的公钥,Sb表示b的私钥,发送端节点a采用Psb*Sa对函件进行加密,而接收端节点b采用Psa*Sb对函件进行解密。
S15、第一节点根据所述目标合约模板、签名后的函件内容以及目标账户地址,创建函件。
其中,目标账户地址即第二节点的账户地址,可以根据节点节点的公钥进行哈希运算得到。
其中,每个函件可以是一个合约。相同类型的函件使用的是同一个函件合约模板。
S16、第一节点将所述函件发送至所述区块链上,以使第二节点通过所述区块链接收所述函件。
具体的,第一节点可以向区块链发送一笔携带有所述函件的交易,区块链接收到这笔交易后,即可根据交易中的私钥签名,来校验所述函件是否是由所述第一节点发出的,如果是,区块链即可将所述交易保存在区块链上。
作为一种可选的实施方式,所述方法还包括:
获取所述第一节点的账户地址以及函件序号;
采用哈希算法,对所述账户地址、所述函件内容以及所述函件序号进行哈希运算,获得哈希值;
根据所述哈希值,生成函件编码。
其中,所述函件序号是针对每个第一节点而言的,每个第一节点发送的函件的函件序号可以按照发送次数依次累加。
其中,所述第一节点的账户地址可以根据所述第一节点的公钥进行哈希运算获得。
具体的,第一节点可以采用哈希算法,对所述第一节点的账户地址、所述函件内容以及所述函件序号进行哈希运算,获得哈希值,然后可以提取所述哈希值的后20个字节作为合约地址,即函件编码,这可以保证区块链上合约地址的唯一性。其中,函件编码可以用来唯一标识函件的身份。
作为一种可选的实施方式,所述方法还包括:
获取所述函件内容的生效日期;
在所述生效日期到达之前,若接收到针对所述函件的销毁指令,根据所述函件编码,销毁所述区块链上的所述函件。
其中,每个函件内容都具有生效日期,通常,所述生效日期会比所述函件的发送日期要晚。如果发送单位因为某些原因要取消函件,可以根据函件编码销毁区块链上的函件。
具体的,可以在所述生效日期到达之前,如果接收到用户针对所述函件的销毁指令,第一节点可以调用所述函件的析构函数,根据所述函件编码,查找到区块链上的函件,并销毁所述函件。其中,析构函数用于销毁数据,即把合约的所有成员变量对应的值清空。一个合约对应一个地址,如果一个地址对应的数据全部是空的,那么区块链不再存储该地址,也即该地址对应的合约被销毁了。
可选的,该第一节点也可以作为监管节点,可以根据某个目标节点(区块链上的任一个节点)的单位名称,查看该目标节点发起的所有函件,进行查看、审核和问询。其中,监管节点通常是某些发送函件的区块链节点的上级单位。监管节点可以采用多级密钥管理体系,监管节点可以根据父密钥生成子密钥,某些发送函件的区块链节点使用子密钥,这样做到上级的监管节点监管下级的某些区块链节点,而发送函件的区块链节点和接收函件的区块链节点相互独立。
在图1所描述的方法流程中,可以使用区块链上保存的目标合约模板,在目标合约模板上添加函件内容,创建函件,并将创建的函件发送至区块链上,通过区块链的不可篡改的特性,可以确保发送的函件内容的真实性,同时,该函件可以通过区块链在各个节点上进行在线流通,减少了线下传输函件的时间,从而可以提高函件的传输效率。
请参见图2,图2是本发明公开的另一种基于区块链的函件传输方法的较佳实施例的流程图。其中,该基于区块链的函件传输方法可以应用于第一节点,该第一节点作为接收方节点,可以用来接收函件。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S21,第一节点监听区块链上的交易。
本发明中,区块链节点(比如上文所述的用于发送函件的第一节点)可以在区块链上发送任何交易,同时,第一节点也可以作为接收节点,实时监听区块链上的任何一笔交易。
S22,第一节点判断所述交易是否为针对所述第一节点的函件交易。
本发明中,第一节点监听到的交易是区块链上的所有交易,这些交易有的是针对第一节点的,有的不是针对第一节点的,有的交易是函件交易,有的交易是其他的交易。第一节点需要判断监听到的交易是否为针对所述第一节点的函件交易,以确定所述第一节点是否有待查收的函件。
具体的,所述判断所述交易是否为针对所述第一节点的函件交易包括:
获取所述交易携带的目标账户地址以及所述交易的属性;
判断所述目标账户地址与本地账户地址是否匹配,以及判断所述属性是否为函件;
若所述目标账户地址与本地账户地址匹配,且所述属性为函件,确定所述交易为针对所述第一节点的函件交易。
在该实施方式中,发送方节点发送的交易会携带有目标账户地址,即第一节点的账户地址,该账户地址通常是由第一节点的公钥经哈希运算得到。
具体的,第一节点可以获取所述交易携带的目标账户地址以及所述交易的属性,并判断所述目标账户地址与本地账户地址是否匹配,以及判断所述属性是否为函件,如果所述目标账户地址与本地账户地址匹配,且所述属性为函件,则可以确定所述交易为针对所述第一节点的函件交易,第一节点可以确定自己有待查收的函件;反之,如果所述目标账户地址与本地账户地址不匹配,或,所述属性不为函件,则可以确定所述交易不是针对所述第一节点的函件交易,第一节点可以确定自己没有待查收的函件。
S23,若所述交易为针对所述第一节点的函件交易,第一节点向所述区块链发送数据读取交易。
本发明中,如果所述交易为针对所述第一节点的函件交易,第一节点可以向所述区块链发送经所述第一节点的私钥签名的数据读取交易,区块链接收到该数据读取交易之后,可以对所述私钥签名进行校验,在确定所述数据读取交易确实是所述第一节点发起的,则可以向第一节点返回函件内容。
S24,第一节点接收所述区块链返回的函件内容。
其中,所述函件内容可以是未加密的明文,或者,所述函件内容可以是加密的密文。
可选的,所述方法还包括:
若所述函件的函件内容为密文,使用所述第一节点的私钥或共享密钥对所述密文进行解密,获得所述函件的函件内容。
其中,发送方节点可以使用所述第一节点的公钥或者共享密钥对所述函件内容进行加密,如果发送方节点是使用所述第一节点的公钥进行加密的,第一节点可以使用所述第一节点的私钥对所述密文进行解密,获得所述函件的函件内容,如果发送方节点是使用共享密钥进行加密的,第一节点可以使用共享密钥对所述密文进行解密,获得所述函件的函件内容。
作为一种可选的实施方式,所述方法还包括:
接收针对所述函件内容输入的确认信息;
使用所述第一节点的私钥对所述确认信息进行签名;
向所述区块链发送携带有签名后的确认信息的函件确认交易。
其中,第一节点在预览所述区块链返回的函件内容后,可以在线确认函件已接收,而非第一节点是无法在线确认函件的。
具体的,用户可以在所述函件内容的指定区域输入确认信息,第一节点使用所述第一节点的私钥对所述确认信息进行签名后,即可向所述区块链发送携带有签名后的确认信息的函件确认交易。区块链接收到该确认交易后,可以校验所述签名,在确认所述函件确认交易确实是所述第一节点发起的,则可以将携带有所述确认信息的函件内容保存在区块链上,以便发送方节点可以在区块链上根据所述确认信息确定所述函件已被第一节点接收。
可选的,所述方法还包括:
若所述函件为问询类函件,接收输入的答复内容;
使用所述第一节点的私钥对所述答复内容进行签名,并将签名后的答复内容发送至所述区块链上。
在该实施方式中,有些函件是需要第一节点答复的,比如问询类函件,第一节点接收到这类函件后,需要在线编辑答复反馈给发送方节点。
具体的,第一节点可以接收用户输入的答复内容,使用所述第一节点的私钥对所述答复内容进行签名,并将签名后的答复内容发送至所述区块链上,以用于回复发送方节点发送的函件。
可选的,还可以针对答复内容进行隐私保护,这样只有原发送方节点可以看到回复内容,而其他节点是看不到的。具体的,可以采用原发送方节点的公钥或者共享密钥对所述答复内容进行加密。
在图2所描述的方法流程中,可以实时监听区块链上的每笔交易,当监听到有针对该第二节点的函件交易时,确定有待查收的函件,可以向区块链发送数据读取交易,以获得区块链返回的函件内容。通过区块链的不可篡改的特性,可以确保接收到的函件内容的真实性,同时,该函件可以通过区块链在各个节点上进行在线流通,减少了线下传输函件的时间,从而可以提高函件的传输效率。
以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
请参见图3,图3是本发明公开的一种函件传输装置的较佳实施例的功能模块图。
在一些实施例中,所述函件传输装置运行于区块链节点中。所述函件传输装置可以包括多个由程序代码段所组成的功能模块。所述函件传输装置中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行图1或图2所描述的基于区块链的函件传输方法中的部分或全部步骤,具体可以参考图1或图2中的相关描述,在此不再赘述。
本实施例中,所述函件传输装置根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:获取模块301、确定模块302、接收模块303、签名模块304、创建模块305及发送模块306。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在一些实施例中,关于各模块的功能将在本实施例中详述。
获取模块301,用于获取区块链上保存的多个函件合约模板。
确定模块302,用于响应于输入的选择指令,从所述多个函件合约模板中确定目标合约模板。
接收模块303,用于接收输入的函件内容。
签名模块304,用于利用所述第一节点的私钥,对所述函件内容进行签名。
创建模块305,用于根据所述目标合约模板、签名后的函件内容以及目标账户地址,创建函件。
发送模块306,用于将所述函件发送至所述区块链上,以使第二节点通过所述区块链接收所述函件。
可选的,所述获取模块301,还用于获取所述第一节点的账户地址以及函件序号;
所述函件传输装置还包括:
计算模块,用于采用哈希算法,对所述账户地址、所述函件内容以及所述函件序号进行哈希运算,获得哈希值;
生成模块,用于根据所述哈希值,生成函件编码。
可选的,所述获取模块301,还用于获取所述函件内容的生效日期;
所述函件传输装置还包括:
销毁模块,用于在所述生效日期到达之前,若接收到针对所述函件的销毁指令,根据所述函件编码,销毁所述区块链上的所述函件。
可选的,所述函件传输装置还包括:
查看模块,用于根据目标节点的节点标识,通过父密钥,从所述区块链上查看所述目标节点发起的所有函件;
审核模块,用于对所述所有函件进行审核。
可选的,所述函件传输装置还包括:
监听模块,用于监听区块链上的交易。
判断模块,用于判断所述交易是否为针对所述第一节点的函件交易。
所述判断模块判断所述交易是否为针对所述第一节点的函件交易包括:
获取所述交易携带的目标账户地址以及所述交易的属性;
判断所述目标账户地址与本地账户地址是否匹配,以及判断所述属性是否为函件;
若所述目标账户地址与本地账户地址匹配,且所述属性为函件,确定所述交易为针对所述第一节点的函件交易。
发送模块,用于若所述交易为针对所述第一节点的函件交易,向所述区块链发送数据读取交易。
接收模块,用于接收所述区块链返回的函件内容。
可选的,所述函件传输装置还包括:
解密模块,用于若所述函件的函件内容为密文,使用所述第一节点的私钥或共享密钥对所述密文进行解密,获得所述函件的函件内容。
可选的,所述接收模块,还用于接收针对所述函件内容输入的确认信息;
所述函件传输装置还包括:
签名模块,用于使用所述第一节点的私钥对所述确认信息进行签名;
所述发送模块,还用于向所述区块链发送携带有签名后的确认信息的函件确认交易。
可选的,所述接收模块,还用于若所述函件为问询类函件,接收输入的答复内容;
所述签名模块,还用于使用所述第一节点的私钥对所述答复内容进行签名。
所述发送模块,还用于将签名后的答复内容发送至所述区块链上。
在图3所描述的函件传输装置中,可以使用区块链上保存的目标合约模板,在目标合约模板上添加函件内容,创建函件,并将创建的函件发送至区块链上,通过区块链的不可篡改的特性,可以确保发送的函件内容的真实性,同时,该函件可以通过区块链在各个节点上进行在线流通,减少了线下传输函件的时间,从而可以提高函件的传输效率。
如图4所示,图4是本发明实现基于区块链的函件传输方法的较佳实施例的区块链节点的结构示意图。所述区块链节点4包括存储器41、至少一个处理器42、存储在所述存储器41中并可在所述至少一个处理器42上运行的计算机程序43及至少一条通讯总线44。
本领域技术人员可以理解,图4所示的示意图仅仅是所述区块链节点4的示例,并不构成对所述区块链节点4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述区块链节点4还可以包括输入输出设备、网络接入设备等。
所述至少一个处理器42可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。该处理器42可以是微处理器或者该处理器42也可以是任何常规的处理器等,所述处理器42是所述区块链节点4的控制中心,利用各种接口和线路连接整个区块链节点4的各个部分。
所述存储器41可用于存储所述计算机程序43和/或模块/单元,所述处理器42通过运行或执行存储在所述存储器41内的计算机程序和/或模块/单元,以及调用存储在存储器41内的数据,实现所述区块链节点4的各种功能。所述存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据区块链节点4的使用所创建的数据(比如音频数据)等。此外,存储器41可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
结合图1和图2,所述区块链节点4中的所述存储器41存储多个指令以实现一种基于区块链的函件传输方法,所述处理器42可执行所述多个指令从而实现:
获取区块链上保存的多个函件合约模板;
响应于输入的选择指令,从所述多个函件合约模板中确定目标合约模板;
接收输入的函件内容;
利用所述第一节点的私钥,对所述函件内容进行签名;
根据所述目标合约模板、签名后的函件内容以及目标账户地址,创建函件;
将所述函件发送至所述区块链上,以使第二节点通过所述区块链接收所述函件。
在一种可选的实施方式中,所述处理器42可执行所述多个指令从而实现:
获取所述第一节点的账户地址以及函件序号;
采用哈希算法,对所述账户地址、所述函件内容以及所述函件序号进行哈希运算,获得哈希值;
根据所述哈希值,生成函件编码。
在一种可选的实施方式中,所述处理器42可执行所述多个指令从而实现:
获取所述函件内容的生效日期;
在所述生效日期到达之前,若接收到针对所述函件的销毁指令,根据所述函件编码,销毁所述区块链上的所述函件。
在一种可选的实施方式中,所述处理器42可执行所述多个指令从而实现:
监听区块链上的交易;
判断所述交易是否为针对所述第一节点的函件交易;
若所述交易为针对所述第一节点的函件交易,向所述区块链发送数据读取交易;
接收所述区块链返回的函件内容。
在一种可选的实施方式中,所述处理器42可执行所述多个指令从而实现:
接收针对所述函件内容输入的确认信息;
使用所述第一节点的私钥对所述确认信息进行签名;
向所述区块链发送携带有签名后的确认信息的函件确认交易。
在一种可选的实施方式中,所述判断所述交易是否为针对所述第一节点的函件交易包括:
获取所述交易携带的目标账户地址以及所述交易的属性;
判断所述目标账户地址与本地账户地址是否匹配,以及判断所述属性是否为函件;
若所述目标账户地址与本地账户地址匹配,且所述属性为函件,确定所述交易为针对所述第一节点的函件交易。
在一种可选的实施方式中,所述处理器42可执行所述多个指令从而实现:
若所述函件的函件内容为密文,使用所述第一节点的私钥或共享密钥对所述密文进行解密,获得所述函件的函件内容。
在一种可选的实施方式中,所述处理器42可执行所述多个指令从而实现:
若所述函件为问询类函件,接收输入的答复内容;
使用所述第一节点的私钥对所述答复内容进行签名,并将签名后的答复内容发送至所述区块链上。
在一种可选的实施方式中,所述处理器42可执行所述多个指令从而实现:
根据目标节点的节点标识,通过父密钥,从所述区块链上查看所述目标节点发起的所有函件;
对所述所有函件进行审核。
具体地,所述处理器42对上述指令的具体实现方法可参考图1或图2对应实施例中相关步骤的描述,在此不赘述。
在图4所描述的区块链节点4中,可以使用区块链上保存的目标合约模板,在目标合约模板上添加函件内容,创建函件,并将创建的函件发送至区块链上,通过区块链的不可篡改的特性,可以确保发送的函件内容的真实性,同时,该函件可以通过区块链在各个节点上进行在线流通,减少了线下传输函件的时间,从而可以提高函件的传输效率。
所述区块链节点4集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器以及只读存储器(ROM,Read-Only Memory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。