基于区块链的高安全性资源转移方法与流程

文档序号:22622524发布日期:2020-10-23 19:28阅读:198来源:国知局
基于区块链的高安全性资源转移方法与流程

本发明涉及区块链,特别涉及一种基于区块链的高安全性资源转移方法。



背景技术:

近年来,由于互联网的普及,随着通过互联网所形成的司法诉讼模式越来越成熟,自动化证据采集模式也越容易使互联网法院接受,公众只需通过终端完成电子证据上传和获取。然而,目前而电子证据具有易删除、易篡改的天然属性,如果不对证据资源和用户操作过程根据相关法规进行存证,电子证据的真实性和完整性就难以保证。例如在中心化的在线证据采集平台下,存在着单一服务器密钥托管易伪造的问题,一旦证据遇到真实性和完整性的纠纷,互联网法院难以确认公众提供证据的法律效力,相关方的合法权益也将无从保护。



技术实现要素:

为解决上述现有技术所存在的问题,本发明提出了一种基于区块链的高安全性资源转移方法,包括:

通过主网关节点接收资源数据与凭证数据,所述主网关节点判断所述凭证数据的状态;

在所述凭证数据为正确状态且所述状态节点验证所述凭证数据为有效状态时,所述主网关节点发送所述资源数据的传输时间参数至口令分发节点;

通过所述口令分发节点接收临时口令,并生成临时口令数据;通过所述口令分发节点发送所述临时口令数据至所述主网关节点;

通过所述主网关节点发送所述资源数据、所述临时口令数据与用户私钥数据至共识签名节点,以使所述共识签名节点根据所述资源数据、所述临时口令数据与所述用户私钥数据,利用散列函数生成区块散列值;以及

利用所述共识签名节点发送所述区块散列值至持久化节点进行存储和全网广播,并生成成功记账标记,且所述共识签名节点发送所述成功记账标记至所述主网关节点。

优选地,在所述主网关节点接收所述资源数据与所述凭证数据的步骤前,进一步包括:

通过所述共识签名节点接收终端的请求,以生成凭证请求数据;通过所述共识签名节点发送所述凭证请求数据至凭证管理节点,且所述凭证管理节点根据所述凭证请求数据生成所述凭证数据;

利用所述凭证管理节点发送所述凭证数据至所述状态节点,并生成请求完成数据,且所述凭证管理节点发送所述请求完成数据至所述共识签名节点;

通过所述共识签名节点发送临时请求数据与所述凭证数据至所述口令分发节点,以使所述口令分发节点生成所述临时口令,且所述口令分发节点发送所述临时口令至所述共识签名节点;以及

通过所述共识签名节点发送所述临时口令至所述用户终端。

优选地,其中在所述共识签名节点发送所述成功记账标记至所述主网关节点的步骤后,进一步包括:

通过一致性确认节点接收用户终端所发送的一致性确认请求数据,所述一致性确认节点根据所述一致性确认请求数据的资源上传验证时间参数而生成传输请求数据;通过所述一致性确认节点发送所述传输请求数据至所述持久化节点,在所述持久化节点比较链内区块中具有符合对应所述资源上传验证时间参数的所述区块散列值时,所述持久化节点则发送第一区块散列值至所述一致性确认节点;通过所述一致性确认节点发送启动临时口令数据至所述用户终端;通过所述用户终端发送所述临时口令至所述口令分发节点。

优选地,利用所述一致性确认节点发送所述资源上传验证时间参数至所述口令分发节点,以使所述口令分发节点生成所述临时口令数据,所述口令分发节点发送所述临时口令数据至所述一致性确认节点;

通过所述一致性确认节点根据所述临时口令数据、所述用户私钥数据与所述一致性确认请求数据,以所述散列函数生成第二区块散列值,

所述一致性确认节点比较第二区块散列值与所述第一区块散列值,以生成一比较结果数据;以及

利用所述一致性确认节点发送所述比较结果数据至所述用户终端。

本发明相比现有技术,具有以下优点:

本发明提出了一种基于区块链的高安全性资源转移方法,在共识签名机制中对每次的证据提供过程加入临时口令,以防止共识签名端伪造签名的问题,保证只有证据提供终端有权获得临时口令,并在区块链网络中以散列函数对电子证据进行区块写入,对证据上传细节生成抗抵赖性的机制。

附图说明

图1是根据本发明实施例的基于区块链的高安全性资源转移方法的流程图。

具体实施方式

下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以就提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。

本发明的一方面提供了一种基于区块链的高安全性资源转移方法。图1是根据本发明实施例的基于区块链的高安全性资源转移方法流程图。

本发明的证据资源采集系统包括主网关节点、口令分发节点、共识签名节点、持久化节点与状态节点。主网关节点接收证据提供终端所发送的证据资源数据与凭证数据。口令分发节点可通信连接主网关节点,接收证据提供终端所发送的临时口令,并生成临时口令数据。共识签名节点可通信连接口令分发节点,持久化节点可通信连接共识签名节点,状态节点可通信连接主网关节点。其中,在主网关节点判断凭证数据为正确状态,且经由状态节点验证凭证数据为有效状态时,主网关节点发送证据资源数据的证据传输时间参数至口令分发节点,且口令分发节点发送临时口令数据至主网关节点;主网关节点发送证据资源数据、临时口令数据与用户私钥数据至共识签名节点,以使共识签名节点根据证据资源数据、临时口令数据与用户私钥数据,以散列函数生成区块散列值,且共识签名节点发送区块散列值至持久化节点进行存储和全网广播,并在全网广播后生成成功记账标记,共识签名节点发送成功记账标记至主网关节点。

具体而言,在用户通过证据提供终端登录主网关节点进行证据上传并完成后,请求主网关节点进行证据验签,此时主网关节点检验证据提供终端的凭证数据的正确性,并向状态节点校验凭证数据的有效性。如果凭证数据正确,主网关节点提供证据传输时间参数至口令分发节点。然后,口令分发节点则生成临时口令数据,并将临时口令数据提供给主网关节点,而主网关节点要求共识签名节点以此临时口令数据、用户的证据传输时间以及其所上传的证据资源利用用户私钥数据进行签名,此时,共识签名节点以此临时口令数据、用户的证据传输时间及其所上传的证据资源,共同以散列函数进行区块写入,再将所述区块的散列值发送至持久化节点。而持久化节点将区块散列值进行存储后,通知共识签名节点已完成区块散列值存储,而主网关节点同时通知证据使用方,已完成证据资源转移与证据验签。

优选地,证据资源采集系统可进一步包括凭证管理节点,其可通信连接共识签名节点,在共识签名节点接收并根据证据提供终端的申请而生成凭证请求数据,且共识签名节点发送凭证请求数据至凭证管理节点时,凭证管理节点则根据凭证请求数据而生成凭证数据。其中,在状态节点接收凭证管理节点所发送的凭证数据时,状态节点生成请求完成数据,并发送请求完成数据至共识签名节点,且共识签名节点发送临时请求数据与凭证数据至口令分发节点,以使口令分发节点生成临时口令,口令分发节点经由共识签名节点发送临时口令至证据提供终端。

举例而言,用户在申请建立动态资源转移凭证时,先向共识签名节点申请凭证预授权,以使共识签名节点生成密钥对,管理私钥,并生成凭证请求数据。然后,共识签名节点向凭证管理节点申请凭证,而由凭证管理节点签发凭证数据,凭证管理节点将用户申请的凭证数据发布至状态节点,提供电子证据获取系统查询凭证可信源。其后,状态节点通知凭证管理节点其凭证发布完成,而凭证管理节点通知共识签名节点完成用户凭证请求。

共识签名节点向口令分发节点申请使用生成临时口令数据时,口令分发节点确认用户的凭证数据,并在确认正确后,口令分发节点通知共识签名节点,完成用户申请。

由此,本发明提供用户申请建立动态资源转移凭证,用户可委托共识签名节点向凭证管理节点申请凭证,并将证据使用方的凭证发布至全网,再向口令分发节点申请生成临时口令。

在可选的实施例中,证据资源采集系统优选地还包括一致性确认节点,其可通信连接口令分发节点与持久化节点,在一致性确认节点接收证据提供终端所发送一致性确认请求数据时,一致性确认节点则根据一致性确认请求数据的资源上传验证时间参数而生成传输请求数据,并且,在一致性确认节点发送传输请求数据至持久化节点且在持久化节点比较链内区块中具有符合对应资源上传验证时间参数的区块散列值时,持久化节点发送第一区块散列值至一致性确认节点,以使一致性确认节点发送启动临时口令数据至证据提供终端。其中,在证据提供终端发送临时口令至口令分发节点,且一致性确认节点发送资源上传验证时间参数至口令分发节点时,口令分发节点生成临时口令数据,且口令分发节点发送临时口令数据至一致性确认节点;并且一致性确认节点根据临时口令数据、用户私钥数据与一致性确认请求数据,以散列函数生成第二区块散列值,且一致性确认节点比较第二区块散列值与第一区块散列值,以生成比较结果数据,并发送比较结果数据至证据提供终端。

具体地,在证据使用方提出追查需求时,以发生证据追查需求的时间为起点,向一致性确认节点要求验证某一项证据获取的正确性,而一致性确认节点要求持久化节点提供该项证据传输时间的区块链数据的内容。而在持久化节点为一致性确认节点提供此项证据传输时间的区块链数据的内容后,一致性确认节点要求用户以临时口令来启动口令分发节点,然后一致性确认节点为口令分发节点提供证据获取的时间,使口令分发节点生成与证据传输时间相同的临时口令数据。

其后,口令分发节点将所述临时口令数据提供给一致性确认节点,一致性确认节点则将临时口令数据、用户私钥数据、历史证据传输时间,以及历史上传的证据资源,以散列函数生成第二区块散列值,再将此第二区块散列值与持久化节点区块链的第一区块散列值即证据上传时的持久化散列值数据相比较。将比较结果发送回证据使用方。

由此可见,本发明提供了验证所有证据资源转移结果数据持久化的机制,在用户要求验证某项证据提供的正确性时,一致性确认节点以临时口令、历史证据传输时间,以及历史上传的证据资源,通过散列函数生成散列值,再将此散列值与记录服务器中区块链的证据上传时的持久化散列值数据比较,而对证据传输的事实建立了抗抵赖性的机制。

对应地,本发明的动态共识签名方法可包括下列步骤:

a1:通过主网关节点接收证据资源数据与凭证数据,当主网关节点判断凭证数据为正确状态,且状态节点验证凭证数据为有效状态时,主网关节点发送证据资源数据的证据传输时间参数至口令分发节点;

a2:通过口令分发节点接收临时口令,并生成临时口令数据;

a3:通过口令分发节点发送临时口令数据至主网关节点;

a4:通过主网关节点发送证据资源数据、临时口令数据与用户私钥数据至共识签名节点,以使共识签名节点根据证据资源数据、临时口令数据与用户私钥数据,以散列函数生成区块散列值;以及

a5:利用共识签名节点发送区块散列值至持久化节点进行存储和全网广播,在完成之后生成成功记账标记,且共识签名节点发送成功记账标记至主网关节点。

优选地,在主网关节点接收证据资源数据与凭证数据的步骤a1前,进一步包括下列步骤:

b0:通过共识签名节点接收并根据证据提供终端的请求,以生成凭证请求数据;

b1:通过共识签名节点发送凭证请求数据至凭证管理节点,且凭证管理节点根据凭证请求数据生成凭证数据;

b2:利用凭证管理节点发送凭证数据至状态节点,并生成请求完成数据,且凭证管理节点发送请求完成数据至共识签名节点;以及

b3:通过共识签名节点发送临时请求数据与凭证数据至口令分发节点,以使口令分发节点生成临时口令,且口令分发节点发送临时口令至共识签名节点;以及

b4:通过共识签名节点发送临时口令至证据提供终端。

优选地,在共识签名节点发送成功记账标记至主网关节点的步骤后,进一步包括下列步骤:

c0:通过一致性确认节点接收证据提供终端所发送的一致性确认请求数据,且一致性确认节点根据一致性确认请求数据的资源上传验证时间参数而生成传输请求数据;

c1:通过一致性确认节点发送传输请求数据至持久化节点,且在持久化节点比较链内区块中具有符合对应资源上传验证时间参数的区块散列值时,持久化节点则发送第一区块散列值至一致性确认节点;

c2:通过一致性确认节点发送启动临时口令数据至证据提供终端;

c3:通过证据提供终端发送临时口令至口令分发节点;以及

c4:利用一致性确认节点发送资源上传验证时间参数至口令分发节点,以使口令分发节点生成临时口令数据,且口令分发节点发送临时口令数据至一致性确认节点;

c5:通过一致性确认节点根据临时口令数据、用户私钥数据与一致性确认请求数据,以散列函数生成第二区块散列值,且一致性确认节点比较第二区块散列值与第一区块散列值,以生成比较结果数据;以及

c6:利用一致性确认节点发送比较结果数据至证据提供终端。

在可选实施例中,本发明的证据资源采集系统包括多个不同的资源传输服务,为确定同一用户在多个资源传输服务中的事务,进一步利用针对用户注册的区块链中的身份摘要来提供上述用户的证据资源数据,从而通过身份摘要来追踪多个不同的资源传输服务中的用户的证据资源数据。

在这种情况下,例如用户终端响应于来自用户的请求,从区块链网络发布公钥,将与所发布的公钥相应的区块链钱包地址作为身份摘要在全网传递,从而可使身份摘要和注册在全网中的用户帐户相关联。优选地,可通过将散列算法应用于公钥来生成身份摘要。或公钥可以是在区块链网络中保管令牌的区块链钱包地址,公钥本身可成为身份摘要。其中,令牌可以是由区块链网络的多个参与者作为证据上传方式的数据单元,并且可根据区块链协议来定义。

换言之,证据提供终端可使身份摘要和全网中注册的用户帐户相关联。并且,由于传统技术没有可以在线识别用户的固有密钥,因此用户无法追踪其数据的收集利用过程。但根据本发明的实施例,如果利用上述身份摘要在区块链网络上收集证据资源数据,则可以追踪数据。

根据本发明的实施例,在多个资源传输服务中的用户的事务和/或数据通过每个用户的身份摘要上传到区块链网络的情况下,每个资源传输服务可将与其他服务相关联的多个用户的事务和/或数据绑定为一个身份摘要来生成立体的用户数据。因此,各个资源传输服务可以向记账节点提供每个资源传输服务的更详细的用户数据。

如上所述,用户可以从区块链网络接收身份摘要,并且可使所接收的身份摘要与用户所需的每个资源传输服务的帐户相关联。可选地,用户以输入身份摘要的形式来请求在资源传输服务中注册的用户帐户和所接收的身份摘要之间的关联。可选地,证据资源采集系统可将发送的身份摘要和用户标识符进行关联存储。用户标识可包括在资源传输服务中预先注册的用户id和/或向用户预先发布的浏览器cookie值。例如,对于登录用户,证据资源采集系统使用户的身份摘要与在资源传输服务中注册的登录用户id相关联。另一方面,对于未登录用户,证据资源采集系统将向所述未登录用户预先发布的浏览器cookie内容与身份摘要相关联,从而针对未登录用户,通过身份摘要来实现对实际用户的识别。

上述方法可基于智能合约,实现用户所拥有的数据在区块链网络中安全共享。如果第一用户u1使用本发明的上述资源转移服务,则第一用户u1可通过第一证据提供端e1进行用户注册操作。第一证据提供端e1由第一用户u1操作。首先,在第一区块链部署关联于第一用户u1的用户合约sc1。在不同的实施例中,用户合约sc1可用于存储一个或多个资源指针,而这些资源指针可用于访问属于第一用户u1的不同数据条目。然后在第一区块链中预先部署身份合约mc1,其可用于记录不同用户的用户身份。响应于第一用户u1的用户注册操作,上述系统可相应地在身份合约mc1中增加对应于第一用户u1的用户身份记录ur1。用户身份记录ur1可包括第一用户u1的身份摘要is1、区块链地址as1及第一用户合约地址uca1,其中第一用户合约地址uca1指向第一用户u1的用户合约sc1,且身份摘要is1基于第一用户u1的身份信息而生成。

应了解的是,上述各种智能合约的部署和修改操作均以交易的形式通知作为公共账本的第一区块链的各个节点。

第一证据使用端h1在第一区块链中预先部署证据使用方用户合约uc2,其可用于记录不同证据使用端的证据使用方身份记录。因此,相应地在证据使用方用户合约uc2中增加对应于第一证据使用端h1的证据使用方身份记录hr1。在本实施例中,证据使用方身份记录hr1可包括第一证据使用端h1的标识hid1、名称hn和第二智能合约地址ca2,其中第二智能合约地址ca2指向第一证据使用端h1的用户合约sc2。

在证据使用主体d1下载之后,证据使用主体d1可根据下载记录创建关联于第一用户u1的第一资源数据rpd1,而第一证据使用端h1可将第一资源数据rpd1加入第一证据使用端h1的本地缓存中。然后实现第一用户u1为其他证据使用端共享第一资源数据rpd1的目的。以下将进一步说明。

首先,响应于第一证据使用端h1增加关联于第一用户u1的第一资源数据rpd1,第一证据使用端h1可在第一区块链中部署资源合约rc。在本实施例中,第一资源数据rpd1存储于第一证据使用端h1的本地缓存,且第一资源数据rpd1具有第一简档md,而第一简档md可记录于资源合约dc中。

在一个实施例中,第一简档md还可包括散列值字段,其可记录基于第一资源数据rpd1而生成的数据散列值。由此,如果有任何终端尝试访问第一资源数据rpd1,可基于该数据散列值来验证第一资源数据rpd1是否经过篡改。

在另一实施例中,第一简档md还可包括访问许可字段,其记录可访问第一资源数据rpd1的终端名称。由于第一资源数据rpd1系属于第一用户u1,且由第一证据使用端h1所增加,故第一简档md中的访问许可字段可记录第一证据使用端h1的名称以及第一用户u1的名称,以表示第一证据使用端h1及第一用户u1具有访问第一资源数据rpd1的权限。

之后,第一证据使用端h1在用户合约sc2中增加第一资源指针ad1,并将第一资源指针ad1提供至第一用户u1的第一证据提供端e1。第一资源指针ad1指向资源合约dc。

第一证据提供端e1在第一用户的用户合约sc1中增加第一资源指针ad1。在第一资源指针ad1被加入第一证据提供端e1之后,基于第一资源指针ad1而获取第一资源数据rpd1的简档md。

举例而言,假设第一用户u1需要将第一资源数据rpd1共享至第二证据使用端h2,则第一用户u1可在选择第一资源数据rpd1之后,再选择第二证据使用端h2作为共享第一资源数据rpd1的对象。

响应于第一用户u1在第一证据提供端e1选择第一资源数据rpd1,并相应地从多个证据使用端中选择第二证据使用端h2作为共享第一资源数据rpd1的对象,第一证据提供端e1确定第一资源数据rpd1被授权共享至第二证据使用端h2。

之后,响应于第一资源数据rpd1被授权共享至第二证据使用端h2,第一证据提供端e1可将第一资源指针ad1提供至第二证据使用端h2,以允许第二证据使用端h2通过第一资源指针ad1访问第一资源数据rpd1。第二证据使用端h2可在第二证据使用端h2的用户合约sc3中增加第一资源指针ad1。

在此情况下,证据使用主体d2通过第二证据使用端h2的用户合约sc3所记录的第一指针ad1而获取第一资源数据rpd1的简档md。并且,证据使用主体d2可通过触发第一资源指针ad1来试图访问第一资源数据rpd1的内容。

响应于第二证据使用端h2的用户合约sc3中的第一资源指针ad1被触发,第二证据使用端h2发送用于访问第一资源数据rpd1的访问请求至第一证据提供端e1。然后,第一证据提供端e1将该访问请求转发至第一证据使用端h1。

相应地,第一证据使用端h1可对第二证据使用端h2和第一资源数据rpd1的至少一个进行验证操作。在一个实施例中,假设简档md包括访问许可字段,则响应于第一资源数据rpd1经授权共享至第二证据使用端h2,第一证据使用端h1可增加第二证据使用端h2的名称至简档md的访问许可字段。

如果第一证据使用端h1从第一证据提供端e1接收第二证据使用端h2访问第一资源数据rpd1的访问请求,第一证据使用端h1可判断第二证据使用端h2的名称是否存在于简档md的访问许可字段中。如果是,则第一证据使用端h1确定第二证据使用端h2为第一资源数据rpd1的合法访问者,并相应地确定第二证据使用端h2已通过验证操作。相反,如果第二证据使用端h2的名称不存在于简档md的访问许可字段中,则第一证据使用端h1确定第二证据使用端h2不属于第一资源数据rpd1的合法访问者,并相应地确定第二证据使用端h2未通过验证操作。

在确定第二证据使用端h2通过验证操作后,第一证据使用端h1可将本地缓存中的第一资源数据rpd1通过第一证据提供端e1提供至第二证据使用端h2。具体而言,第一证据使用端h1可将第一资源数据rpd1转发至第一证据提供端e1,而第一证据提供端e1可再将第一资源数据rpd1转发至第二证据使用端h2。

如果简档md中包括散列值字段,则在第二证据使用端h2从第一证据提供端e1获取第一资源数据rpd1之后,基于第一资源数据rpd1计算参考散列值。响应于参考散列值匹配于散列值字段中的数据散列值,第二证据使用端h2确定第一资源数据rpd1未被篡改。相反,如果参考散列值未匹配于所述数据散列值,则第二证据使用端h2确定第一资源数据rpd1已被篡改。由此,第二证据使用端h2可进一步验证第一资源数据rpd1的正确性,从而避免相关主体下载已被篡改的数据。

此外,还可定期地基于第一区块链中的多个区块生成支链散列值,并将支链散列值以交易的形式发布至第二区块链。在本发明的架构下,由于第一区块链的相关主体可采用更高效的共识生成方式,因此可产生更好的交易吞吐量。并且,通过将支链散列值记录于第二区块链的方式,还可保证第一区块链中各项数据的正确性。

采用本发明的方法,由于第一区块链即公共账本上仅存储有指向资源合约的指针,并未存储有实际的数据,因而可实现隐私保护。本发明还可让用户自行选择希望共享的数据,从而实现共享数据的可问责制和透明性。

对于执行上述智能合约的区块链网络,当主网关节点接收到用户的资源转移服务请求时,也可先向用户请求凭证数据,再从区块链网络查询对应于特定凭证数据的智能合约以进行验证。

当将智能合约广播至区块链网络,完成智能合约的发布后,根据合约地址执行相应的智能合约,通过不同的指令来改变智能合约在区块链中的状态。

当证据提供用户传送凭证数据时,凭证数据可进一步包括签名与公钥。合约发布端包括初始化模块和区块更新模块。初始化模块用于在初始化时通过区块发布凭证注册合约,所述凭证注册合约包括凭证注册流程代码和凭证注册成功事件。在实施中,所述合约发布端可为设置在授权机构的服务器,可选地也可作为区块链网络中的普通节点。

区块更新模块用于从用户接收凭证数据以发布对应的凭证合约,并且通过区块更新操作,将凭证合约发布至区块链网络以获取凭证合约地址,以及执行凭证注册流程代码将凭证合约地址注册至凭证注册合约,并且在注册完成时触发凭证注册成功事件。因此合约发布端在收到来自用户传送的凭证数据时,则发布对应所述凭证数据的凭证合约,并且根据其凭证合约地址将所述凭证合约注册在凭证注册合约中。如果所述凭证注册合约记载了所有的凭证合约地址,所有记账节点就能够以凭证合约地址查询到对应的凭证合约。

所述主网关节点包括合约模块、验证模块和处理模块。所述合约模块用于在提供资源转移服务之前,预先通过区块更新操作发布服务合约,所述服务合约包括服务流程代码和服务事件。在实施中,主网关节点优选为轻量级节点,所述轻量级节点即无需下载完整的区块链或状态,仅需要下载区块头,然后可以从网络下载和验证默克尔根的节点。验证模块用于在接收到用户的资源转移服务请求时,向用户请求凭证数据,并且在收到凭证数据后,从凭证注册合约查询对应用户的凭证合约以验证签名与公钥。处理模块用于在凭证数据通过验证后,执行服务流程代码和触发相应的服务事件,使主网关节点对用户提供服务。

特别要说明的是,合约发布端还可包括提供身份审核程序,并且在用户执行身份审核程序后,才允许用户发布的凭证签名请求合约进行注册,否则,如果用户未执行身份审核程序,合约发布端将不允许用户发布的凭证签名请求合约注册在凭证签名请求合约中。

在一个实施例中,结合区块链的凭证发布与合约验证流程包括:

步骤10、提供用户、合约发布端和记账节点作为区块链网络的节点,每个记账节点在提供服务之前,预先通过区块更新操作发布服务合约,所述服务合约包括服务流程代码和服务事件;

步骤20、合约发布端启动时,通过区块更新操作发布凭证注册合约以提供凭证合约进行注册,其中,凭证注册合约包括凭证注册流程代码和凭证注册成功事件;

步骤30、用户传送凭证数据,所述凭证数据包括签名与公钥;

步骤40、合约发布端从用户接收凭证数据以发布对应的凭证合约,并且通过区块更新操作将凭证合约发布至区块链网络以获取凭证合约地址,以及,执行凭证注册流程代码将凭证合约地址注册至凭证注册合约,并且在注册完成时触发凭证注册成功事件;

步骤50、主网关节点在接收到用户的服务请求时,向用户请求凭证数据,并且在收到凭证数据后,自凭证注册合约查询对应用户的凭证合约以验证签名与公钥;

步骤60、主网关节点在凭证数据通过验证后,执行服务流程代码和触发相应的服务事件,使区块链网络对用户提供资源转移服务。

通过上述步骤,即可通过合约发布端结合凭证数据与执行智能合约的区块链网络,使凭证数据的验证转变为去中心化,当主网关节点接收到用户的资源转移服务请求时,先向用户请求凭证数据,再从区块链网络查询对应所述凭证数据的智能合约以进行验证,以就在通过验证后提供相应的服务。

此外在通过区块更新操作发布凭证注册合约以提供凭证合约进行注册的步骤之后,合约发布端还可提供身份审核程序,并且在用户执行身份审核程序后,允许用户发布的凭证签名请求合约进行注册。

在用户已拥有凭证数据的情况下,合约发布端仅通过区块更新操作发布凭证注册合约,用户则传送所述凭证数据至合约发布端,以使合约发布端发布对应所述凭证数据的凭证合约,并且执行凭证注册流程代码将所述凭证合约的凭证合约地址注册至凭证注册合约,当注册完成时即触发凭证注册成功事件。此时,用户可以侦测所述凭证注册成功事件来确认凭证数据是否已被注册至区块链网络,假设侦测到凭证注册成功事件被触发代表已注册成功;否则代表未注册成功。主网关节点接收到用户的服务请求时,就能够向用户请求凭证数据,并且在收到凭证数据后,自凭证注册合约查询对应用户的凭证合约以验证签名与公钥,并且在通过验证后,执行服务流程代码和触发相应的服务事件。

在用户还没有凭证数据的情况下,合约发布端在初始化时,除通过区块更新操作发布凭证注册合约之外,还要发布凭证签名请求合约。生成凭证签名请求信息以向合约发布端申请凭证数据。当用户生成凭证签名请求信息之后,通过区块更新操作发布对应的凭证签名请求合约以存储凭证签名请求信息并获得凭证签名请求合约地址,并且将凭证签名请求合约地址注册至凭证签名请求合约中,以及在注册完成时触发请求成功事件。当合约发布端侦测到请求成功事件被触发时,验证相应的凭证签名请求合约,并且在通过验证时,通过区块更新操作发布对应的凭证合约以获得凭证合约地址,以及执行凭证注册流程代码将凭证合约地址注册至凭证注册合约,并且在注册完成时触发凭证注册成功事件及生成对应凭证合约的凭证数据,以将凭证数据提供给用户。此时,合约发布端完成在区块链网络上发布凭证数据。

综上所述,本发明提出了一种基于区块链的高安全性资源转移方法,在共识签名机制中对每次的证据提供过程加入临时口令,以防止共识签名端伪造签名的问题,保证只有证据提供终端有权获得临时口令,并在区块链网络中以散列函数对电子证据进行区块写入,对证据上传细节生成抗抵赖性的机制。

显然,本领域的技术人员应所述理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

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