用于对数字资产估价的系统和方法
技术领域
本申请总体涉及基于区块链技术管理数字资产的方法和设备。
背景技术
某些有价值资产例如古董、艺术品或收藏品的所有权和交易传统上一直是社会上一群富裕成员的特权。此类资产的高价值以及它们通常在物理上不可分割的事实可能会阻止普通人投资于此类资产。人们可能需要大量知识,才能做出有关对此类有价值资产进行投资的明智决定,例如辨别真品与赝品或评估商品的市场价值。知识需求还使得许多人无法投资于此类有价值的资产。此外,一些交易机构(例如,拍卖行)通常为有价值资产的交易提供便利。有价值资产的市场可得性及其有关特征的信息通常是根据各个交易机构的喜好发行的。涉及有价值资产的交易通常高度依赖于交易机构的信誉,因为它们可能完全控制资产及其交易的记录。此外,由于缺乏沟通渠道,各种交易机构之间的协调通常可能很困难。
区块链可以包括越来越多的包含在链接区块中并通过密码技术保护的记录列表。区块链的每个区块可以包含交易信息、账户信息、关于一个或多个先前区块的信息以及其他相关信息。区块链可以在对等网络中实现,该对等网络包括遵守用于节点间通信、交易或区块验证以及共识形成的协议的多个区块链节点。区块链提供了创建和维护永久记录并使记录可供多方访问的方法。
发明内容
本说明书的各种实施例包括但不限于用于数字资产估价的系统、方法和非暂时性计算机可读介质。
根据一些实施例,一种计算机实现的用于数字资产估价的方法包括:获得用于对与有形资产相对应的数字资产估价的请求,其中,与所述数字资产相关联的信息被存储在区块链中;基于获得的请求,生成用于对数字资产估价的区块链交易,其中,该区块链交易调用可执行以确定与所述数字资产相关联的价值信息的区块链合约;将区块链交易发送到与区块链相关联的区块链节点以添加到区块链;以及从区块链获得与数字资产相关联的价值信息。
在一些实施例中,生成用于对数字资产估价的区块链交易包括:基于获得的请求,识别可执行以发行数字资产的与区块链相关联的区块链合约。
在一些实施例中,用于对数字资产估价的区块链交易包括与数字资产相关联的标识或与可执行以发行数字资产的区块链合约相关联的标识。
在一些实施例中,用于对数字资产估价的区块链交易包括与对应于数字资产的有形资产的一个或多个特征相关联的信息。
在一些实施例中,可执行以确定与数字资产相关联的价值信息的区块链合约可执行以:识别与对应于数字资产的有形资产的一个或多个特征相关联的信息;基于有形资产的一个或多个特征,分别确定对应于一个或多个其他有形资产的一个或多个其他数字资产,其中所述一个或多个其他有形资产具有与对应于所述数字资产的有形资产的一个或多个特征相似的特征;以及基于确定的一个或多个其他数字资产,确定与所述数字资产相关联的价值信息。
在一些实施例中,所述有形资产的一个或多个特征包括有形资产的数量、有形资产的大小、有形资产的外观、与有形资产的创建相关联的时间表、有形资产的创建者、或有形资产的状况。
在一些实施例中,与数字资产相关联的价值信息包括:与一个或多个其他数字资产中的一个其他数字资产相对应的标识;以及所述数字资产的价值与所述一个其他数字资产的价值之间的估计比率。
在一些实施例中,与数字资产相关联的价值信息包括与一个或多个其他数字资产中的每个数字资产的价值相关联的权重。
在一些实施例中,该方法还包括:基于从区块链获得的价值信息确定数字资产的估计价值;以及将该数字资产的估计价值发送到用于对该数字资产估价的请求的发送方。
在一些实施例中,确定与数字资产相关联的估计价值包括:从自区块链获得的价值信息中检索与被确定为与数字资产相似的一个或多个其他数字资产相关联的信息;分别获得一个或多个其他数字资产的一个或多个估价;以及基于获得的一个或多个其他数字资产的一个或多个估价确定与所述数字资产相关联的估计价值。
在一些实施例中,确定与数字资产相关联的估计价值包括计算获得的一个或多个其他数字资产的一个或多个估价的加权平均值。
在一些实施例中,确定与数字资产相关联的估计价值包括:基于对应于数字资产的有形资产的状况与对应于一个或多个其他数字资产之一的有形资产的状况之间的比较,调整一个或多个其他数字资产之一的一个或多个估价之一。
根据其他实施例,一种用于对数字资产估价的系统包括:一个或多个处理器;和耦接到所述一个或多个处理器并且具有存储在其上的指令的一个或多个计算机可读存储器,所述指令可由所述一个或多个处理器执行以执行前述实施例中任一实施例的方法。
根据又一其他实施例,一种非暂时性计算机可读存储介质配置有可由一个或多个处理器执行的指令,以促使所述一个或多个处理器执行前述实施例中任一实施例的方法。
根据又一其他实施例,一种用于对数字资产估价的装置包括用于执行前述实施例中任一实施例的方法的多个模块。
根据一些实施例,一种用于对数字资产估价的系统包括一个或多个处理器以及耦接到一个或多个处理器并且具有存储在其上的指令的计算机可读存储器,该指令可由所述一个或多个处理器执行以执行包括以下的操作:获得用于对与有形资产相对应的数字资产估价的请求,其中与该数字资产相关联的信息被存储在区块链中;基于获得的请求,生成用于对数字资产估价的区块链交易,其中,该区块链交易调用可执行以确定与该数字资产相关联的价值信息的区块链合约;将区块链交易发送到与区块链相关联的区块链节点以添加到区块链;以及从区块链获得与数字资产相关联的价值信息。
根据其他实施例,一种非暂时性计算机可读存储介质被配置有可由一个或多个处理器执行的指令,以促使所述一个或多个处理器执行包括以下的操作:获得用于对与有形资产相对应的数字资产估价的请求,其中与数字资产相关的信息被存储在区块链中;基于获得的请求,生成用于对数字资产估价的区块链交易,其中,该区块链交易调用可执行以确定与该数字资产相关联的价值信息的区块链合约;将区块链交易发送到与区块链相关联的区块链节点以添加到区块链;从区块链获得与数字资产相关联的价值信息。
根据其他实施例,一种用于对数字资产估价的装置包括:第一获得模块,用于获得对与有形资产相对应的数字资产估价的请求,其中与该数字资产相关联的信息被存储在区块链中;生成模块,用于基于获得的请求,生成用于对所述数字资产估价的区块链交易,其中,所述区块链交易调用可执行以确定与所述数字资产相关联的价值信息的区块链合约;发送模块,用于将所述区块链交易发送至与所述区块链相关联的区块链节点以添加至所述区块链;以及第二获得模块,用于从区块链获得与数字资产相关联的价值信息。
本文公开的实施例具有一个或多个技术效果。在一些实施例中,在线平台提供用于基于区块链的数字资产管理的在线服务,并使此类在线服务可通过API接口被用户访问。这允许使用可以比区块链所需的编程语言或协议更用户友好的编程语言或协议来控制与数字资产管理相关的操作(例如,数字资产的创建、发行、转移、限制、估价)。根据一些实施例,在线平台在由区块链网络维护的区块链中存储关于数字资产和对数字资产的操作的记录,该区块链网络具有与和数字资产的管理相关的各种实体相关联的区块链节点。这样可以在实体之间进行有序协调,并由实体共享永久且可追溯的记录。在其他实施例中,在线平台为实体提供接口和自动化软件解决方案,以代表多个其他实体管理数字资产所有权和交易。在线平台还包括存储区块链账户和企业账户之间的映射信息。这有助于使用简化的控制动作处理大量所有权或交易关系以及将数字资产所有权有效地映射到有形资产所有权。在其他实施例中,在线平台生成调用被配置为用于对数字资产估价的区块链合约的区块链交易。区块链合约被配置为使用预设算法对数字资产估价,并且在被存储在区块链中之后是永久性的。这允许通过由各个独立方支持的基于区块链的虚拟机的操作自动且可靠地对数字资产估价,并防止任何单个方操纵该估价。
参考附图考虑以下描述和所附权利要求,本文公开的系统、方法和非暂时性计算机可读介质的这些和其他特征,以及操作方法和相关结构元件的功能以及部件的组合和制造经济性将变得更加明显。所有这些附图形成本说明书的一部分,其中相同的附图标记表示各附图中的对应部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,而不旨在限制性的。
附图说明
图1示出了根据一些实施例的与区块链相关联的网络环境。
图2示出了根据一些实施例的用于实现区块链交易的框架。
图3示出了根据一些实施例的与用于管理数字资产的系统相关联的网络环境。
图4示出了根据一些实施例的用于创建与有形资产相对应的数字资产的方法。
图5示出了根据一些实施例的由用于管理数字资产的系统执行的用于创建数字资产的操作。
图6示出了根据一些实施例的用于向一个或多个区块链账户发行一定数量的数字资产的方法。
图7示出了根据一些实施例的用于解除一定数量的数字资产的限制的方法。
图8示出了根据一些实施例的由用于管理数字资产的系统执行的用于发行数字资产和解除数字资产的限制的操作。
图9示出了根据一些实施例的用于将一定数量的数字资产从一个区块链账户转移到另一个区块链账户的方法。
图10示出了根据一些实施例的由用于管理数字资产的系统执行的用于转移数字资产的操作。
图11示出了根据一些实施例的用于从数据存储库获得交易信息的方法。
图12示出了根据一些实施例的用于从区块链获得交易信息的方法。
图13示出了根据一些实施例的用于回购一定数量的数字资产的方法。
图14示出了根据一些实施例的用于冻结区块链账户或数字资产的方法。
图15示出了根据一些实施例的用于对数字资产估价的方法。
图16示出了根据一些实施例的由用于管理数字资产的系统执行的用于对数字资产估价的操作。
图17示出了根据一些实施例的用于创建数字资产的方法。
图18示出了根据一些实施例的用于转移数字资产的方法。
图19示出了根据一些实施例的用于解除数字资产的限制的方法。
图20示出了根据一些实施例的用于对数字资产估价的方法。
图21示出了根据一些实施例的用于创建数字资产的计算机系统的框图。
图22示出了根据一些实施例的用于转移数字资产的计算机系统的框图。
图23示出了根据一些实施例的用于解除数字资产的限制的计算机系统的框图。
图24示出了根据一些实施例的用于对数字资产估价的计算机系统的框图。
图25示出了计算机系统的框图,其中可以实现本文描述的任何实施例。
具体实施方式
本文公开的实施例提供了与生态系统相关联的方法、系统和装置,其用于使用区块链技术来管理有形资产(或数字资产)的数字化表示。一些实施例提供了在线资产管理平台,其集成了各种组件,例如区块链网络、云应用程序、客户端应用程序、密钥管理系统、应用程序编程接口以及其他合适的组件,以实现与数字资产的管理相关的各种功能。资产管理平台可以允许诸如资产交易机构、监管机构以及资产交易方或所有者的各方参与数字资产的管理。相关方可以向区块链网络提供区块链节点并参与区块链网络的共识处理,并且可以经由平台提供的一个或多个接口与资产管理平台的各个组件进行交互。
在一些实施例中,资产管理平台提供的功能可以包括数字资产的创建、发行、转移、限制、解除限制、估价以及其他合适的操作。数字资产可各自对应于有形资产,并表示该有形资产的所有权。因此,数字资产的所有者可以拥有相应的有形资产中的至少部分所有权。类似地,整个数字资产的所有者可以是基础有形资产的所有者,并且可以获得拥有该有形资产的权利。与数字资产、其基础有形资产以及数字资产上的操作相关的记录可以永久记录在由区块链网络维护的一个或多个区块链中,并使其对区块链网络的参与方完全可追溯、可审计且透明的。可以使用基于角色的权限系统来监管与资产管理平台进行交互的各方,其中某些特许操作可能仅限于相应的权限持有者。例如,数字资产的创建者可能限于相关政府监管实体批准的机构。可以要求各机构进行数字资产和相应的有形资产相关的各种披露(例如,数量、发行方式、真实性、状况)。所述披露也可以记录在区块链中。
与数字资产有关的各种操作可以通过区块链网络上运行的一个或多个虚拟机的操作以及专门配置为处理与数字资产有关的各种功能的区块链合约的执行来完成。这些操作可以包括,例如,发行数字资产、数字资产转移、数字资产回购、对数字资产或账户施加限制、去除对数字资产或账户的限制、对数字资产估价、其他合适的操作或其任何组合。可以通过访问区块链中存储的记录来实现各种功能,例如,获得与账户或数字资产相关联的交易历史记录、监视和监管交易活动以及其他合适的功能。资产管理平台可响应于来自外部系统的输入执行一个或多个操作或功能,或根据基于时间的状况自动执行一个或多个操作或功能。
图1示出了根据一些实施例的与区块链相关联的网络环境。如图所示,在环境100中,客户端111可以耦接到服务器端118,并且服务器端118和节点B可以通过各种通信网络耦接到区块链系统112。类似地,服务器端118可以可选地耦接到其他类似于区块链系统112的区块链系统,例如区块链系统113、区块链系统114等。每个区块链系统可以维护一个或多个区块链。
在一些实施例中,客户端111可以包括一个或多个服务器(例如,节点C)和一个或多个其他计算设备(例如,节点A1、节点A2、节点A3)。节点A1、节点A2和节点A3可以耦接到节点C。在一些实施例中,节点C可以由具有各种本地账户(例如,从节点A1、节点A2、节点A3访问的本地账户)的实体(例如,网站、移动电话应用程序、组织、公司、企业)实现。例如,移动电话应用可能有数百万的端用户从相应的用户账户访问应用的服务器。该应用的服务器可以相应地存储数百万个用户账户。客户端111的组件及其布置可以具有许多其他配置。
在一些实施例中,节点B可以包括轻节点。轻节点可能无法下载完整的区块而是可以只下载区块头以验证区块链交易的真实性。轻节点可以由全节点(例如,区块链系统112中的区块链节点)服务并且有效地依赖于全节点来访问区块链的更多功能。通过安装适当的软件,可以在诸如膝上型电脑、移动电话等的电子设备中实现轻节点。
在一些实施例中,可以有更多类似于客户端111的客户端耦接到服务器端118。服务器端118可以提供区块链即服务(BaaS),并且被称为BaaS云。在一个实施例中,BaaS是一种云服务模型,其中客户端或开发人员将Web或移动应用的幕后方面外包。BaaS可以为区块链上发生的活动提供预先编写的软件,例如用户身份验证、数据库管理和远程更新。BaaS云可以在服务器、服务器群集或其他设备中实现。在一个实施例中,BaaS云提供基于区块链技术的企业级平台服务。该服务可帮助客户构建安全稳定的区块链环境,并轻松管理区块链的部署、操作、维护和开发。基于云的丰富的安全策略和多租户隔离,BaaS云可以使用芯片加密技术提供高级安全保护。基于高度可靠的数据存储,此服务可以提供可以快速增加而不会中断的端到端高可用性服务。BaaS云可以为标准区块链应用程序和数据提供本地支持。
在一些实施例中,区块链系统112可包括维护一个或多个区块链(例如,公有区块链、私有区块链、联盟区块链)的多个区块链节点(例如,区块链节点1、区块链节点2、区块链节点3、区块链节点4、区块链节点i等)。其他区块链系统(例如,区块链系统113、区块链系统114)可以包括维护其他区块链的区块链节点的类似布置。每个区块链节点都可以在一个或多个区块链系统中找到。每个区块链系统的区块链节点可以维护一个或多个区块链。区块链节点可以包括全节点。全节点可以下载每个区块和区块链交易,并对照区块链的共识规则对其进行检查。所述区块链节点可以形成网络(例如,对等网络),其中一个区块链节点与另一区块链节点通信。所示的区块链节点的顺序和数量仅仅是用于说明的示例。区块链节点可以在服务器、计算机等中实现。例如,每个区块链节点可以在服务器或服务器集群中实现。服务器集群可以使用负载平衡。每个区块链节点可以对应于经由诸如TCP/IP的各种类型的通信方法耦接在一起的一个或多个物理硬件设备或虚拟设备。根据分类,区块链节点还可以被称为全节点、Geth节点、共识节点等。
在环境100中,每个节点和设备可以安装有适当的软件(例如,应用编程接口)和/或硬件(例如,接线、无线连接)以访问环境100的其他设备。通常,节点和设备可以能够通过一个或多个有线或无线网络(例如,互联网)彼此通信,通过所述网络可以通信数据。节点和设备中的每一个可以包括一个或多个处理器以及耦接到一个或多个处理器的一个或多个存储器。存储器可以是非暂时性的且计算机可读的,并且配置有一个或多个处理器可执行以促进所述一个或多个处理器执行本文描述的操作的指令。所述指令可以存储在存储器中或通过通信网络下载而不必存储在存储器中。尽管在该图中节点和设备被示为单独的组件,但是应当理解,这些系统和设备可以实现为单个设备或耦接在一起的多个设备。例如,节点B可以可选地集成到区块链节点2中。
诸如节点A1、节点A2、节点A3、节点B和节点C之类的设备可以安装有适当的区块链软件,以创建区块链账户,并发起、转发或访问区块链交易。术语“区块链交易”可以指在区块链系统中执行并记录在区块链中的任务单元。例如,节点A1可以通过与节点C、服务器端118和区块链节点1的通信来访问区块链,并且节点B可以通过与区块链节点2的通信来访问区块链。在一些实施例中,节点A1可以向节点C提交区块链账户创建请求。节点C可以将该请求和其他类似请求转发至服务器端118。服务器端118可以相应地创建区块链账户。
在一些实施例中,在接收到未确认区块链交易的区块链交易请求之后,接收方区块链节点可以执行区块链交易的一些初步验证。例如,区块节点1可以在从节点C接收区块链交易之后执行初步验证。一旦被验证,所述区块链交易可以被存储在接收方区块链节点(例如,区块链节点1)的数据库中,该接收方区块链节点也可以将所述区块链交易转发到一个或者多个其他区块链节点(例如,区块链节点3、区块链节点4)。由于每个区块链节点可以包括存储器或耦接到存储器,所以数据库可以分别存储在区块链节点的存储器中。所述数据库可存储由一个或多个客户端设备提交的区块链交易池。在接收到区块链交易之后,一个或多个其他区块链节点可以重复由接收方区块链节点完成的处理。
每个区块链节点可以根据其偏好从池中选择一些区块链交易,并将其形成为向区块链提出的新区块。区块链节点可以通过投入算力来解决复杂的数学问题,对提出的新区块进行“挖矿”。如果区块链交易涉及区块链合约,则区块链节点可以在各自的虚拟机(VM)中本地执行区块链合约。当满足一个或多个预设触发条件时,区块链合约可以包括可由区块链系统自动执行的指令、代码或程序。为了处理区块链合约,区块链网络的每个区块链节点都可以运行一个对应的虚拟机,并在区块链合约中执行相同的指令。虚拟机是基于计算机体系架构并提供物理计算机的功能的计算机系统的软件仿真。可以将区块链环境中的虚拟机理解为被设计用于作为区块链合约的运行时环境的系统。
根据共识规则成功挖掘提出的区块链交易的新区块的特定区块链节点可以将新区块打包到其本地区块链副本中,并将该结果多播到其他区块链节点。所述特定区块链节点可以是首先成功完成验证、已经获得验证特权或者已经基于另一共识规则选择的区块链节点等。然后,其他区块链节点可以遵循由所述特定区块链节点进行的相同执行顺序,以在新区块中本地执行所述区块链交易、相互验证执行结果(例如,通过进行哈希计算)、以及将其区块链副本与所述特定区块链节点的副本进行同步。其他区块链节点可以通过更新其本地区块链副本而类似地将区块链交易中的这种信息写入各自的本地存储器中。这样,区块链合约可以被部署在区块链上。如果验证在某些时候失败,则拒绝区块链交易。
所部署的区块链合约可以具有地址,根据该地址可以访问已部署的合约。区块链节点可以通过向区块链合约输入特定参数来调用已部署的区块链合约。在一个实施例中,节点C或节点B可以请求调用部署的区块链合约以执行各种操作。例如,可以检索存储在部署的区块链合约中的数据。对于另一示例,可以将数据添加到部署的区块链合约中。对于又一示例,可以执行在部署的区块链合约中指定的金融交易。尽管如此,其他类型的区块链系统和相关的共识规则可以应用于所公开的区块链系统。
图2示出了根据一些实施例的用于实现区块链交易的框架。在一些实施例中,客户端111可以向服务器端118发送信息(例如,具有用于创建区块链账户的相关信息的请求),以使服务器端118创建区块链账户。为此,服务器端118可以生成加密密钥,将该请求与其他账户创建请求一起编译,和/或执行其他操作。然后,服务器端118可以将包括编译的账户创建请求的区块链交易(例如,区块链交易A)发送到一个或多个区块链节点以进行执行。
在一些实施例中,节点B可以构建签名的区块链交易并将其发送到一个或多个区块链节点以供执行。在一个实施例中,节点B可以构建区块链交易B。区块链交易B可以包括用于部署或调用已部署的区块链合约的区块链合约B。例如,区块链交易B可以包括创建区块链账户或调用已部署的区块链合约A的区块链合约。可以在用户端应用221处用源代码对区块链合约B进行编程。例如,用户或机器可以对区块链合约B进行编程。节点B可以使用相应的编译器来编译源代码,该编译器将源代码转换为字节码。区块链交易B可以包括诸如随机数(例如,交易序列号)、自(例如,节点B的区块链地址或另一区块链地址)、至(例如,如果部署区块链合约,则为空)、交易费、值(例如,交易额)、签名(例如,节点B的签名)、数据(例如,至区块链账户的消息)等的信息。节点B可通过远程过程调用(RPC)接口223将区块链交易B发送到一个或多个区块链节点以供执行。RPC是第一程序(例如,用户端应用)可以用来从位于网络上的另一计算机(例如,区块链节点)中的第二程序请求服务而不必理解网络细节的协议。当第一程序促使进程在不同地址空间中执行时,其好像为正常(本地)进程调用,而无需程序员明确地编码远程交互的细节。
在一些实施例中,在接收到区块链交易(例如,区块链交易A或B)时,接收方区块链可以验证区块链交易是否有效。例如,可以验证签名和其他格式。如果验证成功,接收方区块链节点就可将接收到的区块链交易(例如,区块链交易A或B)广播到包括各种其他区块链节点的区块链网络。一些区块链节点可以参与区块链交易的挖矿过程。区块链交易可以由特定区块链节点挑选,用于进行共识验证以打包到新区块中。如果区块链交易涉及区块链合约,特定区块链节点可以创建与区块链账户地址相关联的区块链合约的合约账户。如果区块链交易涉及调用部署的区块链合约,则特定区块链节点可以触发其本地虚拟机执行接收到的区块链交易,由此从其本地区块链副本调用部署的区块链合约并更新区块链中的账户状态。如果特定区块链节点成功挖出新区块,则特定区块链节点可以将新区块广播到其他区块链节点。其他区块链节点可以验证由所述特定区块链节点挖掘的新区块。如果达成共识,则将区块链交易B分别打包到由区块链节点维护的区块链本地副本中。区块链节点可以类似地触发其本地虚拟机以执行区块链交易B,从而调用部署在区块链本地副本上的区块链合约A并进行相应的更新。
在接收到新区块时,其他区块链节点可以执行验证。如果达成了新区块有效的共识,则将新区块分别打包到由区块链节点维护的区块链的本地副本中。区块链节点可以类似地触发它们的本地虚拟机(例如,本地虚拟机1、本地虚拟机i、本地虚拟机2)以执行新区块中的区块链合约,从而调用区块链的本地副本(例如,本地区块链副本1、本地区块链副本i、本地区块链副本2)并进行相应的更新。每个区块链节点的硬件机器可以访问一个或多个虚拟机,所述虚拟机可以是相应的区块链节点的一部分或耦接到相应的区块链节点。每次都可以触发相应的本地虚拟机来执行区块链交易。同样,将执行新区块中的所有其他区块链交易。轻节点也可以与更新的区块链同步。
图3示出了根据一些实施例的与用于管理数字资产的系统相关联的网络环境300。网络环境300可以包括服务侧系统310。服务侧系统310可以包括各种硬件组件(例如,服务器、数据存储、网络接口)和在硬件组件上实现的各种软件组件。在一些实施例中,如图3所示的服务侧系统310可以相当于如图1和图2所示的服务器端118,可以是服务器端118的一部分或包括服务器端118的一个或多个组件。服务侧系统310可以包括被配置为执行与数字资产的管理有关的各种操作的数字资产管理系统320。服务侧系统310还可包括区块链服务系统311、地址管理系统312、密钥管理系统(KMS)313以及一个或多个数据存储库314a、314b、314c。
在一些实施例中,服务侧系统310可以使用区块链服务系统311、地址管理系统312、或者一个或多个其他合适的系统来与区块链系统330接口。本文中,尽管图3示出了单个区块链系统330,但是本公开预期了与多个区块链系统330交互的服务侧系统310,在此将它们分别或统称为“区块链系统330”。一个或多个区块链系统330中的每个可以等同于图1和图2所示的示例性区块链系统112、113和114中的一个或多个,为图1和图2所示的示例性区块链系统112、113和114中的一个或多个的一部分,包括或基本上类似于图1和图2所示的示例性区块链系统112、113和114中的一个或多个。区块链系统330可以包括去中心化的节点网络,这些节点存储被称为区块链的记录账本并参与用于将数据添加到记录账本的共识处理。在一些实施例中,区块链可以包括公有区块链、私有区块链、联盟区块链、另一种合适类型的区块链或其任意组合。在一些实施例中,区块链可以由与资产管理和交换相关联的一个或多个区块链节点来维护。例如,一个或多个区块链节点可以对应于一个或多个资产交易机构、一个或多个资产交易监管机构、其他合适的组织或其任意组合。与区块链系统330相关联的区块链可以包括一个或多个区块链合约。一个或多个区块链合约可以被配置为由与区块链系统330相关联的虚拟机执行,以执行与数字资产相关联的一个或多个操作。这些操作可以包括创建数字资产、发行数字资产、转移数字资产、限制数字资产或解除数字资产的限制、修改数字资产的一个或多个特征、其他合适的操作或其任意组合。为了与区块链系统330接口,服务侧系统310可以包括区块链系统330的一个或多个节点,并且经由一个或多个节点直接参与区块链系统330的共识处理。备选地,服务侧系统310可以通过与由其他方控制的区块链系统330的一个或多个区块链节点通信来与区块链系统330接口。服务侧系统310可以将一个或多个区块链交易添加到与区块链系统330相关联的区块链。一个或多个区块链交易可以部署或调用区块链上的一个或多个区块链合约。
在一些实施例中,网络环境300还可以包括可以向多个用户350提供一个或多个服务的用户侧系统340以及可以安装在用户350的客户端设备上的服务应用360。本文中,尽管图3示出了单个用户侧系统340,但是本公开预期与多个用户侧系统340交互的服务侧系统310,该多个用户侧系统340在本文中被分别或统称为“用户侧系统340”。本公开还预期将多个服务应用360提供给用户350,在本文中多个服务应用360被分别或统称为“服务应用360”。在一些实施例中,服务应用360可以由服务侧系统310的提供方开发或以其他方式提供。服务应用360可以安装在与一个或多个用户350相关联的一个或多个客户端设备上。服务应用360可以为用户350提供一个或多个用户界面,以与由服务侧系统310提供的一个或多个服务进行交互。例如,服务应用360可以允许用户访问由服务侧系统310维护的账户信息、访问与由服务侧系统310创建的一个或多个数字资产相关联的信息、订阅与特定账户或数字资产相关交易相关联的信息、执行一个或多个其他操作或其任意组合。服务应用360可以经由一个或多个网络连接到与服务侧系统310相关联的一个或多个计算设备。服务应用序360可以专用于管理数字资产,或者可以集成一个或多个其他合适的功能。
在一些实施例中,用户侧系统340可以对应于实体。所述实体可以是向多个用户350提供一个或多个产品或服务的企业实体。所述实体还可以是单个用户、一组用户、组织、其他合适的实体或其任何组合。用户侧系统340可以包括多个计算机系统、数据存储库、云服务、移动应用、其他合适的组件或其任意组合。用户侧系统340可以包括应用编程接口(API)341,其可以允许用户350经由API调用访问由用户侧系统340提供的一个或多个服务。用户侧系统340还可包括管理控制台342,该管理控制台342允许由与用户侧系统340相关联的实体控制用户侧系统340的一个或多个操作。管理控制台342可以被配置为控制用户侧系统340以处理来自一个或多个用户350的一个或多个请求,响应于来自用户350的请求执行一个或多个操作,将一个或多个请求发送到服务端侧统310,从服务侧系统310接收一个或多个输出,将从服务侧系统310接收的信息转发给一个或多个用户350,或执行一个或多个其他合适的操作。在一些实施例中,用户侧系统340可以存储与用户侧系统340相关实体的用户的多个用户账户相关联的数据。
在一些实施例中,用户侧系统340可以对应于提供资产相关服务的实体或由其管理,所述资产相关服务例如为有价值资产(例如,古董、收藏品、艺术品、消费品、生产材料)的交换或拍卖平台。该实体可以向其用户350提供多种服务。所述服务可以包括,例如,资产存储,资产认证,资产的购买和销售,供其他用户购买的资产清单,用户资金的保管,用户之间的资金转移,用户之间的资产转移,用户账户、资产和资产交易的记录保持,其他合适的服务或其任意组合。作为示例,用户350可以拥有一件有价值的艺术品,并且可以使用与艺术品有关的与用户侧系统340相关联的实体的一个或多个服务。用户350可以向实体申请并开设账户,该账户可以链接到与用户350相关联的一个或多个金融账户。用户350可以将艺术品托管给实体以进行存储。实体可以检查艺术品、对其进行鉴定、以及提供关于其真实性的证明或背书。实体还可以评估艺术品的状况并提供艺术品的估计价值。用户350可能希望出售艺术品并且可以请求实体列出艺术品以供购买。该实体可以充当代理以促进用户350与感兴趣的买方之间的协商和交易。例如,在用户350和买方达成关于艺术品的转让的协议之后,实体可以同时将钱从买方转移到用户350以及将艺术品的所有权从用户350转移到买方。该实体可以经由用户侧系统340提供一个或多个其服务。例如,用户侧系统340可以维护与多个用户350相关联的多个用户账户,存储与用户350以及用户账户相关联的简档和服务使用信息,电子转移与用户350相关联的资金,公布可用于交换的资产的清单,或提供其他合适的服务。
在一些实施例中,用户侧系统340可以使用户350能够使用由服务侧系统310提供的一个或多个服务。代表用户350,用户侧系统340可以向服务侧系统310发送一个或多个请求以创建与用户350拥有的有形资产相对应的数字资产。对于每一件或一组有形资产,用户侧系统340可以请求服务侧系统310创建一个或多个单元的数字资产,从而使数字资产可分割。用户侧系统340可以维护数字资产和有形资产之间的映射关系。数字资产的所有权可以映射到相应有形资产的所有权。因此,整个数字资产的所有者可以被认为是与该数字资产相对应的有形资产的所有者。用户侧系统340可以将与有形资产相关联的信息提供给服务侧系统310以进行验证和记录。用户侧系统340可以向服务侧系统310发送请求以实现与数字资产有关的一个或多个操作,诸如数字资产的发行、数字资产的转移、数字资产的限制和解除限制、消除数字资产、其他合适的操作或其任何组合。用户侧系统340还可以向服务侧系统310发送请求以实现与由用户侧系统340维护的一个或多个用户账户相关联的一个或多个操作,例如创建和消除用于保留数字资产的账户(例如,区块链账户)、账户激活或停用、获得与账户相关联的交易历史记录、将数字资产转移到账户中或从账户转移出数字资产、其他合适的操作或其任意组合。用户侧系统340还可从服务侧系统310获得信息,存储获得的信息,或将信息中继给用户350。该信息可以包括例如账户信息、交易信息、关于数字资产的信息、其他合适的信息或任何组合。
区块链服务系统311可以向一个或多个区块链系统330提供各种接口。区块链服务系统311可以包括区块链即服务(BaaS)云或其他合适的云服务,作为其一部分或以其他方式与之相关联。区块链服务系统311可以从服务侧系统310内部或外部的各种系统接收输入,并基于所述输入促进诸如区块链交易部署,区块链合约创建、部署和执行以及区块链账户创建之类的操作的创建和执行。区块链服务系统311还可从一个或多个区块链系统330获得信息和数据,并将该信息和数据馈送到一个或多个其他系统。在一些实施例中,地址管理系统312或密钥管理系统313可以被实现为耦接到区块链服务系统311的独立系统。在其他实施例中,地址管理系统312和密钥管理系统313可以被集成为区块链服务系统311或另一合适在线平台的一部分。
地址管理系统312可以管理与区块链系统330相关联的区块链地址或账户的有关各种操作。地址管理系统312可以被配置为创建一个或多个区块链账户,停用一个或多个区块链账户,存储与一个或多个区块链账户相关联的信息,执行一个或多个其他合适的操作或其任意组合。在一些实施例中,服务侧系统310可以从用户侧系统340或服务应用360接收用于为用户350创建一个或多个区块链账户的请求。该请求可以包括与由用户侧系统340维护的用户350相关用户账户相关联的信息或其他用户信息。在地址管理系统312为用户350创建一个或多个区块链账户之后,服务侧系统310可以存储创建的区块链账户与由用户侧系统340维护的用户账户之间的映射关系。这可以允许服务侧系统310基于关于用户350的用户账户的信息识别与用户350相关联的区块链账户。在一些实施例中,地址管理系统312可以同时创建与由用户侧系统340维护的多个用户账户相对应的多个区块链地址或账户。可以响应于单个请求批量创建多个区块链地址或账户。如上所述,每个创建的区块链地址或账户可以被映射到用户侧账户。
在一些实施例中,KMS 313可以生成、分发和管理用于设备和应用的加密密钥。它可以涵盖从密钥的安全生成到密钥的安全交换,再到安全的密钥处理和存储的安全性方面。KMS 313的功能可以包括密钥生成、分发和替换以及密钥置入、存储和管理。KMS 313可以包括可信执行环境(TEE)或耦接到可信执行环境。TEE可以是设备的主处理器上的与主操作系统分离的隔离区域。TEE可以提供隔离的执行环境,该环境提供安全特征,例如隔离的执行、使用TEE执行的应用的完整性以及其资产的机密性。它可以保证内部加载的代码和数据在机密性和完整性方面得到保护。在一些实施例中,KMS 313可以在TEE中生成一个或多个加密密钥对。在输出加密密钥对之前,TEE可以对私钥进行加密。私钥的加密可以基于各种方法或标准,例如数据加密标准(DES)、TripleDES、RSA、高级加密标准(AES)、Twofish等。KMS 313可以存储与公钥相关联的加密的私钥。为了使用私钥,KMS 313可以将加密的私钥馈送到TEE以进行解密和处理。
在一些实施例中,区块链服务系统311和地址管理系统312可以调用KMS 313的一个或多个功能。作为示例,区块链服务系统311可以生成与区块链系统330相关联的区块链账户相关的区块链交易。为了使所述交易被区块链系统330验证,可能需要包括与区块链账户相关联的数字签名。区块链服务系统311可以将对数字签名的请求发送给KMS 313。响应于该请求,KMS 313可以使用与区块链账户相关联的加密密钥对的私钥来创建用于区块链交易的数字签名,并将该数字签名提供给区块链服务系统311。然后,区块链服务系统311可以将签名的区块链交易添加到与区块链系统330相关联的区块链。作为另一示例,地址管理系统312可能需要创建新的区块链地址或账户。为此,地址管理系统312可以向KMS 313发送请求以生成加密密钥对。KMS 313可以将加密密钥对的公钥返回给地址管理系统312。地址管理系统312可基于由KMS 313返回的公钥生成新的区块链地址或账户。在一些实施例中,服务侧系统310的一个或多个其他组件可以调用KMS 313的一个或多个功能。
在一些实施例中,数字资产管理系统320可以被配置为执行与数字资产管理有关的各种操作。它可以包括一个或多个硬件、软件或逻辑组件,包括例如数字资产模块321、交易模块322、监管模块323、账户模块324、数据模块325、一个或多个其他合适的组件或其任何组合。数字资产管理系统320可以与服务侧系统310的一个或多个其他组件诸如区块链服务系统311、地址管理系统312、密钥管理系统313、数据存储库314a、314b、314c进行交互。数字资产管理系统320也可以连接到用户侧系统340、服务应用360或一个或多个其他外部系统。
在一些实施例中,数字资产模块321可以被配置为用于创建数字资产,将数字资产发行给一个或多个用户账户,管理对数字资产的限制,检查数字资产的状态,执行关于数字资产的一个或多个其他操作或其任何组合。数字资产模块321可以基于从诸如用户侧系统340的外部系统接收的输入执行操作。数字资产模块321可以结合服务侧系统320的一个或多个其他组件执行操作。例如,数字资产模块321可以指示区块链服务系统311创建一个或多个区块链交易,以添加到与区块链系统330相关联的区块链中。区块链交易可以被配置为用于例如将与数字资产相关联的区块链合约部署在区块链上,调用区块链合约以触发与区块链相关联的虚拟机的一个或多个操作,执行另一种合适功能或其任何组合。
在一些实施例中,数字资产模块321可以从用户侧系统340接收用于创建数字资产的请求。该请求可以包括与用户侧系统340相关实体拥有的有形资产(例如,古董)相关联的信息。数字资产模块321可以被配置为通过指示区块链服务系统311在与区块链系统330相关联的区块链上部署与数字资产相对应的区块链合约来生成数字资产。当创建数字资产时,数字资产模块321可以确定数字资产的数量。例如,数字资产模块321可以确定要创建1000个单位的数字资产来表示一件特定艺术品。在一些实施例中,数字资产模块321可以被配置为向用于存储数字资产的一个或多个区块链账户发行一定数量的数字资产。数字资产模块321可以通过指示区块链服务系统311向区块链添加一个或多个区块链交易来这样做。区块链交易可以调用与数字资产相对应的区块链合约。在一些实施例中,数字资产模块321可以被配置为将数字资产的剩余部分发行给一个或多个区块链账户。例如,数字资产的总数量可以为1000个单位,其中已发行100个单位。数字资产模块321可以被配置为将数字资产的剩余900个单位中的一个或多个单位发行到一个或多个区块链账户。在一些实施例中,数字资产模块321可以被配置为将附加数量的数字资产发行到一个或多个区块链账户。例如,全部1000个单位的数字资产可能已发行到一个或多个区块链账户。数字资产模块321可以创建300个附加单位的数字资产,并将新创建单位的数字资产发行到一个或多个区块链账户。在一些实施例中,数字资产模块321可以查询数字资产的状态并将结果馈送到用户侧系统340。数字资产的状态可以包括例如是否对数字资产、拥有数字资产的区块链账户、其他状态信息或其任何组合有限制。可以经由区块链服务系统311从与区块链系统330相关联的区块链获得数字资产的状态信息。在一些实施例中,数字资产模块321可以对数字资产施加限制或去除对数字资产施加的限制。在一些实施例中,数字资产模块321可以将一定数量的数字资产从与实体相关联的受限区块链账户移动到与该实体相关联的不受限区块链账户,以便解除对数字资产的限制。
在一些实施例中,交易模块322可以被配置为实现一个或多个区块链账户之间的一个或多个数字资产交易。所述交易可以由用户侧系统340代表一个或多个用户350发起。备选地,所述交易可以由用户350使用服务应用360直接发起。用户侧系统340可以处理与用户侧系统340相关联的用户账户之间的交易,并且向服务侧系统310提供相应的信息。服务侧系统310可以基于它们之间的预先存储的映射关系识别与用户账户相对应的区块链账户,并且根据来自用户侧系统340的交易信息,将一定数量的数字资产从一个区块链账户转移到另一个。交易模块322可以基于从诸如用户侧系统340的外部系统接收的输入执行操作。交易模块322可以结合服务侧系统310的一个或多个其他组件执行操作。例如,交易模块322可以指示区块链服务系统311创建一个或多个区块链交易,以添加到与区块链系统330相关联的区块链中。区块链交易可以被配置为用于例如将与数字资产相关联的区块链合约部署在区块链上,调用区块链合约以触发与区块链相关联的虚拟机的一个或多个操作,执行另一种合适功能或其任何组合。
在一些实施例中,交易模块322可以被配置为向一个或多个区块链账户发行一定数量的数字资产。交易模块322可以指示区块链服务系统311向与区块链系统330相关联的区块链添加一个或多个区块链交易,以调用与数字资产相关联的区块链合约以发行数字资产。可以首先将数字资产发行到与数字资产的接收方相关联的受限区块链账户。交易模块322可随后将该数字资产从受限区块链账户移动到非受限区块链账户。在那里,数字资产可以转移到其他区块链账户。在一些实施例中,数字资产的一部分可以周期性地从受限区块链账户移动到不受限区块链账户。为了移动数字资产,交易模块322可以类似地指示区块链服务系统311生成一个或多个区块链交易并将所述一个或多个区块链交易添加到区块链。在一些实施例中,交易模块322可以被配置为将一定数量的数字资产从与第一用户相关联的第一区块链账户转移到与第二用户相关联的第二区块链账户。交易模块322可以指示区块链服务系统311生成用于转移数字资产的一个或多个区块链交易,并将所述一个或多个区块链交易添加到区块链。在一些实施例中,交易模块322可从与区块链系统330相关联的区块链获得与一个或多个数字资产交易相关联的信息,并将该信息馈送到用户侧系统340或服务应用360。例如,可以在特定时间段内获得与数字资产交易相关联的信息。作为另一个示例,可以基于与数字资产交易相关联的哈希值来识别与数字资产交易相关联的信息,并从区块链中检索该信息。为了获得关于一个或多个数字资产交易的信息,交易模块可以使用区块链服务系统311从区块链获得一个或多个相关区块,并从所述区块中提取所请求的交易信息。在一些实施例中,交易模块322可以被配置为响应来自用户侧系统340的请求,撤销先前的数字资产交易。交易模块322可以指示区块链服务系统311生成区块链交易以在相对于先前数字资产交易的相反方向上转移数字资产。
在一些实施例中,监管模块323可以被配置为监视与数字资产相关联的各种活动。监管模块323可以通过使用区块链服务系统311从与区块链系统330相关联的区块链获得数据来获得关于数字资产交易的信息。备选地或附加地,监管模块323可以直接从服务侧系统310的一个或多个其他组件获得关于数字资产的信息。监管模块323可以检查所监视的活动以检测一个或多个安全风险或违规行为。备选地,监管模块323可以从用户侧系统340接收安全风险或违规行为的报告。作为示例,监管模块323可以检测与用户350相关联的区块链账户已经参与了风险或可疑交易。监管模块323可以据此冻结该区块链账户,从而禁止该区块链账户进行任何进一步的数字资产交易。作为另一示例,监管模块323可以检测数字资产的一个或多个问题(例如,与数字资产相对应的有形资产的真实性问题)。监管模块323可以冻结数字资产并禁止数字资产的任何交易。在某些情况下,监管模块323可以进一步迫使数字资产的创建者回购所有数字资产。在一些实施例中,监管模块可以指示区块链服务系统311生成调用与数字资产相关联的区块链合约的一个或多个区块链交易。区块链服务系统311可以将区块链交易添加到区块链,这可以修改区块链合约的一个或多个参数以冻结数字资产。在其他实施例中,监管模块323可以改变服务侧系统310的一个或多个设置以直接阻止与冻结账户或冻结数字资产相关联的任何交易请求。在又一其他实施例中,监管模块323可以向与关于可疑活动的监管机构相对应的区块链系统330的一个或多个区块链节点发送一个或多个通知。然后,与监管机构相对应的区块链节点可以将一个或多个区块链交易添加到区块链以冻结账户或数字资产。
在一些实施例中,账户模块324可以被配置为用于创建和维护与用于存储数字资产的各种区块链账户相关联的信息。账户模块324可以指示地址管理系统312创建区块链账户并将区块链账户与用户侧系统340相关的用户账户相关联。区块链账户可以包括受限区块链账户、不受限区块链账户、回购区块链账户、其他合适的区块链账户或其任意组合。可以不允许与用户350相关联的受限区块链账户和与其他用户350相关联的区块链账户进行数字资产交易。数字资产可以从受限区块链账户移动到与同一用户350相关联的不受限区块链账户。不受限区块链账户可以与其他区块链账户进行数字资产交易。可以为数字资产的创建者创建回购区块链账户。在回购事件中,所有数字资产都可以转移到回购账户。可以禁止回购账户进行将数字资产从回购账户转出的数字资产交易。例如,当用户350获得与有形资产相对应的所有数字资产并请求从数字资产的创建者赎回有形资产时,或者当与数字资产相对应的有形资产受到损坏并且无法再证实数字资产的价值时,可能会发生回购事件。账户模块324可以获得与多个区块链账户中的每个相关联的信息,并存储与区块链账户相关联的信息。例如,账户模块324可以存储区块链账户与由用户侧系统340维护的用户账户之间的映射关系、区块链账户中的数字资产、区块链账户的交易历史记录、与区块链账户相关的其他适当信息或其任何组合。在一些实施例中,账户模块324可以被配置为用于从与区块链系统330相关联的区块链获得与一个或多个区块链账户相关联的信息,并将该信息馈送到用户侧系统340或一个或多个用户350。账户模块324可以通过区块链服务系统311请求一个或多个感兴趣的区块中的数据,从区块中检索与一个或多个区块链账户相关联的区块链交易,过滤或组织数据,以及将数据提供给一个或多个相关用户350。
在一些实施例中,数据模块325可以被配置为用于从与区块链系统330相关联的区块链收集数据。数据模块325可以指示区块链服务系统311从区块链获得一个或多个区块,从所述区块提取与多个区块链交易相关联的数据,以及分析该数据。例如,数据模块325可以生成与数字资产相关联的各种统计资料(例如,持有该数字资产的账户数量)或与账户相关联的各种统计资料(例如,一段时间内与该账户相关联的数字资产交易的数量)。数据模块325可以将获得的数据和数据的分析结果存储在一个或多个数据存储库314中。在用户350经由服务应用360或用户侧系统340请求时,数据模块325可以提供这样的数据。虽然图3示出了模块321-325,但是本公开预期了包括一个或多个其他合适的模块(例如,用于管理资产保险信息的模块)的数字资产管理系统。
图4示出了根据一些实施例的用于创建与有形资产相对应的数字资产的方法400。以下呈现的方法的操作旨在进行说明。取决于实施方式,所述方法可以包括以各种顺序或并行执行的附加的、更少的或替代的步骤。方法400可以在步骤410开始,在步骤410中,服务侧系统310可以获得用于创建与有形资产相对应的数字资产的请求。数字资产可以代表有形资产的价值和所有权。可以从用户侧系统340接收该请求。例如,与用户侧系统340相关联的实体可以被称为数字资产的创建者。该请求可以包括数字资产的一个或多个特征。这些特征可以包括例如数字资产的数量、用于创建数字资产的区块链系统、一个或多个权限、对数字资产的一个或多个限制,数字资产的一个或多个其他合适的特征、或其任何组合。在一些实施例中,用于创建数字资产的请求可以包括指示有形资产的真实性和状况的证明。该证明可以由与服务侧系统340相关联的实体提供。该实体可以是例如从事认证、保管和交换有价值的有形资产的资产交易公司。在一些实施例中,有形资产可以被与服务侧系统340或创建者相关联的实体拥有。用于创建数字资产的请求可以包括创建者对有形资产的存在、真实性、状况、数量或其他方面的背书。
在步骤420处,服务侧系统310可以验证用于创建数字资产的请求的发送方或数字资产的创建者是否具有用于创建数字资产所需的一个或多个权限。服务侧系统310可以基于获得的请求确定与数字资产的创建者相关联的一个或多个权限。然后,服务侧系统310可以验证与创建者相关联的权限满足数字资产创建所需的一个或多个权限。作为示例而非限制,数字资产发行所需的一个或多个权限可以包括用于为一种或多种有形资产创建数字资产的权限、用于为特定价值范围的有形资产创建数字资产的权限、其他合适的所需权限或它们的任意组合。服务侧系统310可以已经与用户侧系统340建立了信任关系,并且已经获得与用户侧系统340相关联的信息。服务侧系统310可以已经向用户侧系统340授予一个或多个权限。例如,服务侧系统310可以已经接收并检查了由政府实体授予与用户侧系统340相关联的实体的古董鉴定许可证。服务侧系统310还可以已经接收由与用户侧系统340相关联的实体已经购买的最高100万美元的财产损失保险的证明。因此,服务侧系统310可以授予用户侧系统340权限来发行与价值最高100万美元的古董相对应的数字资产。在该示例的场景中,服务侧系统310可以确定与用于创建数字资产的请求相关联的有形资产的类型和估计价值。如果有形资产是估计价值低于100万美元的古董,则服务侧系统310可以成功地验证创建者具有用于创建数字资产所需的权限。否则,服务侧系统310可以确定创建者不具有所需的权限,并且可以拒绝该请求。
在步骤430处,服务侧系统310可以基于数字资产的一个或多个特征生成与有形资产相对应的区块链合约。区块链合约可以包括可以基于用于创建数字资产的请求中数字资产的一个或多个特征指定的与数字资产相关联的一个或多个属性。所述一个或多个属性可以包括数字资产的总数量、数字资产的类型、与数字资产的创建者相关联的区块链账户、与数字资产的创建者相关联的区块链账户中保留的数字资产的数量、初始发行数字资产的日期、初始发行数字资产的数字资产的数量、其他合适的属性或其任何组合。在一些实施例中,区块链合约可以包括软件代码或程序,所述软件代码或程序可以包括一个或多个可执行功能。可执行功能可包括可执行以将一定数量的数字资产发行至与该区块链相关联的一个或多个区块链账户的功能、可执行以将一定数量的数字资产从与该区块链相关联的第一区块链账户转移至与该区块链相关联的第二区块链账户的功能、可执行以对数字资产设置一个或多个限制的功能、可执行以去除对数字资产的一个或多个限制的功能、可执行以确定是否提供与数字资产相关联的权限的功能、其他合适的可执行功能或其任何组合。在将区块链合约部署在区块链上之后,用于管理数字资产的一个或多个区块链交易可以调用一个或多个可执行功能。
在一些实施例中,区块链合约可以包括与该区块链相关联的一个或多个区块链账户所需的一个或多个权限,或执行关于与该区块链合约相关联的数字资产的一个或多个操作所需的一个或多个权限。作为示例,区块链合约可以指定与数字资产的创建者相关联的区块链账户可以用于执行关于数字资产的多种操作。这些操作可以包括发行数字资产、转移数字资产、限制数字资产、管理数字资产的解除限制、回购数字资产或其他适当操作。由与创建者的区块链账户相关联的加密密钥签名的交易可能够触发与这些操作相对应的区块链合约的可执行功能。作为另一个示例,区块链合约可以指定与普通用户350相关联的区块链账户可以用于转移区块链账户中的任何非限制数字资产。由与普通用户350的区块链账户相关联的加密密钥签名的交易可能够触发与数字资产转移操作相对应的区块链合约的可执行功能。服务侧系统310可以存储区块链合约包括的权限。基于这样的信息,服务侧系统310可以抢先确定区块链交易请求是否与具有足够权限的区块链账户相关联,并且拒绝不满足权限要求的任何此类请求。
在步骤440处,服务侧系统310可以将生成的区块链合约部署在区块链上。区块链可以与区块链系统330相关联并由其维护。部署的区块链合约可以是可执行的(例如,通过与区块链系统330相关联的虚拟机)以发行与有形资产相对应的数字资产。为了在区块链上部署所生成的区块链合约,服务侧系统310可以生成包括所生成的区块链合约的区块链交易,并将该区块链交易发送到区块链节点以添加到区块链。在一些实施例中,用于部署区块链合约的区块链交易可以包括与对应于数字资产的有形资产相关联的信息。该信息可以包括有形资产的标识、有形资产的估价、与有形资产的创建相关联的时间表、有形资产的特征、有形资产的数量、其他合适的信息或其任意组合。以此方式,与有形资产相关联的信息可以被永久地记录在区块链中,因此使得具有对区块链的访问权限的一个或多个系统(例如,区块链系统330的一个或多个区块链节点)可以访问该信息。
在步骤450处,服务侧系统310可以从区块链系统330获得区块链合约的部署结果。例如,服务侧系统310可以获得已经由区块链系统330的共识处理确认的区块链的当前状态,并且确定部署的区块链合约是否已经存储在区块链中。如果是,则服务侧系统310可以确定与数字资产相关联的区块链合约已经被成功部署并且数字资产已经被成功创建。
在步骤460处,服务侧系统310可以记录部署的区块链合约与数字资产之间的映射关系。服务侧系统310可以进一步本地存储与部署的区块链合约相关信息一致的与有形资产相关联的信息。以这种方式,服务侧系统310可以基于可以从用户侧系统340接收的与有形资产相关联的信息来识别数字资产或其对应区块链合约。类似地,服务侧系统310可以获得与数字资产相关联的信息(例如,调用与该数字资产相对应的区块链合约的一个或多个交易),并且识别与所获得的信息相关的有形资产。
在步骤470处,服务侧系统310可以向用户侧系统340返回确认所请求的数字资产已经被成功创建的响应。该响应可以包括与数字资产相关联的信息,该信息可以包括例如在其上创建数字资产的区块链、该数字资产的总数量、与该数字资产相对应的与区块链合约相关联的地址、其他适当信息、或其任何组合。
在一些实施例中,与数字资产相对应的区块链合约可以包括可以修改的一个或多个参数。服务侧系统310可以生成用于修改与数字资产相关联的一个或多个属性(例如,总数量、类型)中的一个或多个的区块链交易,并将该区块链交易发送到区块链节点以添加到区块链。所述区块链交易可以调用部署的区块链合约以修改对应于与数字资产相关联的一个或多个属性的一个或多个参数。
图5示出了根据一些实施例的由用于管理数字资产的系统执行的用于创建数字资产的操作。在一些实施例中,服务侧系统310可以接收与有形资产501相关联的信息。该信息可以被包括在用于创建对应数字资产502的请求中。与有形资产501相关联的信息可以包括例如有形资产501的类型、有形资产501的数量、有形资产501的状况、其他合适的信息或其任意组合。响应于该请求,服务侧系统310可以生成表示有形资产501的价值和所有权的数字资产502。服务侧系统310可以生成与数字资产502相对应的区块链合约以及与数字资产502的创建相关联的各种区块链交易。服务侧系统310可以将区块链交易添加到由区块链系统330维护的区块链。区块链交易可以实现操作510(可以对应于部署区块链合约)、操作520(可以对应于初始化区块链合约)以及操作530(可以对应于更新数字资产502的创建者的账户信息)。操作510、520和530可以由与执行对应于数字资产502的区块链合约的区块链系统330相关联的虚拟机执行。
当在操作510处区块链合约被部署到区块链时,各种信息可以最初包含在区块链合约中,或者当在操作520处区块链合约被初始化时,各种信息可以被添加到区块链合约中。该信息可以包括与对数字资产502的一个或多个操作相对应的可执行代码、对数字资产502的一个或多个限制、与有形资产501相关联的信息(例如,估计价值、创建年份、属性)、数字资产502的总数量、要发行的数字资产502的数量、要保留在与数字资产的创建者相关联的区块链账户中的数字资产502的数量、待流通的数字资产502的数量、待解除限制的数字资产502的一部分、其他适当信息或其任意组合。在操作530处更新的账户信息可以包括与数字资产502的创建者相关联的一个或多个区块链地址或账户。所述一个或多个区块链账户可以包括用于创建者保留数字资产502的总数量的一部分的受限区块链账户、用于创建者参与到与其他用户350的数字资产502的交易的不受限区块链账户、和用于创建者从其他用户350回购数字资产502的回购区块链账户。创建者的区块链账户可以不同于与普通用户350相关联的一个或多个区块链账户。例如,普通用户350可以没有回购区块链账户,而仅具有配置为用于保留数字资产502的受限区块链账户或不受限区块链账户。
图6示出了根据一些实施例的用于向一个或多个区块链账户发行一定数量的数字资产的方法600。以下呈现的方法的操作旨在进行说明。取决于实施方式,所述方法可以包括以各种次序或并行执行的附加的、更少的或可选的步骤。方法600可以在步骤610开始,在步骤610中,服务侧系统310可以从用户侧系统340接收用于向与区块链系统330维护的区块链相关联的一个或多个区块链账户发行一定数量的数字资产的请求。在一些实施例中,一个或多个区块链账户可以与数字资产的一个或多个批发商或分销商相关联。为了发送用于发行数字资产的请求,用户侧系统340可以已经与区块链账户相关实体达成协议或完成交易。在一些实施例中,用于发行数字资产的请求可以包括与一个或多个区块链账户中的每个账户相关联的标识(例如,区块链地址)、要发行给一个或多个区块链账户中的每个账户的一定数量的数字资产、与一个或多个区块链账户中的每个账户相关联的一个或多个解除限制条件、其他合适的信息或其任意组合。
在步骤620处,服务侧系统310可以验证用于发行数字资产的请求的发送方是否拥有一个或多个所需的权限。作为示例,服务侧系统310可以允许数字资产的创建者或发起数字资产的创建的系统提出该请求。由此,服务侧系统310可以验证是否从数字资产的创建者接收到该请求。在步骤620处,服务侧系统310可以进一步识别与数字资产相对应的区块链合约。如果权限的验证成功,则服务侧系统310可以进行到步骤630。否则,服务侧系统310可以拒绝用于发行数字资产的请求。
在步骤630处,服务侧系统310可以生成用于向与区块链相关联的一个或多个区块链账户发行一定数量的数字资产的一个或多个区块链交易。所述一个或多个区块链交易可以调用与在步骤620处识别的数字资产相对应的区块链合约。在步骤630处,服务侧系统310可以进一步将一个或多个区块链交易发送到与区块链系统330相关联的区块链节点,以添加到区块链。在一些实施例中,服务侧系统310可以验证对与数字资产相对应的区块链合约的一个或多个属性的遵守情况。所请求的数字资产的发行可以是数字资产的初始发行、数字资产的剩余部分的发行、数字资产的附加单位的发行、另一种合适的发行类型或其任意组合。例如,在初始发行的情况下,可以请求发行的数字资产的数量小于或等于数字资产的初始发行的数字资产的数量。服务侧系统310可以基于该请求来确定用于发行的数字资产的数量。然后,服务侧系统310可以验证所确定的数量不大于用于初始发行的数字资产的数量。用于初始发行的数字资产的数量可以与区块链合约相关联地存储在区块链中。
在步骤640处,服务侧系统310可以从区块链系统330获得用于发行数字资产的区块链交易的结果。例如,服务侧系统310可以获得已经由区块链系统330的共识处理确认的区块链的当前状态,并且确定区块链合约是否已经存储在区块链中。作为另一示例,在请求发行数字资产之后,服务侧系统310可以确定在一个或多个区块链账户中的每个账户中存储的数字资产的数量并验证该数量与预期数量一致。在步骤650处,服务侧系统310可以将请求返回给用户侧系统340,以确认数字资产的成功发行。
在一些实施例中,数字资产可以被发行到与用户350相关联的受限区块链账户。以这种方式发行的数字资产可能无法立即从受限区块链账户中转移,而需要在转移之前解除限制。在一些实施例中,服务侧系统310可以本地存储与用于将数字资产发行到受限区块链账户的区块链交易相关联的信息。服务侧系统310还可以本地存储与受限区块链账户相关信息一致的一个或多个解除限制条件。例如,本地存储的一个或多个解除限制条件可以包括用于解除对数字资产的限制的时间表。服务侧系统310可以稍后执行一个或多个操作以解除对数字资产的限制。
图7示出了根据一些实施例的用于解除对一定数量的数字资产的限制的方法700。以下呈现的方法的操作旨在进行说明。取决于实施方式,所述方法可以包括以各种次序或并行执行的附加的、更少的或可选的步骤。在一些实施例中,方法700可以在向与用户相关联的受限区块链账户发行一定数量的数字资产之后发生。服务侧系统310可以解除对受限区块链账户中的数字资产的一部分或全部的限制。方法700可以在步骤710开始,在步骤710中,服务侧系统310可以检测用于解除对与有形资产相关联的一定数量的数字资产的限制的触发事件。有形资产可以对应于由区块链系统330维护的区块链上部署的区块链合约。数字资产可以基于区块链合约创建,并代表有形资产的价值和所有权。
在一些实施例中,触发事件可以包括用于解除对数字资产的限制的请求。为了检测触发事件,服务侧系统310可以获得用于解除对一定数量的数字资产的限制的请求。例如,该请求可以已经由用户侧系统340发送。服务侧系统310可以基于该请求来确定与该请求的发送方相关联的一个或多个权限,并验证与该发送方相关联的一个或多个权限满足解除对一定数量的数字资产的限制所需的一个或多个权限。在一些实施例中,服务侧系统310可以向数字资产的创建者授予解除对数字资产的限制的一个或多个权限。服务侧系统310可以确定是否从创建者接收到用于解除对数字资产的限制的请求。如果是,则服务侧系统310可以进行到步骤720。否则,服务侧系统310可以拒绝该请求。
在其他实施例中,触发事件可以包括满足基于时间的条件。为了检测触发事件,服务侧系统310可以基于当前时间确定满足基于时间的条件。作为示例,当将数字资产发行到受限区块链账户时,服务侧系统310可以存储一个或多个解除限制条件。解除限制条件可以包括用于解除对数字资产的限制的时间表。服务侧系统310可以通过确定时间表中指定的时间点是当前时间来检测触发事件。
在一些实施例中,一个或多个解除限制条件可以指定数字资产的周期性解除限制。作为示例,解除限制条件可以指定特定数量的数字资产每天都要被解除限制。作为另一示例,解除限制条件可以指定区块链账户中的一定百分比的数字资产每月一次要被解除限制。因此,服务侧系统310可以在某一天或其他合适时间段共同处理对多个区块链账户的解除限制。服务侧系统310可以在预定时间点获得用于解除对多个数字资产的限制的多个条件。服务侧系统310可以确定一个或多个获得条件被满足。然后,服务侧系统310可以继续解除对一个或多个获得条件相对应的一个或多个数字资产的限制。
响应于检测触发事件,服务侧系统310可以继续解除对一定数量的数字资产的限制。在步骤720处,服务侧系统310可以生成用于将一定数量的数字资产从与区块链相关联的受限区块链账户转移至与区块链相关联的不受限区块链账户的区块链交易。区块链交易可以调用与由数字资产表示的有形资产相对应的区块链合约。在一些实施例中,区块链交易可以包括与区块链合约相关联的标识、与受限区块链账户相关联的标识、与不受限区块链账户相关联的标识、要解除限制的数字资产的数量、其他合适的信息或其任何组合。在一些实施例中,要解除限制的数字资产的数量可以是受限区块链账户中整个数字资产的一部分。在这种情况下,服务侧系统310可以确定受限区块链账户中的数字资产的数量,并且确定要解除限制的数字资产的数量为所确定的受限区块链账户中的数字资产的数量的预设部分(例如,10%)。然后,服务侧系统310可以在区块链交易中包括要解除限制的该确定数量的数字资产。在一些实施例中,服务侧系统310可以通过一个区块链交易共同处理多个区块链账户中的数字资产的解除限制。在这种情况下,区块链交易可以包括将多个数字资产从多个受限区块链账户转移到多个不受限区块链账户。
在步骤730处,服务侧系统310可以将用于解除对数字资产的限制的区块链交易发送到与区块链系统330相关联的区块链节点,以添加到区块链。在步骤740处,区块链交易可以通过与区块链系统330相关联的虚拟机执行与数字资产相关联的区块链合约。虚拟机可以执行用于转移数字资产的区块链合约的功能,以将一定数量的数字资产从受限区块链账户转移至不受限区块链账户。在步骤750处,服务侧系统310可以从区块链系统330获得用于解除对数字资产的限制的区块链交易的结果。例如,服务侧系统310可以获得已经通过区块链系统330的共识处理确认的区块链的当前状态,并确定不受限区块链账户中的数字资产的数量和受限区块链账户中的数字资产的数量。
图8示出了根据一些实施例的由用于管理数字资产的系统执行的用于发行数字资产和解除对数字资产的限制的操作。在一些实施例中,服务侧系统310可以已经创建了数字资产502。可以通过在区块链系统330维护的区块链上部署相应的区块链合约来创建数字资产502。服务侧系统310可以向受限区块链账户发行一定数量的数字资产,然后解除对数字资产的限制。服务侧系统310可以生成用于发行数字资产的一个或多个区块链交易,以及用于解除对数字资产的限制的一个或多个区块链交易,并将所述区块链交易添加到区块链。区块链交易可以执行:操作810,可以对应于执行区块链合约以发行一定数量的数字资产;操作820,可以对应于将发行的数字资产添加到与用户350相关联的受限区块链账户;操作830,可以对应于(例如,周期性地)解除对受限区块链账户中的数字资产的一部分的限制;以及操作840,可以对应于将数字资产从与用户350相关联的受限区块链账户转移到与用户350相关联的不受限区块链账户。操作810、820、830和840可以由与执行与数字资产502相关联的区块链合约的区块链系统330相关联的虚拟机执行。
图9示出了根据一些实施例的用于将一定数量的数字资产从一个区块链账户转移到另一个区块链账户的方法900。以下呈现的方法的操作旨在进行说明。取决于实施方式,所述方法可以包括以各种次序或并行执行的附加的、更少的或可选的步骤。在一些实施例中,方法900可以在向与用户350相关联的区块链账户发行一定数量的数字资产并且解除对数字资产的限制之后发生。在将数字资产移动到与用户350相关联的不受限区块链账户之后,用户350可以被允许将数字资产从不受限区块链账户转移到与另一用户350相关联的区块链账户。方法900可以在步骤910开始,在步骤910中,服务侧系统310可以获得用于将一定数量的数字资产从与区块链相关联的第一区块链账户转移到与该区块链相关联的第二区块链账户的请求。区块链可以是由区块链系统330维护的区块链。在一些实施例中,该请求可以识别与要转移的数字资产相对应的有形资产。在一些实施例中,拥有数字资产的用户350可以在用户侧系统340处发起涉及数字资产的交易。用户侧系统340可以根据用户350的交易生成用于转移数字资产的请求并将其发送到服务侧系统310。在一些实施例中,拥有数字资产的用户350可以直接使用服务应用360以将用于转移数字资产的请求发送到服务侧系统310。
在步骤920处,服务侧系统310可以确定部署在区块链上并且与请求中识别的有形资产相对应的区块链合约。区块链合约可以已部署在区块链上以创建要转移的数字资产。在步骤920处,服务侧系统310还可以确定用于转移数字资产的请求的发送方是否具有发起数字资产转移所需的权限。服务侧系统310可以基于获得的请求确定与用于转移数字资产的请求的发送方相关联的一个或多个权限。然后,服务侧系统310可以验证与发送方相关联的权限满足将数字资产从第一区块链账户转移到第二区块链账户所需的一个或多个权限。例如,服务侧系统310可以向第一区块链账户的所有者或第一区块链账户的授权控制方授予用于从第一区块链账户转移数字资产的一个或多个权限。与第一区块链账户相关联的用户350可以被视为第一区块链账户的所有者,并被授予一个或多个权限。用户侧系统340可以已经代表用户350创建了第一区块链账户,并且可以被视为第一区块链账户的授权控制方。因此,用户侧系统340还可以被赋予从第一区块链账户转移数字资产所需的一个或多个权限。如果服务侧系统310确定用于转移数字资产的请求的发送方拥有所需的权限,则服务侧系统310可以进行到步骤930。否则,服务侧系统310可以拒绝该请求。
在一些实施例中,服务侧系统310可以请求要转让的数字资产的所有者批准这种数字资产的转移。服务侧系统可以从该请求获得与第一区块链账户相关联的实体批准数字资产转移的证明。为了获得这样的证明,用户侧系统340可以已经处理了用于从与第二区块链账户相关联的用户350的支付账户到与第一区块链账户相关联的用户350的支付账户购买数字资产的支付。如果该请求确实包括这样的证明,则服务侧系统310可以进行到步骤930。否则,服务侧系统310可以拒绝该请求。
在一些实施例中,服务侧系统310可以响应于该请求在进行转移数字资产之前验证一个或多个其他条件的满足。作为示例,服务侧系统310可以验证第一区块链账户中的数字资产的数量足以进行转移。服务侧系统310可以从由区块链系统330维护的区块链中获得与第一区块链账户相关联的数据。基于获得的数据,服务侧系统可以确定第一区块链账户中的数字资产的数量,并验证所确定的第一区块链账户中的数字资产的数量不小于要转移的数字资产的数量。如果验证成功,则服务侧系统310可以进行转移数字资产。否则,服务侧系统310可以拒绝该请求。
作为另一示例,服务侧系统310可以验证转移数字资产所需的一个或多个条件被满足。服务侧系统310可以基于与数字资产相关联的区块链合约确定转移数字资产所需的一个或多个权限。然后,服务侧系统310可以基于获得的请求,确定将数字资产从第一区块链账户转移到第二区块链账户满足所述一个或多个所需的权限。例如,与数字资产相对应的区块链合约可以指定在任何一种情况下可以转移的数字资产的最大数量。服务侧系统310可以将要转移的数字资产的数量与最大数量进行比较。如果所请求的数量大于最大数量,则服务侧系统310可以拒绝用于转移数字资产的请求。
作为又一示例,服务侧系统310可以验证数字资产的请求转移没有违反对转移中涉及的数字资产或区块链账户施加的一个或多个限制。在一些实施例中,服务侧系统310可以查询对第一区块链账户或第二区块链账户施加的任何限制,并验证将一定数量的数字资产从第一区块链账户转移到第二区块链账户不被第一区块链账户或第二区块链账户上施加的任何限制禁止。在一些实施例中,服务侧系统310可以查询数字资产上施加的任何限制,并验证将一定数量的数字资产从第一区块链账户转移到第二区块链账户不被数字资产上施加的任何限制禁止。区块链账户或数字资产上的限制可以已经由服务侧系统310创建并存储。服务侧系统310可以向一个或多个数据存储库查询这样的限制。备选地,所述限制可以已经存储在由区块链系统330维护的区块链中。这样的限制可以修改与数字资产相对应的区块链合约,使得违反限制的区块链交易不能被与区块链系统330相关联的共识处理批准。这样的限制可以已经由服务侧系统310或与区块链系统330相关联的一个或多个区块链节点创建。一个或多个区块链节点可以包括例如与用于数字或有形资产交易的监管机构相对应的区块链节点。服务侧系统310可以针对这种限制查询区块链中存储的数据。
在步骤930处,服务侧系统310可以基于获得的请求生成用于将一定数量的数字资产从第一区块链账户转移到第二区块链账户的区块链交易。区块链交易可以调用与要转移的数字资产相对应的确定的区块链合约。在步骤930处,服务侧系统310可以进一步将生成的区块链交易发送到与区块链系统330相关联的区块链节点,以添加到区块链。在一些实施例中,区块链交易可以包括与区块链合约相关联的标识、与第一区块链账户相关联的标识、与第二区块链账户相关联的标识、要转移的数字资产的数量、其他合适的信息或其任何组合。
在步骤940处,服务侧系统310可以从区块链系统330获得用于将一定数量的数字资产从第一区块链账户转移到第二区块链账户的区块链交易的结果。例如,服务侧系统310可以获得已经由区块链系统330的共识处理确认的区块链的当前状态,并且确定区块链交易是否已经存储在区块链中。如果是,则服务侧系统310可以确定数字资产的转移已经成功完成。在一些实施例中,服务侧系统310可以本地存储与用于将一定数量的数字资产从第一区块链账户转移到第二区块链账户的区块链交易相关联的信息。在步骤950处,服务侧系统310可以将响应返回给用户侧系统340,以确认数字资产的成功转移。
在一些实施例中,服务侧系统310可以被配置为撤销从一个区块链账户到另一区块链账户的一定数量的数字资产的转移。例如,当错误地进行转移、数字资产交易的一方未能执行交易要求的一个或多个活动(例如,付款)、转让被监管机构认定为非法、或发生其他适当事件时,可能会出现担保撤销数字资产的转移的情况。服务侧系统310可以获得用于撤销用于将一定数量的数字资产从第一区块链账户转移到第二区块链账户的区块链交易的请求。例如,监管模块323可以已经获得与用于转移数字资产的区块链交易相关联的信息,并且已经确定数字资产的转移与在用户侧系统340处发生的对应资产交易不一致。监管模块323可以相应地生成用于撤销区块链交易的请求。作为另一示例,对应于监管机构的区块链系统330的区块链节点可以已经扫描区块链并且已经确定用于转移数字资产的区块链交易违反了相关法规。然后,监管机构可以向服务侧系统310发送用于撤销区块链交易的请求。基于获得的请求,服务侧系统可以生成用于将一定数量的数字资产从第二区块链账户转移到第一区块链账户的区块链交易。然后,服务侧系统310可以将用于将一定数量的数字资产从第二区块链账户转移到第一区块链账户的所生成的区块链交易发送到与区块链系统330相关联的区块链节点,以添加到区块链。
图10示出了根据一些实施例的由用于管理数字资产的系统执行的用于转移数字资产的操作。在一些实施例中,服务侧系统310可以已经创建了与有形资产501相对应的数字资产502。用户350可以拥有一定数量的数字资产502。在一些实施例中,用户可以向服务侧系统310发送请求,以将与用户350相关联的第一区块链账户中的一定数量的数字资产502转移至与另一用户350相关联的第二区块链账户。该请求可以由用户侧系统340代表用户350发送。服务侧系统310可以生成用于转移数字资产的一个或多个区块链交易,并将所述区块链交易添加到由区块链系统330维护的区块链。所述区块链交易可以实现:操作1010,可以对应于验证用户侧系统340的权限;操作1020,可以对应于验证用户350的权限;以及操作1030,可对应于验证数字资产的权限。操作1010、1020和1030可以由与执行一个或多个区块链合约的区块链系统330相关联的虚拟机执行。区块链合约可以包括用于管理用户侧系统340的权限的区块链合约、用于管理区块链账户所有者的权限的区块链合约、用于管理转移数字资产所需的权限的区块链合约、另一合适的区块链合约或其任意组合。
图11示出了根据一些实施例的用于从数据存储库获得交易信息的方法1100。以下呈现的方法的操作旨在进行说明。取决于实施方式,所述方法可以包括以各种次序或并行执行的附加的、更少的或可选的步骤。在一些实施例中,服务侧系统310可以被配置为用于从与服务侧系统310相关联的一个或多个数据存储库314获得与数字资产的交易相关联的信息。在一些实施例中,服务侧系统310可以将其发送到区块链系统330的多个区块链交易和/或其从区块链系统330获得的多个区块链交易存储在一个或多个数据存储库314中。响应于对交易信息的请求,服务侧系统310从数据存储库314获得所述请求的信息,并将这种信息提供给请求方。
方法1100可以在步骤1110开始,在步骤1110中,服务侧系统310可以接收对交易信息的请求。可以从用户侧系统340接收该请求。对交易信息的请求可以包括用于所请求的交易信息的一个或多个标准。例如,该请求可以包括与区块链账户相关联的信息、与数字资产相关联的信息、时间段、其他合适的标准或其任意组合。在步骤1120处,服务侧系统310可以验证交易信息的请求方是否具有访问所请求的交易信息所需的一个或多个权限。如果是,则服务侧系统310可以进行到步骤1130。否则,服务侧系统310可以拒绝该请求。在步骤1130处,服务侧系统310可以向与服务侧系统310相关联的一个或多个数据存储库314查询所请求的交易信息。该查询可以基于对交易信息的请求中的一个或多个标准。在步骤1140处,服务侧系统310可以向用户侧系统340发送响应,该响应包括响应于由服务侧系统340获得的请求的任何信息。
在一些实施例中,服务侧系统310可以进一步将与一个或多个区块链账户相关联的信息存储在一个或多个数据存储库314中。例如,服务侧系统310可以将一定数量的多个数字资产中的每个数字资产存储在多个区块链账户中的每个账户中。响应于包括与区块链账户相关联的地址的请求,服务侧系统310可以返回区块链账户中的数字资产及其对应数量的列表。
图12示出了根据一些实施例的用于从区块链获得交易信息的方法1200。以下呈现的方法的操作旨在进行说明。取决于实施方式,所述方法可以包括以各种次序或并行执行的附加的、更少的或可选的步骤。在一些实施例中,服务侧系统310可以被配置为用于从由区块链系统330维护的区块链获得与数字资产的交易相关联的信息。方法1200可以在步骤1210开始,在步骤1210中,服务侧系统310可以接收对交易信息的请求。可以从用户侧系统340接收对交易信息的请求。对交易信息的请求可以包括用于所请求的交易信息的一个或多个标准。例如,该请求可以包括与区块链账户相关联的信息、与数字资产相关联的信息、时间段、其他合适的标准或其任意组合。在步骤1220处,服务侧系统310可以验证交易信息的请求方是否具有访问所请求的交易信息所需的一个或多个权限。如果是,则服务侧系统310可以进行到步骤1230。否则,服务侧系统310可以拒绝该请求。在步骤1220处,服务侧系统310可以识别与所请求的交易信息相关联的区块链合约。例如,基于对交易信息的请求中的与数字资产相关联的信息,服务侧系统310可以识别与该数字资产相对应的区块链合约。
在步骤1230处,服务侧系统310可以请求由区块链系统330维护的区块链的一个或多个区块。在步骤1240处,服务侧系统310可以从区块链系统330获得一个或多个区块。所述一个或多个区块可以基于该请求中的一个或多个标准来选择。例如,服务侧系统310可以获得在请求中指定的时间段中添加到区块链的一个或多个区块。
在步骤1250处,服务侧系统310可以从一个或多个获得的区块中提取一个或多个区块链交易。区块链交易可以基于请求中的一个或多个标准来提取。作为示例,服务侧系统310可以提取与区块链的区块链账户相关联的一个或多个区块链交易。作为另一示例,服务侧系统310可以提取与数字资产相关联的一个或多个区块链交易或提取用于调用与该数字资产相对应的区块链合约的一个或多个区块链交易。作为又一示例,服务侧系统310可以提取与数字资产和区块链账户两者相关联的一个或多个区块链交易。在一些实施例中,服务侧系统310可以分析所提取的一个或多个区块链交易以获得一个或多个结果。作为示例,服务侧系统310可以基于所提取的一个或多个区块链交易来确定区块链账户中的数字资产的数量。作为另一示例,服务侧系统310可以基于所提取的一个或多个区块链交易来确定与区块链账户相关联的交易历史记录。作为又一示例,服务侧系统310可以基于所提取的一个或多个区块链交易来确定与数字资产相关联的交易历史记录。在步骤1260处,服务侧系统310可以将响应发送到用户侧系统340。该响应可以包括响应于该请求的一个或多个区块链交易或基于所提取的区块链交易的一个或多个分析结果。
在一些实施例中,服务侧系统310可以接收对与数字资产相关联的信息的请求。该请求可以经由用户侧系统340或服务应用360由用户350发送。服务侧系统310可以获得与对应于数字资产的区块链合约以及用于调用该区块链合约的一个或多个区块链交易相关联的数据。服务侧系统310可以确定与数字资产相关联的一个或多个特性,并将信息返回给请求方。
图13示出了根据一些实施例的用于回购一定数量的数字资产的方法1300。以下呈现的方法的操作旨在进行说明。取决于实施方式,所述方法可以包括以各种次序或并行执行的附加的、更少的或可选的步骤。在一些实施例中,服务侧系统310可以促进数字资产的创建者或另一适当实体回购数字资产。担保回购数字资产的事件可以包括,例如,与该数字资产相对应的有形资产的破坏、与该数字资产相对应的有形资产的买断、对要求清算其资产的创建者的业务变更、其他合适的事件、或其任何组合。
方法1300可以在步骤1310开始,在步骤1310中,服务侧系统310可以获得用于回购数字资产的请求。该请求可以由最初创建数字资产的用户侧系统340发送。该请求可以指定要从中回购数字资产的一个或多个区块链账户、以及所述一个或多个区块链账户中的每个账户要回购的数字资产的数量。在步骤1320处,服务侧系统310可以验证用于回购数字资产的请求的发送方是否具有用于执行回购操作的一个或多个权限。作为示例,服务侧系统310可以向数字资产的初始创建者授予回购该数字资产所需的权限。作为另一示例,服务侧系统310可以要求请求的发送方显示回购操作的正当理由或依据。在步骤1320处,服务侧系统310可以进一步识别与要回购的数字资产相对应的区块链合约。基于存储的与区块链合约相关联的一个或多个参数,服务侧系统310可以进一步确定回购操作的一个或多个项目(例如,回购交易的价格)。在步骤1330处,服务侧系统310可以生成用于将数字资产从存储数字资产的一个或多个区块链账户转移到与区块链相关联的回购区块链账户的区块链交易。区块链交易可以调用与数字资产相对应的区块链合约。禁止将回购区块链账户中的任何数字资产转移出该回购区块链账户。例如,区块链合约可以包括禁止将数字资产转移出回购区块链账户的限制。在步骤1330处,服务侧系统310可以将用于将转移的数字资产从一个或多个区块链账户转移到回购区块链账户的区块链交易发送到与区块链系统330相关联的区块链节点以添加到区块链。在步骤1340处,服务侧系统310可以从区块链获得区块链交易的结果,并确定回购操作是否成功。在步骤1350处,服务侧系统310可以向用户侧系统340发送响应,该响应指示区块链交易的结果。
图14示出了根据一些实施例的用于冻结区块链账户或数字资产的方法1400。以下呈现的方法的操作旨在进行说明。取决于实施方式,所述方法可以包括以各种次序或并行执行的附加的、更少的或可选的步骤。在一些实施例中,服务侧系统310可以冻结或锁定数字资产或区块链账户,从而防止数字资产或区块链账户参与数字资产交易。担保冻结数字资产或区块链账户的事件可以包括,例如,与数字资产或区块链账户相关联的交易活动中发现的违规行为或可疑活动、与数字资产对应的有形资产相关联的监管问题、其他合适的事件或其任何组合。
方法1400可以在步骤1410开始,在步骤1410中,服务侧系统310可以接收用于冻结数字资产或区块链账户的请求。可以从用户侧系统340接收该请求。响应于该请求,在步骤1420处,服务侧系统310可以验证该请求的发送方拥有执行冻结数字资产或区块链账户的操作所需的一个或多个权限。例如,服务侧系统310可以已经向用户侧系统340授予了一个或多个权限,以冻结由用户侧系统340创建的所有数字资产或与对应于用户侧系统340的实体所拥有的有形资产相对应的数字资产。作为另一示例,服务侧系统310可以已经向用户侧系统340授予了一个或多个权限以冻结与用户侧系统340的用户账户相关联的所有区块链账户。用户侧系统310可以已经代表其相应的用户请求创建区块链账户。如果验证成功,则服务侧系统310可以进行到步骤1430。否则,服务侧系统可以拒绝该请求。在步骤1430处,服务侧系统310可以冻结或锁定该请求中识别的数字资产或区块链账户。服务侧系统310可以将数字资产或区块链账户的冻结或锁定状态存储在一个或多个数据存储库314中。利用这种状态记录,服务侧系统310可以拒绝与区块链账户的数字资产有关的所有随后转移或其他适当请求。在步骤1440处,服务侧系统310可以将指示冻结或锁定操作成功执行的响应返回给用户侧系统340。
在一些实施例中,区块链账户中的一定数量的数字资产可以经由一个或多个区块链交易被锁定或冻结。例如,服务侧系统310可以获得用于冻结一定数量的数字资产的请求。响应于该请求,服务侧系统310可以基于用于冻结一定数量的数字资产的请求,生成用于将一定数量的数字资产从不受限区块链账户转移至受限区块链账户的区块链交易。然后,服务侧系统可以将用于将一定数量的数字资产从不受限区块链账户转移至受限区块链账户的区块链交易发送至区块链节点以添加至区块链。从受限区块链账户的数字资产的任何转移可以被区块链系统330的操作禁止。除了服务侧系统310之外,可以替代地通过与区块链系统330相关联的区块链节点生成并添加用于冻结数字资产的区块链交易。区块链节点可以对应于例如与数字资产相关联的监管机构。
图15示出了根据一些实施例的用于对数字资产估价的方法1500。以下呈现的方法的操作旨在进行说明。取决于实施方式,所述方法可以包括以各种顺序或并行执行的附加的、更少的或替代的步骤。在一些实施例中,由区块链系统330维护的区块链可以包括可由与区块链相关联的虚拟机执行的一个或多个区块链合约,以对区块链上创建的数字资产自动估价。所述一个或多个区块链合约可以已经由服务侧系统310生成并部署在区块链上。服务侧系统310可以被配置为用于与一个或多个区块链合约进行交互以确定数字资产的估计价值。方法1500可以在步骤1510开始,在步骤1510中,服务侧系统可以获得用于对与有形资产相对应的数字资产估价的请求。可以从用户侧系统340接收该请求,或者可以经由服务应用360直接从用户接收该请求。与数字资产相关联的信息可以被存储在由区块链系统330维护的区块链中。在一些实施例中,该请求可以识别区块链上已经创建的数字资产,并且可以包括与对应于数字资产的区块链合约相关联的信息。在其他实施例中,该请求可以识别将在区块链上潜在地创建的数字资产,并且可以包括与对应于数字资产的有形资产相关联的信息以及要创建的数字资产的一个或多个特征。
在步骤1520处,服务侧系统310可以基于获得的请求生成用于对数字资产估价的区块链交易。区块链交易可以调用可执行以确定与数字资产相关联的价值信息的区块链合约。在一些实施例中,要估价的数字资产可以已经在区块链上被创建。基于该请求,服务侧系统310可以已经识别与区块链相关联的区块链合约,该区块链合约可执行以发行数字资产并且包括与区块链交易中识别的区块链合约相关联的信息。所述区块链交易可以包括与数字资产相关联的标识、与可执行以发行数字资产的区块链合约相关联的标识、其他合适的信息或其任意组合。在其他实施例中,区块链交易可以针对区块链上尚未创建的数字资产。所述区块链交易可以包括与对应于数字资产的有形资产的一个或多个特征相关联的信息。
在步骤1530处,服务侧系统310可以将区块链交易发送到与区块链相关联的区块链节点,以添加到区块链。在一些实施例中,区块链交易当被添加到区块链时,可以触发区块链合约的执行,以通过与区块链系统330相关联的虚拟机确定与数字资产相关联的价值信息。在步骤1540处,区块链系统330可以执行区块链合约以确定与数字资产相关联的价值信息。确定的价值信息可以被存储在区块链中。可以执行区块链合约以识别请求中的与对应于数字资产的有形资产的一个或多个特征相关联的信息。基于有形资产的一个或多个特征,可以分别执行区块链合约以确定与一个或多个其他有形资产相对应的一个或多个其他数字资产。所述一个或多个其他数字资产也可以已经在区块链上创建,其信息可以被存储在区块链中并且可供区块链合约使用。所述一个或多个其他有形资产可以具有与对应于数字资产的有形资产的一个或多个特征相似的特征。然后,可以执行区块链合约,以基于所确定的一个或多个其他数字资产确定与该数字资产相关联的价值信息。在一些实施例中,用于识别其他类似有形资产的有形资产的一个或多个特征可以包括有形资产的数量、有形资产的大小、有形资产的外观、与有形资产相关联的材料、与有形资产的创建相相关联的时间表、有形资产的创建者、有形资产的状况、其他合适的特性或其任意组合。
在步骤1550处,服务侧系统310可以从区块链获得与数字资产相关联的价值信息。服务侧系统310可以获得与区块链相关联的一个或多个区块,并从获得的区块提取价值信息。在一些实施例中,与数字资产相关联的价值信息可以包括与一个或多个其他数字资产之一相对应的标识以及该数字资产的价值与另一数字资产的价值之间的估计比率。以这种方式,与相似有形资产相对应的一个或多个数字资产可以用作描述感兴趣的数字资产的价值的参考。在一些实施例中,与数字资产相关联的价值信息可以包括对多个其他数字资产的参考。价值信息可以包括与每个其他数字资产的价值相关联的权重。
在步骤1560处,服务侧系统310可以基于从区块链获得的价值信息确定数字资产的估计价值。在一些实施例中,为了确定数字资产的估计价值,服务侧系统310可以从自区块链获得的价值信息中检索与确定为相似于该数字资产的一个或多个其他数字资产相关联的信息。然后,服务侧系统310可以分别获得一个或多个其他数字资产的一个或多个估价,并基于获得的所述一个或多个其他数字资产的一个或多个估价确定与该数字资产相关联的估计价值。这里,可以将一个或多个其他数字资产的估价存储在与服务侧系统310或由区块链系统330维护的区块链相关联的一个或多个数据存储库314中。估价可以已经由一个或多个外部系统(例如用户侧系统340)提供,或已由服务侧系统310确定。在一些实施例中,为了确定与数字资产相关联的估计价值,服务侧系统310可以计算所获得的一个或多个其他数字资产的一个或多个估价的加权平均值。在其他实施例中,为了确定与数字资产相关联的估计价值,服务侧系统310可以基于对应于该数字资产的有形资产的状况与对应于一个或多个其他数字资产之一的有形资产的状况之间的比较来调整一个或多个其他数字资产之一的一个或多个估价之一。
在步骤1570处,服务侧系统310可以将包括数字资产的估计价值的响应发送到用于对数字资产估价的请求的发送方。例如,服务侧系统310可以将响应发送到用户侧系统340。
图16示出了根据一些实施例的由用于管理数字资产的系统执行的用于对数字资产估价的操作。在一些实施例中,可以在由区块链系统330维护的区块链上创建大量数字资产,以表示大量相应有形资产的所有权和价值。基于数字资产的特征和估价,可以生成区块链合约。生成的区块链合约可以被执行以对新数字资产自动估价。在一些实施例中,服务侧系统310可以创建与有形资产501相对应的数字资产502,并且对创建的数字资产502估价。在一些实施例中,服务侧系统310可以生成用于创建数字资产502和对数字资产502估价的一个或多个区块链交易。服务侧系统310可以将所述一个或多个区块链交易发送到区块链系统330,以添加到由区块链系统330维护的区块链。所述一个或多个区块链交易可以实现:操作1610,可以对应于初始化与数字资产相对应并且被配置为用于发行数字资产的区块链合约;操作1620,可以对应于将数字资产502或其相应有形资产501的一个或多个特征与一个或多个其他资产的特征进行比较以识别一个或多个其他相似数字资产;和操作1630,可以对应于创建和存储与数字资产相关联的价值信息。操作1610、1620和1630可以由与执行一个或多个区块链合约的区块链系统330相关联的虚拟机执行。区块链合约可以包括可执行以发行数字资产502、转移数字资产502或对数字资产502施加限制的区块链合约,用于对一个或多个数字资产估价的区块链合约,另一合适的区块链合约或其任意组合。
图17示出了根据一些实施例的用于创建数字资产的方法1700。方法1700可以由用于数字资产管理的设备、装置或系统执行。方法1700可以由图1至图3所示的环境或系统的一个或多个组件,诸如服务侧系统310的一个或多个组件来执行。取决于实施方式,方法1700可以包括以各种顺序或并行执行的附加的、更少的或替代的步骤。
框1710包括获得用于创建与有形资产相对应的数字资产的请求,其中,该请求包括数字资产的一个或多个特征。在一些实施例中,数字资产代表有形资产的价值。在一些实施例中,该请求包括指示有形资产的真实性和状况的证明。
框1720包括基于数字资产的一个或多个特征生成与有形资产相对应的区块链合约。在一些实施例中,区块链合约包括与数字资产相关联的一个或多个属性。所述一个或多个属性包括数字资产的总数量、数字资产的类型、与数字资产的创建者相关联的区块链账户、与数字资产的创建者相关联的区块链账户中保留的数字资产的数量、初始发行数字资产的日期、或初始发行数字资产的数字资产的数量。在一些实施例中,所述区块链合约包括与该区块链相关联的一个或多个区块链账户所需的一个或多个权限,或用于执行关于该数字资产的一个或多个操作所需的一个或多个权限。在一些实施例中,所述区块链合约包括一个或多个可执行功能。可执行功能包括可执行以将一定数量的数字资产发行给与该区块链相关联的一个或多个区块链账户的功能、可执行以将一定数量的数字资产从与该区块链相关联的第一区块链账户转移至与该区块链相关联的第二区块链账户的功能、可执行以对数字资产设置一个或多个限制的功能、可执行以去除对数字资产的一个或多个限制的功能、或可执行以确定是否提供与数字资产相关联的权限的功能。
在一些实施例中,该方法还包括:在获得该请求之后并且在生成区块链合约之前,基于获得的请求,确定与数字资产的创建者相关联的一个或多个权限,并验证与创建者相关联的权限满足数字资产创建所需的一个或多个权限。
框1730包括将生成的区块链合约部署在区块链上,其中,部署的区块链合约可执行以发行与有形资产相对应的数字资产。在一些实施例中,该区块链由多个区块链节点维护。一个或多个区块链节点对应于一个或多个资产交易机构或者一个或多个资产交易监管机构。在一些实施例中,将生成的区块链合约部署在区块链上包括生成包括所生成的区块链合约的区块链交易,并将该区块链交易发送到区块链节点以添加到该区块链。在一些实施例中,包括所生成的区块链合约的区块链交易还包括与对应于数字资产的有形资产相关联的信息。该信息包括有形资产的标识、有形资产的估价、与有形资产的创建相关联的时间表、有形资产的特征或有形资产的数量。在一些实施例中,该方法还包括本地存储和与部署的区块链合约相关联的信息一致的与有形资产相关联的信息。
在一些实施例中,该方法还包括:生成用于修改与数字资产相关联的一个或多个属性中的一个或多个的区块链交易;以及将该区块链交易发送到区块链节点以添加到区块链,其中,所述区块链交易调用部署的区块链合约。在一些实施例中,该方法还包括:生成用于向与该区块链相关联的区块链账户发行一定数量的数字资产的区块链交易,其中该区块链交易调用该区块链合约;以及将该区块链交易发送到区块链节点以添加到该区块链。
在一些实施例中,该方法进一步包括:获得区块链的一个或多个区块;从获得的一个或多个区块中提取与该区块链的区块链账户相关联的一个或多个区块链交易;以及基于提取的一个或多个区块链交易确定区块链账户中的数字资产的数量。在一些实施例中,该方法还包括:获得区块链的一个或多个区块;从获得的一个或多个区块中提取调用区块链合约的一个或多个区块链交易;以及基于提取的一个或多个区块链交易确定与数字资产相关联的交易历史记录。
图18示出了根据一些实施例的用于转移数字资产的方法。方法1800可以由用于数字资产转移的设备、装置或系统执行。方法1800可以由图1至图3所示的环境或系统的一个或多个组件,诸如服务侧系统310的一个或多个组件来执行。取决于实施方式,方法1800可以包括以各种顺序或并行执行的附加的、更少的或替代的步骤。
框1810包括获得用于将一定数量的数字资产从与区块链相关联的第一区块链账户转移至与区块链相关联的第二区块链账户的请求,其中该请求识别与该数字资产相对应的有形资产。
在一些实施例中,该方法还包括:在获得用于将一定数量的数字资产从第一区块链账户转移到第二区块链账户的请求之前,生成用于将一定数量的数字资产发行到第一区块链账户的区块链交易,其中用于发行数字资产的区块链交易调用区块链合约,并将用于发行数字资产的区块链交易发送至区块链节点,以添加到区块链中。
框1820包括确定部署在区块链上并且对应于请求中识别的有形资产的区块链合约。
框1830包括基于获得的请求,生成用于将一定数量的数字资产从第一区块链账户转移到第二区块链账户的区块链交易,其中,区块链交易调用确定的区块链合约。在一些实施例中,所述区块链交易包括与区块链合约相关联的标识、与第一区块链账户相关联的标识、与第二区块链账户相关联的标识或要转移的数字资产的数量。
在一些实施例中,该方法还包括:在生成区块链交易之前,基于获得的请求,确定与用于转移数字资产的请求的发送方相关联的一个或多个权限;以及验证与该发送方相关联的权限满足用于将数字资产从第一区块链账户转移到第二区块链账户所需的一个或多个权限。在一些实施例中,该方法还包括:在生成区块链交易之前,从区块链获得与第一区块链账户相关联的数据;基于获得的数据,确定第一区块链账户中的数字资产的数量;以及验证所确定的第一区块链账户中的数字资产的数量不小于要转移的数字资产的数量。在一些实施例中,该方法还包括:在生成区块链交易之前,基于区块链合约确定用于转移数字资产所需的一个或多个权限;以及基于获得的请求确定将数字资产从第一区块链账户转移到第二区块链账户满足所述一个或多个所需的权限。在一些实施例中,该方法还包括:在生成区块链交易之前,从该请求获得与第一区块链账户相关联的实体批准数字资产的转移的证明。
在一些实施例中,该方法还包括:在生成用于将一定数量的数字资产从第一区块链账户转移到第二区块链账户的区块链交易之前,查询对第一区块链账户或第二区块链账户施加的任何限制并验证将一定数量的数字资产从第一区块链账户转移到第二区块链账户不被第一区块链账户或第二区块链账户上施加的任何限制禁止。在一些实施例中,该方法还包括:在生成用于将一定数量的数字资产从第一区块链账户转移到第二区块链账户的区块链交易之前,查询数字资产上施加的任何限制并验证将一定数量的数字资产从第一区块链账户转移到第二区块链账户不被数字资产上施加的任何限制禁止。
框1840包括将生成的区块链交易发送到区块链节点以添加到区块链。在一些实施例中,所述方法还包括本地存储与用于将一定数量的数字资产从第一区块链账户转移到第二区块链账户的区块链交易相关联的信息。
在一些实施例中,该方法还包括:在将所生成的区块链交易发送到区块链节点以添加到区块链之后,获得用于撤销用于将一定数量的数字资产从第一区块链账户转移到第二区块链账户的区块链交易的请求;基于获得的用于撤销区块链交易的请求,生成用于将一定数量的数字资产从第二区块链账户转移到第一区块链账户的区块链交易;以及将生成的用于将一定数量的数字资产从第二区块链账户转移到第一区块链账户的区块链交易发送到区块链节点以添加到区块链。
在一些实施例中,该方法还包括:从第二区块链账户获得用于回购转移的数字资产的请求;生成用于将转移的数字资产从第二区块链账户转移到与区块链相关联的回购区块链账户的区块链交易,其中,区块链合约包括禁止将数字资产从回购区块链账户转移出的限制;以及将用于将转移的数字资产从第二区块链账户转移至回购区块链账户的区块链交易发送至区块链节点以添加至区块链。
在一些实施例中,该方法还包括:获得区块链的一个或多个区块;从获得的一个或多个区块中提取调用区块链合约的一个或多个区块链交易;以及基于提取的一个或多个区块链交易确定与数字资产相关联的交易历史记录。在一些实施例中,该方法还包括:获得区块链的一个或多个区块;从获得的一个或多个区块中提取与第一区块链账户相关联的一个或多个区块链交易;以及基于提取的一个或多个区块链交易确定与第一区块链账户相关联的交易历史记录。
图19示出了根据一些实施例的用于解除对数字资产的限制的方法。方法1900可以由用于控制对数字资产的限制的设备、装置或系统来执行。方法1900可以由图1至图3所示的环境或系统的一个或多个组件,诸如服务侧系统310的一个或多个组件来执行。取决于实施方式,方法1900可以包括以各种顺序或并行执行的附加的、更少的或替代的步骤。
框1910包括检测用于解除对与有形资产相关联的一定数量的数字资产的限制的触发事件,其中所述有形资产对应于区块链上部署的区块链合约。在一些实施例中,检测用于解除对一定数量的数字资产的限制的触发事件包括:获得用于解除对一定数量的数字资产的限制的请求;基于该请求,确定与该请求的发送方相关联的一个或多个权限;以及验证与发送方相关联的一个或多个权限满足解除对数字资产数量的限制所需的一个或多个权限。在一些实施例中,检测用于解除对一定数量的数字资产的限制的触发事件包括基于当前时间确定基于时间的状况被满足。在一些实施例中,检测用于解除对数字资产的限制的触发事件包括:在预定时间点获得用于解除对多个数字资产的限制的多个条件,其中所述多个数字资产包括与有形资产相关联的数字资产;以及确定获得的一个或多个条件被满足。
在一些实施例中,该方法还包括:在检测触发事件之前,生成用于向受限区块链账户发行一定数量的数字资产的区块链交易,其中要发行的数字资产的数量大于要转移的数字资产的数量;以及将用于将数字资产发行到受限区块链账户的区块链交易发送到区块链节点以添加到区块链中。
框1920包括生成用于将一定数量的数字资产从与区块链相关联的受限区块链账户转移至与区块链相关联的不受限区块链账户的区块链交易,其中,所述区块链交易调用与该有形资产相对应的区块链合约。在一些实施例中,所述区块链交易包括与区块链合约相关联的标识、与受限区块链账户相关联的标识、与不受限区块链账户相关联的标识或要解除限制的数字资产的数量。在一些实施例中,所述区块链交易包括将多个数字资产从多个受限区块链账户转移到多个不受限区块链账户,其中多个数字资产包括与有形资产相关联的数字资产。
在一些实施例中,生成区块链交易包括:确定受限区块链账户中的数字资产的数量;以及确定要解除限制的数字资产的数量,为所确定的受限区块链账户中的数字资产的数量的预设部分。在一些实施例中,生成用于将数字资产发行到受限区块链账户的区块链交易包括:确定用于发行的数字资产的数量;以及验证所确定的数量不大于用于初始发行的数字资产的数量,其中所述初始发行的数字资产的数量与区块链合约相关联地存储在区块链中。
框1930包括将区块链交易发送到区块链节点以添加到区块链。在一些实施例中,该方法还包括:本地存储与用于将数字资产发行到受限区块链账户的区块链交易相关联的信息;以及本地存储与受限区块链账户相关信息一致的一个或多个解除限制条件。在一些实施例中,本地存储的一个或多个解除限制条件包括用于解除对数字资产的限制的时间表。
在一些实施例中,该方法还包括:在将用于转移一定数量的数字资产的区块链交易发送到区块链节点以添加到区块链之后,获得用于冻结一定数量的数字资产的请求;基于用于冻结一定数量的数字资产的请求,生成用于将一定数量的数字资产从不受限区块链账户转移至受限区块链账户的区块链交易;以及将用于将一定数量的数字资产从不受限区块链账户转移至受限区块链账户的区块链交易发送至区块链节点以添加至区块链。
图20示出了根据一些实施例的用于对数字资产估价的方法。方法2000可以由用于数字资产估价的设备、装置或系统执行。方法2000可以由图1至图3所示的环境或系统的一个或多个组件,诸如服务侧系统310的一个或多个组件来执行。取决于实施方式,方法2000可以包括以各种顺序或并行执行的附加的、更少的或替代的步骤。
框2010包括获得用于对与有形资产相对应的数字资产估价的请求,其中与该数字资产相关联的信息被存储在区块链中。框2020包括基于获得的请求生成用于对数字资产估价的区块链交易,其中,该区块链交易调用区块链合约,该区块链合约可执行以确定与该数字资产相关联的价值信息。在一些实施例中,生成用于对数字资产估价的区块链交易包括基于获得的请求识别与区块链相关联的区块链合约,该区块链合约可执行以用于发行数字资产。在一些实施例中,用于对数字资产估价的区块链交易包括与数字资产相关联的标识或与可执行以发行数字资产的区块链合约相关联的标识。在一些实施例中,用于对数字资产估价的区块链交易包括与对应于数字资产的有形资产的一个或多个特征相关联的信息。
在一些实施例中,可执行以确定与数字资产相关联的价值信息的区块链合约可执行以识别与对应于数字资产的有形资产的一个或多个特征相关联的信息,基于该有形资产的一个或多个特征分别确定对应于一个或多个其他有形资产的一个或多个其他数字资产,其中所述一个或多个其他有形资产具有与对应于所述数字资产的有形资产的一个或多个特征相似的特征,以及基于确定的一个或多个其他数字资产确定与所述数字资产相关联的价值信息。在一些实施例中,所述有形资产的一个或多个特征包括有形资产的数量、有形资产的大小、有形资产的外观、与有形资产的创建相关的时间表、有形资产的创建者、或有形资产的状况。
框2030包括将区块链交易发送到与区块链相关联的区块链节点以添加到区块链。框2040包括从区块链获得与数字资产相关联的价值信息。在一些实施例中,与数字资产相关联的价值信息包括与一个或多个其他数字资产之一相对应的标识以及该数字资产的价值与另一数字资产的价值之间的估计比率。在一些实施例中,与数字资产相关联的价值信息包括与一个或多个其他数字资产中的每个的价值相关联的权重。
在一些实施例中,该方法还包括基于从区块链获得的价值信息确定数字资产的估计价值,并将该数字资产的估计价值发送到用于对该数字资产估价的请求的发送方。在一些实施例中,确定与数字资产相关联的估计价值包括:从自区块链获得的价值信息中检索与被确定为与该数字资产相似的一个或多个其他数字资产相关联的信息,分别获得一个或多个其他数字资产的一个或多个估价,以及基于获得的一个或多个其他数字资产的估价确定与所述数字资产相关联的估计价值。在一些实施例中,确定与数字资产相关联的估计价值包括计算获得的一个或多个其他数字资产的一个或多个估价的加权平均值。在一些实施例中,确定与数字资产相关联的估计价值包括基于对应于所述数字资产的有形资产的状况与对应于所述一个或多个其他数字资产之一的有形资产的状况之间的比较来调整一个或多个其他数字资产之一的一个或多个估价之一。
图21示出了根据一些实施例的用于创建数字资产的计算机系统的框图。系统2100可以是图3的服务侧系统310的一个或多个组件或图1至图3所示的一个或多个其他组件的实现的示例。方法1700可以由计算机系统2100实现。计算机系统2100可以包括一个或多个处理器和一个或多个非暂时性计算机可读存储介质(例如,一个或多个存储器),所述非暂时性计算机可读存储介质耦接到所述一个或多个处理器并配置有可由所述一个或多个处理器执行的指令,以促使系统或设备(例如,处理器)执行上述方法,例如方法1700。计算机系统2100可以包括与指令(例如,软件指令)相对应的各种单元/模块。在一些实施例中,计算机系统2100可以被称为用于数字资产管理的装置。所述装置可以包括:获得模块2110,用于获得用于创建与有形资产相对应的数字资产的请求,其中,所述请求包括所述数字资产的一个或多个特征;生成模块2120,用于基于数字资产的一个或多个特征,生成与所述有形资产相对应的区块链合约;以及部署模块2130,用于在区块链上部署生成的区块链合约,所述部署的区块链合约可执行以发行与所述有形资产相对应的数字资产。
图22示出了根据一些实施例的用于转移数字资产的计算机系统的框图。系统2200可以是图3的服务侧系统310的一个或多个组件或图1至图3所示的一个或多个其他组件的实现的示例。方法1800可以由计算机系统2200实现。计算机系统2200可以包括一个或多个处理器和一个或多个非暂时性计算机可读存储介质(例如,一个或多个存储器),所述非暂时性计算机可读存储介质耦接到所述一个或多个处理器并配置有可由所述一个或多个处理器执行的指令,以促使系统或设备(例如,处理器)执行上述方法,例如方法1800。计算机系统2200可以包括与指令(例如,软件指令)相对应的各种单元/模块。在一些实施例中,计算机系统2200可以被称为用于数字资产转移的装置。该装置可以包括:获得模块2210,用于获得用于将一定数量的数字资产从与区块链相关联的第一区块链账户转移至与区块链相关联的第二区块链账户的请求,其中,该请求识别与数字资产相对应的有形资产;确定模块2220,用于确定部署在区块链上并与请求中识别的有形资产相对应的区块链合约;生成模块2230,用于基于获得的请求生成用于将一定数量的数字资产从第一区块链账户转移到第二区块链账户的区块链交易,其中,该区块链交易调用确定的区块链合约;以及发送模块2240,用于将生成的区块链交易发送至区块链节点以添加至区块链。
图23示出了根据一些实施例的用于解除对数字资产的限制的计算机系统的框图。系统2300可以是图3的服务侧系统310的一个或多个组件或图1至图3所示的一个或多个其他组件的实现的示例。方法1900可以由计算机系统2300实现。计算机系统2300可以包括一个或多个处理器和一个或多个非暂时性计算机可读存储介质(例如,一个或多个存储器),所述非暂时性计算机可读存储介质耦接到所述一个或多个处理器并配置有可由所述一个或多个处理器执行的指令,以促使系统或设备(例如,处理器)执行上述方法,例如方法1900。计算机系统2300可以包括与指令(例如,软件指令)相对应的各种单元/模块。在一些实施例中,计算机系统2300可以被称为用于控制对数字资产的限制的装置。该装置可以包括:检测模块2310,用于检测用于解除对与有形资产相关联的一定数量的数字资产的限制的触发事件,其中该有形资产对应于部署在区块链上的区块链合约;生成模块2320,用于生成用于将一定数量的数字资产从与所述区块链相关联的受限区块链账户转移至与所述区块链相关联的非受限区块链账户的区块链交易,其中,所述区块链交易调用与所述有形资产相对应的区块链合约;以及发送模块2330,用于将区块链交易发送至区块链节点以添加至区块链。
图24示出了根据一些实施例的用于对数字资产估价的计算机系统的框图。系统2400可以是图3的服务侧系统310的一个或多个组件或图1至图3所示的一个或多个其他组件的实现的示例。方法2000可以由计算机系统2400实现。计算机系统2400可以包括一个或多个处理器和一个或多个非暂时性计算机可读存储介质(例如,一个或多个存储器),所述非暂时性计算机可读存储介质耦接到所述一个或多个处理器并配置有可由所述一个或多个处理器执行的指令,以促使系统或设备(例如,处理器)执行上述方法,例如方法2000。计算机系统2400可以包括与指令(例如,软件指令)相对应的各种单元/模块。在一些实施例中,计算机系统2400可以被称为用于数字资产估价的装置。该装置可以包括:第一获得模块2410,用于获得对与有形资产相对应的数字资产估价的请求,其中与该数字资产相关联的信息被存储在区块链中;生成模块2420,用于基于获得的请求,生成用于对所述数字资产估价的区块链交易,其中,所述区块链交易调用区块链合约,所述区块链合约可执行以确定与所述数字资产相关的价值信息;发送模块2430,用于将所述区块链交易发送至与所述区块链相关联的区块链节点以添加至所述区块链;以及第二获得模块2440,用于从区块链中获得与所述数字资产相关联的价值信息。
图25示出了计算机系统的框图,其中可以实现本文描述的任何实施例。系统2500可以在图1至图3所示的环境或系统的任何组件中实现,诸如服务侧系统310的一个或多个组件、用户侧系统340的一个或多个组件、或区块链系统330的一个或多个区块链节点。图1至图3中示出的软件应用或服务可以在系统2500上实现和操作。图4至图20所示的示例方法和操作中的一个或多个可以通过计算机系统2500的一个或多个实施方式来执行。
计算机系统2500可以包括用于通信信息的总线2502或其他通信机制,与总线2502耦接以处理信息的一个或多个硬件处理器2504。硬件处理器2504可以是例如一个或多个通用微处理器。
计算机系统2500还可以包括耦接到总线2502以存储可由处理器2504执行的信息和指令的主存储器2506,例如随机存取存储器(RAM)、高速缓存和/或其他动态存储设备。主存储器2506还可以用于在执行可由处理器2504执行的指令期间存储临时变量或其他中间信息。当这些指令存储在处理器2504可访问的存储介质中时,这些指令将计算机系统2500呈现为被定制以执行指令中指定的操作的专用机器。计算机系统2500还可以包括耦接到总线2502以存储处理器2504的静态信息和指令的只读存储器(ROM)2508或其他静态存储设备。存储设备2510诸如磁盘、光盘或USB拇指驱动器(闪存驱动器)等可以被提供并被耦接到总线2502以存储信息和指令。
计算机系统2500可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑实现本文描述的技术,他们与计算机系统相结合使得计算机系统2500成为专用机器或将计算机系统2500编程为专用机器。根据一个实施例,这里描述的操作、方法和过程由计算机系统2500响应于处理器2504执行主存储器2506中包含的一个或多个指令的一个或多个序列而执行。这些指令可以从另一存储介质(例如,存储设备2510)读入主存储器2506中。主存储器2506中包含的指令序列的执行可以促使处理器2504执行这里描述的处理步骤。在备选实施例中,可以使用硬连线电路代替软件指令或与软件指令组合。
主存储器2506、ROM 2508和/或存储2510可以包括非暂时性存储介质。这里使用的术语“非暂时性介质”和类似术语是指存储促使机器以特定方式操作的数据和/或指令的介质,所述介质不包括暂时性信号。这种非暂时性介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,例如存储设备2510。易失性介质包括动态存储器,例如主存储器2506。常规形式的非暂时性介质包括,例如,软磁盘、软盘、硬盘、固态驱动器、磁带或任何其他磁数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其他存储器芯片或盒式磁带的以及它们的网络版本。
计算机系统2500还可以包括耦接到总线2502的网络接口2518。网络接口2518可以提供耦接到一个或多个网络链路的双向数据通信,所述一个或多个网络链路连接到一个或多个本地网络。例如,网络接口2518可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或调制解调器,用于提供到相应类型的电话线路的数据通信连接。作为另一示例,网络接口2518可以是局域网(LAN)卡,以提供到可兼容LAN(或WAN组件以与WAN通信)的数据通信连接。还可以实现无线链路。在任何这样的实施方式中,网络接口2518可以发送和接收携带表示各种类型的信息的数字数据流的电信号、电磁信号或光信号。
计算机系统2500可以通过网络、网络链路和网络接口2518发送消息和接收数据,包括程序代码。在互联网示例中,服务器可以通过互联网、ISP、本地网络和网络接口2518发送用于应用程序的请求代码。
所接收的代码当被接收时可以由处理器2504执行,和/或存储在存储设备2510或其他非易失性存储器中以用于稍后执行。
前面部分中描述的每个过程、方法和算法可以在包括计算机硬件的一个或多个计算机系统或计算机处理器执行的代码模块中完全或部分自动化地实现。所述过程和算法可以部分或全部地在专用电路中实现。
上述各种特征和过程可以彼此独立地使用,或者可以以各种方式组合。所有可能的组合和子组合都旨在落入本说明书的范围内。另外,在一些实施方式中可以省略某些方法或过程框。本文描述的方法和过程也不限于任何特定序列,与其相关的框或状态可以以适当的其他序列执行。例如,所描述的框或状态可以以不同于具体公开的顺序执行,或者多个框或状态可以在单个框或状态中组合。框或状态的示例可以串行、并行或以某种其他方式执行。可以将框或状态添加到所公开的实施例中或从所公开的实施例中移除。这里描述的系统和组件的示例可以与所描述的不同地被配置。例如,与所公开的实施例相比,可以添加、移除或重新布置元件。
本文描述的方法的各种操作可以至少部分地由被临时配置(例如,通过软件)或被永久配置为执行相关操作的一个或多个处理器执行。无论是临时配置还是永久配置,这样的处理器可以构成处理器实现引擎,所述处理器实现引擎用于执行本文描述的一个或多个操作或功能。
类似地,这里描述的方法可以至少部分地由处理器实现,其中特定处理器是硬件的示例。例如,所述方法的至少一些操作可以由一个或多个处理器或处理器实现引擎执行。此外,一个或多个处理器还可以操作以支持“云计算”环境中的相关操作的性能或作为“软件即服务”(SaaS)。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,互联网)并且经由一个或多个适当的接口(例如,应用程序接口(API))被访问。
某些操作的性能可以在处理器之间分配,不仅驻留在单个机器中,而且跨多个机器被部署。在一些实施例中,处理器或处理器实现引擎可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他实施例中,处理器或处理器实现引擎可以分布在多个地理位置。
在整个说明书中,多个实例可以实现作为单个实例所描述的组件、操作或结构。尽管一个或多个方法的各个操作被示出并描述为独立的操作,但是可以同时执行一个或多个独立的操作,并且不需要以所示的顺序执行所述操作。在配置中作为独立组件呈现的结构和功能可以实现为组合结构或组件。类似地,作为单个组件呈现的结构和功能可以实现为独立的组件。这些和其他变化、修改、添加和改进都落入本文中的主题的范围内。
尽管已经参考具体实施例描述了主题的概述,但是在不脱离本说明书的实施例的较宽范围的情况下,可以对这些实施例进行各种修改和改变。具体实施方式不应被视为具有限制意义,并且各种实施例的范围仅由所附权利要求以及这些权利要求所赋予的等同物的全部范围限定。此外,这里使用的相关术语(诸如“第一”、“第二”、“第三”等)不表示任何顺序、高度或重要性,而是用于将一个元件与另一元件区分开。此外,术语“一”、“一个”和“多个”在本文中并不表示数量的限制,而是表示存在至少一个所述的物品。另外,在本文中,除非另外明确指出或通过上下文另外指出,“或”是包括性的而不是排他性的。因此,在本文中,除非另外明确指出或通过上下文另外指出,“A或B”是指“A、B或两者”。此外,除非另外明确指出或通过上下文另外指出,“和”既是连词又是数。因此,在本文中,除非另外明确指出或通过上下文另外指出,“A和B”是指“A和B共同地或分别地”。