具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
图1是一示例性实施例提供的一种资产转移方法的流程图。如图1所示,该方法可以包括以下步骤:
步骤102,响应于付款方与收款方之间的资产转移请求,确定所述链下资产转移链路中的第一成员和位于所述第一成员下游的第二成员;其中,所述资产转移请求中包含对应于所述第一成员的资产转出描述信息和对应于所述第二成员的资产转入描述信息。
在一实施例中,本说明书中的“资产”可以包括任意类型,比如现金、证券、股票等,再比如设备、车辆、房产、货物等,本说明书并不对此进行限制。
在一实施例中,任一成员可以响应于付款方与收款方之间的资产转移请求,确定付款方与收款方之间的链下资产转移链路中的第一成员以及位于第一成员下游的第二成员。其中,上述资产转移请求可以由付款方、收款方或者任一成员所发起。上述的任一成员可以位于该链下资产转移链路中的任意环节。例如,该任一成员可以为上述的第一成员或第二成员,也可以为区别于第一成员和第二成员的其他成员。再例如,该任一成员可以为链下资产转移链路中的首个成员,也可以为非首位的其他成员等。链下资产转移链路中的各个成员可以是银行或者金融机构等,本说明书并不对此进行限制。由于付款方与收款方并未在同一金融机构处开设账户,因而付款方与收款方之间需要通过多个金融机构进行多次资产转移,才能够实现由付款方向收款方的资产转移。比如,由付款方首先向金融机构1进行资产转移,再由金融机构2向金融机构3进行资产转移,进而由金融机构3向收款方进行资产转移。那么,如果需要实现上述的资产转移过程,就需要从众多的金融机构中选取金融机构1-3,并确定资产转移方向为由金融机构1向金融机构2进行资产转移、由金融机构2向金融机构3进行资产转移,那么这种描述了金融机构及其相互之间的资产转移方向的信息就相当于在被选取的这些金融机构之间形成了一条逻辑链路,即资产转移链路。由于上述的资产转移发生在链下,因而可以称之为上述的链下资产转移链路。被选入链下资产转移链路的金融机构可以被称为成员。链下资产转移链路可以用于指示其所含的各个成员之间的资产转移方向,付款方可以利用该资产转移链路实施针对收款方的链下资产转移操作。
步骤104,在所述第一成员和所述第二成员均接入同一本地清算系统的情况下,向所述本地清算系统发起资产流转请求,以使所述本地清算系统根据所述资产转出描述信息对所述第一成员在所述本地清算系统内的资产账户进行资产转出、根据所述资产转入描述信息对所述第二成员在所述本地清算系统内的资产账户进行资产转入。
在一实施例中,在第一成员和第二成员均接入同一本地清算系统的情况下,第一成员和第二成员均在该本地清算系统内设置有资产账户。其中,本地清算系统是指的一个国家或者地区对交易者之间的债权债务关系进行清偿的系统,各个交易者均在本地清算系统内设置有资产账户,在每隔预设周期之后,可以利用在本地清算系统内设置的资产账户实施各个交易者之间对应于债权债务关系的资产结算,由于该预设周期时长一般较长,例如,24小时、7天或者30天等,利用本地清算系统实现资产结算的过程往往滞后。在本说明书的实施例中,可以利用第一成员、第二成员在同一本地清算系统中开设的上述资产账户,实现快捷的资产转移操作,无需由第一成员和第二成员中的任一成员专门在另一成员处设置用于资产转移的账户,可以充分利用已有的本地清算系统,既可以降低实现第一成员、第二成员之间的资产转移所需的成本,也可以提升第一成员、第二成员之间进行资产转移的效率。上述任一成员可以生成第一成员与第二成员之间的资产流转请求,并将生成的资产流转请求发送至本地清算系统。相应的,本地清算系统可以响应于该资产流转请求,根据上述资产转出描述信息对第一成员在本地清算系统内的资产账户进行资产转出,以及根据上述资产转入描述信息对第二成员在本地清算系统内的资产账户进行资产转入。
在一实施例中,资产转出描述信息是指与第一成员需要转移的转出资产相关的信息,可以包括下述至少之一:资产数额、资产种类以及对应于第一成员的资产账户;以及资产转入描述信息是指与第二成员将要接收到的转入资产相关的信息,可以包括下述至少之一:资产数额、资产种类以及对应于第二成员的资产账户。因此,本地清算系统可以基于该资产转出描述信息和资产转入描述信息分别对第一成员、第二成员对应的资产账户进行资产转出与资产转入,从而实现了由第一成员向第二成员的链下资产转移。举例而言,当资产为货币时,资产转出描述信息可以包括货币数额、汇出币种以及第一成员的银行账户,资产转入描述信息可以包括货币数额、汇入币种以及第二成员的银行账户,资产转出描述信息所含的货币数额、汇出币种应当与资产转入描述信息所含的货币数额、汇入币种满足预设的关联关系,预设的关联关系可以包括汇出币种与汇入币种之间的兑换比例等,本说明书并不对此进行限制。
在一实施例中,上述的任一成员还可以生成针对资产转出描述信息和资产转入描述信息的校验请求,并分别发送至链下资产转移链路中的各个成员,使得各个成员分别对自身相关的资产转出描述信息和资产转入描述信息进行校验。其中,校验过程所涉及的检查可以包括KYC(Know Your Customer,了解你的客户)检查、AML(Anti-Money Laundering,反洗钱)检查等多种类型中至少之一,本说明书并不对此进行限制。以及,上述的任一成员可以在确定各个成员均认可自身对应的资产转出描述信息和资产转入描述信息的情况下,才向本地清算系统发起前述的资产流转请求。也就是说,上述任一成员向本地清算系统发起资产流转请求的前提条件包括:资产转出描述信息和资产转入描述信息通过校验。
在一实施例中,上述任一成员还可以向区块链系统提交包含有上述资产转出描述信息和资产转入描述信息的存证交易,那么区块链系统可以将该存证交易存证至区块链中,实现对第一成员与第二成员之间的资产转移过程的记录。区块链技术(也被称之为,分布式账本技术)是一种去中心化的分布式数据库技术。由于采用去中心化的网络结构、共识机制和链式区块结构,使得区块链技术具有去中心化、公开透明、不可篡改、可信任等多种特点,因而在用于对上述存证交易进行存证时,可以针对该存证交易所含的资产转出描述信息和资产转入描述信息形成可信可追溯且不可篡改的数据记录。
在一实施例中,区块链系统可以包括若干区块链节点,这些区块链节点中可以包括至少一个锚点(anchor),该锚点可以在区块链系统内发行区块链资产。区块链系统中的各个区块链账户之间可以针对该区块链资产进行链上转移,从而实现基于区块链系统的链上资产转移操作。锚点的角色可以由链下资产转移链路中的成员来承担,但这并非必须,锚点也可以与链下资产转移链路中的成员无关。区块链系统可以维护有分别对应于链下资产转移链路中的各个成员的区块链账户,使得这些成员可以通过各自对应的区块链账户来分别获取和持有由锚点发行的区块链资产。
假定区块链系统中存在第一锚点,且在上述第一成员和第二成员均持有由第一锚点发行的区块链资产的情况下,上述的任一成员可以向区块链系统发起区块链交易。相应的,区块链系统可以响应于该区块链交易,分别确定匹配于上述资产转出描述信息的待转出区块链资产描述信息以及匹配于上述资产转入描述信息的待转入区块链资产描述信息,譬如可以从该区块链交易中分别读取待转出区块链资产描述信息和待转入区块链资产描述信息。其中,待转出区块链资产描述信息是指与第一成员需要转移的转出区块链资产相关的信息,可以包括下述至少之一:区块链资产数额、发行该区块链资产的锚点、资产类型、第一成员的区块链账户;以及待转入区块链资产描述信息是指与第二成员将要接收到的转入区块链资产相关的信息,可以包括下述至少之一:区块链资产数额、发行该区块链资产的锚点、资产类型、第二成员的区块链账户。进一步地,区块链系统可以根据确定出的待转出区块链资产描述信息对第一成员持有的由第一锚点发行的区块链资产进行资产转出、根据确定出的待转入区块链资产描述信息对第二成员持有的由第一锚点发行的区块链资产进行资产转入,从而实现第一成员与第二成员之间的链上资产转移。
基于区块链技术的特性,使得上述的区块链交易以及基于该区块链交易在第一成员、第二成员之间实现的链上资产转移的相关信息,都可以在区块链系统中进行存证,并形成可信可追溯且不可篡改的数据记录。由于上述的待转出区块链资产描述信息、待转入区块链资产描述信息分别对应于前述的资产转出描述信息、资产转入描述信息,使得链上资产转移与前述的链下资产转移之间完全匹配,因而链上存证的与链上资产转移相关的内容,可以用于锚定链下资产转移的相关信息,可以用于验证链下资产转移过程的可靠性,譬如可以通过后续的追踪和检查,避免可能对链下资产转移过程的篡改或者伪造。
在一实施例中,上述的区块链交易还用于指示第一成员、第二成员和第一锚点之间的链上资产转移链路,使得区块链系统可以通过执行该区块链交易,触发第一锚点向第一成员发行数额匹配于上述待转出区块链资产描述信息的区块链资产,以及触发由第二成员向第一锚点返还数额匹配于待转入区块链资产描述信息的区块链资产,链上资产转移链路可以用于指示第一成员、第二成员和第一锚点之间的区块链资产转移方向。其中,通过触发第一锚点向第一成员发行区块链资产,使得第一成员拥有由第一锚点发行的区块链资产,以便于由第一成员向第二成员转移相应的区块链资产,避免第一成员持有的区块链资产不足而造成无法向第二成员转移区块链资产。通过触发第二成员向第一锚点返还区块链资产,使得第二成员在收到第一成员转移的区块链资产后,可以将收到区块链资产返还给第一锚点,使得第一锚点对先前发行的区块链资产进行回收。可见,区块链资产经过由第一锚点发行至第一成员、由第一成员转移至第二成员、第二成员返还至第一锚点,最终不会在区块链系统上造成区块链资产的无故增加,避免在区块链系统中额外生成匹配于资产转出描述信息或者资产转入描述信息的区块链资产,保证了区块链系统内所含的区块链资产的收支平衡,但由于在上述过程中已经实现了第一成员与第二成员之间的链上资产转移过程,因而能够如前文所述,通过对链上资产转移过程的存证,锚定了第一成员与第二成员通过本地清算系统实现的链下资产转移过程,可以保证匹配于该区块链资产转移过程的链下资产转移过程的可靠性,便于后续的追踪和检查。
在一实施例中,在上述的任一成员向区块链系统发起区块链交易之前,可以先将资产转移请求分别传输至链上资产转移链路上所含的各个成员(如上述的第一成员、第二成员和第一锚点)处。那么,各个成员可以响应于该资产转移请求对与自身相关的待转出区块链资产描述信息和待转入区块链资产描述信息进行校验,并在校验通过的情况下采用自身的身份私钥对确认消息进行签名,分别向任一成员反馈经过签名的确认消息,表明认可与自身相关的待转出区块链资产描述信息和待转入区块链资产描述信息。其中,某一成员返回的确认消息中,可以包含该成员对应的待转出区块链资产描述信息和待转入区块链资产描述信息。那么,上述的任一成员可以向区块链系统发起包含上述经过签名的确认消息的区块链交易。相应的,区块链系统可以基于链上资产转移链路中各个成员的身份公钥对确认消息所含的数字签名进行验证,并在数字签名被验证通过的情况下,才执行相应的区块链交易。
在一实施例中,可以首先在区块链系统中执行上述区块链交易以实现上述的链上资产转移操作,以针对链上资产转移过程进行可靠存证。那么,上述的任一成员可以在确认链上资产转移过程已经存证的情况下,才向本地清算系统发起资产流转请求以实现链下资产转移。通过上述处理方式,可以在实现链下资产转移之前,就已经在区块链中针对该链下资产转移过程进行了锚定,可以确保链下资产转移操作的可靠性。并且,区块链系统可以通过对区块链交易进行验证的过程,对链上资产转移操作所涉及的待转出区块链资产描述信息和待转入区块链资产描述信息进行校验,且待转出区块链资产描述信息和待转入区块链资产描述信息又分别对应于链下的资产转出描述信息和资产转入描述信息,相当于间接对链下资产转移所涉及的资产转出描述信息和资产转入描述信息进行了验证,因而进一步保证了链下资产转移的可靠性。
在另一实施例中,可以在确定本地清算系统执行完成对应于资产流转请求的链下资产转移操作的情况下,上述的任一成员才向区块链系统发起区块链交易,由区块链系统对匹配于链下资产转移操作的链上资产转移操作进行存证,锚定了第一成员与第二成员通过本地清算系统实现的链下资产转移过程,避免后续对链下资产转移操作的篡改或者伪造。
链下资产转移链路中包括两个或更多的成员,成员之间存在固定的排列顺序。任意两个成员之间可能存在两种排列关系:相邻或相隔。比如当成员A、成员B和成员C依次排列时,可以认为成员A与成员B相邻、成员B与成员C相邻,成员A与成员C相隔。前述的第一成员与第二成员就属于相邻的关系。除了第一成员与第二成员之外,链下资产转移链路中还可以包含其他成员,这些成员可能与第一成员或第二成员相邻。譬如,假定链下资产转移链路中包括一组相邻成员,该相邻成员可以为位于上游的第三成员和位于下游的第一成员,或者该相邻成员可以为位于上游的第二成员和位于下游的第四成员。
如果上述的相邻成员处于同一国家或地区,那么该相邻成员之间的资产转移过程可以类似于前述的第一成员与第二成员,即通过两者接入的同一本地清算系统实现资产转移。如果上述的相邻成员分别处于不同的国家或地区,那么该相邻成员之间的资产转移过程可能涉及跨境场景。
对于跨境场景,上述相邻成员中的任一成员可以在另一成员处设置跨境资产账户,使得该相邻成员之间可以通过跨境资产账户实现资产转移,实现了相邻成员之间的直连,从而可以提升相邻成员之间资产转移的效率。
上述相邻成员中的上游成员可以在该相邻成员中的下游成员处设置有跨境资产账户。如果收款方在下游成员处设置有资产账户,则该跨境资产账户可以被用于按照上游成员接收到的转入资产向收款方在下游成员处设置的资产账户进行资产转移。如果下游成员与收款方之间还存在其他的成员,则该跨境资产账户可以被用于按照上游成员接收到的转入资产向链下资产转移链路中排列于下游成员之后的其他成员进行资产转移。比如,在第三成员在第一成员处设置有跨境资产账户的情况下,第三成员可以利用该跨境资产账户向收款方在第一成员处设置的资产账户或者其他成员进行资产转移,利用跨境资产账户所转移的资产匹配于第三成员接收到的转入资产,其中,第三成员接收到的转入资产可以来自付款方在第三成员处设置的资产账户等,本说明书并不对此进行限制;在第二成员在第四成员处设置有跨境资产账户的情况下,第二成员可以利用该跨境资产账户向收款方在第四成员处设置的跨境资产账户或者其他成员进行资产转移,利用跨境资产账户所转移的资产匹配于第二成员通过本地清算系统接收到的转入资产。
上述相邻成员中的下游成员可以在该相邻成员中的上游成员处设置有跨境资产账户,如果收款方在下游成员处设置有资产账户,则该跨境资产账户可以被用于接收由上游成员转移的转入资产,并由下游成员基于跨境资产账户所接收到的转入资产向收款方在下游成员处的资产账户进行资产转移。如果下游成员与收款方之间还存在其他的成员,则该跨境资产账户可以被用于接收由上游成员转移的转入资产,并由下游成员基于跨境资产账户所接收到的转入资产向链下资产转移链路中排列于下游成员之后的其他成员进行资产转移。比如,在第一成员在第三成员处设置有跨境资产账户的情况下,第三成员可以向第一成员的跨境资产账户转移相应的转入资产,那么第一成员可以在确定跨境资产账户接收到转入资产的情况下,第一成员基于该转入资产向收款方在第一成员处设置的资产账户或者其他成员进行资产转移;在第四成员在第二成员处设置有跨境资产账户的情况下,第四成员可以接收到第二成员向其跨境资产账户转移的转入资产,那么第四成员在确定跨境资产账户接收到转入资产的情况下,第四成员可以基于该转入资产向收款方在第一成员处设置的资产账户或者其他成员进行资产转移,跨境资产账户所接收到的转入资产匹配于所述第二成员通过本地清算系统接收到的转入资产。
在一实施例中,任一成员还可以分别确定链下资产转移链路中的各个成员用于进行资产转移的资产账户和该资产账户所含的资产数额,比如,分别确定第一成员、第二成员、第三成员以及第四成员对应的资产账户以及相应的资产数额。相应的,任一成员还可以生成针对确定出的资产账户和相应的资产数额的校验请求,并分别发送至链下资产转移链路中的各个成员,使得各个成员分别对自身相关的资产账户和相应的资产数额进行校验。其中,校验过程所涉及的检查可以包括KYC检查、AML检查等多种类型中至少之一,本说明书并不对此进行限制。以及,上述的任一成员可以在确定各个成员均认可自身对应的资产账户和相应的资产数额的情况下,才执行相邻成员之间的链下资产转移。也就是说,相邻成员之间进行资产转移的前提条件包括:相邻成员各自的资产账户和相应的资产数额通过校验。
假定区块链系统中存在第二锚点,且在上述相邻成员均持有由第一锚点发行的区块链资产的情况下,上述的任一成员可以向区块链系统发起区块链交易。相应的,区块链系统可以响应于该区块链交易,确定匹配于跨境资产账户所接收到的转入资产的待转出区块链资产描述信息和待转入区块链资产描述信息,譬如可以从该区块链交易中分别读取待转出区块链资产描述信息和待转入区块链资产描述信息。进一步地,区块链系统可以基于待转出区块链资产描述信息对相邻成员中的上游成员持有的由第二锚点发行的区块链资产进行资产转出、基于待转入区块链资产描述信息对相邻成员中的下游成员持有的由第二锚点发行的区块链资产进行资产转入,从而实现相邻成员之间的链上资产转移。
基于区块链技术的特性,使得上述的区块链交易以及基于该区块链交易在相邻成员之间实现的链上资产转移的相关信息,都可以在区块链系统中进行存证,并形成可信可追溯且不可篡改的数据记录。由于上述的待转出区块链资产描述信息、待转入区块链资产描述信息匹配于相邻成员之间利用跨境资产账户转移的链下资产的描述信息,使得相邻成员之间的链上资产转移与前述的链下资产转移之间完全匹配,因而链上存证的与链上资产转移相关的内容,可以用于锚定链下资产转移的相关信息,可以用于验证链下资产转移过程的可靠性,譬如可以通过后续的追踪和检查,避免可能对链下资产转移过程的篡改或者伪造。
为了便于理解,下面以“汇款过程”为例,对本说明书一个或多个实施例的技术方案进行说明。如图2是一示例性实施例示出的一种资产转移链路的示意图;如图2所示,链下资产转移链路可以包括钱包1—成员1—成员2—钱包2,假设付款方在成员1处维护有钱包1、即钱包1在银行A处设置有资产账户A01,并由收款方在银行B处维护有钱包2、即钱包2在成员2处设置有资产账户B01,基于本说明书的资产转移方案可以在付款方对应的钱包1以及收款方对应的钱包2之间实现快速汇款。其中,对应于成员1的钱包1可以代替付款方接入汇款过程,对应于成员2的钱包2可以代替收款方接入汇款过程中。
在一实施例中,如图2所示,可以包括锚点1、锚点2和锚点3,钱包1和成员1之间的锚点为锚点1、成员1和成员2之间的锚点为锚点2、成员2和钱包2之间的锚定为锚点3。其中,锚点的角色可以由链下资产转移链路中的各个成员承担,比如图2所示的锚点1对应于上述的成员1、锚点2对应于上述的成员1以及锚点3对应于上述的成员2,当然链下资产转移链路中的成员可以不承担锚点的角色,即链下资产转移链路中的成员与锚点之间并不存在必然的一一对应的关系,本说明书并不对此进行限制。
如图3是一示例性实施例示出的一种资产转移方法的流程图。如图3所示,可以包括以下步骤:
步骤301,钱包1发送第一汇款准备请求。
在本实施例中,钱包1可以接收到来自付款方的资产转移请求,该资产转移请求可以包含用于指示各个汇款参与方的标识信息,比如对应于钱包1、钱包2、成员1-2或者锚点1-3的标识信息等,该资产转移请求中还可以包括汇入资产类型、汇出资产类型以及汇入数额等。
钱包1可以根据上述资产转移请求,生成第一汇款准备请求,并将生成的第一汇款准备请求分别发送至成员1、成员2和钱包2。
步骤302,成员1根据第一汇款准备请求,确定是否需要执行换汇操作。
步骤303,执行换汇操作。
步骤304,确定成员1与锚点1、成员1与锚点2之间的待转移的区块链资产数额,并获取成员1自身的资产账户A11和成员1在本地清算系统内的清算账户Q11。
在本实施例中,成员1可以响应于第一汇款准备请求,确定该第一汇款准备请求所含的汇入资产类型与汇出资产类型是否一致,若得到汇入资产类型与汇出资产类型不一致,成员1可以确定需要执行换汇操作,则转入步骤303;若得到汇入资产类型与汇出资产类型一致,成员1可以确定不需要执行换汇操作,则转入步骤304。
在本实施例中,若汇入资产类型与汇出资产类型不一致,成员1可以根据上述汇入资产类型、汇出资产类型和汇入数额,以及自身提供换汇操作所需的资产转移费用,计算出对应于汇入数额的汇出数额。比如,成员1内设定的资产转移费用FX=0.10%,并且汇入资产类型与汇出资产类型之间的兑换比例为1:2,假设汇入数额为1000元,则银行1通过换汇操作计算得到的汇出数额为(1000元×2×(1-0.10%)=1998元)。而若汇入资产类型与汇出资产类型一致,成员1可以设置汇出数额与汇入数额一致。
在本实施例中,成员1可以根据上述汇入数额确定其需要向锚点1转移的区块链资产数额,并根据上述汇出数额确定锚点2需要向其转移的区块链资产数额。
在本实施例中,成员1可以响应于上述第一汇款准备请求,确定成员1自身的资产账户A11以及成员1在本地清算系统处设置的清算账户Q11。
此时,成员1可以向钱包1反馈针对第一汇款准备请求的回执消息1,该回执消息1中可以包括:成员1与锚点1、成员1与锚点2之间的待转移的区块链资产数额,资产账户A11,清算账户Q11等。
步骤305,成员2根据第一汇款准备请求,确定是否需要执行换汇操作。
步骤306,执行换汇操作。
步骤307,确定成员2与锚点2、成员2与锚点3之间的待转移的区块链资产数额,并获取成员2自身的资产账户B21和成员2在本地清算系统内的清算账户Q21。
在本实施例中,与上述步骤302至步骤304类似的,成员2可以响应于第一汇款准备请求,确定该第一汇款准备请求所含的汇入资产类型与汇出资产类型是否一致,若得到汇入资产类型与汇出资产类型不一致,成员2可以确定需要执行换汇操作,则转入步骤306;若得到汇入资产类型与汇出资产类型一致,成员2可以确定不需要执行换汇操作,则转入步骤307。
在本实施例中,若汇入资产类型与汇出资产类型不一致,成员2可以根据汇入资产类型、汇出资产类型和汇入数额,以及自身提供换汇操作所需的资产转移费用,计算出对应于汇入数额的汇出数额。而若汇入资产类型与汇出资产类型一致,成员2可以设置汇出数额与汇入数额一致。
在本实施例中,成员2可以根据汇入数额确定其需要向锚点2转移的区块链资产数额,并根据上述汇出数额确定锚点3需要向其转移的区块链资产数额。
在本实施例中,成员2可以响应于上述第一汇款准备请求,确定成员2自身的资产账户B21以及成员2在本地清算系统处设置的清算账户Q21。
此时,成员2可以向钱包1反馈针对第一汇款准备请求的回执消息2,该回执消息2中可以包括:成员2与锚点2、成员2与锚点3之间待转移的区块链资产数额,资产账户B21,清算账户Q21等。
步骤308,确定钱包2与锚点3之间待转移的区块链资产数额,并获取钱包2在银行B的资产账户B31。
在本实施例中,钱包2可以响应于接收到的第一汇款准备请求,并根据上述汇入数额确定其需要向锚点3转移的区块链资产的数额,同时钱包2确定其在银行B处设置的资产账户B31。此时,钱包2可以向钱包1反馈针对第一汇款准备请求的回执消息3,该回执消息3中可以包括:钱包2与锚点3之间待转移的区块链资产数额,以及资产账户B31等。
步骤309,生成第二汇款准备请求。
步骤310,锚点1对资产账户A11和资产账户A01进行校验,并确定对应于锚点1的待转入区块链资产数额和待转出区块链资产数额。
在本实施例中,钱包1可以在接收到上述回执消息1-3之后,分别向锚点1-3发送第二汇款准备请求。
在本实施例中,锚点1可以通过对第二汇款准备请求进行解析,获取对应于锚点1的待转入区块链资产数额和待转出区块链资产数额,以及资产账户A11和资产账户A01。锚点1可以对得到的资产账户A11和资产账户A01进行校验,并向钱包1反馈包含校验结果的回执消息4。例如,锚点1可以实施针对资产账户A11和资产账户A01的合规检查,当资产账户A11和资产账户A01通过合规检查时,该校验结果可以为通过校验;当资产账户A11和资产账户A01未通过合规检查时,该校验结果可以为未通过校验。合规检查可以包括KYC检查、AML检查等多种类型中至少之一,本说明书并不对此进行限制。
步骤311,锚点2对清算账户Q11和清算账户Q21进行校验,并确定对应于锚点2的待转入区块链资产数额和待转出区块链资产数额。
在本实施例中,锚点2可以通过对第二汇款请求进行解析,获取对应于锚点2的待转入区块链资产数额和待转出区块链资产数额,以及清算账户Q11和清算账户Q21。锚点2可以对得到的清算账户Q11和清算账户Q21进行校验,并向钱包1反馈包含校验结果的回执消息5。例如,锚点2可以实施针对清算账户Q11和清算账户Q21的合规检查,当清算账户Q11和清算账户Q21通过合规检查时,该校验结果可以为通过校验;当清算账户Q11和清算账户Q21未通过合规检查时,该校验结果可以为未通过校验。合规检查可以包括KYC检查、AML检查等多种类型中至少之一,本说明书并不对此进行限制。
步骤312,锚点3对资产账户B31和资产账户B01进行校验,并确定对应于锚点3的待转入区块链资产数额和待转出区块链资产数额。
在本实施例中,锚点3可以通过对第二汇款请求进行解析,获取对应于锚点3的待转入区块链资产数额和待转出区块链资产数额,以及资产账户B31和资产账户B01。锚点3可以对得到的资产账户B31和资产账户B01进行校验,并向钱包1反馈包含校验结果的回执消息6。例如,锚点3可以实施针对资产账户B31和资产账户B01的合规检查,当资产账户B31和资产账户B01通过合规检查时,该校验结果可以为通过校验;当资产账户B31和资产账户B01未通过合规检查时,该校验结果可以为未通过校验。合规检查可以包括KYC检查、AML检查等多种类型中至少之一,本说明书并不对此进行限制。
钱包1可以对接收到的上述回执消息1-6进行校验,并继续推进后续汇款过程。如图4所示为一示例性实施例示出的一种资产转移方法的流程图。假设将钱包1与成员1、成员1成员2、成员2与钱包2之间进行链上资产转移的操作称为transfer操作,将锚点1与钱包1、锚点2与成员1、锚点3与成员2之间进行链上资产转移的操作称为issue操作,将成员1与锚点1、成员2与锚点2、钱包2与锚点3之间进行链上资产转移的操作称为redeem操作。
如图4所示,可以包括以下步骤:
步骤401,分别生成对应于钱包1、成员1以及锚点1-2的确认消息。
步骤402,将生成的确认消息分别传输至钱包1、成员1以及锚点1-2进行签名。
在本实施例中,钱包1可以根据上述接收到的回执消息,确定钱包1与锚点1之间执行issue操作所涉及的区块链资产数额、以及钱包1与成员1之间执行transfer操作所涉及的区块链资产数额。其中,对应于钱包1的确认消息可以包括确定出的issue操作和transfer操作所涉及的区块链资产数额。
钱包1还可以生成对应于成员1的确认消息,该对应于成员1的确认消息可以包含钱包1与成员1之间执行transfer操作所涉及的区块链资产数额、成员1与锚点1之间执行redeem操作所涉及的区块链资产数额、成员1与成员2之间执行transfer操作所涉及的区块链资产数额、锚点2与成员1之间执行issue操作所涉及的区块链资产数额。
同样的,钱包1可以生成对应于锚点1的确认消息,该对应于锚点1的确认消息可以包含锚点1与钱包1之间执行issue操作所涉及的区块链资产数额、成员1与锚点1之间执行redeem操作所涉及的区块链资产数额。
同样的,钱包1可以生成对应于锚点2的确认消息,该对应于锚点2的确认消息可以包含锚点2与成员1之间执行issue操作所涉及的区块链资产数额、成员2与锚点2之间执行redeem操作所涉及的区块链资产数额。
在本实施例中,可以将上述生成的确认消息分别传输至钱包1、成员1以及锚点1-2,并由钱包1、成员1以及锚点1-2对其所接收到的确认消息进行签名,经过签名的确认消息可以被反馈至钱包1。
步骤403,向区块链系统发起包含经过签名的确认消息的第一区块链交易。
步骤404,通过执行第一区块链交易,实施链上资产转移操作。
在本实施例中,钱包1可以向区块链系统提交第一区块链交易,该第一区块链交易中可以包含上述接收到的经过签名的确认消息。那么区块链系统可以根据该第一区块链交易,执行用于签名验证的智能合约,从而可以对各个确认消息所含数字签名进行验证。在各个确认消息所含数字签名被验证通过的情况下,区块链系统可以通过执行该第一区块链交易,实施链上资产转移操作。此时,链上资产转移操作的过程可以包括:执行锚点1→钱包1的issue操作;执行钱包1→成员1的transfer操作;执行成员1→锚点1的redeem操作;执行锚点2→成员1的issue操作;执行成员1→成员2的transfer操作;执行成员2→锚点2的redeem操作。
步骤405,执行钱包1、成员1和成员2之间的链下资产转移操作。
在本实施例中,钱包1在确定区块链系统执行完成上述第一区块链交易的情况下,钱包1可以向成员1-2、锚点1-2传输用于表征对应于第一区块链交易的链上资产转移操作完成的通知消息。
在本实施例中,链下资产转移链路中的钱包1以及成员1-2可以响应于该通知消息,实施链下资产转移操作。其中,链下资产转移操作的过程可以包括:①驱动钱包1在成员1处设置的资产账户A01减少相应的转出资产、成员1自身的资产账户A11增加相应的转入资产;②在确定资产账户A11增加可相应的转入资产的情况下,可以由钱包1向本地清算系统发起成员1与成员2之间的资产转移请求,那么本地清算系统可以响应于该资产转移请求,驱动成员1在本地清算系统处设置的清算账户Q11减少相应的转出资产、成员2在本地清算系统处设置的清算账户Q21增加相应的转入资产。
步骤406,在本地清算系统内的清算账户Q21接收到转入资产之后,通知钱包1继续推进后续汇款过程。
在本实施例中,成员2确定其在本地清算系统处设置的清算账户Q21接收到转入资产之后,可以由成员2通知钱包1继续推进后续汇款过程。
步骤407,分别生成对应于成员2、钱包2和锚点3的确认消息。
步骤408,将生成的确认消息传输至成员2、钱包2和锚点3进行签名。
在本实施例中,钱包1可以根据接收到的回执消息,生成对应于成员2的确认消息,该对应于成员2的确认消息中可以包含成员2与锚点3之间的执行issue操作所涉及的区块链资产数额、成员2与钱包2之间执行transfer操作所涉及的区块链资产数额。
在本实施例中,钱包1可以生成对应于钱包2的确认消息,该对应于钱包2的确认消息中可以包含成员2与钱包2之间执行transfer操作所涉及的区块链资产数额、钱包2与锚点3之间执行redeem操作所涉及的区块链资产数额。
在本实施例中,钱包1可以生成对应于锚点3的确认消息,该对应于钱包3的确认消息可以包含锚点3与成员2之间执行issue操作所涉及的区块链资产数额、钱包2与锚点3之间执行redeem操作所涉及的区块链资产数额。
在本实施例中,钱包1可以将上述生成的确认消息分别传输至成员2、钱包2和锚点3,从而可以由成员2、钱包2和锚点3对其所接收到的确认消息进行签名,经过签名的确认消息可以被反馈至钱包1。
步骤409,向区块链系统发起包含经过签名的确认消息的第二区块链交易。
步骤410,通过执行第二区块链交易,实施链上资产转移操作。
在本实施例中,钱包1可以向区块链系统提交第二区块链交易,该第二区块链交易中可以包含上述由成员2、钱包2和锚点3反馈的经过签名的确认消息。那么区块链系统可以根据该第二区块链交易,执行用于签名验证的智能合约,从而可以对各个确认消息所含的数字签名进行验证。在各个确认消息所含的数字签名被验证通过的情况下,区块链系统可以通过执行该第二区块链交易,实时相应的链上资产转移操作。此时,链上资产转移操作的过程可以包括:执行锚点3→成员2的issue操作;执行成员2→钱包2的transfer操作;执行钱包2→锚点3的redeem操作。
步骤411,执行成员2、钱包2和锚点3之间的链下资产转移操作。
在本实施例中,钱包1在确定区块链系统执行完成上述第二区块链交易的情况下,钱包1可以向成员2、钱包2以及锚点3传输用于表征对应于第二区块链交易的链上资产转移操作完成的通知消息。
在本实施例中,链下资产转移链路中的成员2和锚点2可以响应于上述通知消息,实现链下资产转移操作。其中,链下资产转移操作的过程可以包括:驱动成员2自身的资产账户B21减少相应的转出资产、钱包2在成员2处设置的资产账户B01增加相应的转入资产,从而实现了付款方与收款方之间的汇款过程。
图5是一示例性实施例提供的一种设备的示意结构图。请参考图5,在硬件层面,该设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图6,资产转移装置可以应用于如图5所示的设备中,以实现本说明书的技术方案。其中,该资产转移装置可以包括:
确定单元602,用于响应于付款方与收款方之间的资产转移请求,确定所述链下资产转移链路中的第一成员和位于所述第一成员下游的第二成员;其中,所述资产转移请求中包含对应于所述第一成员的资产转出描述信息和对应于所述第二成员的资产转入描述信息;
请求发起单元604,用于在所述第一成员和所述第二成员均接入同一本地清算系统的情况下,向所述本地清算系统发起资产流转请求,以使所述本地清算系统根据所述资产转出描述信息对所述第一成员在所述本地清算系统内的资产账户进行资产转出、根据所述资产转入描述信息对所述第二成员在所述本地清算系统内的资产账户进行资产转入。
可选的,还包括:
第一交易发送单元606,用于向所述区块链系统提交包含所述资产转出描述信息和所述资产转入描述信息的存证交易,以使所述区块链系统将所述存证交易存证至区块链中。
可选的,还包括:
第二交易发送单元608,用于在所述第一成员和所述第二成员均持有由第一锚点发行的区块链资产的情况下,向区块链系统发起区块链交易,以使所述区块链系统确定匹配于所述资产转出描述信息的待转出区块链资产描述信息、匹配于所述资产转入描述信息的待转入区块链资产描述信息,并根据所述待转出区块链资产描述信息对所述第一成员持有的由所述第一锚点发行的区块链资产进行资产转出、根据所述待转入区块链资产描述信息对所述第二成员持有的由所述第一锚点发行的区块链资产进行资产转入。
可选的,所述区块链交易还用于指示所述第一成员、所述第二成员以及所述第一锚点之间的链上资产转移链路,以触发由所述第一锚点向所述第一成员发行数额匹配于所述待转出区块链资产描述信息的区块链资产、由所述第二成员向所述第一锚点返还数额匹配于所述待转入区块链资产描述信息的区块链资产。
可选的,所述第二交易发送单元608具体用于:
将所述资产转移请求分别传输至所述链上资产转移链路所含的各个成员处,以使所述各个成员响应于所述资产转移请求,反馈经过签名的确认消息,所述确认消息包含各个成员自身的待转出区块链资产描述信息和待转入区块链资产描述信息;
向所述区块链系统发起包含所述确认消息的区块链交易,以在所述确认消息所含的签名被验证通过的情况下,执行所述区块链交易。
可选的,所述请求发起单元604具体用于:
在所述区块链系统执行完成对应于所述区块链交易的链上资产转移操作的情况下,向所述本地清算系统发起资产流转请求。
可选的,所述第二交易发送单元608具体用于:
在所述本地清算系统执行完成对应于所述资产流转请求的链下资产转移操作的情况下,向所述区块链系统发起所述区块链交易。
可选的,还包括:
所述资产转出描述信息和所述资产转入描述信息均包括:资产账户和资产数额;
第一校验单元610,用于生成针对所述资产转出描述信息和所述资产转入描述信息的校验请求,以对所述资产转出描述信息所含的资产账户和资产数额、所述资产转入描述信息所含的资产账户和资产数额进行校验;
其中,向所述本地清算系统发起资产流转请求的前提条件包括:所述资产转出描述信息和所述资产转入描述信息通过校验。
可选的,所述链下资产转移链路中包含一组相邻成员,所述相邻成员包含位于上游的第三成员和位于下游的第一成员,或者所述相邻成员包含位于上游的第二成员和位于下游的第四成员;其中:
若所述相邻成员中的上游成员在所述相邻成员中的下游成员处设置有跨境资产账户,则所述跨境资产账户被用于按照所述上游成员接收到的转入资产向所述收款方在所述下游成员处的资产账户或者向所述链下资产转移链路中排列于所述下游成员之后的其他成员进行资产转移;
若所述相邻成员中的下游成员在所述相邻成员中的上游成员处设置有跨境资产账户,则所述跨境资产账户被用于接收由所述上游成员转移的转入资产,以由所述下游成员基于所述转入资产向所述收款方在所述下游成员处的资产账户或者向所述链下资产转移链路中排列于所述下游成员之后的其他成员进行资产转移。
可选的,还包括:
第三交易发送单元612,用于在所述相邻成员均持有由第二锚点发行的区块链资产的情况下,向区块链系统发起区块链交易,以使所述区块链系统确定匹配于所述转入资产的待转出区块链资产描述信息和待转入区块链资产描述信息,并根据确定的待转出区块链资产描述信息对所述相邻成员中的上游成员持有的由所述第二锚点发行的区块链资产进行资产转出、确定的待转入区块链资产描述信息对所述相邻成员中的下游成员持有的由所述第二锚点发行的区块链资产进行资产转入。
可选的,还包括:
账户确定单元614,用于分别确定所述链下资产转移链路中各个成员用于进行资产转移的资产账户和所述资产账户的资产数额;
第二校验单元616,用于生成针对确定出的资产账户和相应的资产数额的校验请求,以对所述资产账户和所述资产数额进行校验;
其中,所述相邻成员之间进行资产转移的前提条件包括:所述资产账户和所述资产数额通过校验。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。