一种基于区块链账本的去膨胀优化方法与流程

文档序号:21361051发布日期:2020-07-04 04:34阅读:284来源:国知局
一种基于区块链账本的去膨胀优化方法与流程

本发明涉及区块链技术领域,特别涉及一种基于区块链账本的去膨胀优化方法。



背景技术:

比特币是一种去中心化的加密电子货币,其概念最初由中本聪(nakamoto)于2008年在一个隐秘的密码学极客上提出,2009年比特币系统正式诞生。随着比特币的广泛使用,人们开始挖掘其底层技术——区块链。区块链以去中心化方式建立信任等突出特点,对金融等诸多行业来说极具颠覆性,具有非常广阔的应用前景,受到各国政府、金融机构、科技企业、爱好者和媒体的高度关注。随着对区块链技术研究的深入,其设计之初的一些缺陷逐渐被挖掘出来,并困扰着整个区块链社区,其中最为显著的缺陷就是区块链容量的问题。

比特币设计之初,为了防止计算资源的浪费和ddos攻击,中本聪决定将单个区块的大小限制在1mb。随着交易的数目增加,区块的有效空余空间越来越小。交易规模的增长同时会带来另一个问题——数据库的膨胀,为运行完整节点的客户端带来了巨大的存储考验。随着比特币交易量不断增长,比特币网络拥堵、交易费用上升的问题逐渐涌现出来。因此,如何对区块链进行扩容变得刻不容缓。

再者,当今的公共比特币网络平均每秒仅可以处理7笔交易,远远低于其他中心化的交易平台。而在本系统模型中,交易记录各个客户端提交的计算任务,这个任务包含的数据量远超目前存在的区块链系统。所以,现有的这些算力调度模型往往效率低下,无法满足大量用户提交的调度任务的需求,同时还会带来数据库膨胀的问题。因此在设计区块结构时,对区块进行去冗余处理更加必要。

另外,随着区块链技术和人工智能技术科学的不断发展,行业对于算力的需求暴涨,不管是用于区块链中的挖矿还是人工智能深度学习任务都极其消耗计算资源,然而强大的算力需要高昂的硬件设备作为支撑。目前,传统的算力提供商都是中心化的,并且收取高昂的费用,这难以满足普罗大众的需求。与此同时,网络中却存在着大量闲置的算力节点,这些算力节点由于算力较弱且分布太广无法被有效的利用而闲置,这造成了大量的资源浪费。



技术实现要素:

本发明的目的是提供一种基于区块链账本的去膨胀优化方法,所要解决的技术问题是:算力调度模型往往效率低下,无法满足大量用户提交的调度任务的需求,同时还会带来数据库膨胀的问题

本发明解决上述技术问题的技术方案如下:一种基于区块链账本的去膨胀优化方法,包括以下步骤:

算力需求方通过客户端向区块链提交任务需求,利用标准化模块将任务的内容按照特定格式进行标准化成相同的交易格式,生成待验证的交易;

将待验证的交易暂存在交易池中,从交易池中选择权重较高的交易优先提交至区块链网络;利用隔离见证模块将交易记录分为交易状态和交易见证,将交易见证的数据从交易记录数据的解锁脚本中隔离出来;验证解锁脚本与锁定脚本是否对应,当验证完成后,将见证数据放在对应区块的末尾;

利用支付通道对算力提供方进行支付金额。

在上述技术方案的基础上,本发明还可以做如下改进。

进一步,利用标准化模块将任务的内容按照特定格式进行标准化成相同的交易格式具体为:标准化模块接收到来自客户端的任务需求,将任务内容处理为对cpu、gpu、内存和运行时间的资源需求,对处理得出的数据进行计算,获得资源需求相对应的金额,然后将资源需求及对应金额归一化成交易格式,生成待验证的交易。

进一步,交易的权重影响因素包括交易创建时间、交易utxo和交易费用,其中交易创建时间越长、交易utxo越大、交易费用越高,交易的权重也越大。

进一步,见证数据隔离出来后,将见证数据转移至见证脚本内,对每个见证脚本引入脚本版本号,还引入新的脚本操作数、语法;将见证脚本置于隔离沙盒中进行处理,验证解锁脚本与锁定脚本是否对应,当验证完成后,将见证数据放在对应区块的末尾。

进一步,利用支付通道对算力提供方进行支付金额具体为:引入智能合约来建立链下的交易渠道,构成闪电网络;当算力需求方和算力提供方在区块链上预先设置有支付通道,则通过该支付通道进行交易支付;当算力需求方和算力提供方在区块链上未设置有支付通道,则通过闪电网络构建可扩展的支付通道。

进一步,所述闪电网络采用rsmc机制来创建双向支付通道,算力提供方和算力需求方各预存资金到双向支付通道内,其中算力需求方将资金作为支付算力的报酬,而算力提供方将资金作为算力提供的保证金,当算力提供方无法按时提供规定算力时,则将保证金充当违约金支付给算力需求方。

进一步,当算力需求方提出任务需求后,通过计算得出相应的支付金额,在双向支付通道中发起交易,重新分配双向支付通道中预存的资金;资金重新分配需要算力提供方和算力需求方通过私钥签名确认;

当算力提供方或算力需求方都提出资金提现请求时,申请方向区块链网络提供算力提供方和算力需求方都签署过的最终资金分配方案,当区块链网络对提现请求进行确认后,申请方等待1000个时间窗口获得到资金;在此窗口期内,当另一方拿出证据证明申请方提供的分配方案并非最终资金分配方案,则将预存的资金支付给另一方;否则,将按照申请方的最终资金分配方案进行分配,另一方确认了资金提现请求后,申请方的资金到账时间要晚于另一方的资金到账时间。

进一步,所述闪电网络采用htlc机制构建跨节点支付通道,建立智能合约,由算力需求方a提供资金并冻结,同时算力需求方a向算力提供方d提供密文;算力需求方a向中转方提供哈希值h,且设定时间内中转方向算力需求方a提供密文,同时算力提供方d向中转方提供密文,当对密文进行哈希计算后与哈希值h相匹配,则将资金支付给中转方,中转方向算力提供方d支付资金。

本发明的有益效果是:使用隔离见证模块对区块链账本中区块的结构进行分解,将交易状态和交易见证分开记录,使每个区块能够容纳更多交易,以达到扩容的目的,同时解决了交易延展性问题。最后结合闪电网络技术,在链下建立可扩展的双向支付通道,允许用户在链下实现实时、去信任的海量交易。

附图说明

图1为本发明隔离见证模块的实施示意图;

图2为本发明rsmc机制的实施示意图;

图3为本发明跨节点支付通道的实施示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

如图1至图3所示,一种基于区块链账本的去膨胀优化方法,包括以下步骤:

算力需求方通过客户端向区块链提交任务需求,利用标准化模块将任务的内容按照特定格式进行标准化成相同的交易格式,生成待验证的交易;

将待验证的交易暂存在交易池中,从交易池中选择权重较高的交易优先提交至区块链网络;利用隔离见证模块将交易记录分为交易状态和交易见证,将交易见证的数据从交易记录数据的解锁脚本中隔离出来;验证解锁脚本与锁定脚本是否对应,当验证完成后,将见证数据放在对应区块的末尾;

利用支付通道对算力提供方进行支付金额。

上述实施例中,利用标准化模块将任务的内容按照特定格式进行标准化成相同的交易格式具体为:标准化模块接收到来自客户端的任务需求,将任务内容处理为对cpu、gpu、内存和运行时间的资源需求,对处理得出的数据进行计算,获得资源需求相对应的金额,然后将资源需求及对应金额归一化成交易格式,生成待验证的交易。

上述实施例中,交易的权重影响因素包括交易创建时间、交易utxo和交易费用,其中交易创建时间越长、交易utxo越大、交易费用越高,交易的权重也越大。

上述实施例中,见证数据隔离出来后,将见证数据转移至见证脚本内,对每个见证脚本引入脚本版本号,还引入新的脚本操作数、语法;将见证脚本置于隔离沙盒中进行处理,验证解锁脚本与锁定脚本是否对应,当验证完成后,将见证数据放在对应区块的末尾。

如图1所示,在原来的区块中,每笔交易大约为250字节,交易见证的数据约占150字节,交易状态的数据部分约占100字节。每个区块大小限制不超过1mb的空间,将见证数据从交易数据中的解锁脚本中隔离出来。这样在原来1mb空间大小不变的情况下,每个区块大约可以容纳10000笔交易,比原来多出了6000笔,交易的速度提升了2.5倍。此时交易的id仅是由交易状态决定,不再受交易见证的影响。而隔离出来的见证数据,将移至一个与交易对应的见证数据结构——见证脚本,对每个脚本引入脚本版本号,引入新的脚本操作数、语法。这些见证脚本在隔离沙盒中进行处理,验证解锁脚本是否与锁定脚本对应。当验证完成后,将见证数据放在区块的末尾,全部的见证数据大小约为1.5mb,所以隔离见证以后每个区块的大小将达到2.5mb左右。

上述实施例中,利用支付通道对算力提供方进行支付金额具体为:引入智能合约来建立链下的交易渠道,构成闪电网络;当算力需求方和算力提供方在区块链上预先设置有支付通道,则通过该支付通道进行交易支付;当算力需求方和算力提供方在区块链上未设置有支付通道,则通过闪电网络构建可扩展的支付通道。

上述实施例中,所述闪电网络采用rsmc机制来创建双向支付通道,算力提供方和算力需求方各预存资金到双向支付通道内,其中算力需求方将资金作为支付算力的报酬,而算力提供方将资金作为算力提供的保证金,当算力提供方无法按时提供规定算力时,则将保证金充当违约金支付给算力需求方。

上述实施例中,如图2所示,当算力需求方提出任务需求后,通过计算得出相应的支付金额,在双向支付通道中发起交易,重新分配双向支付通道中预存的资金;资金重新分配需要算力提供方和算力需求方通过私钥签名确认;

当算力提供方或算力需求方都提出资金提现请求时,申请方向区块链网络提供算力提供方和算力需求方都签署过的最终资金分配方案,当区块链网络对提现请求进行确认后,申请方等待1000个时间窗口获得到资金;在此窗口期内,当另一方拿出证据证明申请方提供的分配方案并非最终资金分配方案,则将预存的资金支付给另一方;否则,将按照申请方的最终资金分配方案进行分配,另一方确认了资金提现请求后,申请方的资金到账时间要晚于另一方的资金到账时间。

上述实施例中,所述闪电网络采用htlc机制构建跨节点支付通道,建立智能合约,由算力需求方a提供资金并冻结,同时算力需求方a向算力提供方d提供密文;算力需求方a向中转方提供哈希值h,且设定时间内中转方向算力需求方a提供密文,同时算力提供方d向中转方提供密文,当对密文进行哈希计算后与哈希值h相匹配,则将资金支付给中转方,中转方向算力提供方d支付资金。

如图3所示,算力需求方a手中拥有哈希值h,首先算力需求方a通过某种途径将密文发送给算力提供方d,接着算力需求方a与中转方b签署合约,若中转方b能够在规定时间内提供一串密文使得其哈希计算后的值与哈希值h值相同,则其能够得到1.002个btc。然后,中转方b与中转方c签署合约,若中转方c能够提供规定的密文,则其能够得到1.001个btc。最后,中转方c与算力提供方d签署合约,若算力提供方d能够提供规定的密文,则其能够得到1.000个btc。至此,我们构建了跨节点的支付通道,完成了由算力需求方a向算力提供方d发起交易的请求。整个交易流程都在链下完成,通过哈希时间锁定合约,若交易成功,中转方b和中转方c分别能够得到0.001btc的手续费;若在规定时间内需求方无法获取到合法的密文,则交易失败合约解锁,资金将退回算力需求方a的账户下。

本发明提出一种基于区块链账本的去膨胀优化方法,适配于分布式算力调度的智能合约应用,旨在为基于智能合约的去中心化的资源调度系统解决交易吞吐量和交易速度的问题。

本发明使用区块链智能合约技术来实现去中心化的算力资源调度系统,有效的降低了相关行业机构和企业的算力成本;本系统模型使用隔离见证技术对区块链账本中区块的结构进行分解,将交易状态和交易验证分开记录,使每个区块能够容纳更多交易,以达到扩容的目的,同时解决了交易延展性问题。最后结合闪电网络技术,在链下建立可扩展的双向微支付通道,允许用户在链下实现实时、去信任的海量交易。只有在通道关闭后,其初始余额和最终余额的相关信息才会被广播到比特币区块链上。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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