发布信息

虚拟资产交易方法、装置、电子设备及可读存储介质与流程 专利技术说明

作者:admin      2023-07-20 10:10:14     514



计算;推算;计数设备的制造及其应用技术1.本技术涉及虚拟资产交易技术领域,具体涉及一种虚拟资产交易方法、装置、电子设备及可读存储介质。背景技术:2.随着科技的发展,除了实物商品之外,虚拟资产也逐渐得到消费者的认可。虚拟资产的交易过程通常需要借助虚拟资产交易平台,在商户将虚拟资产上架至虚拟资产交易平台后,消费者可以在虚拟资产交易平台上对虚拟资产下单以购买虚拟资产。3.但是目前的虚拟资产交易方法限于技术原因,无法实现多签钱包中存储的虚拟资产的交易,因此在交易多签钱包中存储的虚拟资产时,需要进行线下交易和确认,因此交易较为繁琐。技术实现要素:4.本技术提供一种虚拟资产交易方法、装置、电子设备及可读存储介质,旨在解决现有的方法交易多签钱包中存储的虚拟资产时较为繁琐的技术问题。5.第一方面,本技术提供一种虚拟资产交易方法,包括:6.获取待交易的交易订单信息,以及各所述交易订单信息对应的交易签名信息,其中,所述交易订单信息包括资产管理者账户,所述交易订单信息对应的交易签名信息基于所述交易订单信息,以及所述交易订单信息对应的交易发起账户生成;7.对于每个所述交易订单信息,基于每个所述交易订单信息对所述交易签名进行验签,得到每个所述交易订单信息对应的交易发起账户;8.基于每个所述交易订单信息对应的交易发起账户和每个所述交易订单信息对应的资产管理者账户,筛选得到多签钱包订单信息,其中,所述多签钱包订单信息对应的资产管理者账户关联有至少两个预设发起账户;9.对于每个多签钱包订单信息,将所述资产管理者账户关联的预设发起账户与所述交易发起账户进行匹配,得到各所述多签钱包订单信息中匹配成功的目标订单信息;10.基于所述目标订单信息进行虚拟资产交易。11.第二方面,本技术提供一种虚拟资产交易装置,包括:12.获取单元,用于获取待交易的交易订单信息,以及各所述交易订单信息对应的交易签名信息,其中,所述交易订单信息包括资产管理者账户,所述交易订单信息对应的交易签名信息基于所述交易订单信息,以及所述交易订单信息对应的交易发起账户生成;13.验签单元,用于对于每个所述交易订单信息,基于每个所述交易订单信息对所述交易签名进行验签,得到每个所述交易订单信息对应的交易发起账户;14.筛选单元,用于基于每个所述交易订单信息对应的交易发起账户和每个所述交易订单信息对应的资产管理者账户,筛选得到多签钱包订单信息,其中,所述多签钱包订单信息对应的资产管理者账户关联有至少两个预设发起账户;15.匹配单元,用于对于每个多签钱包订单信息,将所述资产管理者账户关联的预设发起账户与所述交易发起账户进行匹配,得到各所述多签钱包订单信息中匹配成功的目标订单信息;16.交易单元,用于基于所述目标订单信息进行虚拟资产交易。17.第三方面,本技术还提供一种电子设备,电子设备包括处理器、存储器以及存储于存储器中并可在处理器上运行的计算机程序,处理器调用存储器中的计算机程序时执行本技术提供的任一种虚拟资产交易方法中的步骤。18.第四方面,本技术还提供一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现本技术提供的任一种虚拟资产交易方法中的步骤。19.综上所述,本技术实施例提供的虚拟资产交易方法,包括:获取待交易的交易订单信息,以及各所述交易订单信息对应的交易签名信息,其中,所述交易订单信息包括资产管理者账户,所述交易订单信息对应的交易签名信息基于所述交易订单信息,以及所述交易订单信息对应的交易发起账户生成;对于每个所述交易订单信息,基于每个所述交易订单信息对所述交易签名进行验签,得到每个所述交易订单信息对应的交易发起账户;基于每个所述交易订单信息对应的交易发起账户和每个所述交易订单信息对应的资产管理者账户,筛选得到多签钱包订单信息,其中,所述多签钱包订单信息对应的资产管理者账户关联有至少两个预设发起账户;对于每个多签钱包订单信息,将所述资产管理者账户关联的预设发起账户与所述交易发起账户进行匹配,得到各所述多签钱包订单信息中匹配成功的目标订单信息;基于所述目标订单信息进行虚拟资产交易。20.可见,本技术实施例提供的虚拟资产交易方法,可以基于验签得到的交易发起账户和资产管理者账户,判断交易订单信息是否为多签钱包合约发起的多签钱包订单信息,并基于资产管理者账户关联的预设发起账户和交易发起账户,验证多签钱包订单信息的交易发起账户是否为虚拟资产的资产管理者,当验证通过后才进行虚拟资产交易,一方面保证了虚拟资产的安全性,避免非资产管理者出售虚拟资产,另一方面实现了存储于多签钱包中虚拟资产在虚拟资产交易平台中的交易,提高了虚拟资产的成交速度和流动性。附图说明21.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。22.图1是本技术实施例提供的虚拟资产交易方法的应用场景示意图;23.图2是现有的虚拟资产交易方法的一种场景示意图;24.图3是本技术实施例中提供的虚拟资产交易系统的一种示意图;25.图4是本技术实施例中提供的虚拟资产交易方法的一种流程示意图;26.图5是本技术实施例中提供的获取多签钱包订单信息的一种流程示意图;27.图6是本技术实施例中提供的进行虚拟资产交易的一种流程示意图;28.图7是本技术实施例中提供的进行虚拟资产交易的另一种流程示意图;29.图8是本技术实施例中提供的虚拟资产交易方法的一种场景示意图;30.图9是本技术实施例中提供的虚拟资产交易装置的一个实施例结构示意图;31.图10是本技术实施例中提供的电子设备的一个实施例结构示意图。具体实施方式32.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。33.在本技术实施例的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本技术实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。34.为了使本领域任何技术人员能够实现和使用本技术,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本技术。在其它实例中,不会对公知的过程进行详细阐述,以避免不必要的细节使本技术实施例的描述变得晦涩。因此,本技术并非旨在限于所示的实施例,而是与符合本技术实施例所公开的原理和特征的最广范围相一致。35.本技术实施例提供一种虚拟资产交易方法、装置、电子设备和可读存储介质。其中,该虚拟资产交易装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。36.本技术实施例虚拟资产交易方法的执行主体可以为本技术实施例提供的虚拟资产交易装置,或者集成了该虚拟资产交易装置的服务器设备、物理主机或者特效制作人员设备(user eq界面pment,ue)等不同类型的电子设备,其中,虚拟资产交易装置可以采用硬件或者软件的方式实现,ue具体可以为智能手机、平板电脑、笔记本电脑、掌上电脑、台式电脑或者个人数字助理(personal digital assistant,pda)等终端设备。37.该电子设备可以采用单独运行的工作方式,或者也可以采用设备集群的工作方式。38.参见图1,图1是本技术实施例所提供的虚拟资产交易系统的场景示意图。其中,该虚拟资产交易系统可以包括电子设备100,电子设备100中集成有虚拟资产交易装置。39.另外,如图1所示,该虚拟资产交易系统还可以包括存储器200,用于存储数据,如存储文本数据。40.需要说明的是,图1所示的虚拟资产交易系统的场景示意图仅仅是一个示例,本技术实施例描述的虚拟资产交易系统以及场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着虚拟资产交易系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。41.下面,开始介绍本技术实施例提供的虚拟资产交易方法,本技术实施例中以电子设备作为执行主体,为了简化与便于描述,后续方法实施例中将省略该执行主体,该虚拟资产交易方法包括:获取待交易的交易订单信息,以及各所述交易订单信息对应的交易签名信息,其中,所述交易订单信息包括资产管理者账户,所述交易订单信息对应的交易签名信息基于所述交易订单信息,以及所述交易订单信息对应的交易发起账户生成;对于每个所述交易订单信息,基于每个所述交易订单信息对所述交易签名进行验签,得到每个所述交易订单信息对应的交易发起账户;基于每个所述交易订单信息对应的交易发起账户和每个所述交易订单信息对应的资产管理者账户,筛选得到多签钱包订单信息,其中,所述多签钱包订单信息对应的资产管理者账户关联有至少两个预设发起账户;对于每个多签钱包订单信息,将所述资产管理者账户关联的预设发起账户与所述交易发起账户进行匹配,得到各所述多签钱包订单信息中匹配成功的目标订单信息;基于所述目标订单信息进行虚拟资产交易。42.首先对本技术的应用场景进行说明,但是不能将下述内容理解为对现有技术的承认:43.随着科技的发展,除了实物商品之外,虚拟商品也逐渐得到消费者的认可。例如非同质化通证(non-fungible token,nft),也称为数字藏品作为一种虚拟商品,受到消费者的追捧。nft的交易过程通常需要借助虚拟资产交易平台,在商户将nft上架至虚拟资产交易平台后,消费者可以在虚拟资产交易平台上对nft下单以购买nft。在交易过程中,为了保证nft交易过程的安全性,以及考虑到区块链去中心化的特性,商户上架时和消费者下单时均需要基于自身的区块链地址对nft进行签名,签名后的nft订单中包含nft的资产地址,即商户的区块链地址。正常情况下由于nft由单个商户持有,因此nft存放于商户的区块链地址中,上述商户的区块链地址即为商户的外部账户(externally owned accounts),在上架nft时商户以外部账户作为交易发起地址对订单进行签名。在交易时,虚拟资产交易平台能够对nft的交易发起地址进行验证,在确认发起交易的商户的区块链地址与订单中nft的资产地址相同后,即可基于订单进行nft交易。44.但是在一些情况下,nft并不由单个商户持有,而是存储在多签钱包(multisig wallet)合约中,由管理多签钱包合约的各商户共同持有,在经过多数商户同意后,即可对nft进行上架交易。而当nft存储在多签钱包合约中时,由于多签钱包合约是智能合约,在nft上架时只能由管理多签钱包合约的商户将其对应的外部账户作为交易发起地址进行订单签名,虚拟资产交易平台验证得到的交易发起地址也是该外部账户,可以理解的,在该笔交易的订单中nft的资产地址是多签钱包合约的合约账户(contract accounts),订单中nft的资产地址(多签钱包合约的合约账户)与交易发起地址(商户外部账户)不相同,虚拟资产交易平台无法确认交易发起者是否为nft的资产管理者,因此会导致nft交易失败。因此目前存储在多签钱包合约中的nft无法经过虚拟资产交易平台进行交易,nft的资产管理者只能与现实生活中结识的用户进行交易,大大降低了nft的成交速度和流动性,并且通过线下确认直接转移资产的方式会导致其他消费者无法直观的获取nft交易的成交价格,nft的资产管理者也难以获取虚拟资产交易中的版税报酬。参考图2,图2中示出了当前存储在多签钱包合约中的nft的交易流程。45.为了方便下文理解,在此提供一种可用于执行本方法的虚拟资产交易系统,参考图3,虚拟资产交易系统300包括虚拟资产交易平台301和多签钱包合约302,虚拟资产交易平台301和多签钱包合约302的具体作用在下文中进行具体说明。46.参照图4,图4是本技术实施例提供的虚拟资产交易方法的一种流程示意图。需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。该虚拟资产交易方法具体可以包括以下步骤401-步骤405,所述虚拟资产交易方法应用于虚拟资产交易平台,其中:47.401、获取待交易的交易订单信息,以及各所述交易订单信息对应的交易签名信息,其中,所述交易订单信息包括资产管理者账户,所述交易订单信息对应的交易签名信息基于所述交易订单信息,以及所述交易订单信息对应的交易发起账户生成。48.交易订单信息可以是指消费者下单后,待交易的nft订单,需要说明的是,该nft订单是指商户方对该nft上架时生成的卖方订单,当消费者对该nft订单下单后,会生成该nft订单的买方订单,下文不再进行赘述。当消费者在虚拟资产交易平台上选择nft订单并下单后,电子设备即可将该nft订单作为交易订单信息,其中包含了nft的资产地址、交易所采用的货币类型,标价等信息。示例性地,交易订单信息可以包括虚拟资产交易平台上消费者已经下单,并且还未进行交易的所有nft订单。49.交易订单信息对应的交易签名信息可以是商户对nft上架时,基于商户的外部账户对交易订单信息进行签名后得到的信息。50.示例性地,在图3中的虚拟资产交易系统300中,当商户对nft上架时,若nft存储在多签钱包合约302中,则多签钱包合约302可以对该nft对应的交易订单信息进行哈希处理,得到交易订单信息对应的哈希值,然后基于商户的外部账户,通过rsa数字签名算法、dsa数字签名算法或ecdsa椭圆曲线数字签名算法等签名算法对哈希值进行签名,以得到交易订单信息对应的交易签名信息,并将交易订单信息,以及交易订单信息对应的交易签名信息发送至虚拟资产交易平台301,由虚拟资产交易平台301的虚拟资产交易合约3011进行存储。而当nft为商户个体持有的虚拟资产时,则该商户个体对应的节点(未在图3中示出)可以对该nft对应的交易订单信息进行哈希处理,并执行后续的签名,以及发送步骤,具体不进行赘述。51.其中,资产管理者账户是指nft的资产地址,当交易订单信息对应的nft由单个商户持有时,该交易订单信息中的资产管理者账户是指该单个商户的外部账户,当交易订单信息对应的nft存储在多签钱包合约中,由管理多签钱包合约的各商户共同持有时,该交易订单信息中的资产管理者账户是指该多签钱包合约的合约账户。52.其中,交易发起账户是指发起交易订单的商户的地址,即对交易订单进行签名时商户的外部账户。53.当消费者通过metamask等虚拟钱包在虚拟资产交易平台上对nft的订单下单时,虚拟钱包会将消费者的区块链地址,例如虚拟钱包的账户发送至虚拟资产交易平台,虚拟资产交易平台会基于消费者的出价生成上文中所述的买方订单,并基于消费者的区块链地址对买方订单进行签名,得到签名后的买方订单,之后虚拟资产交易平台判断消费者的出价与商户的标价是否匹配,若消费者的出价与商户的标价相匹配,则虚拟资产交易平台会对买方订单和nft订单进行戳合,并将nft订单作为交易订单信息,得到该交易订单信息对应的交易签名信息。即步骤401“获取待交易的交易订单信息,以及各所述交易订单信息对应的交易签名信息”,包括:54.(1.1)响应于虚拟资产购买请求,获取所述虚拟资产购买请求对应的购买出价,以及虚拟资产购买请求对应的预设订单信息。55.其中,预设订单信息是指虚拟资产交易平台已经上架的订单,虚拟资产购买请求对应的预设订单信息是指在虚拟资产交易平台已经上架的订单中,消费者下单的订单。例如消费者在虚拟资产交易平台上已经上架的m个订单中,选择了第i个-第i+10个nft订单进行下单,则虚拟资产购买请求对应的预设订单信息是指上述第i个-第i+10个nft订单。56.购买出价是指消费者对虚拟资产购买请求对应的预设订单下单时的出价。57.示例性地,当消费者在虚拟资产交易平台上对第一预设订单下单时,虚拟资产交易平台会生成第一预设订单信息的买方订单,在买方订单中可以包含消费者的区块链地址和买方的出价,虚拟资产交易平台可以基于该买方订单判断是否将第一预设订单信息作为交易订单信息,具体可以参考步骤(1.2)。58.(1.2)若购买出价与所述预设订单信息中的订单标价匹配,则将所述预设订单信息作为交易订单信息,获取各所述交易订单信息对应的交易签名信息。59.订单标价是预设订单信息对应的商户对该预设订单上架时的标价。60.示例性地,当购买出价大于或者等于订单标价时,则说明消费者的出价满足商户的标价要求,可以判定购买出价与订单标价匹配,此时,虚拟资产交易平台可以对该买方订单和预设订单信息进行戳合,并将该预设订单信息作为待交易的交易订单信息。61.以图3中的虚拟资产交易系统300为例对步骤401进行说明:62.当消费者通过metamask等虚拟钱包203在虚拟资产交易平台301上对nft的订单下单时,虚拟钱包203会将消费者的区块链地址发送至虚拟资产交易平台301,虚拟资产交易平台301会基于消费者的出价生成nft订单的买方订单,并基于消费者的区块链地址对该买方订单进行签名,之后虚拟资产交易平台301通过其中的虚拟资产交易合约3011对该买方订单与nft订单进行匹配,判断购买出价是否大于或者等于nft订单中的订单标价,如果购买出价大于或者等于订单标价,则通过虚拟资产交易合约3011对该买方订单和nft订单进行戳合,并将该nft订单作为交易订单信息,得到该交易订单信息对应的交易签名信息。63.402、对于每个所述交易订单信息,基于每个所述交易订单信息对所述交易签名进行验签,得到每个所述交易订单信息对应的交易发起账户。64.验签是指基于签名后的信息,以及签名前的信息,验证得到签名时采用的地址。65.以图3中的虚拟资产交易系统300为例对步骤402进行说明,当虚拟资产交易系统300均采用同一种预设签名算法得到各交易订单信息对应的交易签名信息时,虚拟资产交易平台301可以基于该预设签名算法和交易订单信息,对交易订单信息对应的交易签名进行验签,得到交易订单信息对应的交易发起账户。例如预设签名算法为ecdsa椭圆曲线数字签名算法时,虚拟资产交易平台301可以基于预设的接口函数,调用ecdsa椭圆曲线数字签名算法对应的recover函数,将交易订单信息和交易订单信息对应的交易签名信息输入ecdsa椭圆曲线数字签名算法对应的recover函数,得到签名时采用的交易发起账户。66.在另一些实施例中,图3中的虚拟资产交易系统300可以支持多种签名算法,以提高系统的适用性。此时,步骤“对于每个所述交易订单信息,基于每个所述交易订单信息对所述交易签名进行验签,得到每个所述交易订单信息对应的交易发起账户”,包括:67.对于每个所述交易订单信息,将每个所述交易订单信息对应的哈希值和所述交易签名输入所述交易签名对应的签名算法,得到每个所述交易订单信息对应的交易发起账户。68.为了方便虚拟资产交易平台进行不同签名算法的recover函数调用,可以预先在虚拟资产交易平台中为接口设置接口函数,并通过接口函数调用不同签名算法的recover函数。例如在图3的虚拟资产交易平台301中,可以预设有验证资格所有权合约3012,虚拟资产交易平台301可以调用验证资格所有权合约3012,以执行步骤402。69.其中,接口及接口函数可以包括:70.interface validselfsignature{71.validselfsignature(hash,signature)return(bytes4)72.}73.接口函数validselfsignature()用于调用签名算法对应的recover函数。74.为了方便理解,举一个例子进行示例性说明:假设交易订单信息包括订单信息a、订单信息b和订单信息c,若订单信息a、订单信息b和订单信息c分别采用rsa数字签名算法、dsa数字签名算法或ecdsa椭圆曲线数字签名算法进行签名,得到交易签名信息a、交易签名信息b和交易签名信息c,则在验签时,可以将订单信息a对应的哈希值和交易签名信息a输入rsa数字签名算法对应的recover函数,得到订单信息a对应的交易发起账户,将订单信息b对应的哈希值和交易签名信息b输入dsa数字签名算法对应的recover函数,得到订单信息b对应的交易发起账户,将订单信息c对应的哈希值和交易签名信息c输入ecdsa椭圆曲线数字签名算法对应的recover函数,得到订单信息c对应的交易发起账户。75.403、基于每个所述交易订单信息对应的交易发起账户和每个所述交易订单信息对应的资产管理者账户,筛选得到多签钱包订单信息。76.多签钱包订单信息是指各交易订单信息中,虚拟资产存储在多签钱包合约中的订单信息,其中,多签钱包订单信息对应的资产管理者账户关联有至少两个预设发起账户,预设发起账户是指管理多签钱包合约的商户,并且多签钱包订单信息在由交易发起账户发起上架请求后,至少需要n个除交易发起账户之外的预设发起账户确认才能够由多签钱包合约发起,并发送至虚拟资产交易平台中上架,即多签钱包订单信息由所述资产管理者账户关联的至少n个预设发起账户确认后发起。其中,n是指多签钱包合约中的预设确认阈值,当至少n个预设发起账户确认后,可以认为该上架请求已经得到了大多数资产管理者的同意,因此可以发起订单。77.由上文背景介绍可知,若nft存储在多签钱包中,则在nft上架时只能由管理多签钱包的商户将其对应的外部账户作为交易发起地址进行订单签名,而该笔交易的订单中nft的资产地址是多签钱包的合约账户,若nft由单个商户持有,则在上架nft时商户以商户的外部账户作为交易发起地址对订单进行签名,并且nft的资产地址也为商户的外部账户。可见,可以通过判断交易发起地址和nft的资产地址是否为同一地址,以确认交易订单信息是否为多签钱包订单信息。78.以图3中的虚拟资产交易系统300为例进行说明,虚拟资产交易平台301可以将每个交易订单信息对应的交易发起账户与每个交易订单信息对应的资产管理者账户进行对比,判断是否相同,若不相同,则将该交易订单信息作为多签钱包订单信息,执行步骤403之后的步骤,若相同,则判定该交易订单信息对应的虚拟资产由单个商户持有,可以直接基于该交易订单信息执行虚拟资产交易。79.404、对于每个多签钱包订单信息,将所述资产管理者账户关联的预设发起账户与所述交易发起账户进行匹配,得到各所述多签钱包订单信息中匹配成功的目标订单信息。80.目标订单信息是指经过虚拟资产交易平台的确认,判定交易发起者为nft的资产管理者的多签钱包订单信息。81.虽然步骤403已经从各交易订单信息中获取了多签钱包订单信息,但是还不能够确认交易发起者是否为管理多签钱包合约的商户中的一者,因此对于每个多签钱包订单信息,需要将步骤402中验签得到的交易发起账户与管理多签钱包合约的商户进行匹配,如果交易发起账户是管理多签钱包合约的商户中的一者,则判定资产管理者账户关联的预设发起账户与交易发起账户匹配成功,将该多签钱包订单信息作为可以进行交易的目标订单信息。82.以图3中的虚拟资产交易系统300为例进行说明。在一些实施例中,在执行步骤404之前,虚拟资产交易平台301可以预先从多签钱包合约302中,获取多签钱包订单信息对应的资产管理者账户所关联的各预设发起账户,即管理多签钱包合约302的各商户的外部账户(图3中为了方便说明,仅示出了一个多签钱包合约302,下文中不再赘述),并存储在验证资格所有权合约3012中,当执行步骤404时,对于每个多签钱包订单信息,虚拟资产交易平台301调用验证资格所有权合约3012,根据预先获取的预设发起账户与交易发起账户进行匹配,以得到匹配成功的目标订单信息,并将目标订单信息返回至虚拟资产交易合约3011。83.405、基于所述目标订单信息进行虚拟资产交易。84.在得到目标订单信息后,虚拟资产交易平台可以执行目标订单信息对应的虚拟资产交易。例如在图3的虚拟资产交易系统300中,虚拟资产交易合约3011在得到目标订单信息之后,可以基于目标订单信息进行虚拟资产交易。85.综上所述,本技术实施例提供的虚拟资产交易方法,包括:获取待交易的交易订单信息,以及各所述交易订单信息对应的交易签名信息,其中,所述交易订单信息包括资产管理者账户,所述交易订单信息对应的交易签名信息基于所述交易订单信息,以及所述交易订单信息对应的交易发起账户生成;对于每个所述交易订单信息,基于每个所述交易订单信息对所述交易签名进行验签,得到每个所述交易订单信息对应的交易发起账户;基于每个所述交易订单信息对应的交易发起账户和每个所述交易订单信息对应的资产管理者账户,筛选得到多签钱包订单信息,其中,所述多签钱包订单信息对应的资产管理者账户关联有至少两个预设发起账户;对于每个多签钱包订单信息,将所述资产管理者账户关联的预设发起账户与所述交易发起账户进行匹配,得到各所述多签钱包订单信息中匹配成功的目标订单信息;基于所述目标订单信息进行虚拟资产交易。86.可见,本技术实施例提供的虚拟资产交易方法,可以基于验签得到的交易发起账户和资产管理者账户,判断交易订单信息是否为多签钱包合约发起的多签钱包订单信息,并基于资产管理者账户关联的预设发起账户和交易发起账户,验证多签钱包订单信息的交易发起账户是否为虚拟资产的资产管理者,当验证通过后才进行虚拟资产交易,一方面保证了虚拟资产的安全性,避免非资产管理者出售虚拟资产,另一方面实现了存储于多签钱包中虚拟资产在虚拟资产交易平台中的交易,提高了虚拟资产的成交速度和流动性。87.虽然步骤403提供了一种筛选得到多签钱包订单信息的方法,但是该方法仅未考虑到交易发起账户和资产管理者账户为不同的外部账户,即非资产管理者对由单个商户持有的nft进行虚假上架的情况。在nft创作门槛和上架门槛均较低的情况下,该情况容易导致大量虚假上架产生的虚假订单信息被误判为多签钱包订单信息,影响虚拟资产交易的正常执行。88.为了解决上述问题,本技术还提供了一种方法,可以基于预设的账户类型判断函数筛选得到多签钱包订单信息。参考图5,此时,步骤“基于每个所述交易订单信息对应的交易发起账户和每个所述交易订单信息对应的资产管理者账户,筛选得到多签钱包订单信息”,包括:89.501、对于每个所述交易订单信息,若所述交易发起账户和所述资产管理者账户不相同,则将所述资产管理者账户输入预设的账户类型判断函数,得到所述资产管理者账户的账户类型。90.当交易发起账户和资产管理者账户不相同时,存在以下两种情况:91.1、交易发起账户为外部账户,资产管理者账户为合约账户,此时可以判定交易订单信息为多签钱包订单信息,执行步骤404。92.2、交易发起账户和资产管理者账户均为外部账户,此时可能存在nft虚假上架的情况,虚拟资产交易平台可以针对该交易订单信息进行告警。93.可见,虚拟资产交易平台只需要判断资产管理者账户是否为合约账户,即可筛选得到多签钱包订单信息。因此本方法将资产管理者账户输入预设的账户类型判断函数,以得到资产管理者账户的账户类型。94.其中,账户类型判断函数可以用于判断资产管理者账户的账户类型,例如可以将.iscontract()函数作为预设的账户类型判断函数,若.iscontract()的输出为true,则可以将合约账号作为资产管理者账户的账户类型,若.iscontract()的输出为false,则可以将外部账号作为资产管理者账户的账户类型。95.502、若所述账户类型为合约账户,则将每个所述交易订单信息设定为多签钱包订单信息。96.若账户类型为合约账号,则说明对于该交易订单信息,交易发起账户为外部账户,资产管理者账户为合约账户,因此可以将该交易订单信息作为多签钱包订单信息,并执行步骤404。97.需要说明的是,对于步骤501-步骤502,也可以先把资产管理者账户输入预设的账户类型判断函数,如果资产管理者账户的账户类型为合约账户,再判断交易发起账户和资产管理者账户是否相同,本技术实施例对此不进行限制。98.步骤404中提供了一种交易发起账户的匹配方法,但是这种方法需要虚拟资产交易平台预先从多签钱包合约中,获取多签钱包订单信息对应的资产管理者账户所关联的各预设发起账户,会占据虚拟资产交易平台中大量的存储空间,提高虚拟资产交易平台的运维成本。99.为了解决上述问题,本技术还提供一种方法,可以向多签钱包合约发送查询请求,由多签钱包合约对交易发起账户进行匹配,可以有效降低虚拟资产交易平台的运维成本。参考图6,此时,步骤“对于每个多签钱包订单信息,将所述资产管理者账户关联的预设发起账户与所述交易发起账户进行匹配,得到各所述多签钱包订单信息中匹配成功的目标订单信息”,包括:100.601、对于每个多签钱包订单信息,向所述资产管理者账户对应的多签钱包合约发送查询请求,接收所述多签钱包合约基于所述查询请求发送的目标标识。101.其中,所述查询请求用于触发所述多签钱包合约查询所述多签钱包合约中存储的预设账户表,以判断所述资产管理者账户关联的各预设发起账户中是否包含所述交易发起账户,所述预设账户表中包含所述资产者管理账户关联的各预设发起账户,所述目标标识为所述多签钱包合约基于判断结果生成的标识。102.以图3中的虚拟资产交易系统300为例,对步骤601进行说明:103.对于每个多签钱包订单信息,虚拟资产交易平台301可以调用验证资格所有权合约3012,根据验签得到的交易发起账户生成查询请求,并向多签钱包合约302发送对应的查询请求,以触发多签钱包合约302查询存储的预设账户表,若交易发起账户为预设账户表中各预设发起账户的一者,则多签钱包合约302可以将用于表征匹配成功的校验通过标识作为目标标识,将目标标识发送至虚拟资产交易平台301,若交易发起账户不是预设账户表中各预设发起账户的一者,则多签钱包合约302可以将用于表征匹配失败的校验失败标识作为目标标识,将目标标识发送至虚拟资产交易平台301的验证资格所有权合约3012。104.或者在一些实施例中,为了防止查询请求携带的交易发起账户在发送过程中被篡改,验证资格所有权合约3012也可以根据多签钱包订单信息和多签钱包订单信息对应的交易签名信息生成查询请求,并向多签钱包合约302发送对应的查询请求,多签钱包合约302基于查询请求携带的多签钱包订单信息和多签钱包订单信息,重新验签得到交易发起账户,此时,同样可以在多签钱包合约中预先为接口设置接口函数,并通过接口函数调用不同签名算法的recover函数。105.其中,接口及接口函数可以包括:106.interface validselfsignature{107.validselfsignature(hash,signature)return(bytes4)108.}109.具体可以参考上文中的说明,不再赘述。110.示例性地,可以预先为多签钱包合约302设置用于表征匹配成功的第一字段(即校验通过标识)和用于表征匹配失败的第二字段(即校验失败标识),例如将字段“chenggong”作为第一字段,将字段“shibai”作为第二字段,同时在多签钱包合约302中预设用于表征匹配成功的常量,如validsig,当多签钱包合约302判定交易发起账户为预设账户表中各预设发起账户的一者时,多签钱包合约302根据判断结果将第一字段或第二字段赋值至常量,将常量作为目标标识,并将目标标识发送至验证资格所有权合约3012。111.在一些实施例中,为了提高目标标识的复杂性,保证交易安全,当匹配成功时,也可以基于上述接口函数的函数名生成用于表征匹配成功的目标标识,同时也可以避免用于表征匹配成功的标识被篡改。示例性地,以上文中的接口函数validselfsignature(hash,signature)为例,当匹配成功时,可以对接口函数进行哈希处理,并截取其前4个字节,将得到的哈希值赋值至上文中的常量,将常量作为返回的目标标识,例如当匹配成功时,可以通过以下方式进行处理,得到用于表征匹配成功的目标标识validsig:112.validsig=bytes4(keccak256("validselfsignature(bytes32,bytes)")=0x8812d007。113.其中,(bytes32,bytes)为(hash,signature)在多签钱包合约中的表达形式。114.而当匹配失败时,可以将多签钱包合约中预先设置的校验失败标识作为目标标识,发送至虚拟资产交易平台,例如可以预先设置常量invalidsig=0xffffffff,若匹配失败则将invalidsig作为目标标识发送至虚拟资产交易平台。115.602、对于每个所述多签钱包订单信息,若所述目标标识与预设的校验通过标识相同,则将每个所述多签钱包订单信息设定为目标订单信息。116.预设的校验通过标识是用于表征匹配成功的标识,虚拟资产交易系统的管理人员可以预先在虚拟资产交易平台中设置校验通过标识,需要说明的是,虚拟资产交易平台中的校验通过标识应当于多签钱包合约中的校验通过标识相同。117.继续以图3中的虚拟资产交易系统300为例进行说明,在虚拟资产交易平台301中,同样预先设置有用于表征匹配成功的第一字段和用于表征匹配失败的第二字段,若虚拟资产交易平台301对比判定目标标识与第一字段相同,则可以将多签钱包订单信息设定为目标订单信息,若虚拟资产交易平台301对比判定目标标识与第二字段相同,则可以退回多签钱包订单信息至多签钱包订单信息对应的多签钱包合约302,以提示交易失败。118.603、基于所述目标订单信息进行虚拟资产交易。119.在一些实施例中,为了进一步提高交易的安全性,多签钱包合约可以对上述得到的目标标识进行加密,以加密后的目标标识更新加密前的目标标识,将目标标识发送至虚拟资产交易平台,并由虚拟资产交易平台进行解密,若虚拟资产交易平台对比解密后的目标标识和预设的校验通过标识之后,判定解密后的目标标识和预设的校验通过标识相同,则可以将多签钱包订单信息设定为目标订单信息,例如在图3的虚拟资产交易系统300中,可以由验证资格所有权合约3012进行解密。此时,步骤“对于每个所述多签钱包订单信息,若所述目标标识与所述多签钱包合约对应的校验通过标识相同,则将每个所述多签钱包订单信息设定为目标订单信息”之前,还包括:120.对于每个所述多签钱包订单信息,通过所述多签钱包合约对应的解密算法对所述目标标识进行解密,以解密后的目标标识更新解密前的目标标识。121.为了方便理解,本技术还提供一种虚拟资产交易方法,参考图7,所述虚拟资产交易方法应用于多签钱包合约,所述多签钱包合约对应的资产管理者账户与至少两个预设发起账户关联,关联的各所述预设发起账户存储于所述多签钱包合约中的预设账户表,该虚拟资产交易方法包括:122.701、响应于各所述预设发起账户中第一发起账户发起的交易请求,基于所述交易请求携带的目标订单信息和所述第一发起账户,生成所述目标订单信息对应的交易签名信息,并向各所述预设发起账户中除所述第一发起账户之外的第二发起账户发送确认请求。123.第一发起账户是指发起nft订单上架请求的预设发起账户,交易请求是指第一发起账户发起的在虚拟资产交易平台中上架nft订单的计算机请求。124.为了确认除第一发起账户之外的第二发起账户是否同意对nft订单进行上架,多签钱包合约向各第二发起账户发送确认请求。125.702、若接收到至少n个第二发起账户基于确认请求发送的确认信息,则将所述目标订单信息和所述交易签名信息发送至预设的虚拟资产交易平台。126.若接收到至少n个第二发起账户基于确认请求发送的确认信息,则可以确认除第一发起账户之外的第二发起账户同意对nft订单进行上架,此时多签钱包合约可以基于交易请求携带的目标订单信息和第一发起账户,通过rsa数字签名算法、dsa数字签名算法或ecdsa椭圆曲线数字签名算法等签名算法,生成目标订单信息对应的交易签名信息。127.虚拟资产交易平台的说明和功能可以参考上文和图3,具体不进行赘述。128.703、响应于所述虚拟资产交易平台针对所述目标订单信息发送的查询请求,查询所述预设账户表,判断所述查询请求对应的交易发起账户是否存储于所述预设账户表之内。129.查询请求的说明可以参考上文,查询请求由虚拟资产交易平台基于验签后得到的交易发起账户生成,也可以基于多签钱包订单信息和多签钱包订单信息对应的交易签名信息生成,即:所述查询请求携带所述目标订单信息和所述交易签名信息,所述多签钱包合约基于所述目标订单信息对所述交易签名信息进行验签后得到所述查询请求对应的交易发起账户。130.704、若所述交易发起账户存储于所述预设账户表之内,则向所述虚拟资产交易平台发送预设的校验通过标识,以使所述虚拟资产交易平台基于所述目标订单信息进行虚拟资产交易。131.为了方便理解,下文中具体举一个例子对实际的应用流程进行说明,参考图8,其中用户a、用户b和用户c为多签钱包合约的管理者:132.(a)首先用户a提交交易请求,多签钱包合约将用户a的外部账户作为交易发起账户,基于交易发起账户和交易请求携带的目标订单信息进行签名,得到目标订单信息对应的交易签名信息,可以理解的,在目标订单信息中,包含资产管理者账户,即多签钱包合约的合约账户。133.(b)向用户b和用户c发送确认请求,若用户b和用户c中发送确认信息的数量达到签名阈值n,则触发交易,将目标订单信息和交易签名信息发送至虚拟资产交易平台中的虚拟资产交易合约。134.(c)若消费者用户d通过虚拟钱包对目标订单信息进行下单,则在虚拟钱包签名后,虚拟资产交易合约会匹配签名后生成的买方订单和目标订单信息,若匹配成功,则通过验证资格所有权合约获取交易发起账户,基于交易发起账户和目标订单信息中的资产管理者账户,判断目标订单信息是否为多签钱包订单信息,判断目标订单信息为多签钱包订单信息之后,验证资格所有权合约基于目标订单信息和目标订单信息对应的交易签名信息,生成查询请求,并向多签钱包合约发送查询请求。135.(d)多签钱包合约基于目标订单信息和目标订单信息对应的交易签名信息进行验签,得到交易发起账户,并判断交易发起账户是否在用户a、用户b和用户c之中,如果判定交易发起账户在用户a、用户b和用户c之中,则返回用于表征匹配成功的目标标识至验证资格所有权合约,验证资格所有权合约接收到目标标识后,判断目标标识与预设的校验通过标识是否相同,若相同,则将目标订单信息发送至虚拟资产交易合约,虚拟资产交易合约基于目标订单信息进行虚拟资产交易。136.为了更好实施本技术实施例中虚拟资产交易方法,在虚拟资产交易方法基础之上,本技术实施例中还提供一种虚拟资产交易装置,如图9所示,为本技术实施例中虚拟资产交易装置的一个实施例结构示意图,该虚拟资产交易装置900包括:137.获取单元901,用于获取待交易的交易订单信息,以及各所述交易订单信息对应的交易签名信息,其中,所述交易订单信息包括资产管理者账户,所述交易订单信息对应的交易签名信息基于所述交易订单信息,以及所述交易订单信息对应的交易发起账户生成;138.验签单元902,用于对于每个所述交易订单信息,基于每个所述交易订单信息对所述交易签名进行验签,得到每个所述交易订单信息对应的交易发起账户;139.筛选单元903,用于基于每个所述交易订单信息对应的交易发起账户和每个所述交易订单信息对应的资产管理者账户,筛选得到多签钱包订单信息,其中,所述多签钱包订单信息对应的资产管理者账户关联有至少两个预设发起账户;140.匹配单元904,用于对于每个多签钱包订单信息,将所述资产管理者账户关联的预设发起账户与所述交易发起账户进行匹配,得到各所述多签钱包订单信息中匹配成功的目标订单信息;141.交易单元905,用于基于所述目标订单信息进行虚拟资产交易。142.在本技术的一种可能的实现方式中,筛选单元903还用于:143.对于每个所述交易订单信息,若所述交易发起账户和所述资产管理者账户不相同,则将所述资产管理者账户输入预设的账户类型判断函数,得到所述资产管理者账户的账户类型;144.若所述账户类型为合约账户,则将每个所述交易订单信息设定为多签钱包订单信息。145.在本技术的一种可能的实现方式中,所述多签钱包订单信息由所述资产管理者账户关联的至少n个预设发起账户确认后发起。146.在本技术的一种可能的实现方式中,验签单元902还用于:147.对于每个所述交易订单信息,将每个所述交易订单信息对应的哈希值和所述交易签名输入所述交易签名对应的签名算法,得到每个所述交易订单信息对应的交易发起账户。148.在本技术的一种可能的实现方式中,匹配单元904还用于:149.对于每个多签钱包订单信息,向所述资产管理者账户对应的多签钱包合约发送查询请求,接收所述多签钱包合约基于所述查询请求发送的目标标识,其中,所述查询请求用于触发所述多签钱包合约查询所述多签钱包合约中存储的预设账户表,以判断所述资产管理者账户关联的各预设发起账户中是否包含所述交易发起账户,所述预设账户表中包含所述资产者管理账户关联的各预设发起账户,所述目标标识为所述多签钱包合约基于判断结果生成的标识;150.对于每个所述多签钱包订单信息,若所述目标标识与预设的校验通过标识相同,则将每个所述多签钱包订单信息设定为目标订单信息;151.基于所述目标订单信息进行虚拟资产交易。152.在本技术的一种可能的实现方式中,匹配单元904还用于:153.对于每个所述多签钱包订单信息,通过所述多签钱包合约对应的解密算法对所述目标标识进行解密,以解密后的目标标识更新解密前的目标标识。154.在本技术的一种可能的实现方式中,获取单元901还用于:155.响应于虚拟资产购买请求,获取所述虚拟资产购买请求对应的购买出价,以及虚拟资产购买请求对应的预设订单信息;156.若购买出价与所述预设订单信息中的订单标价匹配,则将所述预设订单信息作为交易订单信息,获取各所述交易订单信息对应的交易签名信息。157.具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。158.由于该虚拟资产交易装置可以执行任意实施例中虚拟资产交易方法中的步骤,因此,可以实现本技术任意实施例中虚拟资产交易方法所能实现的有益效果,详见前面的说明,在此不再赘述。159.此外,为了更好实施本技术实施例中虚拟资产交易方法,在虚拟资产交易方法基础之上,本技术实施例还提供一种电子设备,参阅图10,图10示出了本技术实施例电子设备的一种结构示意图,具体的,本技术实施例提供的电子设备包括处理器1001,处理器1001用于执行存储器1002中存储的计算机程序时实现任意实施例中虚拟资产交易方法的各步骤;或者,处理器1001用于执行存储器1002中存储的计算机程序时实现如图9对应实施例中各模块的功能。160.示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器1002中,并由处理器1001执行,以完成本技术实施例。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。161.电子设备可包括,但不仅限于处理器1001、存储器1002。本领域技术人员可以理解,示意仅仅是电子设备的示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。162.处理器1001可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circ界面t,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分。163.存储器1002可用于存储计算机程序和/或模块,处理器1001通过运行或执行存储在存储器1002内的计算机程序和/或模块,以及调用存储在存储器1002内的数据,实现计算机装置的各种功能。存储器1002可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。164.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的虚拟资产交易装置、电子设备及其相应模块的具体工作过程,可以参考任意实施例中虚拟资产交易方法的说明,具体在此不再赘述。165.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一可读存储介质中,并由处理器进行加载和执行。166.为此,本技术实施例提供一种可读存储介质,可读存储介质上存储有计算机程序,该计算机程序被处理器执行时执行本技术任意实施例中虚拟资产交易方法中的步骤,具体操作可参考任意实施例中虚拟资产交易方法的说明,在此不再赘述。167.其中,该可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取存储器(ram,random access memory)、磁盘或光盘等。168.由于该可读存储介质中所存储的指令,可以执行本技术任意实施例中虚拟资产交易方法中的步骤,因此,可以实现本技术任意实施例中虚拟资产交易方法所能实现的有益效果,详见前面的说明,在此不再赘述。169.以上对本技术实施例所提供的一种虚拟资产交易方法、装置、存储介质及电子设备进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部