欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 基于区块链的业务处理方法、装置和计算机设备独创技术45385字

基于区块链的业务处理方法、装置和计算机设备

2021-03-20 13:55:58

基于区块链的业务处理方法、装置和计算机设备

  技术领域

  本申请涉及计算机技术和区块链技术领域,特别是涉及一种基于区块链的业务处理方法、装置和计算机设备。

  背景技术

  随着科学技术的发展,各行各业都在向着信息化的方向发展,很多业务都在线上进行办理(比如:企业在线上处理业务数据或买家在电商平台进行购物等)。

  一般当业务操作产生业务数据时,会即时地将业务数据进行呈现,从而进行业务处理。然而,在有些业务情形下,需要在满足预设条件(比如:达到预设时间)时才可以进行业务处理,在尚未满足预设条件的阶段中容易给业务数据带来安全性问题。

  发明内容

  基于此,有必要针对上述技术问题,提供一种能够提高业务数据安全性的基于区块链的业务处理方法、装置、计算机设备和存储介质。

  一种基于区块链的业务处理方法,所述方法应用于区块链系统中任意的区块链节点;所述方法包括:

  通过智能加密模块获取业务数据区块的区块标识,并执行相应智能合约生成与所述业务数据区块对应的时间锁加密公钥、加密时间点和加密时长;

  通过所述智能加密模块在使用时间锁加密公钥对所述业务数据区块进行一次加密后,根据第一密钥对中的私钥,对所述区块标识和一次加密后的业务数据区块进行加密,并将加密后的数据和所述第一密钥对中的公钥向各区块链节点广播,以使各区块链节点通过所述第一密钥对中的公钥解密得到所述区块标识和所述一次加密后的业务数据区块;

  将所述区块标识、所述加密时间点、所述加密时长和所述时间锁加密公钥关联存储至智能解密模块,并通过第二密钥对中的私钥加密后连同所述第二密钥对中的公钥向各区块链节点广播;

  当在所述加密时间点的基础上经过所述加密时长后,通过所述智能解密模块执行智能合约,生成与所述时间锁加密公钥对应的时间锁解密私钥;

  通过所述时间锁解密私钥,对一次加密后的业务数据区块进行解密,并根据解密得到的所述业务数据区块中的数据进行相应业务处理。

  在其中一个实施例中,在所述通过智能加密模块获取业务数据区块的区块标识之前,所述方法还包括:

  获取业务操作数据,生成业务数据区块;

  当所述业务数据区块涉及与时间锁加密相关的第一业务操作时,通过智能分流模块将所述业务数据区块分流存储至智能加密模块,并执行所述通过智能加密模块获取业务数据区块的区块标识及后续步骤。

  在其中一个实施例中,所述方法还包括:

  当所述业务数据区块涉及用于触发对相关联的、且使用时间锁加密后的业务数据区块进行解密的第二业务操作时,通过所述智能分流模块确定相关联的业务数据区块的区块标识,并通过第三密钥对中的私钥对所述业务数据区块加密后连同所述第三密钥对中的公钥广播至各区块链节点;

  将确定的区块标识存储至所述智能解密模块,并通过第四密钥对中的私钥对所述确定的区块标识加密后,连同所述第四密钥对中的公钥向各区块链节点广播;

  通过所述智能解密模块查找与所述确定的区块标识关联存储的时间锁加密公钥,并执行所述通过所述智能解密模块执行智能合约,生成与所述时间锁加密公钥对应的时间锁解密私钥及后续步骤。

  在其中一个实施例中,所述方法还包括:

  当所述业务数据区块不涉及所述第一业务操作、且不涉及所述第二业务操作时,通过所述智能分流模块在使用第五密钥对中的私钥对所述业务数据区块加密后,连同所述第五密钥对中的公钥广播至各所述区块链节点,以使各所述区块链节点下载数据后通过所述第五密钥对中的公钥解密,并根据解密得到的所述业务数据区块中的数据进行相应的业务处理。

  在其中一个实施例中,在所述通过所述智能解密模块执行智能合约,生成与所述时间锁加密公钥对应的时间锁解密私钥之前,所述方法还包括:

  通过所述智能解密模块执行智能合约,判断所述区块链节点是否具有查看所述业务数据区块的权限;

  当所述区块链节点具有权限时,则执行所述通过所述智能解密模块执行智能合约,生成与所述时间锁加密公钥对应的时间锁解密私钥及后续步骤。

  在其中一个实施例中,所述第一业务操作包括资源转移操作;所述业务数据区块包括资源转移数据区块;

  生成的所述时间锁解密私钥,用于对一次加密后的资源转移数据区块进行解密,并根据解密得到的所述资源转移数据区块中的资源转移数据,进行资源转移处理。

  在其中一个实施例中,所述第二业务操作包括确认收货操作;所述业务数据区块包括确认收货数据区块;所述相关联的业务数据区块包括资源转移数据区块。

  一种基于区块链的业务处理装置,所述装置设置于区块链系统中任意的区块链节点中;所述装置包括:

  时间锁加密单元,用于通过智能加密模块获取业务数据区块的区块标识,并执行相应智能合约生成与所述业务数据区块对应的时间锁加密公钥、加密时间点和加密时长;

  广播单元,用于通过所述智能加密模块在使用时间锁加密公钥对所述业务数据区块进行一次加密后,根据第一密钥对中的私钥,对所述区块标识和一次加密后的业务数据区块进行加密,并将加密后的数据和所述第一密钥对中的公钥向各区块链节点广播,以使各区块链节点通过所述第一密钥对中的公钥解密得到所述区块标识和所述一次加密后的业务数据区块;

  时间锁解密单元,用于将所述区块标识、所述加密时间点、所述加密时长和所述时间锁加密公钥关联存储至智能解密模块,并通过第二密钥对中的私钥加密后连同所述第二密钥对中的公钥向各区块链节点广播;当在所述加密时间点的基础上经过所述加密时长后,通过所述智能解密模块执行智能合约,生成与所述时间锁加密公钥对应的时间锁解密私钥;

  业务处理单元,用于通过所述时间锁解密私钥,对一次加密后的业务数据区块进行解密,并根据解密得到的所述业务数据区块中的数据进行相应业务处理。

  一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本申请各实施例所述的基于区块链的业务处理方法中的步骤。

  一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行本申请各实施例所述的基于区块链的业务处理方法中的步骤。

  上述基于区块链的业务处理方法、装置、计算机设备和存储介质,通过智能加密模块生成时间锁加密公钥、加密时间点和加密时长,并通过时间锁加密公钥对业务数据区块进行加密后向各区块链节点进行广播,这样使得各区块链节点在接收到加密后的业务数据区块后,由于没有时间锁解密私钥,而无法进行解密。当在加密时间点的基础上经过加密时长后,通过智能解密模块生成与时间锁加密公钥对应的时间锁解密私钥,并通过时间锁解密私钥对业务数据区块进行解密,从而根据业务数据区块中的数据进行相应业务处理。这样在加密时长未达到的阶段中,将业务数据区块中的数据进行了时间锁加密,各节点无法获得业务数据区块中的数据,保障了此阶段业务数据的安全性。

  附图说明

  图1为一个实施例中基于区块链的业务处理方法的应用环境图;

  图2为一个实施例中基于区块链的业务处理方法的流程示意图;

  图3为一个实施例中基于区块链的业务处理装置的结构框图;

  图4为另一个实施例中基于区块链的业务处理装置的结构框图;

  图5为一个实施例中计算机设备的内部结构图。

  具体实施方式

  为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

  本申请提供的基于区块链的业务方法,可以应用于如图1所示的应用环境中。图中的区块链系统中包括多个区块链节点102,各区块链节点102之间通过网络进行通信。其中任意一个区块链节点102生成时间锁加密公钥、加密时间点和加密时长,通过时间锁加密公钥对业务数据区块进行加密,并将加密后的业务数据区块向各区块链节点广播。在加密时间点的基础上经过加密时长后,各区块链节点生成时间锁加密公钥对应的时间锁解密私钥,并通过时间锁解密私钥对加密后的业务数据区块进行解密,根据业务数据区块中的数据进行业务处理。其中,区块链节点102可以为终端或服务器。

  在一个实施例中,如图2所示,提供了一种基于区块链的业务处理方法,以该方法应用于图1中的区块链节点102为例进行说明,包括以下步骤:

  S202,通过智能加密模块获取业务数据区块的区块标识,并执行相应智能合约生成与业务数据区块对应的时间锁加密公钥、加密时间点和加密时长。

  其中,智能加密模块,是区块链系统的节点中用于对业务数据区块进行时间锁加密的模块。时间锁加密,是指对业务数据区块进行加密,在达到预设的加密时长之前无法解密,在达到预设的加密时长之后才可以进行解密的处理。区块标识,是区块中用于对区块进行唯一表征的标识。智能合约,是智能加密模块中用于生成与业务数据区块对应的时间锁加密公钥、加密时间点和加密时长的智能合约。时间锁加密公钥,是用于对业务数据区块进行时间锁加密的公钥。加密时间点,是对业务数据区块进行时间锁加密的时间点。加密时长,是预设的对业务数据区块保持时间锁加密状态的时长。

  具体地,区块链节点中的智能加密模块在接收到业务数据区块后,可以先从业务数据区块中读取的区块标识,然后执行与该业务数据区块对应的智能合约,生成与该业务数据区块对应的时间锁加密公钥、加密时间点和加密时长。可以理解,不同的业务数据区块所需的加密时长可以不同,因此,不同的业务数据区块可以对应不同的智能合约,从而生成不同的加密时长。时间锁加密公钥是随机生成的。

  S204,通过智能加密模块在使用时间锁加密公钥对业务数据区块进行一次加密后,根据第一密钥对中的私钥,对区块标识和一次加密后的业务数据区块进行加密,并将加密后的数据和第一密钥对中的公钥向各区块链节点广播,以使各区块链节点通过第一密钥对中的公钥解密得到区块标识和一次加密后的业务数据区块。

  其中,第一密钥对,是随机生成的用于进行加密和解密的公私钥对。

  具体地,区块链节点中的智能加密模块可以先通过时间锁加密公钥,对业务数据区块进行一次加密,然后随机生成第一密钥对,使用第一密钥对中的私钥对区块标识和一次加密后的业务数据区块进行加密,即,业务数据区块一共被加密了两次。区块链节点的智能加密模块可以将第一密钥对中的公钥和通过第一密钥对中的私钥加密后的数据向各区块链节点广播。

  可以理解,各区块链节点在接收到第一密钥对中的公钥和通过第一密钥对中的私钥加密后的数据后,可以先通过第一密钥对中的公钥进行解密,得到区块标识和一次加密后的业务数据区块。但由于没有时间锁加密公钥所对应的时间锁解密私钥,而无法继续对一次加密后的业务数据区块进行解密。因此,在获得时间锁解密私钥前,各区块链节点无法解密得到业务数据区块中的数据并进行业务处理。

  S206,将区块标识、加密时间点、加密时长和时间锁加密公钥关联存储至智能解密模块,并通过第二密钥对中的私钥加密后连同第二密钥对中的公钥向各区块链节点广播。

  其中,智能解密模块,是区块链系统的节点中用于生成对时间锁加密后的业务数据区块进行解密的私钥的模块。第二密钥对,是随机生成的用于进行加密和解密的公私钥对。

  具体地,区块链节点中的智能加密模块可以将同一业务数据区块所对应的区块标识、加密时间点、加密时长和时间锁加密公钥一起关联存储至区块链节点中的智能解密模块,并通过第二密钥对中的私钥将区块标识、加密时间点、加密时长和时间锁加密公钥进行加密,将第二密钥对中的公钥和加密后的数据一起广播至各区块链节点。

  S208,当在加密时间点的基础上经过加密时长后,通过智能解密模块执行智能合约,生成与时间锁加密公钥对应的时间锁解密私钥。

  具体地,当在加密时间点的基础上经过加密时长后,区块链节点中的智能解密模块可以执行智能合约,生成时间锁解密私钥。该时间锁解密私钥,是与该加密时间点和加密时长所关联存储的时间锁加密公钥所对应的私钥。可以理解,当在加密时间点的基础上经过加密时长后,各区块链节点均可以执行智能合约,生成时间锁解密私钥。

  可以理解,在加密时间点的基础上经过加密时长,是指从加密时间点开始经过加密时长后的时间点为止,即,假设加密时间点为t,加密时长为T,则当在加密时间点的基础上经过加密时长后的时间点则为t+T。比如:假设加密时间点为7月5日1点钟,加密时长为15天整,则当在加密时间点的基础上经过加密时长后的时间点为7月20日1点钟,智能解密模块在这个时间点生成时间锁解密私钥。

  S210,通过时间锁解密私钥,对一次加密后的业务数据区块进行解密,并根据解密得到的业务数据区块中的数据进行相应业务处理。

  在一个实施例中,各区块链节点均可以通过自身生成的时间锁解密私钥,对一次加密后的业务数据区块进行解密,并根据解密得到的业务数据区块中的数据进行相应业务处理。

  上述基于区块链的业务处理方法中,通过智能加密模块生成时间锁加密公钥、加密时间点和加密时长,并通过时间锁加密公钥对业务数据区块进行加密后向各区块链节点进行广播,这样使得各区块链节点在接收到加密后的业务数据区块后,由于没有时间锁解密私钥,而无法进行解密。当在加密时间点的基础上经过加密时长后,通过智能解密模块生成与时间锁加密公钥对应的时间锁解密私钥,并通过时间锁解密私钥对业务数据区块进行解密,从而根据业务数据区块中的数据进行相应业务处理。这样在加密时长未达到的阶段中,将业务数据区块中的数据进行了时间锁加密,各节点无法获得业务数据区块中的数据,保障了此阶段业务数据的安全性,并且能够实现在达到预设时间后才将业务数据呈现出来进行业务处理这一业务场景。

  在一个实施例中,在通过智能加密模块获取业务数据区块的区块标识的步骤之前,该方法还包括如下步骤:获取业务操作数据,生成业务数据区块;当业务数据区块涉及与时间锁加密相关的第一业务操作时,通过智能分流模块将业务数据区块分流存储至智能加密模块,并执行通过智能加密模块获取业务数据区块的区块标识及后续步骤。

  其中,智能分流模块,是区块链系统的节点中用于根据业务数据区块所涉及的业务操作对业务数据区块进行分流的模块。业务数据区块涉及与时间锁加密相关的第一业务操作,是指该业务数据区块对应的业务操作是不可以立即进行相应业务处理的操作,而是需要通过时间锁进行加密锁定预设时间后,才对业务数据区块进行解密从而进行相应的业务处理的操作。

  具体地,区块链节点中的智能操作模块可以获取业务操作数据,生成业务数据区块,并将业务数据区块存储至区块链节点中的智能分流模块。智能分流模块可以分析判断业务数据区块涉及触发哪种操作,并根据分析判断的结果,对业务数据区块进行分流。当业务数据区块涉及与时间锁加密相关的第一业务操作时,区块链节点中的智能分流模块可以将该业务数据区块存储至区块链节点中的智能加密模块,并执行通过智能加密模块获取业务数据区块的区块标识,并执行相应智能合约生成与业务数据区块对应的时间锁加密公钥、加密时间点和加密时长及后续步骤,以对涉及与时间锁加密相关的业务操作的业务数据区块进行时间锁加密,并在达到加密时长后进行时间锁解密,进行相应业务处理。

  在一个实施例中,涉及与时间锁加密相关的第一业务操作可以包括多种需要在预设时间之后才进行相应业务处理的操作,不做限定。比如:涉及与时间锁加密相关的业务操作可以包括资源转移操作,即,在进行资源转移操作后不立即进行资源转移处理,而是在预设时间之后才进行资源转移处理。比如:买家在电商平台上提交订单后进行了付款操作(即,资源转移操作),区块链系统在获取到付款操作数据后,不立即进行付款处理(即,资源转移处理),而是在预设天数之后(比如:15天之后)才进行付款处理,将款项支付给商家。

  本实施例中,区块链节点可以通过智能分流模块对业务数据区块进行分流。当业务数据区块涉及与时间锁加密相关的第一业务操作时,智能分流模块将业务数据区块分流至智能加密模块,从而使智能加密模块对业务数据区块进行时间锁加密,从而实现在达到预设时间后才将业务数据呈现出来进行业务处理这一业务场景。在加密时长未达到的阶段中,各节点无法获得业务数据区块中的数据,保障了此阶段业务数据的安全性。

  在一个实施例中,该方法还包括如下步骤:当业务数据区块涉及用于触发对相关联的、且使用时间锁加密后的业务数据区块进行解密的第二业务操作时,通过智能分流模块确定相关联的业务数据区块的区块标识,并通过第三密钥对中的私钥对业务数据区块加密后连同第三密钥对中的公钥广播至各区块链节点;将确定的区块标识存储至智能解密模块,并通过第四密钥对中的私钥对确定的区块标识加密后,连同第四密钥对中的公钥向各区块链节点广播;通过智能解密模块查找与确定的区块标识关联存储的时间锁加密公钥,并执行通过智能解密模块执行智能合约,生成与时间锁加密公钥对应的时间锁解密私钥及后续步骤。

  其中,第三密钥对,是随机生成的用于进行加密和解密的公私钥对。

  具体地,当业务数据区块涉及用于触发对相关联的、且使用时间锁加密后的业务数据区块进行解密的第二业务操作时,区块链节点中的智能分流模块可以根据该业务数据区块中的字段,查找与该业务数据区块相关联的使用时间锁加密后的业务数据区块,并确定查找到的相关联的业务数据区块的区块标识,然后随机生成第三密钥对,通过第三密钥对中的私钥对涉及第二业务操作的业务数据区块进行加密,并将加密后的数据和第三密钥对中的公钥一起广播至各区块链节点。智能分流模块可以将确定的区块标识存储至区块链节点中的智能解密模块,并随机生成第四密钥对,根据第四密钥对中的私钥将区块标识加密后连同第四密钥对中的公钥向各区块链节点广播。区块链节点中的智能解密模块可以查找与该区块标识关联存储的时间锁加密公钥,并执行智能合约,生成与该时间锁加密公钥对应的时间锁解密私钥。区块链节点可以通过时间锁解密私钥,对一次加密后的业务数据区块进行解密,并根据解密得到的业务数据区块中的数据进行相应业务处理。

  可以理解,各区块链节点在接收到加密后的区块标识并解密后,均可以查找与该区块标识关联存储的时间锁加密公钥,并执行智能合约,生成与该时间锁加密公钥对应的时间锁解密私钥,并通过时间锁解密私钥,对一次加密后的业务数据区块进行解密,并根据解密得到的业务数据区块中的数据进行相应业务处理。

  可以理解,当智能操作模块生成的业务数据区块中存在涉及用于触发对相关联的、且使用时间锁加密后的业务数据区块进行解密的第二业务操作的业务数据区块时,该业务数据区块所关联的业务数据区块可以无需等到加密时长才进行解密,而是立即进行解密,即,立即使智能解密模块生成相应的时间锁解密私钥。

  在一个实施例中,在区块链节点中的智能解密模块可以查找与该区块标识关联存储的时间锁加密公钥,并执行智能合约,生成与该时间锁加密公钥对应的时间锁解密私钥的步骤之前,区块链节点中的智能解密模块可以执行智能合约,判断该区块链节点是否具有查看该业务数据区块的权限。当该区块链节点具有权限时,则通过智能解密模块执行智能合约,生成与时间锁加密公钥对应的时间锁解密私钥,然后通过时间锁解密私钥,对一次加密后的业务数据区块进行解密,并根据解密得到的业务数据区块中的数据进行相应业务处理。当该区块链节点不具有权限时,则不执行通过智能解密模块执行智能合约,生成与时间锁加密公钥对应的时间锁解密私钥及后续步骤。

  在一个实施例中,涉及用于触发对相关联的、且使用时间锁加密后的业务数据区块进行解密的第二业务操作,可以包括多种可以触发对使用时间锁加密后的业务数据区块进行解密的操作,不做限定。比如:涉及用于触发对相关联的、且使用时间锁加密后的业务数据区块进行解密的业务操作可以包括确认收货操作,区块链节点的智能分流模块可以查找涉及确认收货操作的确认收货数据区块所关联的资源转移数据区块,然后将资源转移数据区块的区块标识存储至智能解密模块,智能解密模块可以生成相应的可以对资源转移数据区块进行解密的时间锁解密私钥。

  本实施例中,当业务数据区块涉及用于触发对相关联的、且使用时间锁加密后的业务数据区块进行解密的第二业务操作时,区块链节点中的智能分流模块可以查找相关联的业务数据区块并读取区块标识,将区块标识存储至智能解密模块,智能解密模块可以生成时间锁解密私钥,从而使得各区块链节点对涉及与时间锁加密相关的业务操作的业务数据区块立即进行解密,而无需等到加密时长才解密。这样可以实现通过某些业务操作来触发提前解开时间锁加密,立即进行业务处理的场景,提高了业务处理的灵活性。

  在一个实施例中,该方法还包括如下步骤:当业务数据区块不涉及第一业务操作、且不涉及第二业务操作时,通过智能分流模块在使用第五密钥对中的私钥对业务数据区块加密后,连同第五密钥对中的公钥广播至各区块链节点,以使各区块链节点下载数据后通过第五密钥对中的公钥解密,并根据解密得到的业务数据区块中的数据进行相应的业务处理。

  其中,第五密钥对,是随机生成的用于进行加密和解密的公私钥对。

  具体地,当业务数据区块既不涉及与时间锁加密相关的第一业务操作,又不涉及用于触发对相关联的、且使用时间锁加密后的业务数据区块进行解密的第二业务操作时,区块链节点的智能分流模块可以随机生成第五密钥对,使用第五密钥对中的私钥对业务数据区块进行加密,并将第五密钥对中的公钥和加密后的业务数据区块广播至各区块链节点。各区块链节点可以在接收到第五密钥对中的公钥和加密后的业务数据区块后,通过第五密钥对中的公钥对加密后的业务数据区块进行解密,得到业务数据区块中的数据,然后根据业务数据区块中的数据进行相应业务处理。

  本实施例中,当业务数据区块既不涉及第一业务操作,又不涉及第二业务操作时,区块链节点的智能分流模块可以直接将业务数据区块加密后广播至各区块链节点,各区块链节点在解密后直接进行业务处理,而无需等待,从而实现对业务操作直接进行相应的业务处理,提高了业务处理的灵活性。

  在一个实施例中,区块链中的智能分流模块可以执行智能合约,判断业务数据区块对应的业务操作属于何种类型。第一类业务操作为涉及与时间锁加密相关的第一业务操作,第二类业务操作为涉及用于触发对相关联的、且使用时间锁加密后的业务数据区块进行解密的第二业务操作,第三类业务操作为既不属于第一业务操作又不属于第二业务操作的第三业务操作。当智能分流模块判断业务数据区块对应的业务操作属于第一类业务操作时,智能分流模块可以将业务数据区块存储至智能加密模块,并执行通过智能加密模块获取业务数据区块的区块标识及后续步骤,以对业务数据区块进行时间锁加密。当智能分流模块判断业务数据区块对应的业务操作属于第二类业务操作时,智能分流模块可以通过执行智能合约,确定业务数据区块是用于触发对时间锁加密后的哪种业务数据区块进行解密,并根据该业务数据区块的业务标识,确定该业务数据区块可以触发对哪一个时间锁加密后的业务数据区块进行解密,并确定待解密的业务数据区块的区别标识,将该区块标识存储至智能解密模块,并通过第三密钥对中的私钥对所述确定的区块标识加密后,连同所述第三密钥对中的公钥向各区块链节点广播,执行通过所述智能解密模块查找与所述确定的区块标识关联存储的时间锁加密公钥及后续步骤,以对待解密的业务数据区块进行解密。当智能分流模块判断业务数据区块对应的业务操作属于第三类业务操作时,智能分流模块可以直接将该业务数据区块通过第五密钥对中的私钥加密后,连同第五密钥对中的公钥向各区块链节点广播。

  在一个实施例中,在通过智能解密模块执行智能合约,生成与时间锁加密公钥对应的时间锁解密私钥的步骤之前,该方法还包括如下步骤:通过智能解密模块执行智能合约,判断区块链节点是否具有查看业务数据区块的权限;当区块链节点具有权限时,则执行通过智能解密模块执行智能合约,生成与时间锁加密公钥对应的时间锁解密私钥及后续步骤。

  具体地,在通过智能解密模块执行智能合约,生成与时间锁加密公钥对应的时间锁解密私钥的步骤之前,区块链节点中的智能解密模块可以执行智能合约,判断该区块链节点是否具有查看该业务数据区块的权限。当该区块链节点具有权限时,则通过智能解密模块执行智能合约,生成与时间锁加密公钥对应的时间锁解密私钥,然后通过时间锁解密私钥,对一次加密后的业务数据区块进行解密,并根据解密得到的业务数据区块中的数据进行相应业务处理。当该区块链节点不具有权限时,则不执行通过智能解密模块执行智能合约,生成与时间锁加密公钥对应的时间锁解密私钥及后续步骤。

  在一个实施例中,第一业务操作包括资源转移操作;业务数据区块包括资源转移数据区块;生成的时间锁解密私钥,用于对一次加密后的资源转移数据区块进行解密,并根据解密得到的资源转移数据区块中的资源转移数据,进行资源转移处理。

  在一个实施例中,当业务操作为资源转移操作时,区块链节点中的智能操作模块可以获取资源转移操作数据,生成资源转移数据区块,并将资源转移数据区块存储至区块链节点中的智能分流模块。区块链节点中的智能分流模块可以将资源转移数据区块分流存储至区块链节点中的智能加密模块。区块链节点中的智能加密模块可以获取资源转移数据区块的区块标识,并执行相应的智能合约,生成与该资源转移数据区块对应的时间锁加密公钥、加密时间点和加密时长。智能加密模块可以通过时间锁加密公钥,对资源转移数据区块进行一次加密,然后通过第一密钥对中的私钥对区块标识和一次加密后的资源转移数据区块进行加密,并将第一密钥对中的公钥和加密后的数据向各区块链节点进行广播。各区块链节点在接收到广播的数据后,可以先通过第一密钥对中的公钥进行解密,得到区块标识和一次加密后的资源转移数据区块,但是由于没有时间锁加密公钥对应的时间锁解密私钥,而无法继续对一次加密后的资源转移数据区块进行解密,因此不会立即进行资源转移处理。当在加密时间点的基础上经过加密时长后,区块链节点中的智能解密模块可以生成与时间锁加密公钥对应的时间锁解密私钥,并通过时间锁解密私钥对一次加密后的资源转移数据区块进行解密,最终得到资源转移数据区块中的数据,并根据资源转移数据区块中的数据进行资源转移处理,即,将指定的资源从资源转移方转移至资源转移对象。例如:假设加密时长为15天,在接收到资源转移方的资源转移操作15天之后,各区块链节点才可以进行资源转移处理,将指定的资源从资源转移方转移至资源转移对象(比如:在买家进行支付操作的15天后,才将买家支付的款项转移至商家的账户)。

  本实施例中,当业务操作为资源转移操作时,可以将资源转移数据区块加密锁定一段时间,各区块链节点无法立即进行相应的资源转移处理,在达到加密时长后,才可以解密得到资源转移数据区块中的数据,才能进行资源转移处理,这样实现了在接收到资源转移操作后经过预设时间后才进行资源转移处理这一业务场景,并且保障了尚未进行资源转移处理这段时间内资源转移数据的安全性。

  在一个实施例中,第二业务操作包括确认收货操作。业务数据区块包括确认收货数据区块。相关联的业务数据区块包括资源转移数据区块。

  在一个实施例中,当业务操作为确认收货操作时,区块链节点中的智能操作模块可以获取确认收货操作数据,生成确认收货数据区块,并将确认收货数据区块存储至区块链节点中的智能分流模块。区块链节点中的智能分流模块可以根据确认收货数据区块中的字段,查找与确认收货数据区块相关联的业务数据区块,所查找到的相关联的业务数据区块为资源转移数据区块,并确定查找到的资源转移数据区块的区块标识。然后,智能分流模块可以通过第三密钥对中的私钥对确认收货数据区块进行加密,并将加密后的数据和第三密钥对中的公钥向各区块链节点广播,并将确定的区块标识存储至区块链节点中的智能解密模块。区块链节点中的智能解密模块可以查找与该区块标识关联存储的时间锁加密公钥,并生成与该时间锁加密公钥对应的时间锁解密私钥。区块链节点可以通过时间锁解密私钥对区块标识所对应的一次加密后的资源转移数据区块进行解密,最终得到资源转移数据区块中的数据,根据资源转移数据区块中的数据进行资源转移处理。即,在接收到确认收货操作后,可以触发立即生成时间锁解密私钥,以使各区块链节点对资源转移数据区块进行解密,从而立即进行资源转移处理,而无需等到达到加密时长。例如:假设加密时长为15天,在接收到资源转移方的资源转移操作15天之后,各区块链节点才可以进行资源转移处理,但如果在15天之内接收到确认收货操作,则立即触发进行资源转移处理,而无需等到15天之后。

  本实施例中,在接收到确认收货操作后,可以触发立即生成时间锁解密私钥,以使各区块链节点对资源转移数据区块进行解密,从而立即进行资源转移处理,而无需等到达到加密时长,能够实现在接收到确认收货操作后立即进行资源转移处理,提高了资源转移处理的灵活性。

  应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

  在一个实施例中,如图3所示,提供了一种基于区块链的业务处理装置300,该装置设置于区块链系统中任意的区块链节点中,该装置包括:时间锁加密单元302、广播单元304、时间锁解密单元306和业务处理单元308,其中:

  时间锁加密单元302,用于通过智能加密模块获取业务数据区块的区块标识,并执行相应智能合约生成与业务数据区块对应的时间锁加密公钥、加密时间点和加密时长。

  广播单元304,用于通过智能加密模块在使用时间锁加密公钥对业务数据区块进行一次加密后,根据第一密钥对中的私钥,对区块标识和一次加密后的业务数据区块进行加密,并将加密后的数据和第一密钥对中的公钥向各区块链节点广播,以使各区块链节点通过第一密钥对中的公钥解密得到区块标识和一次加密后的业务数据区块。

  时间锁解密单元306,用于将区块标识、加密时间点、加密时长和时间锁加密公钥关联存储至智能解密模块,并通过第二密钥对中的私钥加密后连同第二密钥对中的公钥向各区块链节点广播;当在加密时间点的基础上经过加密时长后,通过智能解密模块执行智能合约,生成与时间锁加密公钥对应的时间锁解密私钥。

  业务处理单元308,用于通过时间锁解密私钥,对一次加密后的业务数据区块进行解密,并根据解密得到的业务数据区块中的数据进行相应业务处理。

  在一个实施例中,基于区块链的业务处理装置300还包括:

  分流单元310,用于获取业务操作数据,生成业务数据区块;当业务数据区块涉及与时间锁加密相关的第一业务操作时,通过智能分流模块将业务数据区块分流存储至智能加密模块,并通知时间锁加密单元302执行通过智能加密模块获取业务数据区块的区块标识及后续步骤。

  在一个实施例中,分流单元310还用于当业务数据区块涉及用于触发对相关联的、且使用时间锁加密后的业务数据区块进行解密的第二业务操作时,通过智能分流模块确定相关联的业务数据区块的区块标识,并通过第三密钥对中的私钥对业务数据区块加密后连同第三密钥对中的公钥广播至各区块链节点,将确定的区块标识存储至智能解密模块,并通过第四密钥对中的私钥对确定的区块标识加密后,连同第四密钥对中的公钥向各区块链节点广播;通过智能解密模块查找与确定的区块标识关联存储的时间锁加密公钥,并通知时间锁解密单元306执行通过智能解密模块执行智能合约,生成与时间锁加密公钥对应的时间锁解密私钥及后续步骤。

  在一个实施例中,分流单元310还用于当业务数据区块不涉及第一业务操作、且不涉及第二业务操作时,通过智能分流模块在使用第五密钥对中的私钥对业务数据区块加密后,连同第五密钥对中的公钥广播至各区块链节点,以使各区块链节点下载数据后通过第五密钥对中的公钥解密,并根据解密得到的业务数据区块中的数据进行相应的业务处理。

  在一个实施例中,如图4所示,基于区块链的业务处理装置300还包括:

  权限判断单元312,通过智能解密模块执行智能合约,判断区块链节点是否具有查看业务数据区块的权限;当区块链节点具有权限时,通知时间锁解密单元306执行通过智能解密模块执行智能合约,生成与时间锁加密公钥对应的时间锁解密私钥及后续步骤。

  在一个实施例中,第一业务操作包括资源转移操作。业务数据区块包括资源转移数据区块。生成的时间锁解密私钥,用于对一次加密后的资源转移数据区块进行解密,并根据解密得到的资源转移数据区块中的资源转移数据,进行资源转移处理。

  在一个实施例中,第二业务操作包括确认收货操作。业务数据区块包括确认收货数据区块。相关联的业务数据区块包括资源转移数据区块。

  上述基于区块链的业务处理装置中,通过智能加密模块生成时间锁加密公钥、加密时间点和加密时长,并通过时间锁加密公钥对业务数据区块进行加密后向各区块链节点进行广播,这样使得各区块链节点在接收到加密后的业务数据区块后,由于没有时间锁解密私钥,而无法进行解密。当在加密时间点的基础上经过加密时长后,通过智能解密模块生成与时间锁加密公钥对应的时间锁解密私钥,并通过时间锁解密私钥对业务数据区块进行解密,从而根据业务数据区块中的数据进行相应业务处理。这样在加密时长未达到的阶段中,将业务数据区块中的数据进行了时间锁加密,各节点无法获得业务数据区块中的数据,保障了此阶段业务数据的安全性,并且能够实现在达到预设时间后才将业务数据呈现出来进行业务处理这一业务场景。

  关于基于区块链的业务处理装置的具体限定可以参见上文中对于基于区块链的业务处理方法的限定,在此不再赘述。上述基于区块链的业务处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

  在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于区块链的业务处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

  本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

  在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

  在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

  本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

  以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

  以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

《基于区块链的业务处理方法、装置和计算机设备.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)