logo好方法网

一种基于区块链的交易系统及交易方法


技术摘要:
本申请提供了一种基于区块链的交易系统及交易方法。所述系统中的部分节点被配置为交易验证节点,除交易验证节点以外的部分节点被配置为交易记账节点。交易验证节点可以从第一预设数据库中获取第一交易请求,并对第一交易请求进行合法性验证;交易记账节点可以从第二预  全部
背景技术:
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数 据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。 对于发生在区块链中的交易来说,完成一笔交易至少需要两个步骤,第一个步骤 用于验证该笔交易是否合法;第二个步骤用于在交易合法的前提下,将该笔交易进行记账 并全网同步,最终完成全网共识。例如,比特币网络和以太坊网络处理交易时,上述两个步 骤是同步进行的,也就是说在对交易进行验证的同时生成区块。验证和记账分属于两个不 同的进程,以“并行”的方式实现“同时”,有利于提高效率。然而,区块的作用在于记账,记账 的前提是验证,因此,必然产生由于“验证与记账”的时序性和“验证与记账”的并行性之间 的矛盾。例如,当待验证交易数量过多时,这种交易机制容易造成较长时间的等待和交易排 队较多的情况。 基于此,目前亟需一种基于区块链的交易系统,用于解决当待验证交易过多时,现 有技术中的交易机制容易造成较长时间的等待和交易排队较多的问题。
技术实现要素:
本申请提供了一种基于区块链的交易系统及交易方法,可用于解决当待验证交易 过多时,现有技术中的交易机制容易造成较长时间的等待和交易排队较多的技术问题。 第一方面,本申请实施例提供一种基于区块链的交易系统,所述系统中的节点相 互建立网络连接;所述系统中的部分节点被配置为交易验证节点,除所述交易验证节点以 外的部分节点被配置为交易记账节点; 所述交易验证节点进一步被配置为:从第一预设数据库中获取第一交易请求,以 及对所述第一交易请求进行合法性验证,如果所述第一交易请求通过合法性验证,在所述 第一交易请求中附加所述交易验证节点的签名,以及将附加签名后的第一交易请求存储至 第二预设数据库中; 所述交易记账节点进一步被配置为:从第二预设数据库中获取第二交易请求,以 及根据第二交易请求中附加的签名,如果确定所述第二交易请求为合法交易,生成所述第 二交易请求对应的第一区块链数据,存储所述第一区块链数据。 在一种可能的实现方式中,所述交易验证节点进一步被配置为:接收交易发起节 点或所述交易验证节点的邻近节点发送的交易请求,将所述交易请求存储至第一预设数据 4 CN 111614707 A 说 明 书 2/10 页 库中。 在一种可能的实现方式中,所述交易验证节点进一步被配置为:从第一预设数据 库中获取第一交易请求的历史验证次数,如果所述第一交易请求的历史验证次数大于第一 阈值,放弃对所述第一交易请求进行的合法性验证,以及将所述第一交易请求存储至第二 预设数据库中;如果所述第一交易请求的历史验证次数小于或等于第一阈值,对所述第一 交易请求进行合法性验证。 在一种可能的实现方式中,所述交易验证节点进一步被配置为:在对所述第一交 易请求进行合法性验证之后,更新所述第一交易请求的历史验证次数。 在一种可能的实现方式中,所述交易验证节点进一步被配置为:如果所述第一交 易请求未通过合法性验证,忽略所述第一交易请求,并返回从第一预设数据库中获取新的 交易请求的步骤。 在一种可能的实现方式中,所述交易记账节点进一步被配置为:如果所述第二交 易请求中附加的签名的数量大于第二阈值,确定所述第二交易请求为合法交易。 在一种可能的实现方式中,所述交易记账节点进一步被配置为:如果所述第二交 易请求中附加的签名的数量小于或等于第二阈值,确定所述第二交易请求为不合法交易。 在一种可能的实现方式中,所述交易记账节点进一步被配置为:在生成所述第二 交易请求所对应的区块链数据之后,从第二预设数据库中删除所述第二交易请求。 在一种可能的实现方式中,所述系统中除所述交易验证节点和所述交易验证节点 以外的节点被配置为交易参与节点; 所述交易参与节点进一步被配置为:生成所述第一区块链数据对应的摘要信息, 以及根据所述摘要信息生成第二区块链数据,存储所述第二区块链数据。 第二方面,本申请实施例提供一种基于区块链的交易方法,所述方法应用于基于 区块链的交易系统,所述系统中的部分节点被配置为交易验证节点,除所述交易验证节点 以外的部分节点被配置为交易记账节点;所述方法包括: 所述交易验证节点从第一预设数据库中获取第一交易请求,以及对所述第一交易 请求进行合法性验证,如果所述第一交易请求通过合法性验证,在所述第一交易请求中附 加所述交易验证节点的签名,以及将附加签名后的第一交易请求存储至第二预设数据库 中; 所述交易记账节点从第二预设数据库中获取第二交易请求,以及根据第二交易请 求中附加的签名,如果确定所述第二交易请求为合法交易,生成所述第二交易请求对应的 第一区块链数据,存储所述第一区块链数据。 在一种可能的实现方式中,所述方法还包括: 所述交易验证节点接收交易发起节点或所述交易验证节点的邻近节点发送的交 易请求,将所述交易请求存储至第一预设数据库中。 在一种可能的实现方式中,所述交易验证节点在对所述第一交易请求进行合法性 验证之前,所述方法还包括: 所述交易验证节点从第一预设数据库中获取第一交易请求的历史验证次数,如果 所述第一交易请求的历史验证次数大于第一阈值,放弃对所述第一交易请求进行的合法性 验证,以及将所述第一交易请求存储至第二预设数据库中;如果所述第一交易请求的历史 5 CN 111614707 A 说 明 书 3/10 页 验证次数小于或等于第一阈值,对所述第一交易请求进行合法性验证。 在一种可能的实现方式中,所述交易验证节在对所述第一交易请求进行合法性验 证之后,所述方法还包括: 所述交易验证节点更新所述第一交易请求的历史验证次数。 在一种可能的实现方式中,所述方法还包括: 如果所述第一交易请求未通过合法性验证,所述交易验证节点忽略所述第一交易 请求,并返回从第一预设数据库中获取新的交易请求的步骤。 在一种可能的实现方式中,所述交易记账节点确定所述第二交易请求为合法交 易,包括: 如果所述第二交易请求中附加的签名的数量大于第二阈值,所述交易记账节点确 定所述第二交易请求为合法交易。 在一种可能的实现方式中,所述方法还包括: 如果所述第二交易请求中附加的签名的数量小于或等于第二阈值,所述交易记账 节点确定所述第二交易请求为不合法交易。 在一种可能的实现方式中,所述交易记账节点在生成所述第二交易请求所对应的 区块链数据之后,所述方法还包括: 所述交易记账节点从第二预设数据库中删除所述第二交易请求。 在一种可能的实现方式中,所述系统中除所述交易验证节点和所述交易验证节点 以外的节点被配置为交易参与节点; 所述方法还包括: 所述交易参与节点生成所述第一区块链数据对应的摘要信息,以及根据所述摘要 信息生成第二区块链数据,存储所述第二区块链数据。 上述基于区块的交易系统中,交易验证节点可以从第一预设数据库中获取第一交 易请求,以及对第一交易请求进行合法性验证,如果第一交易请求通过合法性验证,在第一 交易请求中附加该交易验证节点的签名,以及将附加签名后的第一交易请求存储至第二预 设数据库中;交易记账节点可以从第二预设数据库中获取第二交易请求,以及根据第二交 易请求中附加的签名,如果确定第二交易请求为合法交易,可以生成第二交易请求对应的 第一区块链数据,并存储第一区块链数据。采用上述交易系统,通过将系统中的节点配置为 交易验证节点和交易记账节点,为系统中的节点赋予不同的角色,如此,交易验证节点负责 对交易进行验证,交易记账节点负责记账,两者分工明确。对于交易验证节点而言,无需依 赖交易记账节点的完成状态,可以提高交易验证的效率,缩短交易验证的时间;对于交易记 账节点而言,可以直接从第二预设数据库中获取已验证的交易请求,而无需再进行交易的 验证,可以把资源都用在记账权的争夺和数据的同步上,从而提高交易记账的效率,缩短交 易记账的时间。综上,采用本申请提供的交易系统,能够有效避免当待验证交易过多时,造 成较长时间的等待和交易排队较多的情况。 附图说明 图1是本申请实施例提供的一种基于区块链的交易系统的结构示意图; 图2是本申请实施例提供一种基于区块链的交易系统处理交易的流程示意图; 6 CN 111614707 A 说 明 书 4/10 页 图3是本申请实施例提供一种基于区块链的交易系统中发生交易的流程示意图; 图4是本申请实施例提供的一种交易验证节点进行合法性验证的方法所对应的流 程示意图; 图5是本申请实施例提供的一种交易记账节点处理交易的方法所对应的流程示意 图; 图6是本申请实施例提供的一种交易系统处理交易的整体性流程的示意图。
分享到:
收藏