首页 / 专利库 / 银行与财务事项 / 电子钱包 / 一种跨链交易方法及存储介质

一种跨链交易方法及存储介质

阅读:459发布:2020-05-08

专利汇可以提供一种跨链交易方法及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 涉及 区 块 链 领域,公开一种跨链交易方法及存储介质,包括:获取第一 电子 设备在第一区块链发送的跨链交易 请求 ,其中,跨链交易请求包括第一电子设备的第一数字钱包地址、第一转账金额及第二电子设备的第二数字钱包地址,第二电子设备在第二区块链;根据第一区块链与第二区块链之间的锚定协议,执行跨链 智能合约 ,以将第一数字钱包地址的第一转账金额转入第二数字钱包地址,以使连接于不同区块链的两个客户端根据跨链智能合约进行跨链交易,提高了客户体验。,下面是一种跨链交易方法及存储介质专利的具体信息内容。

1.一种跨链交易方法,其特征在于,包括:
获取第一电子设备在第一链发送的跨链交易请求,其中,所述跨链交易请求包括所述第一电子设备的第一数字钱包地址、第一转账金额及第二电子设备的第二数字钱包地址,所述第二电子设备在第二区块链;
根据所述第一区块链与所述第二区块链之间的锚定协议,执行跨链智能合约,以将所述第一数字钱包地址的第一转账金额转入所述第二数字钱包地址。
2.根据权利要求1所述的方法,其特征在于,在执行智能合约之前,所述方法还包括:
判断所述跨链交易请求是否已失效;
若是,将所述转账金额转回所述第一数字钱包地址。
3.根据权利要求1所述的方法,其特征在于,所述第一区块链和/或所述第二区块链皆配置有若干类通道区块账本,每类所述通道区块账本对应一类电子货币,所述方法还包括:
获取跨通道交易请求,其中,所述跨通道交易请求包括支付方的第一通道编号、第二转账金额及收款方的第二通道编号;
搜索与所述第一通道编号对应的第一通道区块账本,以及与所述第二通道编号对应的第二通道区块账本;
将所述第一通道区块账本的第二转账金额转入所述第二通道区块账本。
4.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
获取第三电子设备发送的稳定币交易请求,其中,所述稳定币交易请求包括铸币请求或销币请求;
根据所述稳定币交易请求,交易所述稳定币。
5.根据权利要求4所述的方法,其特征在于,所述稳定币锚定加密币,当所述稳定币交易请求为铸币请求时,在获取稳定币交易请求之前,所述方法还包括:
接收所述第三电子设备向所述第一区块链或第二区块链下专用账户转入的加密币。
6.根据权利要求5所述的方法,其特征在于,所述根据所述稳定币交易请求,交易所述稳定币,包括:
根据所述铸币请求,生成铸币区块,其中,所述铸币区块包括创币交易信息,所述创币交易信息携带待铸币的稳定币数量及所述第三电子设备的数字钱包地址;
共识所述铸币区块,以将所述稳定币转入所述数字钱包地址。
7.根据权利要求5所述的方法,其特征在于,当所述稳定币交易请求为销币请求时,在获取稳定币交易请求之前,所述方法还包括:
获取所述第三电子设备发送的转账请求;
根据所述转账请求,生成转账区块,其中,所述转账区块包括所述第三电子设备的数字钱包地址、需转出的稳定币数量及黑洞地址;
共识所述转账区块,以将所述数字钱包地址的稳定币转入所述黑洞地址。
8.根据权利要求7所述的方法,其特征在于,
所述销币请求携带销币交易编号;
在共识所述转账区块之后,所述方法还包括:
生成所述销币交易编号;
则:所述根据所述稳定币交易请求,交易所述稳定币包括:
根据所述销币请求,验证所述销币交易编号对应的销币交易是否合法;
若合法,生成销币区块,其中,所述销币区块包括所述第三电子设备的数字钱包地址、所述专用账户的地址及待转出的加密币;
共识所述销币区块,以从所述专用账户将所述待转出的加密币转入所述数字钱包地址;
若非法,丢弃所述销币请求。
9.根据权利要求7所述的方法,其特征在于,所述黑洞地址由32个字节全部为0的公钥生成。
10.一种非易失性计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令被一个或多个处理器执行,可使得所述一个或多个处理器可执行权利要求1至9任一项所述的跨链交易方法。

说明书全文

一种跨链交易方法及存储介质

技术领域

[0001] 本发明涉及链领域,特别是涉及一种跨链交易方法及存储介质。

背景技术

[0002] 区块链是分布式数据存储、P2P传输、共识机制、加密算法等计算机技术的新型应用模式,是一种按照时间顺序将数据区块连接起来的一种链式数据结构,并利用块链式结构来存储数据,利用分布式节点共识算法来生成和更新数据。
[0003] 选择替代支付的加密货币作为区块链应用场景之一,其受到市场的追捧。随着加密币区块链技术的发展,市场出现多种加密货币,然而,每个加密币区块链却只能兼容一种加密货币的交易,部署每个加密币区块链需要大量的硬件设备及配套软件安装,导致加密币区块链的利用率比较低,部署成本高。

发明内容

[0004] 本发明实施例的一个目的旨在提供一种跨链交易方法及存储介质,其能够使用户进行跨链交易。
[0005] 为了解决上述技术问题,本发明提供以下技术方案:
[0006] 在第一方面,本发明实施例提供一种跨链交易方法,包括:
[0007] 获取第一电子设备在第一区块链发送的跨链交易请求,其中,所述跨链交易请求包括所述第一电子设备的第一数字钱包地址、第一转账金额及第二电子设备的第二数字钱包地址,所述第二电子设备在第二区块链;
[0008] 根据所述第一区块链与所述第二区块链之间的锚定协议,执行跨链智能合约,以将所述第一数字钱包地址的第一转账金额转入所述第二数字钱包地址。
[0009] 可选地,在执行智能合约之前,所述方法还包括:
[0010] 判断所述跨链交易请求是否已失效;
[0011] 若是,将所述转账金额转回所述第一数字钱包地址。
[0012] 可选地,所述第一区块链和/或所述第二区块链皆配置有若干类通道区块账本,每类所述通道区块账本对应一类电子货币,所述方法还包括:
[0013] 获取跨通道交易请求,其中,所述跨通道交易请求包括支付方的第一通道编号、第二转账金额及收款方的第二通道编号;
[0014] 搜索与所述第一通道编号对应的第一通道区块账本,以及与所述第二通道编号对应的第二通道区块账本;
[0015] 将所述第一通道区块账本的第二转账金额转入所述第二通道区块账本。
[0016] 可选地,还包括:
[0017] 获取第三电子设备发送的稳定币交易请求,其中,所述稳定币交易请求包括铸币请求或销币请求;
[0018] 根据所述稳定币交易请求,交易所述稳定币。
[0019] 可选地,所述稳定币锚定加密币,当所述稳定币交易请求为铸币请求时,在获取稳定币交易请求之前,所述方法还包括:
[0020] 接收所述第三电子设备向所述第一区块链或第二区块链下专用账户转入的加密币。
[0021] 可选地,所述根据所述稳定币交易请求,交易所述稳定币,包括:
[0022] 根据所述铸币请求,生成铸币区块,其中,所述铸币区块包括创币交易信息,所述创币交易信息携带待铸币的稳定币数量及所述第三电子设备的数字钱包地址;
[0023] 共识所述铸币区块,以将所述稳定币转入所述数字钱包地址。
[0024] 可选地,,当所述稳定币交易请求为销币请求时,在获取稳定币交易请求之前,所述方法还包括:
[0025] 获取所述第三电子设备发送的转账请求;
[0026] 根据所述转账请求,生成转账区块,其中,所述转账区块包括所述第三电子设备的数字钱包地址、需转出的稳定币数量及黑洞地址;
[0027] 共识所述转账区块,以将所述数字钱包地址的稳定币转入所述黑洞地址。
[0028] 可选地,所述销币请求携带销币交易编号;
[0029] 在共识所述转账区块之后,所述方法还包括:
[0030] 生成所述销币交易编号;
[0031] 则:所述根据所述稳定币交易请求,交易所述稳定币包括:
[0032] 根据所述销币请求,验证所述销币交易编号对应的销币交易是否合法;
[0033] 若合法,生成销币区块,其中,所述销币区块包括所述第三电子设备的数字钱包地址、所述专用账户的地址及待转出的加密币;
[0034] 共识所述销币区块,以从所述专用账户将所述待转出的加密币转入所述数字钱包地址;
[0035] 若非法,丢弃所述销币请求。
[0036] 可选地,所述黑洞地址由32个字节全部为0的公钥生成。
[0037] 在第二方面,本发明实施例提供一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令被一个或多个处理器执行,可使得所述一个或多个处理器可执行上述的跨链交易方法。
[0038] 在本发明各个实施例提供的跨链交易方法及存储介质中,通过获取第一电子设备在第一区块链发送的跨链交易请求,并根据所述第一区块链与所述第二区块链之间的锚定协议,执行跨链智能合约,以将所述第一数字钱包地址的第一转账金额转入所述第二数字钱包地址,从而实现了连接于不同区块链的两个客户端根据跨链智能合约进行跨链交易,提高了客户体验。附图说明
[0039] 一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0040] 图1为本发明实施例提供的一种基于区块链的交易系统的系统框图
[0041] 图2为本发明实施例提供的一种基于区块链的电子货币的处理方法的流程图
[0042] 图3为本发明实施例提供的一种基于区块链的电子货币的处理方法的又一流程图;
[0043] 图4为本发明实施例提供的一种基于区块链的稳定币交易方法的流程图;
[0044] 图5为本发明实施例提供的一种基于区块链的稳定币铸造方法的流程图;
[0045] 图6为本发明实施例提供的一种基于区块链的稳定币同步方法的流程图;
[0046] 图7为本发明实施例提供的一种基于区块链的稳定币销币方法的流程图;
[0047] 图8本发明实施例提供的一种基于区块链的稳定币销币方法的又一流程图;
[0048] 图9为本发明实施例提供的一种跨链交易方法的流程图;
[0049] 图10为本发明实施例提供的一种跨链交易方法的又一流程图;
[0050] 图11为本发明实施例提供的一种跨链交易方法的又一流程图;
[0051] 图12为本发明实施例提供的一种跨链铸币交易方法的流程图;
[0052] 图13为本发明实施例提供的一种跨链销币交易方法的流程图;
[0053] 图14为本发明实施例提供的一种跨链销币交易方法的又一流程图。

具体实施方式

[0054] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0055] 加密币作为一种数字货币,其价值会根据市场的情况,随着时间的变化而波动。在各种类型的加密币中,稳定币作为一种交换媒介将数字货币和法币连接起来。
[0056] 请参阅图1,图1为本发明实施例提供的一种基于区块链的稳定币系统,如图1所示,该系统100包括客户端101和区块链102,客户端101向区块链102发起稳定币交易请求,区块链102根据接收到的交易请求进行稳定币交易。
[0057] 其中,客户端101可以是任何合适类型,具有用户交互装置和运算能的处理器的用户终端,例如台式计算机、智能手机、平板电脑以及其他用户终端。
[0058] 在一些实施例中,客户端101还可以为安装在各种用户终端的应用程序,比如钱包软件,用户通过钱包软件就可以管理和查看其钱包中加密币的数额和交易情况。优选的,用户可以通过钱包软件管理多个币种的加密币及各加密币的交易行为。比如,客户端1通过钱包软件管理其拥有的A、B和C三种加密币,客户端2可以通过钱包软件管理其拥有的B和C两种加密币。同时,客户端1和客户端2还可以通过钱包软件查看其拥有的加密币的交易记录,比如客户端1向客户端2转账了10个C类型加密币,那么在客户端1的钱包软件中可以看到这笔转账交易记录,包括转账的加密币种类为C、转账账户为客户端1、转账目标账户为客户端2、转账数量为10及转账时间等;同理的,在客户端2的钱包软件中也可以看到这笔转账交易记录,包括转账的加密币种类为C、转账账户为客户端1、转账目标账户为客户端2、转账数量为10及转账时间等。可以理解的,钱包软件可以兼容多种类型的加密币,比如BTC、LTC及ETH等等。
[0059] 在另一些实施例中,用户可以通过客户端101通过区块链接口接入区块链网络,向区块链102发起多种类型的交易请求,比如,查询加密币余额、查看加密币的交易信息、兑换加密币及交易加密币等等。
[0060] 区块链102响应客户端101发起的交易请求,根据交易请求完成交易行为。
[0061] 其中,区块链技术是一种分布式的数据库,具有去中心化、不可篡改和可扩展性等特点。在区块链系统中,所有数据均保存在区块中,新写入的数据组成新的区块,添加在当前区块链末端链。每个区块在保存数据的同时,还要保存前一个区块中所有记录的数据唯一对应的一个数,这个数往往是所有数据的哈希值,若试图单独修改其中任意一块中的数据,就需要修改该块数据链后面的所有数据,否则不能成链。因此,区块链可以认为是,由分布式网络上的互不完全信任的计算机,通过共识规则,共同维护一套可追溯、不可篡改的链式数据的系统,该系统具有高安全、高可靠、可信的去中心化的特点。
[0062] 为了适应稳定币的业务特点,在区块链中采用权威证明共识算法(PoA,Proof of Authority)来达成共识,共识的主要作用是使区块链中的所有节点记录相同的有效的交易区块内容。一般的,通过在区块链网络中设置一个超级节点(Authority Node)以验证所有交易,该超级节点用于负责根据交易请求进行交易打包、生成新交易区块以及执行铸币、销币任务。在生成的新区块中,超级节点需要加入自己的数字签名,所有普通区块链节点验证并只接受拥有超级节点签名的区块数据,这样可以保持整个网络区块账本数据的一致性。
[0063] 区块链系统中还包含有多个数量的普通节点,在各普通节点中均保存有用户的稳定币交易信息,超级节点与普通节点共同组成一个完整的区块链网络。其中,客户端101作为区块链的客户端节点共享区块链网络。
[0064] 区块链102根据交易请求发行和交易稳定币,在区块链102中,超级节点实时扫描区块链网络中是否有新交易请求,若有,则根据新交易请求生成新的交易块;若无,则此次轮空,不生成空区块,以节省账本数据存储空间。
[0065] 在本系统中,区块链102还通过设置区块链通道(Channel)来隔离链上的数据,其中,每个通道(Channel)承载一种单独类型的加密币,且拥有独立的交易记录与区块数据账本,各通道的对应的基本信息包括唯一的通道编号、承载的加密币名称、加密币的单位及对加密币的描述等,各客户端中同一类型的加密币通过对应的通道(Channel)连接在一起,形成一条与加密币类型对应的虚拟通讯链路,客户端通过通道(Channel)获取交易数据。可以理解的,每个客户端根据其拥有的加密币的种类,可以订阅多条通道数据,客户端会在区块链网络中搜索并与自己订阅相同通道的客户端节点建立连接,以便能快速同步与传播最新的区块与交易数据。假设A、B和C三种加密币对应的通道编号为01、02和03,客户端1拥有A、B和C三种加密币,即客户端1订阅了01、02和03三条通道,并通过通道能查看A、B和C三种加密币的全部交易数据。
[0066] 用户通过钱包软件就可以管理和查看其钱包中电子货币的数额和交易情况,并向区块链发送对应的操作请求。请参阅图2,本发明提供一种电子货币的处理方法,基于上述系统中区块链,其中,所述区块链配置有若干类区块账本,每类所述区块账本对应一类电子货币,所述方法包括以下步骤:
[0067] S201、获取客户端发送的操作请求,其中,所述操作请求携带通道编号;
[0068] 在区块链中,根据电子货币的类型预设有若干条虚拟通讯链路,即通道,每条所述通道承载对应一类的电子货币,并且,每条所述通道均拥有其对应的电子货币的交易记录与区块账本,每类所述区块账本对应一类电子货币,客户端中相同类型的电子货币通过通道进行连接。其中,通道的基本信息包括唯一的通道编号、对应电子货币的名称、电子货币的单位与描述等。可以理解的,在区块链网络通讯中,如交易广播、交易同步、区块同步等,都需要传入通道编号,以确定对哪个通道的数据进行操作。
[0069] 在一些实施例中,所述区块链预设有256条通道以承载各种类型的电子货币。
[0070] 在一些实施例中,所述客户端的电子货币皆共用相同的数字钱包地址。在区块链中,区块链只对区块与交易数据进行隔离,而同一个客户端的不同币种之间仍然使用同一套数字钱包地址进行管理。在区块链中,为每一个客户端分配一套地址作为用户的数字钱包地址,每个客户端唯一对应一套数字钱包地址,客户端将其持有的电子货币存放于数字钱包中,通过同一套地址进行电子货币的交易活动。可以理解的,每个客户端使用同一套私钥、公钥和密码来管理其数字钱包内电子货币的情况,包括电子货币的余额情况、转入转出的交易情况等等。
[0071] S202、根据所述操作请求,搜索与所述通道编号对应的目标区块账本,并处理所述目标区块账本的电子货币。
[0072] 其中,操作请求包括余额查询请求、交易查询请求及交易创建请求。在操作请求中携带有进行操作的通道编号,区块链根据所述通道编号在区块链网络中所搜与自己订阅的通道编号相同的节点并建立连接,以便能快速的同步与传播最新的区块与交易数据。
[0073] 在一些实施例中,所述电子货币包括若干类加密币,每类所述加密币与稳定币按照实时价格进行兑换。
[0074] 当用户需要查询余额时,向区块链发送余额查询请求。区块链获取到该余额查询的操作请求后,根据该操作请求处理目标区块账本的电子货币:根据所述余额查询请求,查询所述目标区块账本中电子货币的余额,得到余额结果;发送所述余额结果至所述客户端。
[0075] 当用户需要交易信息时,向区块链发送交易查询请求。区块链获取到该交易查询的操作请求后,根据该操作请求处理目标区块账本的电子货币:根据所述交易查询请求,查询所述目标区块账本中电子货币的交易信息;发送所述交易信息至所述客户端。
[0076] 当用户需要创建交易时,向区块链发送交易创建请求。区块链获取到该交易创建的操作请求后,根据该操作请求处理目标区块账本的电子货币:根据所述交易创建任务,生成与所述电子货币对应的交易区块;在所述目标区块账本中写入所述交易区块。
[0077] 在本实施例中,区块链配置有若干类区块账本,每类所述区块账本对应一类电子货币,通过获取客户端发送的携带通道编号的操作请求,并根据所述通道编号在区块链网络中所搜与自己订阅的通道编号相同的节点并建立连接,通过在区块链配置有若干类区块账本,并为每一类电子货币配置唯一对应的区块账本,从而使得区块链中支持多种电子货币的交易,实现了一链多币。
[0078] 在区块链网络中,电子货币在通道中完成交易活动,每一类电子货币对应有唯一一条通道,每一条通道均独自拥有一个通道账本,用于记录该通道对应的电子货币的交易信息。在一些实施例中,用户可以通过订阅其所拥有的电子货币对应的通道,以同步电子货币的最新区块和交易信息,请参阅图3,区块链根据所述订阅请求为用户订阅相应的通道,包括以下步骤:
[0079] S301、获取所述客户端发送的订阅请求,其中,所述订阅请求携带需订阅的通道编号;
[0080] S302、为所述客户端配置与所述需订阅的通道编号对应的区块账本;
[0081] S303、发送与所述区块账本对应的电子货币的货币显示信息至所述客户端,以使所述客户端显示所述电子货币信。
[0082] 其中,通道编号对应的区块账本与其电子货币一一对应,所述区块账本中保存有该通道中交易的电子货币信息,包括电子货币的交易信息、数量信息等等。
[0083] 在一些实施例中,客户端可以自由配置或选择订阅一个或多个通道,被订阅的通道数据将会被同步到客户端进行展示,而未被订阅的通道数据则在客户端进行过滤,以有效的节省客户端的存储资源与网络资源,提升客户端节点的操作性能。
[0084] 在本实施例中,客户端发送订阅请求订阅通道编号对应的电子货币,并将通道编号对应的通道数据显示于客户端,从而使用户能够根据需求自由关注相关电子货币的交易情况,提升用户体验。
[0085] 用户还可以将其数字钱包地址下所拥有的电子货币进行交易行为,此时,用户需要将电子货币兑换成稳定币以在区块链网络中进行交易,具体的,请参阅图4,本发明提供一种基于区块链的稳定币交易方法,所述区块链根据所述操作请求进行稳定币交易,所述方法包括以下步骤:
[0086] S401、获取客户端发送的稳定币交易请求,其中,所述稳定币交易请求包括铸币请求或销币请求;
[0087] S402、根据所述稳定币交易请求,交易所述稳定币。
[0088] 可以理解的,在根据所述稳定币交易请求交易所述稳定币之前,需要验证客户端的合法性。在所述交易请求中,携带有客户端的用户签名,区块链通过用户签名来检查客户端是否为受信任用户,系统只接收和处理受信任用户发起的交易请求。
[0089] 在本实施例中,获取客户端发送的稳定币交易请求,其中,所述稳定币交易请求包括铸币请求或销币请求,并根据所述稳定币交易请求交易所述稳定币,使得用户可以在客户端通过稳定币以稳定的价格进行交易,提高了用户体验。
[0090] 当所述交易请求为铸造稳定币的铸币请求时,请参阅图5,根据所述稳定币交易请求交易所述稳定币,包括以下步骤:
[0091] S501、根据所述铸币请求,生成铸币区块,其中,所述铸币区块包括创币交易信息,所述创币交易信息携带待铸币的稳定币数量及所述客户端的数字钱包地址;
[0092] 在处理所述铸币请求前,需要验证该铸币请求的合法性。具体的,使用所述客户端的公钥验证所述铸币请求的合法性;若合法,则根据所述稳定币交易请求交易所述稳定币;若非法,则丢弃所述铸币请求。
[0093] 在本申请中,区块链发行的稳定币采用以加密币资产作为抵押资产的方式发行,其币值直接锚定法币。因此,客户端发送铸币请求时,需指定其钱包地址下的加密币进行稳定币的兑换。
[0094] 在一些实施例中,区块链设置一个钱包地址作为专用账户,用于接收抵押资产的加密币。
[0095] 可以理解的,在获取稳定币交易请求之前,接收所述客户端向所述区块链下专用账户转入的加密币,并将转入的加密币锚定法币得到需要铸造的稳定币数量。
[0096] 区块链根据铸币请求生成铸币区块,其中,铸币区块在区块中表现为一条Coinbase创币交易,该交易中没有转出方,只有收款方,交易金额为铸币金额,收款地址是发起铸币请求的用户钱包地址。在Coinbase创币交易中,包含铸币请求的具体内容与任务签名,超级节点会对铸币请求进行严格的检查。可以理解的,只有包含铸币请求的区块中才会有Coinbase创币交易。
[0097] 其中,所述铸币请求包括以下铸币内容:
[0098] TaskID–任务ID,为Hash格式
[0099] GuaranteeType–存入的加密币类型(如BTC、ETH等)
[0100] GuaranteeAmount–存入的加密币金额
[0101] GuaranteeTxID–向专用账户存入加密币的交易哈希ID
[0102] StableCoinType–要生成的稳定币类型(即通道号,如FCNY)
[0103] StableCoinAmount–要生成的稳定币数量
[0104] StableCoinAddress–稳定币的接收地址
[0105] ExchangeRate–抵押加密币与稳定币的实时汇率
[0106] Fee–铸币手续费,为百分比
[0107] Timestamp–任务创建时间的时间截,为UnixEpoch格式,精度为毫秒[0108] Signature–任务签名
[0109] 在另一些实施例中,所述任务ID由对上述其它铸币内容作哈希运算得到,用于防篡改以保证任务的完整性,同时,还用于检查任务的执行状态。
[0110] 在另一些实施例中,所述任务签名由使用所述客户端的私钥对除了任务ID及任务签名之外的各个铸币内容作签名计算得到。超级节点会使用拥有的公钥来验证这一签名,以确保铸币任务的合法性。
[0111] S502、共识所述铸币区块,以将所述稳定币转入所述数字钱包地址。
[0112] 可以理解的,执行所述铸币任务时,系统根据该任务产生相应的铸币手续费,其中,所述铸币手续费为百分比值。那么,转入数字钱包地址的稳定币的数量的计算公式,如下:
[0113] StableCoinAmount=GuaranteeAmount*(1–Fee)*ExchangeRate
[0114] StableCoinAmount为稳定币数量,GuaranteeAmount为存入的加密币金额,Fee为铸币手续费,ExchangeRate为抵押加密币与稳定币的实时汇率。
[0115] S503、搜索与所述加密币对应的目标区块账本;
[0116] S504、将共识后的铸币区块写入所述目标区块账本。
[0117] 在本实施例中,当所述交易请求为铸币请求时,系统根据该铸币请求生成铸币区块,通过共识验证后,将对应数量的稳定币存入客户端的数字钱包地址,并将该交易写入区块账本,从而保证了交易的同步。
[0118] 区块链还接收并处理用户发送的同步请求,请参与图6,包括以下步骤:
[0119] S601、获取所述客户端发送的钱包同步请求;
[0120] S602、根据所述钱包同步请求,向所述客户端发送未同步过的最新铸币区块,以使所述客户端根据所述最新铸币区块,同步更新所述客户端的数字钱包中所述稳定币的可用余额。
[0121] 在本实施例中,客户端通过发送同步请求,将最新的交易数据同步到客户端,从而更新了客户端数据,保证了数据的同步性。
[0122] 当所述稳定币交易请求为销毁稳定币的销币请求时,客户端需要先向区块链中设置的“黑洞地址”转入对应数量的稳定币。请参阅图7,在获取稳定币交易请求之前,所述方法包括以下步骤:
[0123] S701、获取所述客户端发送的转账请求;
[0124] S702、根据所述转账请求,生成转账区块,其中,所述转账区块包括所述客户端的数字钱包地址、需转出的稳定币数量及黑洞地址;
[0125] 在一些实施例中,设置一黑洞地址,用于接收销毁的稳定币,其中,所述黑洞地址由32个字节全部为0的公钥生成。由于没有任何一个私钥可以生成出此种公钥,从而实现了稳定币被销毁的效果。
[0126] S703、共识所述转账区块,以将所述数字钱包地址的稳定币转入所述黑洞地址。
[0127] S704、搜索与所述加密币对应的区块账本;
[0128] S705、将共识后的转账区块写入与所述加密币对应的区块账本。
[0129] 在本实施例中,接收客户端的转账请求,根据转账请求将需转出的稳定币数量转入黑洞地址中,并记录于区块账本中,以保证用户能进行加密币的赎回。
[0130] 在一些实施例中,所述销币请求携带销币交易编号,其中,所述销币交易编号为在共识所述转账区块之后生成的。所述销币交易编号用于标识用户已将对应数量的稳定币转入“黑洞地址”以赎回加密币。可以理解的,所述销币交易编号可以用于检验销币任务的合法性,请参阅图8,所述根据所述稳定币交易请求,交易所述稳定币,包括以下步骤:
[0131] S801、根据所述销币请求,验证所述销币交易编号对应的销币交易是否合法;
[0132] 其中,所述销币请求包括以下销币内容:
[0133] TaskID–任务ID,为Hash格式
[0134] StableCoinType–要销毁的稳定币类型(即通道号,如FCNY)
[0135] StableCoinAmount–要销毁的稳定币数量
[0136] StableCoinTxID–转入“黑洞地址”的稳定币交易Hash ID
[0137] GuaranteeType–要赎回的加密币类型(如BTC、ETH等)
[0138] GuaranteeAmount–要赎回的加密币金额
[0139] GuaranteeAddress–赎回加密币的接收地址
[0140] ExchangeRate–稳定币与抵押加密币的实时汇率
[0141] Fee–销币手续费,为百分比
[0142] Timestamp–任务创建时间的时间截,为Unix Epoch格式,精度为毫秒[0143] Signature–任务签名
[0144] 在一些实施例中,所述任务ID由对上述其它销币内容作哈希运算得到的,用于防篡改以保证任务的完整性,同时,还用于检查任务的执行状态。
[0145] 在又一些实施例中,所述任务签名由使用所述客户端的私钥对除了任务ID及任务签名之外的各个销币内容作签名处理得到。超级节点会使用拥有的公钥来验证这一签名,以确保销币任务的合法性。
[0146] S802、若合法,生成销币区块,其中,所述销币区块包括所述客户端的数字钱包地址、所述专用账户的地址及待转出的加密币;
[0147] S803、共识所述销币区块,以从所述专用账户将所述待转出的加密币转入所述数字钱包地址;
[0148] 所述销币区块包括所述客户端的数字钱包地址、所述专用账户的地址及待转出的加密币。共识所述销币区块,以从所述专用账户将所述待转出的加密币转入所述数字钱包地址。
[0149] 可以理解的,执行所述销币任务时,系统根据该任务产生相应的销币手续费,其中,所述销币手续费为百分比值。那么,要赎回的加密币数量的计算公式,如下:
[0150] GuaranteeAmount=StableCoinAmount*ExchangeRate*(1–Fee)
[0151] GuaranteeAmountt为要赎回的加密币金额,StableCoinAmount为要销毁的稳定币数量,Fee为销币手续费,ExchangeRate为稳定币与抵押加密币的实时汇率。
[0152] S804、若非法,丢弃所述销币请求。
[0153] 在本实施例中,当所述交易请求为销币请求时,根据销币请求中携带的销币交易编号来验证该销币请求是否合法,若合法,则该销币请求生成销币区块,通过共识验证后,将加密币转入客户端的数字钱包地址,否则丢弃所述销币请求,从而确保销币任务的合法性和准确性。
[0154] 请参阅图9,本发明提供一种跨链交易方法,包括以下步骤:
[0155] S901、获取第一电子设备在第一区块链发送的跨链交易请求,其中,所述跨链交易请求包括所述第一电子设备的第一数字钱包地址、第一转账金额及第二电子设备的第二数字钱包地址,所述第二电子设备在第二区块链;
[0156] 所述跨链交易,是指连接与不同区块链网络的两个客户端之间发起的一笔价值交换活动,所述跨链交易可以由第一电子设备端发起,也可以由第二电子设备端发起,发起跨链交易的一端需在交易请求中携带目标客户端的钱包地址及交易金额,以使跨链交易能准确进行。可以理解的,第一数字钱包地址和第二数字钱包地址用于存放客户端所持有的电子货币。
[0157] 在本申请中,所述第一区块链与第二区块链为同一多链系统下两条链,且所述第一电子设备连接于第一区块链网络,所述第二电子设备连接于第二区块链网络。在多链系统中,设置一见证节点以验证所述跨链交易,见证节点实时扫描多链系统网络中是否有新的跨链交易请求,若有,则根据跨链请求处理该跨链交易,并在所述跨链交易中写入其签名。
[0158] S902、根据所述第一区块链与所述第二区块链之间的锚定协议,执行跨链智能合约,以将所述第一数字钱包地址的第一转账金额转入所述第二数字钱包地址。
[0159] 所述锚定协议是指电子货币的价值可以在第一区块链和第二区块链之间双向转移。其中,第一数字钱包地址用于作为电子货币的转出端,第二数字钱包地址为电子货币的转入端,跨链交易就是根据所述锚定协议,将所述第一数字钱包地址的第一转账金额转入所述第二数字钱包地址。
[0160] 在所述第一区块链和第二区块链上部署有跨链智能合约,跨链智能合约同样具有区块链数据的一般特征,如分布式记录、存储和验证,不可篡改和伪造等。一般的,签署合约的各方就合约内容达成一致后,以跨链智能合约的形式部署在各区块链上。
[0161] 可以理解的,在执行跨链智能合约之前,判断所述跨链交易请求是否已失效;若是,将所述转账金额转回所述第一数字钱包地址。
[0162] 在本实施例中,获取第一电子设备在第一区块链发送的跨链交易请求,并根据所述第一区块链与所述第二区块链之间的锚定协议,执行跨链智能合约,以将所述第一数字钱包地址的第一转账金额转入所述第二数字钱包地址,从而实现了连接于不同区块链的两个客户端根据跨链智能合约进行跨链交易,提高了客户体验。
[0163] 在一些实施例中,所述第一区块链和/或所述第二区块链皆配置有若干类通道区块账本,每类所述通道区块账本对应一类电子货币,请参阅图10,所述跨链交易包括以下步骤:
[0164] S1001、获取跨通道交易请求,其中,所述跨通道交易请求包括支付方的第一通道编号、第二转账金额及收款方的第二通道编号;
[0165] S1002、搜索与所述第一通道编号对应的第一通道区块账本,以及与所述第二通道编号对应的第二通道区块账本;
[0166] S1003、将所述第一通道区块账本的第二转账金额转入所述第二通道区块账本。
[0167] 可以理解的,第一通道编号对应第一区块链中的电子货币,所有第一通道用于管理和交易第一区块链中的电子货币,且拥有独立的通道交易记录与通道数据账本。同理的,第二通道编号对应第二区块链中的电子货币,所述第二通道用于管理和交易第二区块链中的电子货币,且拥有独立的通道交易记录与通道数据账本。关于通道的应用,可参看上述实施例中相关通道的描述,在此不再一一赘述。
[0168] 在跨链交易过程中,从第一通道转出第二转账金额,因此,需要将该转出交易数据记录到第一通道区块账本中;同理的,将第一通道转出的第二转账金额转入第二通道,因此,需要将该转入交易数据记录到第二通道区块账本中,以保证交易数据的一致性。
[0169] 在本实施例中,获取跨通道交易请求,搜索与所述第一通道编号对应的第一通道区块账本,以及与所述第二通道编号对应的第二通道区块账本,将所述第一通道区块账本的第二转账金额转入所述第二通道区块账本。即将跨链交易的交易数据分别记录到进行交易的两条通道的通道账本中,从而保证交易数据的一致性。
[0170] 在一些实施例中,还提供了一种跨链交易方法,通过所述方法将电子货币的价值转移到所述区块链中,请参阅图11,所述方法包括以下步骤:
[0171] S1101、获取第三电子设备发送的稳定币交易请求,其中,所述稳定币交易请求包括铸币请求或销币请求;
[0172] S1102、根据所述稳定币交易请求,交易所述稳定币。
[0173] 可以理解的,第三电子设备为上述多链系统的一个普通客户端节点,其中,第三电子设备连接于第一区块链网络或第二区块链网络。用户通过所述第三电子设备向其所连接的区块链网络发送稳定币的交易请求,所述稳定币交易请求包括铸币请求或销币请求。所述区块链网络相应用户的交易请求,处理所述交易。
[0174] 具体的处理交易过程请参看如图4所述的关于一种基于区块链的稳定币交易方法的实施例,在此不再一一赘述。
[0175] 在本实施例中,获取第三电子设备发送的稳定币交易请求,其中,所述稳定币交易请求包括铸币请求或销币请求,并根据所述稳定币交易请求,交易所述稳定币,客户端通过发送铸币或销币请求,为用户提供了稳定币的交易活动,使用户可以根据自身的需求选择合适的交易,提高了用户体验。
[0176] 当所述稳定币交易请求为铸造稳定币的铸币请求时,请参阅图12,根据所述稳定币交易请求交易所述稳定币,包括以下步骤:
[0177] S1201、根据所述铸币请求,生成铸币区块,其中,所述铸币区块包括创币交易信息,所述创币交易信息携带待铸币的稳定币数量及所述第三电子设备的数字钱包地址;
[0178] 在一些实施例中,所述稳定币锚定加密币,当所述稳定币交易请求为铸币请求时,在获取稳定币交易请求之前,所述方法还包括:接收所述第三电子设备向所述第一区块链或第二区块链下专用账户转入的加密币。
[0179] S1202、共识所述铸币区块,以将所述稳定币转入所述数字钱包地址。
[0180] 可以理解的,所述稳定币的铸币和共识过程与图5中所述的方法是一致的,具体方法请参考图5所对应的实施例,在此不再一一赘述。
[0181] 在本实施例中,当所述交易请求为铸币请求时,系统根据该铸币请求生成铸币区块,通过共识验证后,将对应数量的稳定币存入第三电子设备的数字钱包地址,并将该交易写入区块账本,从而保证了交易的同步。
[0182] 当所述稳定币交易请求为销毁稳定币的销币请求时,所述第三电子设备需要先向系统设置的“黑洞地址”转入对应数量的稳定币。请参阅图13,在获取稳定币交易请求之前,所述方法包括以下步骤:
[0183] S1301、获取所述第三电子设备发送的转账请求;
[0184] S1302、根据所述转账请求,生成转账区块,其中,所述转账区块包括所述第三电子设备的数字钱包地址、需转出的稳定币数量及黑洞地址;
[0185] 在一些实施例中,设置一黑洞地址,用于接收销毁的稳定币,其中,所述黑洞地址由32个字节全部为0的公钥生成。由于没有任何一个私钥可以生成出此种公钥,从而实现了稳定币被销毁的效果。
[0186] S1303、共识所述转账区块,以将所述数字钱包地址的稳定币转入所述黑洞地址。
[0187] 可以理解的,所述方法与图7中所述的方法是一致的,具体方法请参考图7所对应的实施例,在此不再一一赘述。
[0188] 在本实施例中,接收第三电子设备的转账请求,并根据转账请求将需转出的稳定币数量转入黑洞地址中,以保证用户能进行加密币的赎回。
[0189] 在一些实施例中,所述销币请求携带销币交易编号,其中,所述销币交易编号为在共识所述转账区块之后生成的。所述销币交易编号用于标识用户已将对应数量的稳定币转入“黑洞地址”以赎回加密币。可以理解的,所述销币交易编号可以用于检验销币任务的合法性,请参阅图14,所述根据所述稳定币交易请求,交易所述稳定币,包括以下步骤:
[0190] S1401、根据所述销币请求,验证所述销币交易编号对应的销币交易是否合法;
[0191] 在一些实施例中,所述任务ID由对上述其它销币内容作哈希运算得到的,用于防篡改以保证任务的完整性,同时,还用于检查任务的执行状态。
[0192] 在又一些实施例中,所述任务签名由使用所述客户端的私钥对除了任务ID及任务签名之外的各个销币内容作签名处理得到。超级节点会使用拥有的公钥来验证这一签名,以确保销币任务的合法性。
[0193] S1402、若合法,生成销币区块,其中,所述销币区块包括所述第三电子设备的数字钱包地址、所述专用账户的地址及待转出的加密币;
[0194] S1403、共识所述销币区块,以从所述专用账户将所述待转出的加密币转入所述数字钱包地址;
[0195] 所述销币区块包括所述客户端的数字钱包地址、所述专用账户的地址及待转出的加密币。共识所述销币区块,以从所述专用账户将所述待转出的加密币转入所述数字钱包地址。
[0196] 可以理解的,执行所述销币任务时,系统根据该任务产生相应的销币手续费,其中,所述销币手续费为百分比值。那么,要赎回的加密币数量的计算公式,如下:
[0197] GuaranteeAmount=StableCoinAmount*ExchangeRate*(1–Fee)
[0198] GuaranteeAmountt为要赎回的加密币金额,StableCoinAmount为要销毁的稳定币数量,Fee为销币手续费,ExchangeRate为稳定币与抵押加密币的实时汇率。
[0199] S1404、若非法,丢弃所述销币请求。
[0200] 可以理解的,所述方法与图8中所述的方法是一致的,具体方法请参考图8所对应的实施例,在此不再一一赘述。
[0201] 在本实施例中,当所述交易请求为销币请求时,根据销币请求中携带的销币交易编号来验证该销币请求是否合法,若合法,则该销币请求生成销币区块,通过共识验证后,将加密币转入第三电子设备的数字钱包地址,否则丢弃所述销币请求,从而确保销币任务的合法性和准确性。
[0202] 在区块链中,还包括一条侧链,用于记录每条通道下所有稳定币的铸币和销币记录,以增加稳定币的透明度,提升稳定币的公信力。
[0203] 在一些实施例中,所述侧链的区块数据可以在侧链的区块浏览器通过交易哈希值进行交易查询,其中,所述交易哈希值为每一次的铸币和销币任务中关联的抵押加密币与稳定币的交易Hash值。优选的,用户还可以从公链浏览器上确认交易的有效性。
[0204] 在另一些实施例中,用户可以通过查询到抵押专用账户的资产总额以及市面上稳定币的流通总额,包括铸币总额和销币总额,可以理解的,所述流通总额是指黑洞地址以外的主链上所有地址余额的总和。
[0205] 具体的,侧链记录的稳定币交易包括铸币交易和销币交易,其中,记录的铸币交易内容包括:
[0206] LogId–侧链交易ID,Hash格式
[0207] LogType–交易类型:Mint–铸币,Burn–销币
[0208] GuaranteeType–存入的加密币类型(如BTC、ETH等)
[0209] GuaranteeAmount–存入的加密币金额
[0210] GuaranteeTxID–向专用账户存入加密币的交易HashID
[0211] StableCoinType–要生成的稳定币类型(即通道号,如FCNY)
[0212] StableCoinAmount–要生成的稳定币数量
[0213] StableCoinAddress–稳定币的接收地址
[0214] StableCoinTxID–稳定币交易ID(铸币交易ID)
[0215] ExchangeRate–抵押币与稳定币的实时汇率
[0216] Fee–铸币手续费
[0217] MintTime–铸币任务创建时间的时间截,为Unix Epoch格式,精度为毫秒[0218] LogTime–侧链交易生成时间的时间截,为Unix Epoch格式,精度为毫秒[0219] 记录的销币交易内容包括:
[0220] LogId–侧链交易ID,Hash格式
[0221] LogType–交易类型:Mint–铸币,Burn–销币
[0222] StableCoinType–要销毁的稳定币类型(即通道号,如FCNY)
[0223] StableCoinAmount–要销毁的稳定币数量
[0224] StableCoinTxID–转入“黑洞地址”的稳定币交易Hash ID
[0225] GuaranteeType–要赎回的加密币类型(如BTC、ETH等)
[0226] GuaranteeAmount–要赎回的加密币金额
[0227] GuaranteeAddress–赎回加密币的接收地址
[0228] GuaranteeTxID–赎回加密币的交易Hash
[0229] ExchangeRate–稳定币与抵押币的实时汇率
[0230] Fee–销币手续费,为百分比
[0231] BurnTime–销币任务创建时间的时间截,为Unix Epoch格式,精度为毫秒[0232] LogTime–侧链交易生成时间的时间截,为UnixEpoch格式,精度为毫秒[0233] 在本实施例中,通过设置一条侧链记录每条通道下所有稳定币的铸币和销币记录,用户可以通过侧链的区块浏览器通过交易哈希值进行交易查询,还可以从公链浏览器上确认交易的有效性,从而增加稳定币的透明度,提升稳定币的公信力,实现了对稳定币的正常运作进行监督与审查。
[0234] 本发明实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使区块链节点执行如上任一项所述的跨链交易方法。
[0235] 本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被区块链节点执行时,使所述区块链节点执行任一项所述的跨链交易方法。
[0236] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0237] 通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为Flash、EEPROM、磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0238] 最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈