当前位置: 首页 > 专利查询>DLT全球公司专利>正文

区块链交易管理器制造技术

技术编号:30135272 阅读:14 留言:0更新日期:2021-09-23 14:23
区块链交易管理器通过以下步骤来实施管理区块链交易向区块链网络中的节点的提交的方法:验证所接收到的区块链交易,并且将经验证的所接收到的区块链交易排入交易队列中;准备所接收到的区块链交易的至少一个交易属性,并且将所接收到的区块链交易放置在持久性队列中;对所接收到的区块链交易进行数字签名或认证;尝试向节点提交经数字签名的或经认证的区块链交易;以及轮询所提交的区块链交易的区块链状态。提供了用于自动地重新计算区块链交易属性中的区块链交易处理费用的过程。还提供了用于当区块链交易已被拒绝时修复交易属性并且向节点提交经修复的区块链交易的过程。此外,为所接收到的区块链交易自动地分配随机数,并且当相关联的区块链交易已被拒绝时重新分配随机数。分配随机数。分配随机数。

【技术实现步骤摘要】
【国外来华专利技术】区块链交易管理器
[0001]对相关申请的交叉引用
[0002]本专利申请要求Neeraj Srivastava于2019年12月13日提交的题为“Blockchain Transaction Manager”的美国临时专利申请第62/948,060号的权益,该美国临时专利申请的全部内容通过引用并入本文。


[0003]本申请涉及位于正在运行的计算机应用与区块链网络之间并且协助正在运行的应用提交、监视和接受区块链交易的中间系统。

技术介绍

[0004]区块链交易管道面临许多挑战。在区块链平台上,一些挑战是共同的,诸如交易提交与交易提交被接受至共享分类账中之间的延迟。其他挑战是高度特定于平台的,例如,以太坊(Ethereum)中由于交易“随机数(nonce)”编号问题而发生的拒绝。期望的是对这些问题提供解决方案,并且将该解决方案结合到可以解决共同的挑战以及特定于平台的挑战的单个界面中。

技术实现思路

[0005]本文描述的系统和方法通过使应用可以以其将交易提交至区块链网络例如以太坊的速率最大化以及在使人为干预最小化的同时使成功和最终完成的交易的比例最大化来解决本领域的需求。本文描述了一种接口,该接口可以插入在用户的应用与区块链网络之间,以获得强大的交易管道、状态报告和错误管理的益处。本文描述的区块链交易管理器通过以下的组合来解决上述挑战:队列、用于准备交易的算法;以及响应于区块链网络状况而迭代地调整所述交易的属性;以及轮询网络以了解交易状态。这些功能使能能够进行并发和错误之后的自动地重新发送。
[0006]在第一方面,提供了一种区块链交易管理器,其接收旨在用于区块链网络中的节点的区块链交易并且管理区块链交易向区块链网络中的节点的提交。区块链交易管理器包括向生成区块链交易的用户应用提供界面的交易管理应用。交易管理应用:接收关于区块链网络和提交交易的身份的必要信息;以及验证所接收到的区块链交易;以及将所接收到的区块链交易排入交易队列中。交易处理器:存储区块链网络和身份信息;以及准备所接收到的区块链交易的至少一个交易属性;使用由用户应用先前提供的身份凭证对所接收到的区块链交易进行数字签名,或者将所接收到的区块链交易认证为适用于区块链网络;以及尝试向区块链网络中的节点提交所接收到的区块链交易。区块链轮询器观察并报告所提交的区块链交易的区块链状态。
[0007]在示例实施方式中,交易管理应用在接收时为了跟踪目的而向区块链交易分配通用唯一标识符。交易处理器还将向区块链网络中的节点提交所接收到的交易的尝试排入跟踪队列以用于跟踪,并且存储成功提交至区块链网络中的节点的区块链交易的状态信息。
[0008]在其他实施方式中,管理活动调度器接收已被区块链网络中的节点拒绝的交易并且重试被拒绝的交易。此外,当区块链轮询器对所提交的区块链交易的初始轮询已超过可配置的最大尝试数目时,管理活动调度器可以调度区块链轮询器以降低的速率对区块链状态的进一步轮询以继续跟踪所提交的区块链交易的状态。
[0009]在另外的实施方式中,交易管理控制台提供人类用户经由交互界面对交易管理应用的访问。交易管理控制台经由用户的交互界面向用户提供区块链交易及其状态的列表。交易管理控制台还管理供区块链交易使用的身份或交易认证凭证。
[0010]区块链交易管理器还可以包括数据库,数据库存储尚未被成功写入区块链网络中的节点的所提交的区块链交易,并且存储该提交未成功的原因以及所提交的区块链交易的状态。
[0011]在第二方面,提供了一种管理区块链交易向区块链网络中的节点的提交的方法。该方法的示例实施方式包括:验证所接收到的区块链交易,并且将经验证的所接收到的区块链交易排入交易队列中;准备所接收到的区块链交易的至少一个交易属性,并且将所接收到的区块链交易放置在持久性队列中;对所接收到的区块链交易进行数字签名,或者将所接收到的区块链交易认证为适合于区块链网络;尝试向区块链网络中的节点提交经数字签名的或经认证的区块链交易;以及轮询所提交的区块链交易的区块链状态。在示例实施方式中,轮询区块链状态包括:轮询区块链网络中的节点以获取关于所提交的区块链交易朝向区块链网络中的接受的进展的信息;以及重试轮询直到期望的进展信息被接收到为止。在示例实施方式中,在轮询尝试的最大数目或时间段到期之后,轮询的频率降低。
[0012]在示例实施方式中,该方法还包括:接收响应,该响应指示:根据适合于区块链网络的准则,所提交的区块链交易向区块链网络中的节点的提交是否导致交易被区块链网络接受;以及将所提交的区块链交易以所提交的区块链交易的状态写入数据库。当所提交的区块链交易的状态指示提交不成功时,该方法还包括将提交不成功的原因存储在数据库中。
[0013]在其他的示例实施方式中,当所提交的区块链交易已被区块链网络中的节点拒绝时,对被拒绝的区块链交易的至少一个交易属性应用修复算法以创建经修复的区块链交易。对经修复的区块链交易进行数字签名,并且尝试向区块链网络中的节点提交经修复的区块链交易。当所提交的区块链交易已由于可重试错误而被区块链网络中的节点拒绝时,向区块链网络中的节点重新提交所提交的区块链交易,直到被接受或者超过重试限制为止。当超过所述重试限制时,通过向所存储的可用交易随机数池添加随机数值来指示交易的随机数的可用性;将所提交的区块链交易写入数据库中的错误交易表;以及/或者提取最初提交的原始区块链交易,并且使用与新接收到的交易相同的过程来使该原始区块链交易被再次准备并发送。
[0014]在另外的示例实施方式中,当区块链网络采用类似以太坊的交易随机数时,为所接收到的区块链交易自动地分配随机数。为所接收到的区块链交易自动地分配随机数可以包括:当针对同一账户和区块链网络的多个区块链交易被同时处理时,使用锁定机构来确保一次仅针对一个区块链交易计算随机数;当在多次重试之后区块链交易未被区块链网络中的节点接受时,可以将未被接受的区块链交易的随机数分配至可供与未被接受的区块链交易相关联的账户重新使用的随机数池。该方法还可以包括:当分配随机数时,考虑可用随
机数池是否包含针对与所接收到的区块链交易相关联的帐户的任何随机数;以及当随机数池包含针对与所接收到的区块链交易相关联的帐户的至少一个随机数时,选择最低值的随机数并且将最低值的随机数分配给所接收到的区块链交易。
[0015]为所接收到的区块链交易自动地分配随机数还可以包括:获得来自区块链网络中的节点的针对账户的随机数(N
web3
);获得为该账户最后自动地分配的随机数(N
red
);从为该账户最后自动地分配的随机数(N
red
)中减去来自区块链网络中的节点的针对该账户的随机数(N
web3
);以及当N
red

N
web3
大于预定义的随机数窗口时,则选取来自区块链网络中的节点中的针对该账户的随机数(N
web3
);否则选择具有更大值的随机数。所述方法还可以包括:本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种区块链交易管理器,所述区块链交易管理器接收旨在用于区块链网络中的节点的区块链交易并且管理所述区块链交易向所述区块链网络中的节点的提交,所述区块链交易管理器包括:交易管理应用,所述交易管理应用向生成区块链交易的用户应用提供界面,所述交易管理应用:接收关于所述区块链网络和提交交易的身份的必要信息;验证所接收到的区块链交易;以及将所接收到的区块链交易排入交易队列中;交易处理器,所述交易处理器:存储所述区块链网络和身份信息;准备所接收到的区块链交易的至少一个交易属性;使用由所述用户应用提供的身份凭证对所接收到的区块链交易进行数字签名,或者将所接收到的区块链交易认证为适用于所述区块链网络;以及尝试向所述区块链网络中的节点提交所接收到的区块链交易;以及区块链轮询器,所述区块链轮询器观察并报告所提交的区块链交易的区块链状态。2.根据权利要求1所述的区块链交易管理器,其中,所述交易管理应用在接收时为了跟踪目的而向所述区块链交易分配通用唯一标识符。3.根据权利要求1所述的区块链交易管理器,其中,所述交易处理器还将向所述区块链网络中的节点提交所接收到的交易的所述尝试排入跟踪队列以用于跟踪,并且存储成功提交至所述区块链网络中的节点的区块链交易的状态信息。4.根据权利要求1所述的区块链交易管理器,还包括:管理活动调度器,所述管理活动调度器接收已被所述区块链网络中的节点拒绝的交易并且重试被拒绝的交易。5.根据权利要求4所述的区块链交易管理器,其中,当所述区块链轮询器对所提交的区块链交易的初始轮询已超过可配置的最大尝试数目时,所述管理活动调度器调度所述区块链轮询器以降低的速率对所述区块链状态的进一步轮询以继续跟踪所提交的区块链交易的状态。6.根据权利要求1所述的区块链交易管理器,还包括:交易管理控制台,所述交易管理控制台提供人类用户经由交互界面对所述交易管理应用的访问,所述交易管理控制台经由所述用户的交互界面向所述用户提供区块链交易及其状态的列表。7.根据权利要求6所述的区块链交易管理器,其中,所述交易管理控制台还管理供区块链交易使用的身份或交易认证凭证。8.根据权利要求1所述的区块链交易管理器,还包括:数据库,所述数据库存储尚未被成功写入所述区块链网络中的节点的所提交的区块链交易,并且存储所述提交未成功的原因以及所提交的区块链交易的状态。9.一种管理区块链交易向区块链网络中的节点的提交的方法,所述方法包括:验证所接收到的区块链交易,并且将经验证的所接收到的区块链交易排入交易队列中;准备所接收到的区块链交易的至少一个交易属性,并且将所接收到的区块链交易放置在持久性队列中;对所接收到的区块链交易进行数字签名,或者将所接收到的区块链交易认证为适合于所述区块链网络;尝试向所述区块链网络中的节点提交经数字签名的或经认证的区块链交易;以及轮询所提交的区块链交易的区块链状态。
10.根据权利要求9所述的方法,其中,轮询所述区块链状态包括:轮询所述区块链网络中的节点以获取关于所提交的区块链交易朝向所述区块链网络中的接受的进展的信息;以及重试所述轮询直到期望的进展信息被接收到为止。11.根据权利要求10所述的方法,其中,在轮询尝试的最大数目或时间段到期之后,所述轮询的频率降低。12.根据权利要求9所述的方法,还包括:接收响应,所述响应指示:根据适合于所述区块链网络的准则,所提交的区块链交易向所述区块链网络中的节点的提交是否导致所述交易被所述区块链网络接受。13.根据权利要求12所述的方法,还包括:将所提交的区块链交易以所提交的区块链交易的状态写入数据库。14.根据权利要求13所述的方法,其中,当所提交的区块链交易的状态指示所述提交不成功时,还将所述提交不成功的原因存储在所述数据库中。15.根据权利要求14所述的方法,其中,当所提交的区块链交易已被所述区块链网络中的节点拒绝时,对被拒绝的区块链交易的至少一个交易属性应用修复算法以创建经修复的区块链交易,对经修复的区块链交易进行数字签名,并且尝试向所述区块链网络中的节点提交经修复的区块链交易。16.根据权利要求14所述的方法,其中,当所提交的区块链交易已由于可重试错误而被所述区块链网络中的节点拒绝时,向所述区块链网络中的节点重新提交所提交的区块链交易,直到被接受或者超过重试限制为止。17.根据权利要求16所述的方法,其中,当超过所述重试限制时,执行以下中的至少一个:通过向所存储的可用交易随机数池添加随机数值来指示所述交易的随机数的可用性;将所提交的区块链交易写入数据库中的错误交易表;以及提取最初提交的原始区块链交易,并且使用与新接收到的交易相同的过程来使所述原始区块链交易被再次准备并发送。18.根据权利要求9所述的方法,还包括:当所述区块链网络包括交易随机数机构时,为所接收到的区块链交易自动地分配随机数。19.根据权利要求18所述的方法,其中,为所接收到的区块链交易自动地分配随机数包括:当针对同一账户和区块链网络的多个区块链交易被同时处理时,使用锁定机构来确保一次仅针对一个区块链交易计算随机数;当在多次重试之后区块链交易未被所述区块链网络中的节点接受时,将未被接受的区块链交易的随机数分配至可供与未被接受的区块链交易相关联的账户重新使用的随机数池;当分配随机数时,考虑可用随机数池是否包含针对与所接收到的区块链交易相关联的帐户的任何随机数;以及当所述随机数池包含针对与所接收到的区块链交易相关联的帐户的至少一个随机数时,选择最低值的随机数并且将所述最低值的随机数分配给所接收到的区块链交易。20.根据权利要求19所述的方法,其中,为所接收到的区块链交易自动地分配随机数还包括:获得来自所述区块链网络中的节点的针对所述账户的随机数(N
web3
);
获得为所述账户最后自动地分配的随机数(N
red

【专利技术属性】
技术研发人员:尼拉伊
申请(专利权)人:DLT全球公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1