CN115797070A - 一种基于中间人账户激励的区块链交易方法、装置及系统 - Google Patents

一种基于中间人账户激励的区块链交易方法、装置及系统 Download PDF

Info

Publication number
CN115797070A
CN115797070A CN202310036171.9A CN202310036171A CN115797070A CN 115797070 A CN115797070 A CN 115797070A CN 202310036171 A CN202310036171 A CN 202310036171A CN 115797070 A CN115797070 A CN 115797070A
Authority
CN
China
Prior art keywords
account
transaction
target
fragment
intermediary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310036171.9A
Other languages
English (en)
Other versions
CN115797070B (zh
Inventor
黄华威
叶光
彭肖文
郑子彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN202310036171.9A priority Critical patent/CN115797070B/zh
Publication of CN115797070A publication Critical patent/CN115797070A/zh
Application granted granted Critical
Publication of CN115797070B publication Critical patent/CN115797070B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明涉及区块链技术领域,公开了一种基于中间人账户激励的区块链交易方法、装置及系统。本发明的区块链由主链和基于分片机制的侧链构成,侧链通过智能合约与主链桥接,侧链上各分片中的节点仅存储所在分片内的账户状态信息;当需要从第一账户向第二账户转入通证且该两账户所属分片不同时,通过目标中间人账户执行相应跨分片交易,目标中间人账户在完成跨分片交易时得到相应的交易中转服务收益;该目标中间人账户同属于第一分片和所述第二分片,为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且转入目标智能合约的通证数量满足预置通证数量条件。本发明实现了侧链上的跨分片交易,能够有效提高区块链的可扩展性。

Description

一种基于中间人账户激励的区块链交易方法、装置及系统
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于中间人账户激励的区块链交易方法、装置及系统。
背景技术
区块链网络是由一个个节点链接起来的,要求每一个完全参与的节点都必须要验证每一笔交易,而且这些节点还必须跟全网的所有其他节点保持一致。这样的机制虽然可以最大限度地保证全网的安全,但是这种方式会降低区块链的可扩展性,使得区块链的吞吐量极低。
传统技术中在第一层区块链层面采用分片技术来提高主链的吞吐量,例如Elastico算法和RapidChain算法。Elastico算法将分片方式分为网络分片和交易分片,将全网的交易划分为若干个集合,将每一个集合的交易交予对应的委员会进行处理,以实现对区块链吞吐量的提升。RapidChain算法使用状态分片作为分片方式。它通过输入委员会和输出委员会来解决跨分片交易。为了解决Elastico算法中委员会重构开销大的问题,RapidChain算法使用了新的选举机制,并且使用了“有限布谷鸟原则”以避免节点频繁同步的问题,保证了各个分片中活跃节点的数目尽可能一致。通过这种方法,RapidChain算法将在新节点加入时,使用更加频繁而少量的节点移动来代替全网洗牌。基于以上策略,RapidChain算法几乎实现了对吞吐量的线性扩展。
尽管第一层区块链层面上的分片方案拥有着很强的可扩展性,但它们均不便于移植到现有的区块链平台上。如果想修改区块链的共识协议使其拥有分片功能,从而使之获得更高的可扩展性,不仅仅难度很高,而且需要进行硬分叉,这将导致第一层区块链层面的系统生态遭到破坏。
目前提出来Rollups技术来解决上述传统技术中存在的问题。Rollups算法是通过侧链来实现的。它的思路是将许多笔交易打包,放到侧链上计算,然后将执行交易后的侧链状态记录到主链上。尽管Rollups技术大多可以实现对区块链吞吐量数百倍的提升,但这只是暂时的解决方法,在大规模的区块链中,数百倍的吞吐量提升依然无法满足用户的需求(如游戏等行业)。因此,Rollups技术的可扩展性有限,并不能随着区块链共识节点数目的增多而增加吞吐量。
发明内容
本发明提供了一种基于中间人账户激励的区块链交易方法、装置及系统,解决了现有区块链在可扩展性方面的交易性能还有待提高的技术问题。
本发明第一方面提供一种基于中间人账户激励的区块链交易方法,区块链由主链和基于分片机制的侧链构成,所述侧链通过智能合约与所述主链桥接,所述侧链上各分片中的节点仅存储所在分片内的账户状态信息,所述方法包括:
接收从第一账户向第二账户转入第一目标通证数量的通证的转账指令;所述第一账户和第二账户均为所述侧链上的账户;
确定所述第一账户所属的第一分片及所述第二账户所属的第二分片;
若所述第一分片和所述第二分片属于不同分片,从各中间人账户中确定目标中间人账户;所述中间人账户为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且所述中间人账户转入所述目标智能合约的通证数量满足预置通证数量条件;所述目标中间人账户同属于所述第一分片和所述第二分片;
向所述目标中间人账户发送与所述转账指令对应的交易请求,以通过所述目标中间人账户执行与所述交易请求相应的跨分片交易;所述目标中间人账户在完成所述跨分片交易时得到相应的交易中转服务收益。
根据本发明第一方面的一种能够实现的方式,所述从各中间人账户中确定目标中间人账户,包括:
将同时属于所述第一分片和所述第二分片的中间人账户作为预选账户;
所述预选账户为多个时,从各所述预选账户选取一个预选账户作为目标中间人账户。
根据本发明第一方面的一种能够实现的方式,所述预置通证数量条件为:
Figure 557811DEST_PATH_IMAGE001
式中,
Figure 458902DEST_PATH_IMAGE002
表示中间人账户
Figure 601302DEST_PATH_IMAGE003
转入所述目标智能合约的通证数量,
Figure 613251DEST_PATH_IMAGE004
为经由中间人账户
Figure 891917DEST_PATH_IMAGE003
提供交易中转服务的跨分片交易集合,
Figure 26226DEST_PATH_IMAGE005
Figure 673500DEST_PATH_IMAGE004
中的跨分片交易
Figure 223561DEST_PATH_IMAGE006
的转账通证数量。
根据本发明第一方面的一种能够实现的方式,所述跨分片交易被执行时分为第一中转交易和第二中转交易,所述第一中转交易被发送至所述第一分片内执行,所述第二中转交易被发送至所述第二分片内执行;所述第一中转交易为从所述第一账户向所述目标中间人账户转入第一目标通证数量的通证;所述第二中转交易为从所述目标中间人账户向所述第二账户转入第一目标通证数量的通证。
根据本发明第一方面的一种能够实现的方式,所述交易中转服务收益为所述跨分片交易对应手续费的预置比例。
根据本发明第一方面的一种能够实现的方式,所述方法还包括:
接收向第三账户存入第二目标通证数量的通证的存入指令;
确定所述第三账户所属的第三分片;
向所述第三分片发送与所述存入指令对应的存入请求,以使得所述第三分片在对所述存入请求共识成功时将本地状态树中所述第三账户的持有通证余额增加所述第二目标通证数量的通证。
根据本发明第一方面的一种能够实现的方式,所述方法还包括:
接收从第四账户取出第三目标通证数量的通证的取出指令;
确定所述第四账户所属的第四分片;
向所述第四分片发送与所述取出指令对应的取出请求,以使得所述第四分片对所述第四账户的第三目标通证数量的通证执行销毁操作,进而使得智能合约基于所述销毁操作向主链上的第四账户转账与所述第三目标通证数量对应的通证。
本发明第二方面提供一种基于中间人账户激励的区块链交易装置,区块链由主链和基于分片机制的侧链构成,所述侧链通过智能合约与所述主链桥接,所述侧链上各分片中的节点仅存储所在分片内的账户状态信息,所述装置包括:
第一接收模块,用于接收从第一账户向第二账户转入第一目标通证数量的通证的转账指令;所述第一账户和第二账户均为所述侧链上的账户;
第一确定模块,用于确定所述第一账户所属的第一分片及所述第二账户所属的第二分片;
第二确定模块,用于若所述第一分片和所述第二分片属于不同分片,从各中间人账户中确定目标中间人账户;所述中间人账户为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且所述中间人账户转入所述目标智能合约的通证数量满足预置通证数量条件;所述目标中间人账户同属于所述第一分片和所述第二分片;
第一发送模块,用于向所述目标中间人账户发送与所述转账指令对应的交易请求,以通过所述目标中间人账户执行与所述交易请求相应的跨分片交易;所述目标中间人账户在完成所述跨分片交易时得到相应的交易中转服务收益。
根据本发明第二方面的一种能够实现的方式,所述第二确定模块包括:
确定单元,用于将同时属于所述第一分片和所述第二分片的中间人账户作为预选账户;
选取单元,用于在所述预选账户为多个时,从各所述预选账户选取一个预选账户作为目标中间人账户。
根据本发明第二方面的一种能够实现的方式,所述预置通证数量条件为:
Figure 809263DEST_PATH_IMAGE001
式中,
Figure 52157DEST_PATH_IMAGE002
表示中间人账户
Figure 28203DEST_PATH_IMAGE003
转入所述目标智能合约的通证数量,
Figure 631223DEST_PATH_IMAGE004
为经由中间人账户
Figure 87743DEST_PATH_IMAGE003
提供交易中转服务的跨分片交易集合,
Figure 485226DEST_PATH_IMAGE005
Figure 214148DEST_PATH_IMAGE004
中的跨分片交易
Figure 106012DEST_PATH_IMAGE006
的转账通证数量。
根据本发明第二方面的一种能够实现的方式,所述跨分片交易被执行时分为第一中转交易和第二中转交易,所述第一中转交易被发送至所述第一分片内执行,所述第二中转交易被发送至所述第二分片内执行;所述第一中转交易为从所述第一账户向所述目标中间人账户转入第一目标通证数量的通证;所述第二中转交易为从所述目标中间人账户向所述第二账户转入第一目标通证数量的通证。
根据本发明第二方面的一种能够实现的方式,所述交易中转服务收益为所述跨分片交易对应手续费的预置比例。
根据本发明第二方面的一种能够实现的方式,所述装置还包括:
第二接收模块,用于接收向第三账户存入第二目标通证数量的通证的存入指令;
第三确定模块,用于确定所述第三账户所属的第三分片;
第二发送模块,用于向所述第三分片发送与所述存入指令对应的存入请求,以使得所述第三分片在对所述存入请求共识成功时将本地状态树中所述第三账户的持有通证余额增加所述第二目标通证数量的通证。
根据本发明第二方面的一种能够实现的方式,所述装置还包括:
第三接收模块,用于接收从第四账户取出第三目标通证数量的通证的取出指令;
第四确定模块,用于确定所述第四账户所属的第四分片;
第三发送模块,用于向所述第四分片发送与所述取出指令对应的取出请求,以使得所述第四分片对所述第三账户的第三目标通证数量的通证执行销毁操作,进而使得智能合约基于所述销毁操作向主链上的第三账户转账与所述第三目标通证数量对应的通证。
本发明第三方面提供一种基于中间人账户激励的区块链交易方法,区块链由主链和基于分片机制的侧链构成,所述侧链通过智能合约与所述主链桥接,所述侧链上各分片中的节点仅存储所在分片内的账户状态信息,所述方法包括:
接收第一账户所属终端发送的与转账指令对应的交易请求;所述转账指令为从第一账户向第二账户转入第一目标通证数量的通证的转账指令;所述第一账户和第二账户均为所述侧链上的账户;所述交易请求在所述第一账户所属的第一分片及所述第二账户所属的第二分片属于不同分片时发送;
通过目标中间人账户执行与所述交易请求相应的跨分片交易;所述目标中间人账户由所述第一账户所属终端从各中间人账户中确定目标中间人账户;所述中间人账户为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且所述中间人账户转入所述目标智能合约的通证数量满足预置通证数量条件;所述目标中间人账户同属于所述第一分片和所述第二分片;所述目标中间人账户在完成所述跨分片交易时得到相应的交易中转服务收益。
根据本发明第三方面的一种能够实现的方式,所述预置通证数量条件为:
Figure 666306DEST_PATH_IMAGE001
式中,
Figure 985423DEST_PATH_IMAGE002
表示中间人账户
Figure 263958DEST_PATH_IMAGE003
转入所述目标智能合约的通证数量,
Figure 959512DEST_PATH_IMAGE004
为经由中间人账户
Figure 311996DEST_PATH_IMAGE003
提供交易中转服务的跨分片交易集合,
Figure 316861DEST_PATH_IMAGE005
Figure 567845DEST_PATH_IMAGE004
中的跨分片交易
Figure 50779DEST_PATH_IMAGE006
的转账通证数量。
根据本发明第三方面的一种能够实现的方式,所述通过目标中间人账户执行与所述交易请求相应的跨分片交易,包括:
将所述跨分片交易分为第一中转交易和第二中转交易;所述第一中转交易为从所述第一账户向所述目标中间人账户转入第一目标通证数量的通证;所述第二中转交易为从所述目标中间人账户向所述第二账户转入第一目标通证数量的通证;
将所述第一中转交易发送至所述第一分片内执行;
将所述第二中转交易发送至所述第二分片内执行。
根据本发明第三方面的一种能够实现的方式,所述交易中转服务收益为所述跨分片交易对应手续费的预置比例。
本发明第四方面提供一种基于中间人账户激励的区块链交易装置,区块链由主链和基于分片机制的侧链构成,所述侧链通过智能合约与所述主链桥接,所述侧链上各分片中的节点仅存储所在分片内的账户状态信息,所述装置包括:
请求接收模块,用于接收第一账户所属终端发送的与转账指令对应的交易请求;所述转账指令为从第一账户向第二账户转入第一目标通证数量的通证的转账指令;所述第一账户和第二账户均为所述侧链上的账户;所述交易请求在所述第一账户所属的第一分片及所述第二账户所属的第二分片属于不同分片时发送;
跨交易执行模块,用于通过目标中间人账户执行与所述交易请求相应的跨分片交易;所述目标中间人账户由所述第一账户所属终端从各中间人账户中确定目标中间人账户;所述中间人账户为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且所述中间人账户转入所述目标智能合约的通证数量满足预置通证数量条件;所述目标中间人账户同属于所述第一分片和所述第二分片;所述目标中间人账户在完成所述跨分片交易时得到相应的交易中转服务收益。
根据本发明第四方面的一种能够实现的方式,所述预置通证数量条件为:
Figure 330539DEST_PATH_IMAGE001
式中,
Figure 178409DEST_PATH_IMAGE002
表示中间人账户
Figure 165957DEST_PATH_IMAGE003
转入所述目标智能合约的通证数量,
Figure 203314DEST_PATH_IMAGE004
为经由中间人账户
Figure 592707DEST_PATH_IMAGE003
提供交易中转服务的跨分片交易集合,
Figure 877058DEST_PATH_IMAGE005
Figure 102634DEST_PATH_IMAGE004
中的跨分片交易
Figure 927370DEST_PATH_IMAGE006
的转账通证数量。
根据本发明第四方面的一种能够实现的方式,所述跨交易执行模块包括:
交易划分单元,用于将所述跨分片交易分为第一中转交易和第二中转交易;所述第一中转交易为从所述第一账户向所述目标中间人账户转入第一目标通证数量的通证;所述第二中转交易为从所述目标中间人账户向所述第二账户转入第一目标通证数量的通证;
第一交易执行单元,用于将所述第一中转交易发送至所述第一分片内执行;
第二交易执行单元,用于将所述第二中转交易发送至所述第二分片内执行。
根据本发明第四方面的一种能够实现的方式,所述交易中转服务收益为所述跨分片交易对应手续费的预置比例。
本发明第五方面提供一种基于中间人账户激励的区块链交易装置,包括:
存储器,用于存储指令;其中,所述指令用于实现如本发明第一方面任意一项能够实现的方式所述的基于中间人账户激励的区块链交易方法,或者,所述指令用于实现如本发明第三方面任意一项能够实现的方式所述的基于中间人账户激励的区块链交易方法;
处理器,用于执行所述存储器中的指令。
本发明第六方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面任意一项能够实现的方式所述的基于中间人账户激励的区块链交易方法,或者,所述计算机程序被处理器执行时实现如本发明第三方面任意一项能够实现的方式所述的基于中间人账户激励的区块链交易方法。
本发明第七方面提供一种基于中间人账户激励的区块链交易系统,区块链由主链和基于分片机制的侧链构成,所述侧链通过智能合约与所述主链桥接,所述侧链上各分片中的节点仅存储所在分片内的账户状态信息,所述系统包括:
第一终端,其上登录有第一账户;所述第一终端用于接收从第一账户向第二账户转入第一目标通证数量的通证的转账指令;所述第一账户和第二账户均为所述侧链上的账户;所述第一终端还用于确定所述第一账户所属的第一分片及所述第二账户所属的第二分片;所述第一终端还用于若所述第一分片和所述第二分片属于不同分片,从各中间人账户中确定目标中间人账户;所述中间人账户为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且所述中间人账户转入所述目标智能合约的通证数量满足预置通证数量条件;所述目标中间人账户同属于所述第一分片和所述第二分片;还用于向所述目标中间人账户发送与所述转账指令对应的交易请求;
第二终端,其上登录有所述目标中间人账户;所述第二终端用于通过所述目标中间人账户执行与所述交易请求相应的跨分片交易;所述目标中间人账户在完成所述跨分片交易时得到相应的交易中转服务收益。
从以上技术方案可以看出,本发明具有以下优点:
本发明的区块链由主链和基于分片机制的侧链构成,侧链通过智能合约与主链桥接,侧链上各分片中的节点仅存储所在分片内的账户状态信息;当需要从第一账户向第二账户转入通证且该两个账户所属的分片不一致时,通过目标中间人账户执行相应的跨分片交易,目标中间人账户在完成所述跨分片交易时得到相应的交易中转服务收益;所述目标中间人账户同属于第一分片和所述第二分片,为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且转入所述目标智能合约的通证数量满足预置通证数量条件;本发明使用分片侧链技术,且基于中间人账户激励进行通证的跨分片流动,实现了侧链上的跨分片交易,相比于Rollups算法,可以在区块链节点增多的情况下,增加区块链整体的吞吐量,实现了区块链的可扩展性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明一个可选实施例提供的分片侧链扩容系统的架构示意图;
图2为本发明第一方面实施例提供的一种基于中间人账户激励的区块链交易方法的流程图;
图3为本发明一个可选实施例提供的申请成为中间人账户的流程示意图;
图4为本发明一个可选实施例提供的跨分片交易的流程示意图;
图5为本发明第二方面实施例提供的一种基于中间人账户激励的区块链交易装置的结构连接框图;
图6为本发明第三方面实施例提供的一种基于中间人账户激励的区块链交易方法的流程图;
图7为本发明第四方面实施例提供的一种基于中间人账户激励的区块链交易方法的流程图;
图8为本发明一个可选实施例提供的一种前端钱包软件的界面示意图。
附图标记:
1-第一接收模块;2-第一确定模块;3-第二确定模块;4-第一发送模块;10-请求接收模块;20-跨交易执行模块。
具体实施方式
本发明实施例提供了一种基于中间人账户激励的区块链交易方法、装置及系统,用于解决现有区块链在可扩展性方面的交易性能还有待提高的技术问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
本申请的下述各方面实施例中,所应用的区块链均采用分片侧链扩容系统。具体地,区块链由主链和基于分片机制的侧链构成,所述侧链通过智能合约与所述主链桥接,所述侧链上各分片中的节点仅存储所在分片内的账户状态信息。
作为具体的实施方式,如图1所示,侧链(即第二层区块链)通过一个部署在主链(支持智能合约的第一层区块链)的智能合约与主链桥接,而用户可以通过该智能合约将自己的通证转移到侧链上,或是从侧链上转移回主链。两个用户可以在侧链上通过“存入”方式创建账户,然后在侧链上快速地、低手续费地进行若干次交易,最后以“取出”方式将侧链上的通证取回主链。
本发明申请中,侧链是基于状态分片实现的。通过状态分片,在本智能合约中的账户会被划分到某个分片之中,在某个分片中的节点仅仅会保存该分片内的账户状态。基于中间人账户激励的机制,用户可以自主地选择是否担任中间人账户这一角色,而中间人账户会被同时划分到多个状态分片之中,当执行跨分片交易时,执行交易的节点将会利用中间人账户进行中转,利用中间人账户进行通证的跨分片流动。
本发明申请使用侧链的思想,在主链上设计智能合约,将侧链与区块链的主链桥接。与大多数侧链不同的是,本发明申请中的侧链使用了上述的分片机制,可以使侧链节点仅仅存储它们所在分片的状态信息,从而减少存储开销。为了保障系区块链的安全性,本实施例中,在一个拥有足够可信度(或是拥有足够安全性保障)的第一层区块链上以智能合约的方式进行桥接,从而可以将分片侧链上的关键数据(如区块头,状态树、交易的证明等)存储在第一层区块链的基础设施上。同时,由于智能合约的不可修改性,将其存储在第一层区块链的基础设施,也保证了本发明的区块链几乎不存在被篡改的可能。
下面对本申请各方面实施例进行具体阐述。
本发明第一方面实施例提供了一种基于中间人账户激励的区块链交易方法。
请参阅图2,图2示出了本发明实施例提供的一种基于中间人账户激励的区块链交易方法的流程图。
本发明实施例提供的一种基于中间人账户激励的区块链交易方法,包括步骤S1-S4。
步骤S1,接收从第一账户向第二账户转入第一目标通证数量的通证的转账指令;所述第一账户和第二账户均为所述侧链上的账户。
其中,通证是一种数字化的价值载体,是权益证明。如代币、代金券、赠券、令牌、奖牌或者标识物、纪念物等,其可以在中心化的系统中也可以发行,并不是区块链所特有。本发明中的通证指的是区块链中的通证。在区块链中,通证是区块链价值承载和流通的必要因素,能使区块链正常运转和进行价值流通,是公有区块链的血液。
其中,第一账户和第二账户所属同一分片时,则该转账指令对应的转账交易属于分片内转账的情形。第一账户和第二账户所属不同分片时,则该转账指令对应的转账交易属于跨分片转账的情形。
在进行转账交易之前,侧链节点需要先判断这是一笔分片内转账还是一笔跨分片转账。可以通过划分规则方便地得出该转账指令对应的转账交易属于分片内转账还是跨分片转账的情形。
步骤S2,确定所述第一账户所属的第一分片及所述第二账户所属的第二分片。
作为一种具体的实施方式,该转账指令可以携带第一账户标识和第二账户标识,通过账户标识与分片的对应关系可以确定该第一账户所属的分片,以及该第二账户所属的分片。
作为另一种具体的实施方式,该转账指令也可以直接携带第一账户对应的分片标识和第二账户对应的分片标识,从而基于该分片标识可以直接确定该第一账户所属的分片,以及该第二账户所属的分片。
步骤S3,若所述第一分片和所述第二分片属于不同分片,从各中间人账户中确定目标中间人账户;所述中间人账户为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且所述中间人账户转入所述目标智能合约的通证数量满足预置通证数量条件;所述目标中间人账户同属于所述第一分片和所述第二分片。
在任何时刻,如图3所示,对于每个加入侧链的账户,都可以在主链上的智能合约提交申请(例如图3中的①过程),并在申请通过后向目标智能合约转入一定数目的通证,以成为中间人账户。中间人账户是解决跨分片交易的关键,节点通过其进行通证的“中转”。为了保证“中转”过程中的安全性,本申请实施例中,设置中间人账户转入所述目标智能合约的通证数量满足预置通证数量条件。在用户成为中间人账户后,将以此用户的身份成为分片侧链网络中的一个节点(例如图3中的②和③过程),接收并处理跨分片交易。
在一种能够实现的方式中,所述预置通证数量条件为:
Figure 922002DEST_PATH_IMAGE001
式中,
Figure 439571DEST_PATH_IMAGE002
表示中间人账户
Figure 339394DEST_PATH_IMAGE003
转入所述目标智能合约的通证数量,
Figure 718554DEST_PATH_IMAGE004
为经由中间人账户
Figure 816960DEST_PATH_IMAGE003
提供交易中转服务的跨分片交易集合,
Figure 256163DEST_PATH_IMAGE005
Figure 643282DEST_PATH_IMAGE004
中的跨分片交易
Figure 809821DEST_PATH_IMAGE006
的转账通证数量。
本实施例中,设置上述预置通证数量条件,可以提高利用中间人账户进行跨分片交易的安全性,避免相关不法人员利用中间人账户盗取通证。
需要说明的是,当用户不想继续担任中间人账户的角色后,可以凭借用户的历史数据请求目标智能合约增加用户对应账户的持有通证余额(等同于原先转入目标智能合约的通证数量)。
在一种能够实现的方式中,所述从各中间人账户中确定目标中间人账户,包括:
将同时属于所述第一分片和所述第二分片的中间人账户作为预选账户;
所述预选账户为多个时,从各所述预选账户选取一个预选账户作为目标中间人账户。
由于中间人账户激励的机制,通常情况下,申请成为中间人账户的用户数量一般较多。由于目标中间人账户需要同属于所述第一分片和所述第二分片,以实现两分片的账户的跨分片交易,本申请实施例中,将同时属于所述第一分片和所述第二分片的中间人账户作为预选账户,进而在预选账户为多个时从预选账户中选取一个预选账户作为目标中间人账户。
需要说明的是,当预选账户仅为一个时,则不需要进入筛选流程,而直接将该预选账户作为目标中间人账户。
其中,可以根据实际情况设置合适的筛选机制,以从各所述预选账户选取一个最优的预选账户作为目标中间人账户。
例如,可以从安全性方面出发设置筛选机制。
具体地,根据各预选账户转入所述目标智能合约的通证数量由大到小的顺序对各预选账户排序,选取排序第一的预选账户作为目标中间人账户。
又例如,可以从信任度方面出发设置筛选机制。
作为一种具体的实施方式,可以统计基于预选账户实现跨分片交易的成功次数和失败次数,基于该成功次数和失败次数确定预选账户的信任值,从而选取信任值最大的预选账户作为目标中间人账户。
作为另一种具体的实施方式,也可以基于各预选账户转入所述目标智能合约的通证数量,结合预选账户实现跨分片交易的成功次数和失败次数,确定预选账户的信任值,进而选取信任值最大的预选账户作为目标中间人账户。
本发明上述实施例中,基于上述任一实施方式的筛选机制选取最优的预选账户作为目标中间人账户,能够进一步提高跨分片交易的可靠性。
需要说明的是,也可以基于利益均衡的角度出发设置相应的筛选机制,从而使得各中间人账户有公平的机会参与跨分片交易的执行以得到相应的奖励。
进一步地,所述方法还包括:
所述第一分片和所述第二分片属于同一分片时,将第一账户的持有通证余额减去第一目标通证数量,将第二账户的持有通证余额增加第一目标通证数量。
本实施例中,节点对于分片内转账的处理方式和普通的区块链转账基本一致。作为示例,对于一笔来自用户a向用户b通证数为C的转账,分片内节点进行一系列检查之后,若消息无误,则将用户a的持有通证余额减C,用户b的持有通证余额加C。
步骤S4,向所述目标中间人账户发送与所述转账指令对应的交易请求,以通过所述目标中间人账户执行与所述交易请求相应的跨分片交易;所述目标中间人账户在完成所述跨分片交易时得到相应的交易中转服务收益。
在一种能够实现的方式中,所述跨分片交易被执行时分为第一中转交易和第二中转交易,所述第一中转交易被发送至所述第一分片内执行,所述第二中转交易被发送至所述第二分片内执行;所述第一中转交易为从所述第一账户向所述目标中间人账户转入第一目标通证数量的通证;所述第二中转交易为从所述目标中间人账户向所述第二账户转入第一目标通证数量的通证。
具体地,对于一笔来自用户a(属于分片shard A)向用户z(属于分片shard Z)转账通证数为C的转账交易(原始跨分片交易,记作tx0),节点首先查询负责分片shard A和分片shard Z的目标中间人账户n(同时属于分片shard A和shard Z),接下来,这笔交易将被一分为二:来自用户a向用户n的转账(shard A 内的分片内转账,记作tx1)和来自用户n向用户b的转账(shard Z 内的分片内转账,记作tx2),两个交易将先后被下放到各自的分片当中执行(tx1在规定时间内完成后tx2才可执行)。
上述预置通证数量条件也表明了:同一时间段内,用户为了成为中间人账户所转入目标智能合约的通证数量越大,那么可以所打包的交易的费用越多。为了促使用户参与跨分片交易并向目标智能合约转入足够多的通证以成为中间人账户,本发明设置了基于中间人账户激励的机制。简而言之,中间人账户可以通过“中转”交易获得一定比例的手续费。倘若中间人账户想要获得更多的收益,那么它需要向目标智能合约转入更多通证从而可以“中转”更多交易,这样,吞吐量就得到了提升。
需要说明的是,本申请方法对应的平台运维者本质上是侧链的共识参与方,它们运维了侧链系统,保障了其安全性,理应收到奖励。本发明同样允许它们从侧链的每一笔交易收取部分的手续费作为进行共识的运维费用。
在一种能够实现的方式中,所述交易中转服务收益为所述跨分片交易对应手续费的预置比例。该预置比例可以按照主链和侧链的桥接开销来决定,但需满足:桥接开销、交易中转服务收益和共识节点收益之和不小于用户总手续费。
在一种能够实现的方式中,所述方法还包括:
接收向第三账户存入第二目标通证数量的通证的存入指令;
确定所述第三账户所属的第三分片;
向所述第三分片发送与所述存入指令对应的存入请求,以使得所述第三分片在对所述存入请求共识成功时将本地状态树中所述第三账户的持有通证余额增加所述第二目标通证数量的通证。
本实施例中,对存入操作进行限定。存入指的是用户将自己的通证存入智能合约的操作,存入操作是用户通过侧链进行转账操作的基础。
作为示例,对于用户a的存入请求,智能合约将会通过用户a的公钥地址将用户a划分到某个分片之中,届时,该分片中的所有节点都会在本地状态树中以{用户,持有通证余额}的形式存储用户a的状态信息。
在一种能够实现的方式中,所述方法还包括:
接收从第四账户取出第三目标通证数量的通证的取出指令;
确定所述第四账户所属的第四分片;
向所述第四分片发送与所述取出指令对应的取出请求,以使得所述第四分片对所述第四账户的第三目标通证数量的通证执行销毁操作,进而使得智能合约基于所述销毁操作向主链上的第四账户转账与所述第三目标通证数量对应的通证。
本实施例中,对取出操作进行限定。取出指的是用户将自己的通证从智能合约移至主链的操作。作为示例,如果用户b在主链上向智能合约发送了一个取出操作,侧链中用户b所在分片的节点将会执行一笔特殊的转账(类似于通证销毁操作),将用户b的通证转入一个默认地址(即黑洞地址),那么用户b在侧链上的这笔通证就会被销毁。之后,根据这个销毁操作,智能合约会向主链上的用户b进行转账等额(或扣除部分手续费)的通证数,以完成取出。
本申请的方法可以由前端钱包软件执行。下面以一具体实施例来阐述本发明申请上述实施例所述的方法。
该具体实施例假设用户a要向用户z进行一笔交易数额为K的转账(这是一笔跨分片交易)。
转账的过程如下面(1)至(7)所示。
(1)用户a首先通过智能合约向侧链存入Ka。
前端钱包软件在接收到用户a提出的“存入”操作后,通过先前设计的固有逻辑确定用户a所在分片(分片shard A),并将消息{用户=a,存入=Ka,操作=deposit,签名=Signature_a}发送给分片shard A。分片shard A内节点检验消息的正确性,对此进行共识,如果共识成功则将原先状态树中用户a的持有通证余额增加Ka。
(2)用户a发起转账。
如图4中的①过程所示:用户a向前端钱包软件下达转账指令,前端钱包软件通过固有逻辑确定用户a和用户z所在分片(shard A和shard Z),并由此确定此交易对应的中间人账户n,生成 tx0={发起方=a,接收方=z,中间人账户=n,数额=K,操作=transfer,签名=Signature_a,锁定区块数=H},前端钱包软件将此消息发送给中间人账户n。
(3)用户n的前端钱包软件负责处理跨分片交易。
如图4中的②过程所示:中间人账户n(前端钱包软件所运行的节点)在收到上述消息后,将这笔交易拆分为两笔tx1和tx2,其中tx1={发起方=a,接收方=z中间,中间人账户=n,数额=K,操作=transfer_1,签名1=Signature_a,签名2=Signature_c1,shard A区块高度=Hc1,锁定区块数=H},该节点广播发送tx1至分片shard A和分片shard Z中。
(4)分片shard A内节点执行tx1并为这笔通证上锁。
如图4中的③过程所示:分片shard Z中的节点接收到tx1后,记录它以及此时shard A的区块高度Hc1;分片shard A中的节点接收到tx1后,执行tx1,即用户a向用户n转账K个通证,用户n在区块高度h>(Hc1+H)时方可使用这笔通证(换言之,这笔通证被锁定H个区块)。
(5)如图4中的④过程所示:中间人账户n(前端钱包软件所运行的节点)检查到自己在分片shard A的通证到账后,生成第二笔拆分后的交易tx2={发起方=a,接收方=z,中间人账户=n,数额=K,操作=transfer_2,签名1=Signature_a,签名2=Signature_c2,shard A区块高度=Hc1,锁定区块数=H},将其发送给分片shard Z。
(6)如图4中的⑤和⑥过程所示:分片shard Z内的节点接收到此消息后,首先检查此时分片shard A的区块高度h是否满足h<(Hc1+H/2),如果小于,则意味着交易还在有效期内,分片shard Z内节点便会执行tx2,即用户n向用户z转账K;否则(在区块高度h≥(Hc1+H/2)之前没收到tx2),则表示tx1传输失败了,分片shard Z内节点将发送“失败证明”到分片shard A中,而后分片shard A中的节点需要在区块高度小于(Hc1+H)之前将tx1交易回滚。前端钱包软件根据网络中的消息来确定此转账交易是否成功,并将结果告知用户。
(7)用户z取出Kz。
如果用户z需要取出,那么前端钱包软件将会发送{用户=z,取出数=Kz,操作=withdrawl }。当此交易处理完成后,前端钱包软件会凭借此交易的存在性,将智能合约中的通证转入用户z的第一层区块链的前端钱包软件中,以完成取出。
在上述过程中,侧链的区块出块时,智能合约将区块链信息发送到第一层区块链架构中。
本发明第三方面实施例提供了一种基于中间人账户激励的区块链交易装置,该装置可用于执行本发明第一方面任一项实施例所述的基于中间人账户激励的区块链交易方法。
请参阅图5,图5示出了本发明实施例提供的一种基于中间人账户激励的区块链交易装置的结构连接框图。
本发明实施例提供的一种基于中间人账户激励的区块链交易装置,包括:
第一接收模块1,用于接收从第一账户向第二账户转入第一目标通证数量的通证的转账指令;所述第一账户和第二账户均为所述侧链上的账户;
第一确定模块2,用于确定所述第一账户所属的第一分片及所述第二账户所属的第二分片;
第二确定模块3,用于若所述第一分片和所述第二分片属于不同分片,从各中间人账户中确定目标中间人账户;所述中间人账户为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且所述中间人账户转入所述目标智能合约的通证数量满足预置通证数量条件;所述目标中间人账户同属于所述第一分片和所述第二分片;
第一发送模块4,用于向所述目标中间人账户发送与所述转账指令对应的交易请求,以通过所述目标中间人账户执行与所述交易请求相应的跨分片交易;所述目标中间人账户在完成所述跨分片交易时得到相应的交易中转服务收益。
在一种能够实现的方式中,所述第二确定模块3包括:
确定单元,用于将同时属于所述第一分片和所述第二分片的中间人账户作为预选账户;
选取单元,用于在所述预选账户为多个时,从各所述预选账户选取一个预选账户作为目标中间人账户。
在一种能够实现的方式中,所述预置通证数量条件为:
Figure 779045DEST_PATH_IMAGE001
式中,
Figure 638417DEST_PATH_IMAGE002
表示中间人账户
Figure 247253DEST_PATH_IMAGE003
转入所述目标智能合约的通证数量,
Figure 233794DEST_PATH_IMAGE004
为经由中间人账户
Figure 306792DEST_PATH_IMAGE003
提供交易中转服务的跨分片交易集合,
Figure 274748DEST_PATH_IMAGE005
Figure 178070DEST_PATH_IMAGE004
中的跨分片交易
Figure 686412DEST_PATH_IMAGE006
的转账通证数量。
在一种能够实现的方式中,所述跨分片交易被执行时分为第一中转交易和第二中转交易,所述第一中转交易被发送至所述第一分片内执行,所述第二中转交易被发送至所述第二分片内执行;所述第一中转交易为从所述第一账户向所述目标中间人账户转入第一目标通证数量的通证;所述第二中转交易为从所述目标中间人账户向所述第二账户转入第一目标通证数量的通证。
在一种能够实现的方式中,所述交易中转服务收益为所述跨分片交易对应手续费的预置比例。
在一种能够实现的方式中,所述装置还包括:
第二接收模块,用于接收向第三账户存入第二目标通证数量的通证的存入指令;
第三确定模块,用于确定所述第三账户所属的第三分片;
第二发送模块,用于向所述第三分片发送与所述存入指令对应的存入请求,以使得所述第三分片在对所述存入请求共识成功时将本地状态树中所述第三账户的持有通证余额增加所述第二目标通证数量的通证。
在一种能够实现的方式中,所述装置还包括:
第三接收模块,用于接收从第四账户取出第三目标通证数量的通证的取出指令;
第四确定模块,用于确定所述第四账户所属的第四分片;
第三发送模块,用于向所述第四分片发送与所述取出指令对应的取出请求,以使得所述第四分片对所述第四账户的第三目标通证数量的通证执行销毁操作,进而使得智能合约基于所述销毁操作向主链上的第四账户转账与所述第三目标通证数量对应的通证。
本发明第三方面实施例提供了一种基于中间人账户激励的区块链交易方法。
请参阅图6,图6示出了本发明实施例提供的一种基于中间人账户激励的区块链交易方法的流程图。本发明实施例提供的一种基于中间人账户激励的区块链交易方法包括步骤S10-S20。
步骤S10,接收第一账户所属终端发送的与转账指令对应的交易请求;所述转账指令为从第一账户向第二账户转入第一目标通证数量的通证的转账指令;所述第一账户和第二账户均为所述侧链上的账户;所述交易请求在所述第一账户所属的第一分片及所述第二账户所属的第二分片属于不同分片时发送;
步骤S20,通过目标中间人账户执行与所述交易请求相应的跨分片交易;所述目标中间人账户由所述第一账户所属终端从各中间人账户中确定目标中间人账户;所述中间人账户为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且所述中间人账户转入所述目标智能合约的通证数量满足预置通证数量条件;所述目标中间人账户同属于所述第一分片和所述第二分片;所述目标中间人账户在完成所述跨分片交易时得到相应的交易中转服务收益。
在一种能够实现的方式中,所述预置通证数量条件为:
Figure 630228DEST_PATH_IMAGE001
式中,
Figure 831403DEST_PATH_IMAGE002
表示中间人账户
Figure 414831DEST_PATH_IMAGE003
转入所述目标智能合约的通证数量,
Figure 477596DEST_PATH_IMAGE004
为经由中间人账户
Figure 525186DEST_PATH_IMAGE003
提供交易中转服务的跨分片交易集合,
Figure 647994DEST_PATH_IMAGE005
Figure 718718DEST_PATH_IMAGE004
中的跨分片交易
Figure 834442DEST_PATH_IMAGE006
的转账通证数量。
在一种能够实现的方式中,所述通过目标中间人账户执行与所述交易请求相应的跨分片交易,包括:
将所述跨分片交易分为第一中转交易和第二中转交易;所述第一中转交易为从所述第一账户向所述目标中间人账户转入第一目标通证数量的通证;所述第二中转交易为从所述目标中间人账户向所述第二账户转入第一目标通证数量的通证;
将所述第一中转交易发送至所述第一分片内执行;
将所述第二中转交易发送至所述第二分片内执行。
在一种能够实现的方式中,所述交易中转服务收益为所述跨分片交易对应手续费的预置比例。
为描述的方便和简洁,上述描述的方法的具体工作过程及有益效果,可以参考前述第一方面实施例所述方法中的对应过程及有益效果,在此不再赘述。
本发明第四方面实施例提供了一种基于中间人账户激励的区块链交易装置,该装置可用于执行本发明第三方面任一项实施例所述的基于中间人账户激励的区块链交易方法。
请参阅图7,图7示出了本发明实施例提供的一种基于中间人账户激励的区块链交易装置的结构连接框图。
本发明实施例提供的一种基于中间人账户激励的区块链交易装置,包括:
请求接收模块10,用于接收第一账户所属终端发送的与转账指令对应的交易请求;所述转账指令为从第一账户向第二账户转入第一目标通证数量的通证的转账指令;所述第一账户和第二账户均为所述侧链上的账户;所述交易请求在所述第一账户所属的第一分片及所述第二账户所属的第二分片属于不同分片时发送;
跨交易执行模块20,用于通过目标中间人账户执行与所述交易请求相应的跨分片交易;所述目标中间人账户由所述第一账户所属终端从各中间人账户中确定目标中间人账户;所述中间人账户为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且所述中间人账户转入所述目标智能合约的通证数量满足预置通证数量条件;所述目标中间人账户同属于所述第一分片和所述第二分片;所述目标中间人账户在完成所述跨分片交易时得到相应的交易中转服务收益。
在一种能够实现的方式中,所述预置通证数量条件为:
Figure 487271DEST_PATH_IMAGE001
式中,
Figure 967931DEST_PATH_IMAGE002
表示中间人账户
Figure 322689DEST_PATH_IMAGE003
转入所述目标智能合约的通证数量,
Figure 992836DEST_PATH_IMAGE004
为经由中间人账户
Figure 749439DEST_PATH_IMAGE003
提供交易中转服务的跨分片交易集合,
Figure 401001DEST_PATH_IMAGE005
Figure 259366DEST_PATH_IMAGE004
中的跨分片交易
Figure 716892DEST_PATH_IMAGE006
的转账通证数量。
在一种能够实现的方式中,所述跨交易执行模块20包括:
交易划分单元,用于将所述跨分片交易分为第一中转交易和第二中转交易;所述第一中转交易为从所述第一账户向所述目标中间人账户转入第一目标通证数量的通证;所述第二中转交易为从所述目标中间人账户向所述第二账户转入第一目标通证数量的通证;
第一交易执行单元,用于将所述第一中转交易发送至所述第一分片内执行;
第二交易执行单元,用于将所述第二中转交易发送至所述第二分片内执行。
在一种能够实现的方式中,所述交易中转服务收益为所述跨分片交易对应手续费的预置比例。
本发明第五方面实施例提供一种基于中间人账户激励的区块链交易装置,包括:
存储器,用于存储指令;其中,所述指令用于实现如本发明第一方面任意一项能够实现的方式所述的基于中间人账户激励的区块链交易方法,或者,所述指令用于实现如本发明第三方面任意一项能够实现的方式所述的基于中间人账户激励的区块链交易方法;
处理器,用于执行所述存储器中的指令。
本发明第六方面实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面任意一项能够实现的方式所述的基于中间人账户激励的区块链交易方法,或者,所述计算机程序被处理器执行时实现如本发明第三方面任意一项能够实现的方式所述的基于中间人账户激励的区块链交易方法。
本发明第七方面实施例提供一种基于中间人账户激励的区块链交易系统,区块链由主链和基于分片机制的侧链构成,所述侧链通过智能合约与所述主链桥接,所述侧链上各分片中的节点仅存储所在分片内的账户状态信息,所述系统包括:
第一终端,其上登录有第一账户;所述第一终端用于接收从第一账户向第二账户转入第一目标通证数量的通证的转账指令;所述第一账户和第二账户均为所述侧链上的账户;所述第一终端还用于确定所述第一账户所属的第一分片及所述第二账户所属的第二分片;所述第一终端还用于若所述第一分片和所述第二分片属于不同分片,从各中间人账户中确定目标中间人账户;所述中间人账户为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且所述中间人账户转入所述目标智能合约的通证数量满足预置通证数量条件;所述目标中间人账户同属于所述第一分片和所述第二分片;还用于向所述目标中间人账户发送与所述转账指令对应的交易请求;
第二终端,其上登录有所述目标中间人账户;所述第二终端用于通过所述目标中间人账户执行与所述交易请求相应的跨分片交易;所述目标中间人账户在完成所述跨分片交易时得到相应的交易中转服务收益。
为方便用户在区块链网络中更方便的进行各种操作,所述第一终端和所述第二终端可以基于前端钱包软件执行各项步骤。前端钱包软件的界面可如图8所示。其中“分片i”内部阴影部分表示用户作为中间人账户获得的来自分片i内的通证收益,“价值程度”为中间人账户对系统吞吐量提高所做出贡献的一个量化指标。
本发明上述实施例,使用分片侧链技术,且基于中间人账户激励进行通证的跨分片流动,实现了侧链上的跨分片交易,相比于Rollups算法,可以在区块链节点增多的情况下,增加区块链整体的吞吐量,实现了区块链的可扩展性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、系统和模块的具体工作过程,可以参考前述方法实施例中的对应过程;
上述描述的装置、系统和模块的具体有益效果,可以参考前述对应方法实施例中的对应有益效果,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、系统和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (13)

1.一种基于中间人账户激励的区块链交易方法,其特征在于,区块链由主链和基于分片机制的侧链构成,所述侧链通过智能合约与所述主链桥接,所述侧链上各分片中的节点仅存储所在分片内的账户状态信息,所述方法包括:
接收从第一账户向第二账户转入第一目标通证数量的通证的转账指令;所述第一账户和第二账户均为所述侧链上的账户;
确定所述第一账户所属的第一分片及所述第二账户所属的第二分片;
若所述第一分片和所述第二分片属于不同分片,从各中间人账户中确定目标中间人账户;所述中间人账户为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且所述中间人账户转入所述目标智能合约的通证数量满足预置通证数量条件;所述目标中间人账户同属于所述第一分片和所述第二分片;
向所述目标中间人账户发送与所述转账指令对应的交易请求,以通过所述目标中间人账户执行与所述交易请求相应的跨分片交易;所述目标中间人账户在完成所述跨分片交易时得到相应的交易中转服务收益。
2.根据权利要求1所述的基于中间人账户激励的区块链交易方法,其特征在于,所述从各中间人账户中确定目标中间人账户,包括:
将同时属于所述第一分片和所述第二分片的中间人账户作为预选账户;
所述预选账户为多个时,从各所述预选账户选取一个预选账户作为目标中间人账户。
3.根据权利要求1所述的基于中间人账户激励的区块链交易方法,其特征在于,所述预置通证数量条件为:
Figure 646749DEST_PATH_IMAGE001
式中,
Figure 917324DEST_PATH_IMAGE002
表示中间人账户
Figure 544746DEST_PATH_IMAGE003
转入所述目标智能合约的通证数量,
Figure 429525DEST_PATH_IMAGE004
为经由中间人账户
Figure 509608DEST_PATH_IMAGE003
提供交易中转服务的跨分片交易集合,
Figure 770825DEST_PATH_IMAGE005
Figure 252753DEST_PATH_IMAGE004
中的跨分片交易
Figure 308434DEST_PATH_IMAGE006
的转账通证数量。
4.根据权利要求1所述的基于中间人账户激励的区块链交易方法,其特征在于,所述跨分片交易被执行时分为第一中转交易和第二中转交易,所述第一中转交易被发送至所述第一分片内执行,所述第二中转交易被发送至所述第二分片内执行;所述第一中转交易为从所述第一账户向所述目标中间人账户转入第一目标通证数量的通证;所述第二中转交易为从所述目标中间人账户向所述第二账户转入第一目标通证数量的通证。
5.根据权利要求1所述的基于中间人账户激励的区块链交易方法,其特征在于,所述交易中转服务收益为所述跨分片交易对应手续费的预置比例。
6.根据权利要求1所述的基于中间人账户激励的区块链交易方法,其特征在于,所述方法还包括:
接收向第三账户存入第二目标通证数量的通证的存入指令;
确定所述第三账户所属的第三分片;
向所述第三分片发送与所述存入指令对应的存入请求,以使得所述第三分片在对所述存入请求共识成功时将本地状态树中所述第三账户的持有通证余额增加所述第二目标通证数量的通证。
7.根据权利要求1所述的基于中间人账户激励的区块链交易方法,其特征在于,所述方法还包括:
接收从第四账户取出第三目标通证数量的通证的取出指令;
确定所述第四账户所属的第四分片;
向所述第四分片发送与所述取出指令对应的取出请求,以使得所述第四分片对所述第四账户的第三目标通证数量的通证执行销毁操作,进而使得智能合约基于所述销毁操作向主链上的第四账户转账与所述第三目标通证数量对应的通证。
8.一种基于中间人账户激励的区块链交易装置,其特征在于,区块链由主链和基于分片机制的侧链构成,所述侧链通过智能合约与所述主链桥接,所述侧链上各分片中的节点仅存储所在分片内的账户状态信息,所述装置包括:
第一接收模块,用于接收从第一账户向第二账户转入第一目标通证数量的通证的转账指令;所述第一账户和第二账户均为所述侧链上的账户;
第一确定模块,用于确定所述第一账户所属的第一分片及所述第二账户所属的第二分片;
第二确定模块,用于若所述第一分片和所述第二分片属于不同分片,从各中间人账户中确定目标中间人账户;所述中间人账户为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且所述中间人账户转入所述目标智能合约的通证数量满足预置通证数量条件;所述目标中间人账户同属于所述第一分片和所述第二分片;
第一发送模块,用于向所述目标中间人账户发送与所述转账指令对应的交易请求,以通过所述目标中间人账户执行与所述交易请求相应的跨分片交易;所述目标中间人账户在完成所述跨分片交易时得到相应的交易中转服务收益。
9.一种基于中间人账户激励的区块链交易方法,其特征在于,区块链由主链和基于分片机制的侧链构成,所述侧链通过智能合约与所述主链桥接,所述侧链上各分片中的节点仅存储所在分片内的账户状态信息,所述方法包括:
接收第一账户所属终端发送的与转账指令对应的交易请求;所述转账指令为从第一账户向第二账户转入第一目标通证数量的通证的转账指令;所述第一账户和第二账户均为所述侧链上的账户;所述交易请求在所述第一账户所属的第一分片及所述第二账户所属的第二分片属于不同分片时发送;
通过目标中间人账户执行与所述交易请求相应的跨分片交易;所述目标中间人账户由所述第一账户所属终端从各中间人账户中确定目标中间人账户;所述中间人账户为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且所述中间人账户转入所述目标智能合约的通证数量满足预置通证数量条件;所述目标中间人账户同属于所述第一分片和所述第二分片;所述目标中间人账户在完成所述跨分片交易时得到相应的交易中转服务收益。
10.一种基于中间人账户激励的区块链交易装置,其特征在于,区块链由主链和基于分片机制的侧链构成,所述侧链通过智能合约与所述主链桥接,所述侧链上各分片中的节点仅存储所在分片内的账户状态信息,所述装置包括:
请求接收模块,用于接收第一账户所属终端发送的与转账指令对应的交易请求;所述转账指令为从第一账户向第二账户转入第一目标通证数量的通证的转账指令;所述第一账户和第二账户均为所述侧链上的账户;所述交易请求在所述第一账户所属的第一分片及所述第二账户所属的第二分片属于不同分片时发送;
跨分片交易执行模块,用于通过目标中间人账户执行与所述交易请求相应的跨分片交易;所述目标中间人账户由所述第一账户所属终端从各中间人账户中确定目标中间人账户;所述中间人账户为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且所述中间人账户转入所述目标智能合约的通证数量满足预置通证数量条件;所述目标中间人账户同属于所述第一分片和所述第二分片;所述目标中间人账户在完成所述跨分片交易时得到相应的交易中转服务收益。
11.一种基于中间人账户激励的区块链交易装置,其特征在于,包括:
存储器,用于存储指令;其中,所述指令用于实现如权利要求1-7任意一项所述的基于中间人账户激励的区块链交易方法,或者,所述指令用于实现如权利要求9所述的基于中间人账户激励的区块链交易方法;
处理器,用于执行所述存储器中的指令。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任意一项所述的基于中间人账户激励的区块链交易方法,或者,所述计算机程序被处理器执行时实现如权利要求9所述的基于中间人账户激励的区块链交易方法。
13.一种基于中间人账户激励的区块链交易系统,其特征在于,区块链由主链和基于分片机制的侧链构成,所述侧链通过智能合约与所述主链桥接,所述侧链上各分片中的节点仅存储所在分片内的账户状态信息,所述系统包括:
第一终端,其上登录有第一账户;所述第一终端用于接收从第一账户向第二账户转入第一目标通证数量的通证的转账指令;所述第一账户和第二账户均为所述侧链上的账户;所述第一终端还用于确定所述第一账户所属的第一分片及所述第二账户所属的第二分片;所述第一终端还用于若所述第一分片和所述第二分片属于不同分片,从各中间人账户中确定目标中间人账户;所述中间人账户为由目标智能合约验证通过的用于提供交易中转服务的所述侧链上的账户,且所述中间人账户转入所述目标智能合约的通证数量满足预置通证数量条件;所述目标中间人账户同属于所述第一分片和所述第二分片;还用于向所述目标中间人账户发送与所述转账指令对应的交易请求;
第二终端,其上登录有所述目标中间人账户;所述第二终端用于通过所述目标中间人账户执行与所述交易请求相应的跨分片交易;所述目标中间人账户在完成所述跨分片交易时得到相应的交易中转服务收益。
CN202310036171.9A 2023-01-10 2023-01-10 一种基于中间人账户激励的区块链交易方法、装置及系统 Active CN115797070B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310036171.9A CN115797070B (zh) 2023-01-10 2023-01-10 一种基于中间人账户激励的区块链交易方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310036171.9A CN115797070B (zh) 2023-01-10 2023-01-10 一种基于中间人账户激励的区块链交易方法、装置及系统

Publications (2)

Publication Number Publication Date
CN115797070A true CN115797070A (zh) 2023-03-14
CN115797070B CN115797070B (zh) 2023-09-15

Family

ID=85428895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310036171.9A Active CN115797070B (zh) 2023-01-10 2023-01-10 一种基于中间人账户激励的区块链交易方法、装置及系统

Country Status (1)

Country Link
CN (1) CN115797070B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116012164A (zh) * 2023-03-17 2023-04-25 安徽中科晶格技术有限公司 基于虚拟账户的区块链跨分片交易方法
CN117708244A (zh) * 2024-02-05 2024-03-15 粤港澳大湾区数字经济研究院(福田) 基于高性能区块链的数字资产交互方法、终端及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647965A (zh) * 2018-05-07 2018-10-12 北京柏链基石科技有限公司 跨链交易方法、装置、存储介质及电子设备
CN110288344A (zh) * 2019-06-25 2019-09-27 中国工商银行股份有限公司 跨区块链的资产转移方法及装置
CN110443704A (zh) * 2019-06-28 2019-11-12 阿里巴巴集团控股有限公司 一种跨链发送资源的方法和装置
CN111598566A (zh) * 2020-04-30 2020-08-28 厦门潭宏信息科技有限公司 基于混合跨链的网络支付系统
CN113157450A (zh) * 2021-04-19 2021-07-23 支付宝(杭州)信息技术有限公司 在区块链系统中执行区块的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647965A (zh) * 2018-05-07 2018-10-12 北京柏链基石科技有限公司 跨链交易方法、装置、存储介质及电子设备
CN110288344A (zh) * 2019-06-25 2019-09-27 中国工商银行股份有限公司 跨区块链的资产转移方法及装置
CN110443704A (zh) * 2019-06-28 2019-11-12 阿里巴巴集团控股有限公司 一种跨链发送资源的方法和装置
CN111598566A (zh) * 2020-04-30 2020-08-28 厦门潭宏信息科技有限公司 基于混合跨链的网络支付系统
CN113157450A (zh) * 2021-04-19 2021-07-23 支付宝(杭州)信息技术有限公司 在区块链系统中执行区块的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HUAWEI HUANG ETAL: "BrokerChain: A Cross-Shard Blockchain Protocolfor Account/Balance-based State Sharding", pages 1968 - 1977 *
蓝狐笔记: "墨客:让DApp落地的公链", pages 1 - 5 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116012164A (zh) * 2023-03-17 2023-04-25 安徽中科晶格技术有限公司 基于虚拟账户的区块链跨分片交易方法
CN117708244A (zh) * 2024-02-05 2024-03-15 粤港澳大湾区数字经济研究院(福田) 基于高性能区块链的数字资产交互方法、终端及介质

Also Published As

Publication number Publication date
CN115797070B (zh) 2023-09-15

Similar Documents

Publication Publication Date Title
Wang et al. Sok: Sharding on blockchain
CN108717630B (zh) 一种出块方法及其实现系统
Sonnino et al. Replay attacks and defenses against cross-shard consensus in sharded distributed ledgers
Kaur et al. Scalability in blockchain: Challenges and solutions
CN110599147B (zh) 一种基于区块链的密文检索公平支付方法及系统
CN106878000B (zh) 一种联盟链共识方法及系统
CN115797070A (zh) 一种基于中间人账户激励的区块链交易方法、装置及系统
CN107169865B (zh) 基于区块链技术的资产数据处理系统
Eyal et al. {Bitcoin-NG}: A scalable blockchain protocol
Bada et al. Towards a green blockchain: A review of consensus mechanisms and their energy consumption
CN108776929A (zh) 基于区块链数据库的账单处理方法、系统和可读存储介质
CN109150972A (zh) 一种双层分片的高效区块链的共识机制及其工作方法
CN113395363B (zh) 基于区块链的数据处理方法、装置、设备及存储介质
Li et al. PoV: An efficient voting-based consensus algorithm for consortium blockchains
Bou Abdo et al. Permissionless proof‐of‐reputation‐X: A hybrid reputation‐based consensus algorithm for permissionless blockchains
CN112907252B (zh) 一种基于多人链下通道的区块链交易方法及系统
CN110751468A (zh) 用于区块链扩展的多向状态通道方法、系统及介质
CN110770770A (zh) 挖掘由验证者节点提供的区块链交易的方法和系统
Skidanov et al. Nightshade: Near protocol sharding design
CN111047316A (zh) 一种反篡改的智能区块链系统及实现方法
Sun et al. A decentralized cross-chain service protocol based on notary schemes and hash-locking
CN111478775A (zh) 一种交互式聚合签名方法、设备及存储介质
CN114362987A (zh) 一种基于区块链和智能合约的分布式投票系统及方法
Xi et al. [Retracted] A Comprehensive Survey on Sharding in Blockchains
Sliwinski et al. Abc: Proof-of-stake without consensus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant