一种区块链系统及区块链系统的交易处理方法与流程

文档序号:18135672发布日期:2019-07-10 10:35阅读:282来源:国知局
一种区块链系统及区块链系统的交易处理方法与流程

本发明实施例属于金融科技(fintech)领域,尤其涉及一种区块链(blockchain)系统及区块链系统的交易处理方法。



背景技术:

区块链系统是科技金融领域常用的一种分布式的系统架构,随着越来越多企业级应用引入区块链技术,隐私性、可扩展性以及高性能逐渐成为区块链技术的关键挑战。现有的公有链,如比特币、以太坊等,隐私性差;现有的主流联盟链技术,如超级记账本(hyperledger),引入多通道技术,可以很好地支持私有交易,但order节点仍然可以看到所有通道的交易,因此超级记账本在隐私性方面同样存在瑕疵,且在技术实现上复杂度比较高。摩根的quorum也是支持私有交易的联盟链之一,它是在以太坊基础上开发实现的,可以方便地支持私有交易和私有合约,但不共识私有交易,仅将私有交易的哈希写入公共账本进行共识,因此有被篡改的风险。



技术实现要素:

本发明实施例提供一种区块链系统及区块链系统的交易处理方法,用以提高区块链交易的安全性和隐私性。

本发明实施例提供的一种区块链系统,适用于联盟链,所述联盟链包括多个群组,每个群组包括多个节点;

针对任一群组,所述群组设置有共识算法和账本,独立运行所述群组的交易信息;

针对任一节点,所述节点仅用于处理所属群组的交易信息从而实现群组间数据隔离。

上述技术方案中,区块链系统适用于联盟链,且该联盟链包括多个群组,每个群组包括多个节点,每个群组设置有共识算法和账本,进一步的,节点仅用于处理其所属群组的交易信息,从而实现每个群组独立运行群组内部的交易信息,做到各群组之间数据隔离,保障交易的隐私性。且各群组独立运行共识算法,从而保障群组内的交易的安全性。

可选的,所述节点属于多个不同的群组。

上述技术方案中,同一个节点可以属于多个不同的群组,即多个群组可以共用一个节点,降低联合组网的建链复杂度和运维复杂度。

可选的,所述各群组中至少有两个群组的共识算法不同。

上述技术方案中,根据业务性能和安全性能的需求,在不同群组运行不同的共识算法,针对不同群组对业务性能和安全性能需求的高低,可以采用不同的共识算法,在保障群组内交易的安全性和隐私性前提下,降低联合组网的建链复杂度和运维复杂度。

可选的,所述节点包括共识模块、区块执行器和虚拟机模块;

所述共识模块,用于针对所属群组的交易信息产生新区块并使用所述共识算法对所述新区块进行共识;

所述区块执行器,用于调用所述虚拟机模块执行所述新区块并将所述虚拟机模块执行的交易结果反馈给所述共识模块;

所述虚拟机模块,用于执行所述新区块的交易信息得到交易结果。

上述技术方案中,每个节点包括共识模块、区块执行器和虚拟机模块,共识模块用于针对所属群组的交易信息产生新区块以及对新区块进行共识,区块执行器用于执行新区块并将执行结果反馈至共识模块,虚拟机模块用于执行新区块的交易信息。将节点划分为多个模块,各模块具有对应的功能,通过多个模块之间的交互实现区块链系统的易扩展性,便于运维人员的维护。此外,可以通过共识模块,实现不同群组运行不同的共识算法。

可选的,所述共识模块包括打包线程模块和共识线程模块;

所述打包线程模块用于将所属群组的交易信息打包为新区块;

所述共识线程模块用于将所述新区块在所属群组内按照所述共识算法进行共识。

上述技术方案中,共识模块包括打包线程模块和共识线程模块,实现节点所属群组的交易信息的打包线程和共识线程的分离,从而达到共识模块的易扩展性。

可选的,所述节点还包括区块链接口模块;

所述区块链接口模块为所述账本的访问接口。

上述技术方案中,节点包括区块链接口模块,区块链接口模块用于访问账本,从而实现区块数据、区块信息、交易数据、交易信息以及交易执行结果的存取。

可选的,所述节点还包括同步模块;

所述同步模块用于在所属群组内进行交易信息的同步和账本的同步。

上述技术方案中,节点还包括同步模块,同步模块具有两种功能,分别是所属群组交易信息的同步和账本的同步,同步模块用于群组交易信息的同步,可以使该交易信息到达所属群组内所有的共识节点,保障出块节点基于最新交易产生新区块;同步模块用于群组账本的同步,可以使所属群组内节点的账本保持一致。

可选的,所述节点还包括:识别模块;

所述识别模块用于根据交易信息中的群组标识,确定所述交易信息为所属群组的交易信息。

上述技术方案中,节点在接收到交易信息后,节点的识别模块根据交易信息中的群组标识,确定该交易所属群组,从而使得该笔交易只在节点所属群组中进行,保障群组内交易的隐私性。

相应的,本发明实施例还提供了一种区块链系统的交易处理方法,适用于设置有多群组的联盟链;

所述方法包括:

节点接收交易信息;所述节点为群组中的节点;

所述节点在确定所述交易信息的群组标识为所述节点所属群组时,根据所属群组的共识算法处理所述交易信息。

上述技术方案中,节点在接收到交易信息后,先确定该交易信息对应的群组,并在确定该交易信息对应的群组为该节点所属群组后,根据该节点所属群组对应的共识算法,对该交易在所属群组内进行处理,从而实现群组内交易信息的隐私性,同时对该交易在所属群组内运行共识算法,从而实现区块链系统交易的安全性。

可选的,所述节点根据所属群组的共识算法处理所述交易信息,包括:

所述节点的同步模块根据所述交易信息的群组标识在所属群组的各节点间同步所述交易信息。

上述技术方案中,节点的同步模块根据群组标识在所属群组的各节点间同步交易信息,可以使该交易信息到达所属群组内所有的共识节点,保障出块节点基于最新交易产生新区块,同时可以保障该交易信息的安全性。

可选的,所述节点为出块节点;

所述节点的同步模块根据所述交易信息的群组标识在所属群组的各节点间同步所述交易信息之后,还包括:

所述节点的共识模块根据所述交易信息产生新区块;

所述节点的区块执行器调用所述节点的虚拟机模块执行所述新区块,得到所述交易信息的交易结果并反馈给所述共识模块;

所述节点的共识模块根据所属群组的共识算法进行共识,并将共识后的区块通过所述节点的区块链接口模块写入账本。

上述技术方案中,节点的共识模块根据交易信息产生新区块,节点的区块执行器调用节点的虚拟机模块执行新区块,并将交易信息的交易结果反馈至共识模块,共识模块根据所属群组的共识算法进行共识,并将共识后的区块通过节点的区块链接口模块写入账本,节点通过不同模块实现交易信息的处理,各模块具有对应的功能,通过多个模块之间的交互实现区块链系统的易扩展性,便于运维人员的维护。此外,可以通过共识模块,实现不同群组运行不同的共识算法。

可选的,还包括:

所述节点的同步模块根据所述交易信息的群组标识在所属群组的各节点间进行账本同步。

上述技术方案中,节点的同步模块根据交易信息的群组标识在所属群组的各节点间进行账本同步,以使所属群组内节点的账本保持一致,且账本同步不会同步至其他群组的节点,保障区块链交易的隐私性。

可选的,所述同步模块根据所述交易信息的群组标识在所属群组的各节点间进行账本同步,包括:

所述节点的同步模块向所属群组的不同节点发送不同的同步请求,从而完成所述节点的账本同步。

上述技术方案中,节点的同步模块在所属群组内与其他节点进行账本同步时,可以向不同的被请求节点发送不同的同步请求,不会出现该节点向该节点所属群组的一个被请求节点发送同步请求,造成被请求节点的同步压力过大,使得整个群组内节点的负载不均衡。

相应的,本发明实施例还提供了一种计算设备,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述区块链系统的交易处理方法。

相应的,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述区块链系统的交易处理方法。

附图说明

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

图1为本发明实施例提供的一种区块链系统的示意图;

图2为本发明实施例提供的一种区块链系统适用于多机构联合组网的场景;

图3为本发明实施例提供的一种区块链系统适用于多链并行的场景;

图4为本发明实施例提供的一种区块链系统的节点的结构示意图;

图5为本发明实施例提供的一种区块链系统的交易处理方法的流程;

图6为本发明实施例提供的另一种区块链系统的交易处理方法的流程;

图7为本发明实施例提供的另一种区块链系统的交易处理方法的流程。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

图1示例性的示出了本发明实施例提供一种区块链系统,该区块链系统适用于联盟链,该联盟链包括多个群组,每个群组包括多个节点。针对任一群组,群组设置有共识算法和账本,独立运行群组的交易信息,针对任一节点,节点仅用于处理所属群组的交易信息从而实现群组间数据隔离。也就是说,群组内独立运行交易信息和共识算法,各群组之间数据相互隔离,保障群组内数据的隐私性。

根据业务性能和安全性能的需求,在不同群组运行不同的共识算法,各群组中至少有两个群组的共识算法不同,在保障群组内交易的安全性和隐私性前提下,降低联合组网的建链复杂度和运维复杂度。示例性的,安全性要求高的群组可使用pbft(practicalbyzantinefaulttolerance,实用拜占庭容错)共识算法,性能要求高、安全性要求不高的群组可使用raft(replicationandfaulttolerant,副本容错)共识算法。

需要说明的是,每个群组不仅可以包括多个节点,一个节点也可以属于多个不同的群组,即多个群组可以共用一个节点。节点可以理解为,区块链网络中的每一个参与者,节点参与区块链网络组建和数据交换,在区块链网络中,一个节点是指一个具有唯一身份的参与者,该节点具有一份完整的账本拷贝,具有参与区块链网络共识和账本维护的能力。

本发明实施例提供的一种区块链系统可以适用于多机构联合组网的场景,多机构联合组网建链是区块链系统中比较常见的场景之一,如联合贷、多机构联合签名等。具体的,参照图2举例说明,本区块链系统中设有4个机构,分别为机构a、机构b、机构c、机构d,其中,机构b、机构c、机构d中的节点分别与机构a中的节点组网,机构a启动三个群组,将机构b的节点b1、节点b2加入至群组1,将机构c的节点c1、节点c2、节点c3加入至群组2,将机构d的节点d1、节点d2加入至群组3,即可完成多机构间联合组网。该技术方案中,机构a的运维人员只需要维护一套外网ip(internetprotocol,网络之间互连的协议)接口,大大降低了联合组网的建链复杂度和运维复杂度。此外,由于多群组架构中,群组间数据隔离,因此也保障了群组数据和交易的隐私性。

本发明实施例提供的一种区块链系统可以适用于多链并行的场景,具体的,参照图3举例说明,若企业内部有n(n大于等于2)个业务,企业的运维人员可以将n个业务部署在同一条链的不同群组中,由于群组间数据隔离,群组间多链并行,在降低运维成本的同时保证了群组间数据的隔离性。

可选的,节点包括共识(consensus)模块、区块执行器(blockverifier)和虚拟机模块。

其中,共识模块用于针对所属群组的交易信息产生新区块并使用共识算法对新区块进行共识,共识模块可以针对不同群组采用pbft、raft等多种共识算法,且每个群组可运行不同的共识算法,群组间的共识不相互影响。区块执行器用于调用虚拟机模块执行新区块并将虚拟机模块执行的交易结果反馈给共识模块。虚拟机模块用于执行新区块的交易信息得到交易结果。

具体的,共识模块可以分为打包(sealer)线程模块和共识(engine)线程模块,打包线程模块用于将所属群组的交易信息打包为新区块,共识线程模块用于将新区块在所属群组内按照共识算法进行共识。

本发明实施例中,节点还可以包括区块链接口模块,区块链接口模块为账本的访问接口,用于实现区块数据、区块信息、交易数据、交易信息以及交易执行结果的存取。

节点还包括同步模块,同步模块用于在所属群组内进行交易信息的同步和账本的同步。同步模块用于交易信息的同步,将节点接收到的交易信息广播到该节点所在群组的其他共识节点,从而保证切换出块节点时,新的出块节点能基于最新交易产生新区块;同步模块用于账本的同步,用来解决性能不同机器间区块高度不一致的问题,同步模块维护着同一个群组内所有节点的区块高度信息,当本节点区块高度落后于其他节点时,会主动发起区块下载请求,从而保证本节点区块高度与其他节点一致。

节点还包括识别模块,识别模块用于根据交易信息中的群组标识,确定交易信息为所属群组的交易信息。节点在接收到交易信息后,节点的识别模块根据交易信息中的群组标识,确定该交易所属群组,从而使得该笔交易只在节点所属群组中进行,保障群组内交易的隐私性。

上述区块链系统中,针对每个节点,可以将该节点划分为两层,即:网络层和群组层,网络层主要负责接收和发送数据,群组层主要负责处理群组的交易,并将交易执行结果上链。如图4所示,网络层包括识别模块,群组层包括存储模块、虚拟机模块、交易池(txpool)、区块链接口模块、区块执行器、同步模块和共识模块。

结合图4所示的节点,对节点中各模块做具体说明:

一、网络层

识别模块主要用于接收交易信息,并将交易信息发送至群组层,以使群组层对该交易信息进行处理。结合图2举例来说,节点a1同属于群组1和群组2,节点a1接收客户端发送的交易信息,并根据接收到的交易信息确定该交易信息中的群组标识,若该交易信息中的群组标识为群组1,则节点a1可以确定该交易信息需要在群组1中进行处理。处理方式在下述实施例中详细阐述。

二、群组层

此处,为了方便运维人员管理以及提高区块链系统的扩展性能,可以将群组层划分为核心层、接口层和调度层。

(1)核心层包括存储模块和虚拟机模块。

存储模块可以包括storage和state两部分,storage采用表式存储结构,如amdb、leveldb,主要用来存储区块信息、系统表等;state主要存储交易执行结果,包括mptstate和storagestate,mptstate是一棵世界状态树,可追溯任何一笔交易的历史信息,storagestate存储交易执行后的当前状态,不保存历史信息。需要说明的是,存储模块存储有本节点的账本白名单,该账本白名单包括本节点所属群组中的所有节点信息,用于在节点之间交易信息同步或账本同步时,只在群组内通信,保障了各群组通信的隐私性。

虚拟机模块主要用于执行交易。其中,虚拟机模块可以为以太坊虚拟机。

(2)接口层包括交易池、区块链接口模块和区块执行器。

交易池主要用于从客户端或其他节点接收交易信息,并将验证合法的交易存放到交易池队列中,供调度层打包区块时使用。

区块链接口模块是调度层访问核心层的统一接口,区块数据、区块信息、交易数据、交易信息以及交易执行结果的存取均是通过区块链接口模块完成的。

区块执行器用于调用虚拟机模块执行新区块并将虚拟机模块执行的交易结果反馈给共识模块。

(3)调度层主要包括同步模块和共识模块。

同步模块主要负责交易信息同步和区块同步,区块同步即账本同步。其中,交易信息同步会将节点接收到的所有的交易信息广播到节点所属群组的其他共识节点,从而保证切换出块节点时,新的出块节点能基于最新交易产生新区块;区块同步则用来解决性能不同机器间区块高度不一致的问题,同步模块维护着所有节点的区块高度信息,当本节点区块高度落后于其他节点时,会主动发起区块下载请求,从而保证本节点区块高度与其他节点一致。

共识模块分为打包线程模块和共识线程模块,打包线程模块负责从交易池中取出交易,打包成区块;共识线程模块负责执行新区块、运行共识算法,将所有达成共识的区块通过区块链接口模块写入存储模块进行存储。

上述技术方案中,区块链系统适用于联盟链,且该联盟链包括多个群组,每个群组包括多个节点,每个群组设置有共识算法和账本,进一步的,节点仅用于处理其所属群组的交易信息,从而实现每个群组独立运行群组内部的交易信息,做到各群组之间数据隔离,保障交易的隐私性。且各群组独立运行共识算法,从而保障群组内的交易的安全性。

基于上述描述,图5示例性的示出了本发明实施例提供的一种区块链系统的交易处理方法的流程,该流程适用于设置有多群组的联盟链。

如图5所示,该流程具体包括:

步骤501,节点接收交易信息。

节点和客户端通过链上链下协议连接,节点可以接收客户端的交易信息,此处,节点可以为上述区块链系统群组中的节点。具体的,可以为节点的识别模块接收客户端发送的交易信息。

步骤502,所述节点在确定所述交易信息的群组标识为所述节点所属群组时,根据所属群组的共识算法处理所述交易信息。

本发明实施例中,节点的识别模块在接收到交易信息后,对交易信息进行解析,可以解析出如下信息:

群组标识:群组编号,如1-127,用于标识客户端所要访问的群组。

调用接口:标识客户端访问的节点接口名称,如:执行交易、获取区块高度、获取指定交易回执等。

参数信息:发送给调用接口的对应参数,如:获取交易信息时,参数信息包括交易哈希;获取指定区块时,参数信息包括区块高度等;执行交易时,参数信息包括交易的具体内容。

其中,节点可以包含于多个群组,节点识别模块可以根据群组标识确定出节点接收到的交易信息应在哪一个群组中进行处理。结合图2举例来说,节点a1同属于群组1和群组2,节点a1接收客户端发送的交易信息,并根据接收到的交易信息确定该交易信息中的群组标识,若该交易信息中的群组标识为群组1,则节点a1可以确定该交易信息需要在群组1中进行处理。

节点的识别模块根据解析出的信息,确定在群组中对交易信息进行处理,具体的,节点的识别模块可以在对交易信息验证合法后,将交易信息存储在节点的交易池中。

验证交易信息的合法性可以如以下参数:(1)节点的交易池中的交易队列是否已满,若交易队列已满,则确定该交易信息未通过验证。(2)交易信息是否重复,客户端发送的交易哈希不能与交易池内已有哈希相同,也不能与区块链上已有交易哈希相同,若重复,则确定该交易信息未通过验证。(3)交易签名必须有效,若交易签名无效,则确定该交易信息未通过验证。

上述例子中,节点a1可以确定该交易信息需要在群组1中进行处理,则节点a1将交易信息存储在节点a1的交易池中。为保障切换出块节点时,新的出块节点能基于最新交易产生新区块,则需要节点的同步模块根据交易信息的群组标识在所属群组的各节点间同步该交易信息,也就是节点a1的同步模块根据交易信息的群组标识在群组1的各节点间同步该交易信息。

需要说明的是,每个节点的存储模块中都存储有本节点的账本白名单,该账本白名单包括本节点所属群组中的所有节点信息,用于在节点之间交易信息同步或账本同步时,只在群组内通信,保障了各群组通信的隐私性。图2示出的架构图中,节点a1将交易信息存储在节点a1的交易池中,节点a1获取本节点存储的关于群组1的账本白名单,根据该账本白名单可以确定出节点a1的同步模块可以将交易池中的交易信息同步给节点a3、节点b1、节点b2。也就是说,节点a1的同步模块不会将交易信息同步给群组2或群组3中的节点。

节点的同步模块根据交易信息的群组标识在所属群组的各节点间同步交易信息之后,节点所属群组内的所有节点的交易池中都有该交易信息,节点的共识模块将交易信息打包为新区块。此处,接收交易信息的节点和将交易信息打包为新区块的节点可以为同一个,也可以不为同一个。进一步的,可以将上述将交易信息打包为新区块的节点理解为出块节点。

节点的区块执行器调用节点的虚拟机模块执行新区块,得到交易信息的交易结果并反馈给节点的共识模块,节点的共识模块根据所属群组的共识算法进行共识,并将共识后的区块通过节点的区块链接口模块写入账本。

本发明实施例中,节点的共识模块包括节点的打包线程模块和节点的共识线程模块,节点的打包线程模块会尝试从节点的交易池内加载交易,并打包成新区块,节点的打包线程模块的主要工作包括:

产生新空块:通过区块链接口模块获取当前最高块,并基于最高块产生新空块,具体的,将新区块父哈希置为最高块哈希,时间戳置为当前时间,区块交易清空;

取出交易信息:从节点的交易池内取出交易信息,并将取到的交易信息插入到上述新区块中;

组装新区块:节点的打包线程模块打包到交易后,将新区块的打包者置为出块节点索引,并根据打包到的交易计算所有交易的transactionroot。

节点的打包线程模块将打包到的新区块发送至节点的共识线程模块,节点的共识线程模块调用节点的区块执行器执行新区块,即节点的区块执行器调用节点的虚拟机模块执行新区块中的交易信息。节点的共识线程模块还会将新区块广播给节点所属群组内所有其他共识节点,并基于从p2p(peertopeer,对等)网络收到的共识消息包执行共识算法,若区块共识成功,则通过区块链接口模块将新区块写入账本。

本发明实施例提供一种具体的实现方式,可以如图6所示。

步骤601,节点的识别模块接收交易信息。

步骤602,节点的识别模块在确定交易信息的群组标识为节点所属群组时,节点的同步模块根据交易信息的群组标识在所属群组的各节点间同步交易信息。

步骤603,节点的共识模块根据交易信息产生新区块。

步骤604,节点的区块执行器调用节点的虚拟机模块执行新区块,得到交易信息的交易结果并反馈给共识模块。

步骤605,节点的共识模块根据所属群组的共识算法进行共识,并将共识后的区块通过节点的区块链接口模块写入账本。

由于本实施例的具体实现方式已在其他实施例中描述,在此不作赘述。

本发明实施例中,节点的同步模块不仅用于根据交易信息的群组标识将交易池中的交易信息广播至所属群组的其他节点,还用于根据交易信息的群组标识在所属群组的各节点间进行账本同步。当本节点区块落后于所属群组的其他节点时,本节点的同步模块会主动向所属群组内其他节点下载落后的区块,并将其通过区块链接口模块写入本地数据库;当本节点收到所属群组内其他节点的区块下载请求时,本节点通过区块链接口模块取出所属群组内其他节点请求下载的区块,并通过p2p网络发送给请求节点;此外,当本节点收到其他群组节点(非所属群组的节点)的区块下载请求时,不会执行任何操作,保障了群组数据的安全性。

进一步的,节点的同步模块向所属群组的不同节点发送不同的同步请求,从而完成节点的账本同步。也就是说,当本节点区块落后于所属群组的其他节点时,可以同时向所属群组的其他节点发送下载区块的请求,做到负载均衡,不会出现本节点向该节点所属群组的一个被请求节点发送同步请求,造成被请求节点的同步压力过大,使得整个群组内节点的负载不均衡。

示例性的,如图2所示的架构中,群组3中包括节点a4、节点a5、节点d1、节点d2,假设节点a4的存储模块中的区块为500个,节点a5、节点d1、节点d2的存储模块中的区块分别为800个,则节点a4的同步模块分别向节点a5、节点d1、节点d2发送同步请求,示例性的,a4的同步模块向节点a5获取100个区块,向节点d1获取100个区块,向节点d2获取100个区块,从而完成节点的账本同步。

为了更好的解释本发明实施例,下面将在具体的实施场景下描述该区块链系统的交易处理方法,如图7所示,具体如下:

客户端通过链上链下协议,与节点建立ssl(securesocketslayer,安全套接层)连接,并将向群组i发送的交易封装在数据包中发送给群组i中的节点,节点的监听服务器收到客户端的数据包后,解析数据包,并将其转发到远程调用模块,远程调用模块解析客户端发送的请求,此处,节点的监听服务器和节点的远程调用模块二者可以理解为节点的识别模块;远程调用模块根据解析的群组信息、调用接口以及参数信息,调用节点相应接口,并将执行后的结果返回给客户端。群组内的交易执行具体如下。

远程调用模块接收到交易信息,根据交易信息中附带的群组标识(群组i),获取群组i的交易池实例,并在确定交易信息验证合法后,将交易信息插入交易池,节点将交易池中的交易信息进行广播,该交易信息只会广播给群组i的所有节点,保证客户端发送的交易可以到达所有共识节点的同时,保障了交易的隐私性。出块节点的共识模块的打包线程模块会尝试从交易池内加载交易,并打包成新区块,打包线程模块打包到的新区块将提供给共识模块的共识线程模块,共识线程模块调用区块执行器执行新区块,将新区块广播给所有其他共识节点,并基于从p2p网络收到的共识消息包执行共识算法,若区块共识成功,则通过区块链接口模块将新区块写入区块链。

上述技术方案中,节点在接收到交易信息后,先确定该交易信息对应的群组,并在确定该交易信息对应的群组为该节点所属群组后,根据该节点所属群组对应的共识算法,对该交易在所属群组内进行处理,从而实现群组内交易信息的隐私性,同时对该交易在所属群组内运行共识算法,从而实现区块链系统交易的安全性。

基于同一发明构思,本发明实施例还提供了一种计算设备,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述区块链系统的交易处理方法。

基于同一发明构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述区块链系统的交易处理方法。

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

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

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

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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