一种区块链交易方法与流程

文档序号:17093528发布日期:2019-03-13 23:40阅读:1449来源:国知局
一种区块链交易方法与流程

本发明涉及安全技术领域,尤其涉及一种区块链交易方法。



背景技术:

区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。

当前,区块链技术的应用面临很多的问题,当前的区块链系统中,所有数据完全在链上公开,无法接受并处理任何需要保密的数据,存在隐私问题,区块链的特性是集体保存,公开透明,以起到集体证明产生信任的目的,这对于电子发票,医疗记录等存证类应用场景是不适合的。

隐私数据的典型场景有衍生品交易时用户的持仓点位、非信息完全博弈游戏如棋牌类游戏中玩家的手牌等。为了保护数据的机密性,这类应用无法在链上运行。



技术实现要素:

本发明实施例提出了一种区块链交易方法,将可信执行环境(tee,trustedexecutionenvironment)推广至任意可信的设备,向区块链引入可信的链下数据参与共识,解决链上随机数生成器的问题,因交易方法运行在执行隐私智能合约的可信计算环境下,提高了交易中数据的隐私安全性。

本发明实施例提供一种区块链交易方法,所述方法包括:

判断转账方与收账方是否在同一条链上;

转账方与收账方在同一条链上时,判断区块链系统能否采用闪电网络进行转账,若能则采用转账网络进行转账,否则执行链上交易;

转账方与收账方不在同一条链上时,判断所述区块链系统能否进行原子交换操作,若能则进行原子交换,否则提币到主链,存币到目标链。

其中,所述区块链系统判断能否采用闪电网络进行转账,具体包括:

所述区块链系统中的主链采用闪电网络与子链进行资产交易时,判断出所述区块链系统能采用闪电网络进行转账。

其中,所述判断所述区块链系统能否进行原子交换操作,具体包括:

所述区块链系统中的主链采用闪电网络实现原子交换时,判断出所述区块链系统能进行原子交换操作。

进一步的,所述判断转账方与收账方是否在同一条链上之前,所述方法还包括:

区块链系统中的子链接入系统时,向主链提供子链的唯一标识及用于冻结和解锁资产的输出脚本,进行注册。

其中,所述子链向所述主链还抵押一笔保证金用于解决纠纷。

进一步的,所述方法还包括:主链冻结资产,在子链发行资产实现入金,等量发行实现从主链到子链的单向锚定。

进一步的,其特征在于,所述方法还包括:在子链销毁资产,在主链解锁资产实现出金,等量解锁实现子链到主链的单向锚定。

有益效果如下:

本发明的区块链交易方法,运行在执行隐私智能合约的可信计算环境下,结合链上、链下共识,提出了广义链共识(generalizedchainconsensus),结合区块链分层技术,得到了一个实用化的高性能通用区块链交易方法及系统。

附图说明

下面将参照附图描述本发明的具体实施例,其中:

图1示出了本发明实施例一区块链交易系统结构示意图;

图2示出了本发明实施例一区块链系统中入金与出金的流程示意图;

图3示出了本发明实施例二区块链交易方法的流程示意图;

图4示出了现有区块链交易方法流程示意图。

具体实施方式

为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。

针对传统智能合约在链上存储状态,通过图灵完备的计算操作资产的所有权,实现了链上共识无法保证隐私性的问题,因链上共识很难解决涉及到隐私与外部输入的问题,而链下共识则提供了可能性。本方案提出引入可信计算环境(tee)与链下共识协议实现广义链共识,stc在交易中允许引入外部可信数据,与链上数据同时参与共识,在链上实现隐私智能合约与非确定性。

图1示出了一种区块链交易系统,该交易系统包括链上结构和链下结构,该链上结构和链下结构采用广义链共识中的链下信任机制,链上结构包括采用分层设计的主链和子链,且子链上运行隐私智能合约。

其中,广义链共识由链上与链下两部分构成,链上结构包括主链和至少一条子链,主链基于utxo模型作为交易模型,且至少一种资产在主链上进行资产交易,主链通过结算协议与子链进行互操作,实现资产相互转移。

具体的,本发明中主链作为子链的基础设施,仅支持简单交易以及基于输出脚本的简单智能合约。利用智能合约可以按需求在链上实现资产的冻结与解锁,从而实现与子链的互操作。主链的设计强调安全性与互操作性,一些对用户友好的高级特性,如低延迟、高吞吐量的交易,图灵完备智能合约等特性则交给主链之上的二层解决方案实现。

主链采用utxo作为交易模型,实现可靠的链上多资产记账。utxo的基本单位仅包含未花费与花费两个状态,是一种简洁、易于维护的模型,全部未花费的输出即为余额,可供未来的交易使用。主链作为资产的发行与结算层,无须支持图灵完备智能合约。

本发明采用utxo作为交易模型,主链-子链分层设计具有如下优点:

因utxo是一种已被证明的、公认的安全模型,具有健壮性;因每一笔交易仅与输入相关,没有关联的交易可以并行执行以提高吞吐量,具有并行化的特点;utxo的精简设计有利于闪电网络、plasma等二层扩容方案的实现,已经广泛应用于各种扩容协议,具有扩展性;utxo模型下的交易更难以追踪,具有隐私性。

下面具体描述本发明中主链与子链的分层设计及特点:

主链支持多种资产

初始时主链带有一种原生资产tfc,用于支付矿工奖励、交易手续费与用作抵押。此外用户也可以在主链发行资产,每一种资产都可以地参与交易,与原生资产没有区别。

资产在主链上发行与结算,并可以通过结算协议与子链相互转移。子链上的资产必须在主链上保留100%储备金,保证了资金的安全性。不同的子链可以通过主链中转,实现子链之间的资产转移。资产的转移与结算将在后文中详细阐述。

主链采用pow作为共识机制

pow可以为主链提供最佳的安全性,同时以最公平的方式分配货币,避免类pos共识下资产趋于集中的隐患。主链采用pow作为共识机制,可以使得主链确保安全而非追求效率。

主链采用闪电网络与所述子链进行资产交易。

因交易速度受到了网络带宽与延迟、区块验证时间、存储等多种因素的限制,区块链的链上交易存在瓶颈。因此,本发明中,主链采用闪电网络通过构造链上支付通道,实现高吞吐、低延迟的链下交易。

闪电网络中,只有路由节点参与交易,交易在网络中完全并行执行,随着节点增长,理论上吞吐量没有上限。闪电网络交易由链上支付通道保证安全性,可以实现即时交易而无需等待区块确认。

主链的各种资产可以通过闪电网络实现原子交换,从而实现一个高效的去中心化交易所。

实际应用中,子链有多条,且子链具有如下特性:

子链采用基于pos和/或基于pow的共识机制

子链可以按照需求选择最合适的共识机制,如基于pos和/或基于pow的共识机制。子链为支持dapp高效运行而设计,在主链能够保证子链资产安全和隔离性的前提下,子链可以适度牺牲安全性,使用基于pos的共识机制来提高网络吞吐量。

基于账户的交易模型,支持原生智能合约和/或图灵完备的智能合约

子链提供了若干原生智能合约来支持必要的基本功能,例如智能合约的部署和调用、链上交易验证、与链下可信资源的rpc等。

多条子链之间互相隔离

因主链之上可以建立多条子链,它们通过结算协议与主链实现资产的双向锚定。在双向锚定系统中,不同的链之间互相隔离,保证了系统整体的安全。子链资产的安全性由主链代理,因此子链可以根据实际需求进行灵活的定制,实现低延迟、高吞吐、复杂的智能合约而不损失安全性。

不同子链通过主链中转,实现不同子链之间的资产转移。

资产在主链上发行与结算,并可以通过结算协议与子链相互转移。子链上的资产必须在主链上保留100%储备金,保证了资金的安全性。不同的子链可以通过主链中转,实现子链之间的资产转移。资产的转移与结算将在后文中详细阐述。

其中,本发明的链下结构运行在可信计算环境(tee,trustedexecutionenvironment)下,其中,可信计算环境是一种理想的计算模型:e=(exec,enc,test)e=(exec,enc,test)

该模型可靠地执行既定的程序,输出且仅输出执行结果,该模型是可靠的,其输出结果可以直接被外界信任,由于此模型仅输出执行结果,其中间状态被隐藏,保证了状态的保密性。结合以上两个特性,可以构造出一个可被区块链信任的、保护隐私的、且通用的链下计算工具。

本发明提供的方案,通过引入广义链共识,解决了传统区块链无法实现的隐私智能合约问题,同时结合分层设计,实现了一个高性能、可扩展、可保护隐私与低成本的可信系统。

实施例二

本发明提供一种子链接入前在主链中的注册过程;

实际应用中,为了向用户提供透明统一的跨链转账功能,子链接入前需在主链提供如下内容进行注册:子链的唯一标识及用于冻结和解锁资产的输出脚本,还可以提供抵押一笔保证金用于解决纠纷。

其中,唯一标识用于定位子链,被用于指定出入金与跨链操作的对象。输出脚本定义了冻结资产与解锁资产的验证逻辑,用于实现各种子链方案的共识机制。保证金作为可选项,用于支持一些需要保证金的共识模型。注册操作会被作为一笔特殊交易记录到主链,并需要缴纳一定的手续费与保证金。

如图2所示的主链、子链的入金流程与出金流程,区块链中,在主链冻结资产,在子链发行资产实现入金,等量发行实现从主链到子链的单向锚定,具体的入金流程包括:

用户向子链定义的输出脚本中转账,冻结资产,以此作为入金的证明;对于已经被冻结的资产,只有在符合输出脚本中定义的条件时,才可以被转移,通常情况下,子链拿到冻结证明,就可以在子链中发行对应的等量资产。

通过在子链销毁资产,在主链解锁资产实现出金,等量解锁实现子链到主链的单向锚定,具体的出金流程包括:

用户在子链中销毁一定的资产;销毁行为通过子链的共识后,产生一份销毁证明,被包含在解锁主链输出脚本的交易中;通常情况下,可以以此在主链上解锁与销毁部分等量的资产;在特殊情况下,子链矿工(所有者)作恶时,可以通过符合输出脚本中规定的退出机制强制退出资金。

结合出金、入金实现的单向锚定,即可实现主链与子链的双向锚定,支持资产在链间自由转移。

对于子链之间的资产转移流程

通过结算协议,资产可以在主链与子链之间转移,两个子链之间可以通过主链作为桥梁转移资产,这种转移通常需要解锁与冻结两笔交易,是一种效率较低的方案。本申请考虑到原子交换能够在不引入第三方的前提下实现资产的跨链转移,当两条子链中的用户希望互相交换等量的资产时,原子交换即可满足需求。而没有对手希望转移等量资产时,可以引入做市商提供链间流动性,并收取少量手续费,因此与做市商进行原子交换依然是无须信任的。

参见图3,下面以发生转账交易为例,详细说明本发明的区块链交易方法,具体流程包括:

301、判断转账方与收账方是否在同一条链上,若是,则执行步骤302,若否,执行步骤305;

302、判断能否采用闪电网络,若能,则执行步骤303,否则执行步骤303;

303、采用闪电网络进行转账,完成转账操作;

其中,主链采用闪电网络实现高吞吐、低延迟的链下交易,闪电网络通过构造链上支付通道,实现了高性能的即时链下交易。

在闪电网络中,只有路由节点参与交易,交易在网络中完全并行执行,因此随着节点增长,理论上吞吐量没有上限。闪电网络交易由链上支付通道保证安全性,可以实现即时交易而无需等待区块确认。主链的各种资产可以通过闪电网络实现原子交换,从而实现一个高效的去中心化交易所。

304、执行链上交易,完成转账操作;

305、判断能否进行原子交换,若能,执行步骤306,否则执行步骤307;

306、进行原子交换,完成转账操作;

307、提币到主链,存币到目标链,完成转账操作。

其中,主链的各种资产可以通过闪电网络实现原子交换,从而实现一个高效的去中心化交易所。

原子交换可以在不引入第三方的前提下实现资产的跨链转移。当两条子链中的用户希望互相交换等量的资产时,原子交换即可满足需求。而没有对手希望转移等量资产时,可以引入做市商提供链间流动性,并收取少量手续费。与做市商进行原子交换依然是无须信任的。

图4所示了现有交易流程,判断交易是否在同一条链上,若是则进行链上交易,完成转账操作,判断出交易不在同一条链上,则提币到主链,存币到目标链,完成转账操作。

本申请通过引入闪电网络与原子交换,与现有的区块链交易流程相比,闪电网络交易由链上支付通道保证安全性,实现即时交易而无需等待区块确认,实现了实现高吞吐、低延迟的链下交易。

本发明提出了运行带合约的交易流程:

在tee中执行,用户提出执行合约时,进行本地验证,验证通过,则将合约进入旷工的队列,全部旷工运行合约,验证合约的有效性通过时,进行队列打包,存储到区块链。

本发明提供的方案,通过引入广义链共识,解决了传统区块链无法实现的隐私智能合约问题,同时结合分层设计,实现了一个高性能、可扩展、可保护隐私与低成本的可信系统。

为了描述的方便,以上装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

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