一种基于区块链合约层的链下执行交易方法及系统技术方案

技术编号:21061767 阅读:30 留言:0更新日期:2019-05-08 07:51
本发明专利技术揭示了一种基于区块链合约层的链下执行交易方法及系统,系统包括参与方以及建立在参与方之间的状态通道,状态通道包括链上和链下两个部分,链上和链下部署有智能合约,智能合约包括部署在链上的根合约和部署在链下的链下合约,链上还部署有仲裁合约和预言机合约,根合约用于最终结算,链下合约用于执行交易过程,仲裁合约用于参与方对链下交易有异议时的检验操作,预言机合约用于提供必要的外部数据。本发明专利技术的基于区块链合约层的链下执行交易方法及系统,既能减少区块链网络的延时对繁杂的交易过程带来的影响,又能减少交易过程中产生的手续费,还能对具体的交易细节进行保密。

【技术实现步骤摘要】
一种基于区块链合约层的链下执行交易方法及系统
本专利技术涉及区块链交易领域,特别涉及一种基于区块链合约层的链下执行交易方法及系统。
技术介绍
在现今的信息社会,数据扮演着越来越重要的角色。数据的分享与交易成为了当前技术和商业的一个热点。而且,由于数据与传统商品相比有较大的差异,比如容易丢失,容易复制,需要保密等。因而,对交易的处理能力、交易过程的可追踪性、交易数据的完整性以及可靠性都有更高的要求。但是在传统的交易方式中,交易的达成一般需要依赖第三方的交易中心,交易中心的处理能力会影响交易的效率,并且交易中心的故障会影响交易的所有相关方。而且,对传统交易过程的追踪非常依赖传统的中心信任机构,如银行、证券交易所、第三方机构等中心化机构,只有通过这些中心信任机构才可以完成交易的验证。在传统的交易平台上,交易数据的完整性也是很难维护,由于传统交易的非透明性,交易的历史难于追溯,交易过程文件也可能被篡改,因而容易滋生欺诈。现有的区块链平台上的交易方式多是在链上进行,但是其确认交易的方式过于冗余的问题尤为突出,这将会导致每笔交易的确认会有一定的延时。这种延时的存在使得其交易方式与现阶段逐步加快的交易节奏需求不相符合。与此同时,要在区块链中记录的每笔交易都需要消耗一笔不菲的手续费,如果交易过程过于繁杂,则相应的交易手续费也将增大,交易成本随之提高。另外,区块链会把交易的详细过程公之于众,因此无法满足交易的保密性,这些是参与交易的多方都不愿看到的。
技术实现思路
本专利技术的目的在于针对现有技术中的上述缺陷,提供一种基于区块链合约层的链下执行交易方法及系统,具体的交易过程放到链下进行,把最终的交易结果推送到链上进行结算,既能减少区块链网络的延时对繁杂的交易过程带来的影响,又能减少交易过程中产生的手续费,还能对具体的交易细节进行保密。为了实现上述专利技术目的,本专利技术采用了如下技术方案:一种基于区块链合约层的链下执行交易方法,包括以下步骤:步骤1:参与方共同拟定智能合约,并确定获取外部数据的预言机合约,创建状态通道,制成特定客户端;所述智能合约包括部署在链上的根合约和部署在链下的链下合约,所述链下合约中包括交易规则和交易次数;步骤2:参与方将根合约部署到工作平台提供的公链上,并在所述根合约中转入约定的积分,通过所述特定客户端将所述链下合约部署到所述公链下,所述状态通道开启;步骤3:预言机合约获取外部数据并上传至链下合约,根据链下合约中拟定的交易规则,改变参与方的余额状态;步骤4:参与方通过签名确认单次交易结果;步骤5:重复执行步骤3和步骤4直至完成链下合约中拟定的交易次数,得到最终交易结果,参与方将最终交易结果发送至根合约,根合约根据交易结果将积分转发至交易方账户中,所述状态通道关闭。此外,本技术方案还包括如下附属技术方案:所述步骤4包括以下具体步骤:若参与方对每次交易结果都认可,则签名认可;若参与方对某次交易结果有异议,则签名不认可,需对交易结果进行仲裁。所述仲裁步骤包括以下步骤:S1:由其中一方将所述链下合约部署至所述公链上作为仲裁合约,并确定所述仲裁合约有效;S2:将有异议的交易结果和本次获取的外部数据发送至根合约;S3:根合约调用所述仲裁合约,并将有异议的交易结果和本次获取的外部数据传入仲裁合约内进行仲裁;S4:所述根合约获取仲裁合约的仲裁结果得到此次交易结果。确定所述仲裁合约是否有效包括以下步骤:所述根合约事先存有链下合约的hash值,将所述仲裁合约的地址和hash值发送至根合约,根合约判断所述hash值是否有效;若有效,则允许所述仲裁合约并认可仲裁结果;若无效,则不允许所述仲裁合约并不认可仲裁结果。为了实现上述专利技术目的,本专利技术还采用了如下技术方案:一种基于区块链合约层的链下执行交易系统,其包括参与方以及建立在参与方之间的状态通道,所述状态通道包括链上和链下两个部分,所述链上和链下部署有智能合约,所述智能合约包括部署在链上的根合约和部署在链下的链下合约,所述链上还部署有仲裁合约和预言机合约,所述根合约用于最终结算,所述链下合约用于执行交易过程,所述仲裁合约用于参与方对链下交易有异议时的检验操作,所述预言机合约用于提供必要的外部数据。此外,本技术方案还包括如下附属技术方案:所述参与方可通过签名方式授权代理人。所述根合约包括所述链下合约的hash值、参与方的公钥地址、经授权的代理人的公钥地址以及所述预言机合约的公钥地址。所述仲裁合约包括参与方的公钥地址,所述仲裁合约的内容与所述链下合约内容一致。所述预言机合约包括为所述链下合约提供外部数据的公钥地址以及链下合约所需的重要数据。所述链下合约包括码源,所述码源包括交易规则、参与方的公钥地址以及各地址的余额状态。相比于现有技术,本专利技术优点在于:本专利技术的基于区块链合约层的链下执行交易方法及系统,将区块链中的合约层单独剥离出来,具体的交易过程放到链下进行,把最终的交易结果推送到链上进行结算,既能减少区块链网络的延时对繁杂的交易过程带来的影响,又能减少交易过程中产生的手续费,还能对具体的交易细节进行保密。附图说明图1是本专利技术基于区块链合约层的链下执行交易系统的结构示意图。图2是本专利技术中状态通道链上和链下合约结构示意图。图3是本专利技术中参与方拟定智能合约流程图。图4是本专利技术中参与方部署智能合约流程图。图5是本专利技术中状态通道工作流程图。图6是本专利技术中状态通道运行总流程图。具体实施方式以下结合较佳实施例及其附图对本专利技术技术方案作进一步非限制性的详细说明。如图1所示,一种基于区块链合约层的链下执行交易系统,其包括参与方以及建立在参与方之间的状态通道,参与方至少两个,参与方可通过签名方式授权代理人,状态通道包括链上和链下两个部分,链上和链下部署有智能合约,智能合约包括部署在链上的根合约和部署在链下的链下合约,链上还部署有仲裁合约以及预言机合约。如图2所示,根合约用于最终结算,其包括链下合约的hash值、参与方的公钥地址、经授权的代理人的公钥地址以及预言机合约的公钥地址。仲裁合约用于参与方对链下交易有异议时的检验操作,其内容与链下合约内容一致,主要包括参与方的公钥地址。预言机合约用于提供必要的外部数据,其可信度被参与方认可,其包括为链下合约提供外部数据的公钥地址以及链下合约所需的重要数据,此数据是状态通道能否顺利运行的关键。链下合约用于执行交易过程,其包括所有链下合约的码源,码源包括交易规则、参与方的公钥地址以及各地址的余额状态。值得注意的是,对链下合约可以任意更改,但必须得到全体参与方的认可并签名,同时将根合约中相应的链下合约的hash值更新;对参与方的增删,也必须得到全体参与方的认可并签名,同时将根合约中相应的参与方的公钥地址进行有效或者失效的状态更新。而在授权代理人时,各参与方需要通过签名授权,并在更合约中更新相应的代理人的公钥地址。一种基于区块链合约层的链下执行交易方法,在本实施例中,为了更好地理解本专利技术的实质,下面用实例来详细说明本专利技术的
技术实现思路
,但本专利技术的内容并不局限于此。如图3至图6所示,在以太坊区块链中,有两个参与方U1和参与方U2要进行一个“预测气温”的游戏,如果当天最高气温低于25℃,则参与方U1账户给参与方U2转1个积分,反之参与方U2账户给参与方U1转1个积分,十天为止本文档来自技高网
...

【技术保护点】
1.一种基于区块链合约层的链下执行交易方法,其特征在于包括以下步骤:步骤1:参与方共同拟定智能合约,并确定获取外部数据的预言机合约,创建状态通道,制成特定客户端;所述智能合约包括部署在链上的根合约和部署在链下的链下合约,所述链下合约中包括交易规则和交易次数;步骤2:参与方将根合约部署到工作平台提供的公链上,并在所述根合约中转入约定的积分,通过所述特定客户端将所述链下合约部署到所述公链下,所述状态通道开启;步骤3:预言机合约获取外部数据并上传至链下合约,根据链下合约中拟定的交易规则,改变参与方的余额状态;步骤4:参与方通过签名确认单次交易结果;步骤5:重复执行步骤3和步骤4直至完成链下合约中拟定的交易次数,得到最终交易结果,参与方将最终交易结果发送至根合约,根合约根据交易结果将积分转发至参与方账户中,所述状态通道关闭。

【技术特征摘要】
1.一种基于区块链合约层的链下执行交易方法,其特征在于包括以下步骤:步骤1:参与方共同拟定智能合约,并确定获取外部数据的预言机合约,创建状态通道,制成特定客户端;所述智能合约包括部署在链上的根合约和部署在链下的链下合约,所述链下合约中包括交易规则和交易次数;步骤2:参与方将根合约部署到工作平台提供的公链上,并在所述根合约中转入约定的积分,通过所述特定客户端将所述链下合约部署到所述公链下,所述状态通道开启;步骤3:预言机合约获取外部数据并上传至链下合约,根据链下合约中拟定的交易规则,改变参与方的余额状态;步骤4:参与方通过签名确认单次交易结果;步骤5:重复执行步骤3和步骤4直至完成链下合约中拟定的交易次数,得到最终交易结果,参与方将最终交易结果发送至根合约,根合约根据交易结果将积分转发至参与方账户中,所述状态通道关闭。2.按照权利要求1所述基于区块链合约层的链下执行交易方法,其特征在于:所述步骤4包括以下具体步骤:若参与方对每次交易结果都认可,则签名认可;若参与方对某次交易结果有异议,则签名不认可,需对交易结果进行仲裁。3.按照权利要求2所述基于区块链合约层的链下执行交易方法,其特征在于所述仲裁步骤包括以下步骤:S1:由其中一方将所述链下合约部署至所述公链上作为仲裁合约,并确定所述仲裁合约有效;S2:将有异议的交易结果和本次获取的外部数据发送至根合约;S3:根合约调用所述仲裁合约,并将有异议的交易结果和本次获取的外部数据传入仲裁合约内进行仲裁;S4:所述根合约获取仲裁合约的仲裁结果得到此次交易结果。4.按照权利要求3所述基于区块链合约层的链下执行交易方法,其特征在于确...

【专利技术属性】
技术研发人员:邱望洁
申请(专利权)人:苏州鸿链信息科技有限公司
类型:发明
国别省市:江苏,32

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

1