基于区块链的交易处理方法、电子设备和存储介质与流程

文档序号:20018169发布日期:2020-02-25 11:01阅读:180来源:国知局
基于区块链的交易处理方法、电子设备和存储介质与流程

本申请涉及区块链技术领域,特别是涉及基于区块链的交易处理方法、电子设备和存储介质。



背景技术:

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,强调去中心化、开放性、独立性、安全性、匿名性。区块链在金融领域、物联网和物流领域、公共服务领域等诸多领域有着巨大的应用潜力。目前,区块链技术正在研究与发展之中,其技术本身尚未完全成熟,性能、安全、扩展三者之间难以完全兼顾,性能的提升直接决定了系统吞吐量和交易处理效率。



技术实现要素:

本申请主要解决的技术问题是:提供基于区块链的交易处理方法、电子设备和存储介质,能够有效提高交易信息的打包上链效率,提升交易信息的可信度和安全性,降低交易的信任成本。

为解决上述技术问题,本申请采用的一个技术方案是:提供一种基于区块链的交易处理方法,包括:

区块链的第一节点获取来自区块链的第二节点的交易信息;

按照交易信息对应的通证将交易信息打包成区块;

将区块传输至区块链的第三节点,以使得第三节点对区块进行验证并在验证通过时将区块上链。

可选地,按照交易信息对应的通证将交易信息打包成区块包括:

获取预设时间内接收到的部分或全部交易信息;

按照交易信息对应的通证对交易信息进行排序;

将交易信息按照通证价值更高的优先顺序打包成区块。

可选地,方法进一步包括:

接收来自第三节点的上链消息;

依据上链消息同步新上链的区块;

其中,上链消息是第三节点将区块上链后生成的。

可选地,方法进一步包括:

接收来自第三节点的上链消息;

广播上链消息以通知其他节点同步新上链的区块;和/或,

将上链消息传输至第二节点;

其中,上链消息是第三节点将区块上链后生成的。

可选地,在按照交易信息对应的通证将交易信息打包成区块后还包括:

获得交易信息对应的通证奖励。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种基于区块链的交易处理方法,包括:

区块链的第二节点发送交易信息至区块链的第一节点;

第一节点按照交易信息对应的通证将交易信息打包成区块;

第一节点将区块传输至区块链的第三节点;

第三节点对区块进行验证,并在验证通过时将区块上链。

可选地,第三节点将区块上链后还包括:

第三节点生成区块的上链消息并将上链消息传输至第一节点;

第一节点接收到上链消息后还包括:

第一节点依据上链消息同步新上链的区块;和/或,

第一节点广播上链消息以通知其他节点同步新上链的区块;和/或,

第一节点将上链消息传输至第二节点。

可选地,第三节点对区块进行验证之后还包括:

获得交易信息对应的通证奖励。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种电子设备,包括处理器、存储器和通信电路,处理器分别耦接存储器和通信电路,其中,

存储器用于存储处理器执行的程序指令;

处理器用于执行程序指令以实现上述本申请基于区块链的交易处理方法中第一节点、第二节点或第三节点的步骤。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种存储介质,用于存储程序指令,程序指令能够被处理器运行,以实现上述本申请基于区块链的交易处理方法中第一节点、第二节点或第三节点的步骤。

本申请的有益效果是:

本申请通过将第二节点的交易信息按照对应的通证进行按序打包,可以在提交海量交易信息的时候有序且高效地对交易信息进行打包,提高第一节点进行区块打包的效率,且第三节点在验证后将区块上链可以有效提高交易信息的可信度,上链后的交易信息不能被篡改,保证了交易信息的有效性和安全性,降低了交易的信任成本。

附图说明

图1是本申请基于区块链的交易处理系统实施例的结构示意图;

图2是本申请基于区块链的交易处理方法第一实施例的流程示意图;

图3是本申请基于区块链的交易处理方法第二实施例的流程示意图;

图4是本申请基于区块链的交易处理方法一实施方式的流程示意图;

图5是本申请一区块链主链的共识方法的流程示意图;

图6是本申请基于区块链的交易处理方法第三实施例的流程示意图;

图7是本申请电子设备实施例的流程示意图;

图8是本申请存储介质实施例的流程示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

参阅图1,图1是本申请基于区块链的交易处理系统实施例的结构示意图。交易处理系统10至少包括位于区块链网络中的第一节点110、第二节点120和第三节点130。第一节点110、第二节点120和第三节点130均可以有多个,其数量不限制。本实施例中的各节点包括但不限于参与到区块链网络中的计算机、手机、平板电脑、服务器等,各节点可以分别运行相应的区块链程序,参与区块链中的交易过程。

本实施例中,第一节点110可以与第二节点120、第三节点130进行信息交互。第一节点110例如是全节点,可以保存完整的区块链数据,并可以共享至其他节点。第一节点110与第二节点120连接,可以接收第二节点120传输的交易信息,并将交易信息打包成区块以使得第三节点130进行验证并上链。在一些实施方式中,第一节点110还可以为连接到它的其余节点提供端到端的加密消息传输通道,比如用于收发私密资产、聊天信息等。

在本实施例中,第二节点120负责与用户进行交互,收发交易信息等。第二节点120例如是参与交易的节点,包括买方节点和卖方节点。第二节点120可以与第一节点110进行信息交互,以参与区块链网络。在一些实施方式中,第二节点120可以是轻量节点,例如包括手机、平板、笔记本等移动终端设备。轻量节点可以只保存与自身相关的数据,而不必保存完整的区块链,以节省存储空间,提高运行效率。在一些实施方式中,第二节点120可以选择其需要连接的第一节点110,并在连接后将交易信息发送至第一节点110以实现上链存储。

第三节点130例如是记账节点,第三节点130可以对第一节点110打包的区块进行验证与上链。第三节点130可以保存完整的区块链数据。在一些实施方式中,第三节点130可以是选举产生的一些运行稳定、信誉较好、贡献较多的节点,这些节点负责不间断地依据区块链的共识方法将区块上链并确认区块链主链。

关于本实施例中交易处理系统10的更多节点和各节点的更多功能可以参照以下本申请基于区块链的交易处理方法各实施例的描述。

参阅图2,本申请基于区块链的交易处理方法第一实施例包括;

s101:第二节点发送交易信息至第一节点。

第二节点例如是用户的移动终端设备如手机,第二节点可以选择接入区块链网络中的第一节点,通过运行相应的区块链应用程序将交易信息发送至第一节点。第一节点可以连接多个第二节点,多个第二节点你可发送交易信息至第一节点。

在本实施例中,交易信息可以指代任何需上链的数据,如文字、图片、音频或其他任何形式的数据。在一些实施方式中,交易信息还可以是买卖双方签订的交易合约内容,例如可以包括买卖双方的身份信息、交易的具体内容、交易的执行方式、违约赔偿条款、上链后的通证奖励等交易相关的信息。

s102:第一节点按照交易信息对应的通证将交易信息打包成区块。

在本实施例中,第一节点接收到第二节点发送的交易信息后,可以按照交易信息对应的通证将交易信息按序打包成区快,减少交易信息拥堵和过度集中造成第一节点计算量剧增而影响打包效率。

本实施例中,通证又可以叫token,是区块链网络中的权益证明。第二节点在提交交易信息的时候,提供相应的通证,这些通证可以奖励给交易信息上链过程中参与打包上链的节点,以激励节点积极参与区块打包记账。在一些实施方式中,通证还可以用于代替货币完成交易结算。

在一些实施方式中,第一节点将交易信息打包成区块前,还可以验证交易信息的合法性。例如是验证交易信息是否满足区块链网络各节点约定的规则,或是验证提供交易信息的第二节点的身份信息是否合法。通过预先对待上链的交易信息进行验证,可以有效地提升上链数据的真实有效性。

在一些实施方式中,第一节点有多个,且多个第一节点之间可以进行数据交互。第一节点接收到第二节点发送的交易信息后,还可以向其他第一节点广播该交易信息,多个第一节点均可以参与对交易信息的打包,以提高交易信息的上链效率,避免因某一第一节点接收的交易信息过多造成拥堵导致交易信息上链太慢,影响用户权益。或者,每个第一节点也可以分别接收交易信息,并将接收到的交易信息进行打包,减少因重复计算打包造成的第一节点的算力浪费。

第一节点将交易信息打包成区块时,还可以将交易信息进行加密后再打包成区块。例如,第一节点采用公钥对第二节点传输的交易信息进行加密,交易信息加密后,只有通过第二节点的私钥才能解密得到交易信息,如此可以有效保护隐私数据,提高交易信息的安全性。

s103:第一节点将区块传输至第三节点。

在本实施例中,第一节点在将交易信息打包成区块后,可以将区块传输至第三节点,以使得第三节点可以对区块进行验证。第三节点可以有多个,第一节点在将交易信息打包成区块后,可以将区块传输至多个第三节点。

在一些实施方式中,第一节点在将交易信息打包成区块后,可以通过广播将区块传输至部分第三节点,其余节点可以从该部分第三节点中获取待验证的区块,如此可以有效缓解第一节点的网络压力,加快区块的传输速度。

s104:第三节点对区块进行验证,并在验证通过时将区块上链。

本实施例中,第三节点可以对第二节点打包的区块进行验证。例如,第三节点可以验证区块的哈希值、区块大小等,或是遍历区块内所有交易信息,验证交易信息的合法性。区块验证通过例如是第三节点验证区块的哈希值无误且区块大小符合规定;和/或,第三节点验证区块内的交易信息合法。

第三节点在验证通过后可以将区块接至区块链的末端,以将区块上链。例如第三节点在验证通过后将区块存入本地账本,并更新状态库,区块上链后,其中的交易信息即生效。在一些实施方式中,第三节点将区块上链后还可以通知其他节点及时更新同步最新区块链数据。

在一些实施方式中,第二节点有多个,当某一第二节点广播区块时,其余第二节点也可以接收区块并对区块进行验证和上链。也即,在某些时刻,第二节点也可以执行第三节点的步骤。

本实施例通过将第二节点的交易信息按照对应的通证进行按序打包,可以在提交海量交易信息的时候有序且高效地对交易信息进行打包,提高第一节点进行区块打包的效率,且第三节点在验证后将区块上链可以有效提高交易信息的可信度,上链后的交易信息不能被篡改,保证了交易信息的有效性和安全性,降低了交易的信任成本。

在本实施例中,步骤s101至s104的顺序是本实施例中的描述顺序,并不限制为本实施例的方法在执行过程中的顺序。在能够实现本方法的前提下,某些步骤可以调换顺序。

参阅图3,本申请基于区块链的交易处理方法第二实施例是在本申请基于区块链的交易处理方法第一实施例的基础上进一步描述,本实施例与本申请基于区块链的交易处理方法第一实施例相同的步骤在此不再赘述。本实施例包括:

s201:第二节点发送交易信息至第一节点。

s202:第一节点按照交易信息对应的通证将交易信息打包成区块。

在本实施例中,第一节点接收到第二节点发送的交易信息后,可以按照交易信息对应的通证将交易信息按序打包成区快。例如,第一节点可以按照通证价值更高的顺序对交易信息进行打包,如此可以有效保证提供较高奖励的用户能优先实施交易,使用户的付出与收益更加匹配。

如图4所示,在一些实施方式中,s202还可以包括:

s2021:第一节点获取预设时间内接收到的部分或全部交易信息。

本实施例中,第一节点可以连接多个第二节点,接收多个第二节点发送的交易信息。预设时间例如是10分钟,第一节点获取预设时间内接收到的交易信息例如是获取该十分钟之内接收到的交易信息。

在本实施例中,第一节点负责不间断的对交易信息进行打包。第一节点在对交易信息进行打包计算的同时,接收来自第二节点的其他交易信息,交易信息可以暂存于第一节点的存储介质中。第一节点在打包区块时,可以获取预设时间内的全部交易信息进行打包,以保证交易信息上链的效率。在某些情况下,例如第一节点接收到的交易信息过多,预设时间段的全部交易信息打包后会超过规定的区块大小;或是第一节点接收到的交易信息中存在一些不合法的交易信息等。第一节点在打包时可以仅获取预设时间段内接收到的部分交易信息进行打包。

s2022:第一节点按照交易信息对应的通证对交易信息进行排序。

在本实施例中,第一节点按照交易信息对应的通证对交易信息进行排序例如是按照通证价值的高低对交易信息进行排序。比如,第一节点可以按照通证价值最高到通证价值最低的顺序对交易信息进行排序。或者,第一节点也可以按照通证价值最低到通证价值最高的顺序对交易信息进行排序。通过对交易信息进行排序,有利于对众多交易信息进行有序地管理,使得第一节点在对交易信息进行打包时,可以有序地进行计算,提高效率。

s2023:第一节点将交易信息按照通证价值更高的优先顺序打包成区块。

本实施例中,第一节点可以按照通证价值更高的优先顺序将交易信息打包成区块。例如,第一节点在打包区块时,按照通证价值从高到低的顺序,对通证价值高的优先打包。由于预先对交易信息按照通证价值进行了排序,在打包区块时,可以直接按照排序进行,通证价值更高的交易信息优先打包。如此可以有效保证提供较高通证奖励的用户能优先实施交易,使用户的付出与收益更加匹配。

s203:第一节点将区块传输至第三节点。

s204:第三节点对区块进行验证,并在验证通过时将区块上链。

在本实施例中,第三节点对区块进行验证,并在验证通过时将区块上链。在一些实施方式中,当提交的交易信息过多时,交易信息打包成区块并验证确认过于频繁,导致在某一时刻会有多个最新区块,形成多条同步异链,影响区块链数据的安全性和可信度。在将区块进行上链时,第三节点还可以依次按照见证节点数量之和最大、区块数量最多、哈希值最小的原则确认区块链主链,并将区块添加至确认的区块链主链的末端。

如图5所示,第三节点可以依照下述共识方法确认区块链主链。该方法包括:检测区块链是否有多条支链;若是,确定从最新区块回溯至创世区块的多条第一候选主链;计算每条第一候选主链的部分或全部区块的见证节点中不同见证节点数量之和;判断不同见证节点数量之和最大的第一候选主链是否有多条;若没有,则确定不同见证节点数量之和最大的第一候选主链为区块链主链;若有,则确定多条不同见证节点数量之和最大的第一候选主链为第二候选主链;分别计算多条第二候选主链的区块数量;判断区块数量最大的第二候选主链是否有多条;若没有,则确定区块数量最多的第二候选主链为区块链主链;若有,则确定多条区块数量最大的第二候选主链为第三候选主链;分别获取多条第三候选主链的最新区块的哈希值;确定哈希值最小的最新区块所在的第三候选主链为区块链主链。

通过上述方法确定区块链主链,不同见证节点数量最多表明受到最多的见证节点的验证,有效地减少了少数节点作弊的可能性;区块数量最多表明存储的数据越多且工作量越大,有效地保证了多数节点的工作量有效;哈希值最小则保证了区块链主链的唯一性,如此可以有效提高区块链数据的安全性和可信度。

在上述共识方法中,若第三节点没有检测到支链,则可以将新验证通过的区块添加至区块链末端以将区块上链。若检测到多条支链,则可以在确认区块主链后,将新验证通过的区块添加至确认后的区块链主链的末端,以将区块上链。

在一些实施方式中,若第三节点验证区块不通过,第三节点还可以向第一节点反馈验证不通过的消息。第三节点还可以反馈验证不通过的具体原因,以便第一节点及时采取相应的措施进行处理。

s205:第三节点生成区块的上链消息并将上链消息传输至第一节点。

在本实施例中,第三节点在将区块上链后,还可以生成区块的上链消息。上链消息例如包括第三节点的地址、交易有效消息、区块的根哈希值、交易的哈希值等信息。第三节点可以将上链消息传输至第一节点,从而第一节点在接收到上链消息后可以知悉区块已经上链。在一些实施方式中,第三节点在生成上链消息时还可以对上链消息进行标识,例如是以区块高度标识该区块的上链消息,有利于第一节点依据标识获悉当前的最新区块的区块高度,从而便于在同步区块链时快速确定所需要同步的区块,提高效率。

在一些实施方式中,第三节点生成上链消息后,也可以将上链消息进行广播,以便其他节点如其他第三节点或全部第一节点可以及时同步新上链的区块。

s206:第一节点依据上链消息同步新上链的区块。

在本实施例中,第一节点接收到第三节点的上链消息后,可以依据上链消息同步新上链的区块。第一节点可以从第三节点或其他第一节点获取新上链的区块。例如,上链消息可以包括第三节点的地址,第一节点接收到上链消息后,从上链消息中获取到第三节点的地址把那个与之连接,从第三节点中同步新上链的区块。或者,第一节点在接收到第三节点的上链消息后,可以从邻近的其他节点进行访问,以获取新上链的区块。

在本实施例中,第一节点在每次接收到第三节点的上链消息时及时同步最新的区块链,多个第一节点均可以保存完整的区块链,有利于保证区块链中交易信息的安全性,且有利于对交易信息进行溯源。

s207:第一节点广播上链消息以通知其他节点同步新上链的区块。

本实施例中,第一节点可以在每次接收到第三节点的上链消息后向其他节点广播上链消息,以通知其他节点及时同步新上链的区块。也即,s207的步骤可以是在s205的步骤之后直接执行。或者第一节点也可以是在每次同步完最新上链的区块后,向其他节点广播上链消息。也即,s207的步骤也可以是在s206的步骤之后执行。

在一些实施方式中,第三节点在生成上链消息后也可以直接广播上链消息,以通知区块链网络中的其他节点及时同步新上链的区块。第一节点在接收到上链消息后可以不再执行s207的步骤。

s208:第一节点将上链消息传输至第二节点。

第一节点还可以将上链消息传输至第二节点,以便于用户通过第二节点获悉交易信息的上链情况。上链消息例如包括区块的根哈希值和区块中各交易信息的哈希值。第一节点在将上链消息传输至第二节点时,依据第二节点的身份信息和交易信息的对应关系,将交易信息的哈希值以及区块的根哈希值形成第二节点对应的上链消息,并将该上链消息发送至第二节点。如此既可以让用户获悉交易信息已上链,还可以保护各个节点的交易信息的安全和隐私。

在本实施例中,第一节点与第三节点在将交易信息上链的过程中均付出了相应的计算量,用户在提交交易信息时还可以提供相应的奖励,以激励各个节点积极参与打包上链。例如,本实施例还可以包括:

s209:第一节点获得交易信息对应的通证奖励。

本实施例中,第一节点获得交易信息对应的通证奖励,例如是依据区块链的交易系统约定的规则,获得交易信息对应的通证中的部分或全部通证。在本实施例中,第一节点可以是在将交易信息成功打包成区块后即获得区块中交易信息对应的部分通证奖励。或者,第一节点也可以是在区块上链后,获得区块中交易信息对应的部分通证奖励。通证奖励可以是依据相应的规则在第一节点完成区块打包或是在区块上链后,由区块链程序确定交易系信息对应的通证后自动发放的。

第一节点将交易信息打包成区块付出了相应的计算量,用户在提交交易信息以上链时,提供相应的通证奖励给第一节点,可以有效提升第一节点进行区块打包的积极性,增强区块链的交易系统的活性,保证系统的稳定运行。

s210:第三节点获得交易信息对应的通证奖励。

本实施例中,第三节点可以获得交易信息对应的通证中的部分或全部通证。第三节点可以在验证区块后获得区块中交易信息对应的通证奖励。或者,第三节点也可以是在将区块上链后,获得区块中交易信息对应的部分通证奖励。通证奖励可以是依据相应的规则在区块上链后,由区块链程序确定交易系信息对应的通证后自动发放的。通证奖励可以有效提升第三节点进行验证上链的积极性。

在一些实施方式中,交易信息对应的通证奖励可以按照相应的规则分别发给进行打包的第一节点和进行上链的第三节点。以激励第一节点和第三节点,增强区块链的交易系统的活性,保证系统的稳定运行。

本实施例通过将第二节点的交易信息按照对应的通证进行按序打包,可以在提交海量交易信息的时候有序且高效地对交易信息进行打包,提高第一节点进行区块打包的效率。且第三节点在验证后将区块上链可以有效提高交易信息的可信度,上链后的交易信息不能被篡改,保证了交易信息的有效性和安全性,降低了交易的信任成本。第三节点在将区块上链后形成上链消息,可以通知第一节点及时同步最新的区块链,第一节点还可以将上链消息反馈至第二节点,从而第二节点可以反馈给用户让用户知悉。且本实施例还通过对第一节点和第三节点提供相应的通证奖励,可以有效激励第一节点和第三节点的积极性,保证系统的稳定运行。

在本实施例中,步骤s201至s210的顺序是本实施例中的描述顺序,并不限制为本实施例的方法在执行过程中的顺序。在能够实现本方法的前提下,某些步骤可以调换顺序或是同时进行。

参阅图6,本申请基于区块链的交易处理方法第三实施例以第一节点为执行主体,包括:

s301:第一节点获取来自第二节点的交易信息。

s302:按照交易信息对应的通证将交易信息打包成区块。

s303:将区块传输至区块链的第三节点,以使得第三节点对区块进行验证并在验证通过时将区块上链。

关于本实施例中第一节点的更多步骤和功能可以参照上述本申请基于区块链的交易处理方法第一实施例和第二实施例的描述,在此不再赘述。

参阅图7,图7是本申请电子设备实施例的结构示意图。本实施例中电子设备40包括处理器410、存储器420和通信电路430。处理器410分别耦接存储器420和通信电路430。本实施例中,处理器410可以通过总线与存储器420、通信电路430连接。在其他实施例中,处理器410也可以直接与存储器420、通信电路430连接;或者也可以通过其他方式连接。在此对处理器410与存储器420、通信电路430之间的连接方式不做限定。

本实施例中,电子设备40可以通过通信电路430与其他设备进行通信。电子设备40的存储器420用于存储处理器410执行的程序指令。处理器410用于执行程序指令以实现上述本申请基于区块链的交易处理方法第一实施例至第三实施例中第一节点、第二节点或第三节点的步骤。

在本实施例中,处理器410还可以称为cpu(centralprocessingunit,中央处理单元)。处理器410可能是一种集成电路芯片,具有信号的处理能力。处理器410还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本实施例中关于电子设备40的更多执行过程和功能等可以参照上述本申请基于区块链的交易处理方法第一实施例至第三实施例的描述,在此不再赘述。

参阅图8,图8是本申请存储介质实施例的结构示意图。本实施例中存储介质50用于存储程序指令510,程序指令510能够被处理器运行,以实现上述本申请基于区块链的交易处理方法第一实施例至第三实施例中第一节点、第二节点或第三节点的步骤。具体可以参照上述本申请基于区块链的交易处理方法第一实施例至第三实施例的描述,在此不再赘述。

本申请基于区块链的交易处理方法第一实施例至第三实施例所涉及的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质50包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,或包括存储介质的移动终端等其他装置。

以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

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