HK1254071B - Systems and methods of secure provenance for distributed transaction databases - Google Patents
Systems and methods of secure provenance for distributed transaction databases Download PDFInfo
- Publication number
- HK1254071B HK1254071B HK18113135.9A HK18113135A HK1254071B HK 1254071 B HK1254071 B HK 1254071B HK 18113135 A HK18113135 A HK 18113135A HK 1254071 B HK1254071 B HK 1254071B
- Authority
- HK
- Hong Kong
- Prior art keywords
- blockchain
- transaction
- resource
- new
- generated
- Prior art date
Links
Description
对(多个)相关申请的(多个)交叉引用Cross-reference(s) to related application(s)
本申请要求于2015年07月02日提交的美国专利申请号62/188,422以及于2015年12月21日提交的美国专利申请号62/270,560的权益,每个所述申请中的全文通过引用结合于此。This application claims the benefit of U.S. patent application No. 62/188,422, filed on July 2, 2015, and U.S. patent application No. 62/270,560, filed on December 21, 2015, the entire contents of each of which are incorporated herein by reference.
技术领域Technical Field
本文的技术涉及分布式交易数据库计算机系统。更具体地,本文的系统涉及这样的系统中的安全溯源。The technology herein relates to distributed transaction database computer systems. More specifically, the system herein relates to secure provenance in such systems.
背景技术Background Art
数字溯源是计算机科学的一项学科并且总体上涉及到存储在计算机系统上的数字数据的历史。电子数据能够轻易被修改(例如,通过简单地将1变为0),而且并没有在这样的环境中提供溯源的固有机制。换句话说,一旦电子记录(例如,诸如医疗记录)被改变,之前的信息就被重写而并没有复原或者查问该数据的历史的固有能力。因此,某个对数字数据的溯源感兴趣的人仅可以看到数据的最近版本,但是却可能无法确定是什么创建(或修改)了该数据,谁或什么是该数据的责任主体,或者这样的创建或修改在何处/何时发生。Digital provenance is a discipline in computer science that generally deals with the history of digital data stored on computer systems. Electronic data can be easily modified (for example, by simply changing a 1 to a 0), and there are no inherent mechanisms for providing provenance in such environments. In other words, once an electronic record (such as a medical record) is altered, the previous information is overwritten with no inherent ability to recover or interrogate the history of the data. Therefore, someone interested in proving the provenance of digital data can only see the most recent version of the data but may be unable to determine what created (or modified) the data, who or what is responsible for the data, or where and when such creation or modification occurred.
一种用于在数字数据被存储时应对这些缺陷的方式是例如使用日志文件,所述日志文件记录对数字数据的改变(例如,交易数据库的交易日志)。然而,在传统实施方式中并不能保证日志文件自身就没有被操纵过。这种可信保证的缺失在某些情况下会有问题,在某些情况下溯源信息的链可能就像信息本身一样具有价值。考虑一个日志文件,它包括Alice(艾丽丝)访问了机密信息的记录。该信息可能是有价值的,但也仅在所查看的该日志信息不容易修改而使得溯源链在事发之后能够轻易改动的情况下才是如此。One approach to addressing these vulnerabilities when digital data is stored is to use log files, for example, that record changes to the digital data (e.g., a transaction log in a transaction database). However, traditional implementations offer no guarantee that the log files themselves have not been manipulated. This lack of trustworthy assurance can be problematic in certain situations, where the chain of provenance information can be as valuable as the information itself. Consider a log file containing a record of Alice accessing confidential information. This information could be valuable, but only if the log information being reviewed is not easily modifiable, making the chain of provenance easily alterable after the fact.
数字溯源中的另一个问题是确保溯源信息的可用性。这在计算机科学应用和数字数据的情境中特别重要,因为擦除数字信息而并不留下数据的原始内容的大量(如果存在)踪迹(例如,通过删除日志文件等)是相对容易的。因此,将要理解到的是,在技术上需要促成对某些类型的数据(诸如溯源信息)的有所增加的访问。Another issue in digital provenance is ensuring the availability of provenance information. This is particularly important in the context of computer science applications and digital data, as it is relatively easy to erase digital information without leaving much (if any) trace of the data's original content (e.g., by deleting log files, etc.). Therefore, it will be appreciated that there is a need in technology to facilitate increased access to certain types of data, such as provenance information.
溯源的另一个方面在于,特定情形或应用可能经常会要求溯源信息或者与溯源信息相关联的数字数据是机密的。作为示例,可能期望示出在被授权的情况下对数据记录等的改变,但是并不揭示出哪个用户授权了所述改变。在另一个示例中,可能期望隐藏特定数据文件的真实所有者(或过往所有者)。然而,与此同时,溯源链仍然可以被用于验证文件或数据字段的真实性(例如,它尚未被篡改或者改变是被授权的)。换句话说,溯源链可以向第三方提供详述溯源的信息而涉及与所述数据相关联的过往(或当前)所有者或用户的确切身份。因此,将要理解到的是,在技术上需要允许实体验证溯源和/或监管链而并不要求该信息的所有过往细节都是可用的。Another aspect of tracing back is that specific situations or applications may often require that tracing back information or the digital data associated with the tracing back information be confidential. As an example, it may be desirable to show changes to data records, etc., under authorized circumstances, but not to reveal which user authorized the changes. In another example, it may be desirable to hide the real owner (or past owner) of a specific data file. However, at the same time, the tracing back chain can still be used to verify the authenticity of a file or data field (for example, it has not been tampered with or the change is authorized). In other words, the tracing back chain can provide information detailing the tracing back to a third party and involves the exact identity of the past (or current) owner or user associated with the data. Therefore, it will be understood that it is technically necessary to allow an entity to verify the tracing back and/or custody chain without requiring that all past details of the information be available.
这些和其它问题始终存在于计算机科学和数字数据存储的学科中。因此,本领域需要进一步研发提供安全溯源的技术——在数字数据存储和/或分布式数据库计算机系统的情境中特别如此。These and other problems persist in the disciplines of computer science and digital data storage.Therefore, there is a need in the art for further development of techniques for providing secure provenance—particularly in the context of digital data storage and/or distributed database computer systems.
发明内容Summary of the Invention
以上问题中的一个或多个在某些示例实施例中由一种电子资源跟踪和存储计算机系统(计算机系统)所解决。所述计算机系统适于或被配置为与分布式区块链计算系统进行通信,所述分布式区块链计算系统包括多个计算节点和区块链。所述计算机系统包括用于区块链参与方标识符、区块链资源标识符以及对应于区块链交易的记录的储存装置。收发器被配置为接收电子数据消息(包括第一电子数据消息),所述电子数据消息包括作为发行一定量的新资源的请求的数字资源发行请求。当接收到新请求时,所述计算机系统被编程用以生成从区块链资源标识符(例如,区块链地址)到至少一个参与方标识符(例如,另一个区块链地址)的区块链交易。所生成的交易还包括要被发行或转移的该新资源的量值。所生成的区块链交易利用与区块链资源标识符相关联的至少一个私钥进行数字签署。所述区块链交易随后被发送至区块链以便在其上进行确认。所述计算机系统将并非所述区块链交易的一部分的其它信息存储到数据库等之中。一旦所述区块链交易已经被所述区块链所确认,所述数据库就被更新以反映所述区块链交易现在是所述区块链的一部分并且因此(出于实用的目的)是不可变的。One or more of the above issues are addressed in certain example embodiments by an electronic resource tracking and storage computer system (computer system). The computer system is adapted or configured to communicate with a distributed blockchain computing system comprising a plurality of computing nodes and a blockchain. The computer system includes storage for blockchain participant identifiers, blockchain resource identifiers, and records corresponding to blockchain transactions. A transceiver is configured to receive an electronic data message (including a first electronic data message) comprising a digital resource issuance request requesting the issuance of a certain amount of a new resource. Upon receiving the new request, the computer system is programmed to generate a blockchain transaction from the blockchain resource identifier (e.g., a blockchain address) to at least one participant identifier (e.g., another blockchain address). The generated transaction also includes the amount of the new resource to be issued or transferred. The generated blockchain transaction is digitally signed using at least one private key associated with the blockchain resource identifier. The blockchain transaction is then sent to the blockchain for confirmation thereon. The computer system stores other information not part of the blockchain transaction in a database or the like. Once the blockchain transaction has been confirmed by the blockchain, the database is updated to reflect that the blockchain transaction is now part of the blockchain and is therefore (for practical purposes) immutable.
因此,由于区块链中所包含记录的加密不变性,为区块链交易中所包含的信息提供了安全的数字溯源。(例如,在性质上可能是机密的)其它信息则存储在区块链之外,因此确保了与区块链上的区块链交易相关的信息的安全。第三方可以被允许通过审核区块链交易来确认(例如,审计)交易信息。这能够在并不审核并非作为区块链的一部分被存储的补充信息的情况下来完成。区块链上的记录的可用性也由于所述分布式区块链计算系统的分布式性质而有所提高。因此,一个节点的故障(或者一个位置中的记录的破坏)将不会导致数字溯源信息的丢失。Therefore, the cryptographic immutability of records contained in the blockchain provides secure digital provenance for information contained in blockchain transactions. Other information (which may be confidential in nature, for example) is stored outside the blockchain, thus ensuring the security of information related to blockchain transactions on the blockchain. Third parties can verify (e.g., audit) transaction information by reviewing blockchain transactions. This can be accomplished without reviewing supplemental information not stored as part of the blockchain. The availability of records on the blockchain is also enhanced by the distributed nature of the distributed blockchain computing system. Therefore, the failure of a single node (or the corruption of records in a single location) will not result in the loss of digital provenance information.
在某些示例实施例中,多个不同的参与方标识符被包括作为对所生成的区块链交易的分开的输出。每一个标识符与不同的参与方相关联。这允许多个交易(例如,A->B和A->C)被记录在相同的区块链交易中。In certain example embodiments, multiple different party identifiers are included as separate outputs to the generated blockchain transaction. Each identifier is associated with a different party. This allows multiple transactions (e.g., A->B and A->C) to be recorded in the same blockchain transaction.
在某些示例实施例中,开始第一过程(例如,拍卖过程),参与方在其间提交发送或接收与新的数字资源标识符相关联的资源量的数据交易请求。所述第一过程被关闭以接收来自参与方的数据交易请求。在所述第一过程关闭之后,生成包括与源参与方标识符相对应的输入以及与目标参与方标识符相对应的输出的单区块链交易。所述单区块链交易被发布至分布式区块链计算系统以便由此进行确认。因此,涉及到许多不同交易的拍卖过程可以在区块链上被表示为一个单区块链交易。In certain example embodiments, a first process (e.g., an auction process) is initiated during which participants submit data transaction requests to send or receive a resource quantity associated with a new digital resource identifier. The first process is closed to receive data transaction requests from participants. After the first process is closed, a single blockchain transaction is generated that includes an input corresponding to a source participant identifier and an output corresponding to a target participant identifier. The single blockchain transaction is published to a distributed blockchain computing system for confirmation. Thus, an auction process involving many different transactions can be represented on a blockchain as a single blockchain transaction.
在某些示例实施例中,其中针对所述单区块链交易的输出还包括未使用资源量的源参与方标识符。因此,转移它们所“持有”的一些但并非全部资源的那些源标识符将接收到余额(remainder)。In certain example embodiments, where the outputs for the single blockchain transaction also include source party identifiers of unused resource amounts, those source identifiers that transfer some but not all of their "held" resources will receive a remainder.
在某些示例实施例中,所生成的区块链交易包括附加交易数据的散列值。因此,存储在区块链之外(例如,在单独数据库中)的溯源信息可以在区块链上进行表示而并不将它包括在区块链上。这允许附加信息的数字溯源得以被确保安全,原因在于该信息的散列值将变为不可变的区块链记录的一部分。In certain example embodiments, the generated blockchain transaction includes a hash of the additional transaction data. Thus, provenance information stored outside the blockchain (e.g., in a separate database) can be represented on the blockchain without being included. This allows for secure digital provenance of the additional information, as the hash of that information becomes part of the immutable blockchain record.
在某些示例实施例中,区块链交易(包括发行或分配交易)用两个或更多私钥进行数字签署。在某些示例实施例中,所述私钥之一由所述电子资源跟踪和存储计算机系统所保存或维持。In certain example embodiments, blockchain transactions (including issuance or allocation transactions) are digitally signed using two or more private keys. In certain example embodiments, one of the private keys is stored or maintained by the electronic resource tracking and storage computer system.
在某些示例实施例中,接收资源分配请求以用于向另一个参与方标识符分配与之前所生成的区块链交易相关联的至少一些量值。使用来自之前所生成的区块链交易的输出数据作为输入而生成第二区块链交易。所述第二区块链交易的输出包括要被分配给另一个参与方标识符的至少一些量值的数值。所生成的第二区块链交易被发布至所述区块链并且所述电子资源跟踪和存储计算机系统的交易知识库利用所述第二区块链交易的记录进行更新。所述记录包括并未包括在第二个所生成的区块链交易中的附加交易数据。因此,资源(诸如私有资产)的分配被记录至区块链。另外,从初始发行到该进一步分配确保了监管链的安全,因为审计方或其它第三方将能够对与源自于初始发行的交易相关联的资源(资产)数量加以验证。In certain example embodiments, a resource allocation request is received to allocate at least some amount associated with a previously generated blockchain transaction to another party identifier. A second blockchain transaction is generated using output data from the previously generated blockchain transaction as input. The output of the second blockchain transaction includes a numerical value for at least some amount to be allocated to the other party identifier. The generated second blockchain transaction is published to the blockchain, and the transaction repository of the electronic resource tracking and storage computer system is updated with a record of the second blockchain transaction. The record includes additional transaction data not included in the second generated blockchain transaction. Thus, the allocation of a resource (such as a private asset) is recorded on the blockchain. Furthermore, a secure chain of custody is ensured from the initial issuance to the further allocation, as auditors or other third parties will be able to verify the amount of the resource (asset) associated with the transaction originating from the initial issuance.
在某些示例实施例中,所述区块链被维持在私有计算机系统上,从而使得仅被授权与区块链交互的那些用户或计算机才可以执行区块链功能(这包括电子资源跟踪和存储计算机系统以及由单个实体所控制的区块链节点)。在某些实例中,可以向第三方提供对区块链的只读访问。这可以有利地允许第三方直接访问作为区块链的一部分被存储的安全数字溯源信息。In certain example embodiments, the blockchain is maintained on a private computer system so that only those users or computers authorized to interact with the blockchain can perform blockchain functions (this includes electronic resource tracking and storage computer systems and blockchain nodes controlled by a single entity). In some instances, read-only access to the blockchain can be provided to third parties. This can advantageously allow third parties to directly access the secure digital provenance information stored as part of the blockchain.
某些示例实施例还涉及一种用于操作如以上所描述的电子资源跟踪和存储计算机系统的方法,以及体现于非瞬态存储介质上的计算机程序指令。Certain example embodiments also relate to a method for operating an electronic resource tracking and storage computer system as described above, and computer program instructions embodied on a non-transitory storage medium.
本文所描述的特征可以被组合以形成附加实施例,并且某些实施例的子实施例可以形成再另外的实施例。提供该发明内容用以对下面在具体实施方式中进一步进行描述的概念的选择进行介绍。该发明内容并非意在指认所请求保护主题的关键特征或必要特征,其也并非意在被用来对所请求保护主题的范围进行限制。相反,该发明内容意在提供本文档中所描述主题的概述。因此,将要理解到的是,以上所描述的特征仅是示例,并且本文所描述主题的其它特征、方面和优势将由于以下的详细描述、附图和权利要求而变得清楚明白。The features described herein can be combined to form additional embodiments, and sub-embodiments of certain embodiments can form yet further embodiments. This summary is provided to introduce a selection of concepts that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. On the contrary, this summary is intended to provide an overview of the subject matter described in this document. Therefore, it will be understood that the features described above are merely examples, and other features, aspects, and advantages of the subject matter described herein will become clear from the following detailed description, drawings, and claims.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
这些和其它特征及优势将通过结合附图参考以下对示例的非限制性说明实施例的详细描述而被更好且更完全地理解,其中:These and other features and advantages will be better and more fully understood by reference to the following detailed description of exemplary, non-limiting illustrative embodiments taken in conjunction with the accompanying drawings, in which:
图1图示了根据某些示例实施例的与区块链对接的数字资产知识库计算机系统的非限制性示例功能框图;FIG1 illustrates a non-limiting example functional block diagram of a digital asset knowledge base computer system interfaced with a blockchain, according to certain example embodiments;
图2A图示了根据某些示例实施例的在数字资产知识库计算机系统中进行的用于发行记录在区块链上的数字形式的资产的示例数字交易;FIG2A illustrates an example digital transaction conducted in a digital asset repository computer system for issuing an asset in digital form recorded on a blockchain, according to certain example embodiments;
图2B示出了用于在图1所示的系统上发行基于数字的资产的示例过程;FIG2B illustrates an example process for issuing digital-based assets on the system shown in FIG1 ;
图2C示出了根据某些示例实施例的关于发行数字资产而进行的示例交易;FIG2C illustrates an example transaction conducted in connection with the issuance of a digital asset, according to certain example embodiments;
图3A示出了用于在图1所示的系统上转移基于数字的资产的示例过程;FIG3A illustrates an example process for transferring digital-based assets on the system shown in FIG1 ;
图3B和3C示出了根据某些示例实施例的关于在参与方之间转移数字资产而进行的示例交易;3B and 3C illustrate example transactions involving the transfer of digital assets between parties, according to certain example embodiments;
图4示出了用于注册参与方的示例过程,所述参与方随后被允许经由图1所示的示例系统与某些基于数字的资产进行交互;FIG4 illustrates an example process for registering a party that is subsequently permitted to interact with certain digital-based assets via the example system shown in FIG1 ;
图5是根据某些示例实施例的与区块链进行对接的集中式计算机系统的非限制性示例功能框图;FIG5 is a non-limiting example functional block diagram of a centralized computer system interfacing with a blockchain, according to certain example embodiments;
图6是在区块链上的发行方、区块链上的合同和区块链上的投资方之间执行的示例区块链交易的信令图;FIG6 is a signaling diagram of an example blockchain transaction executed between an issuer on a blockchain, a contract on a blockchain, and an investor on a blockchain;
图7A-7H是根据某些示例实施例的用户界面的示例截屏,它们示出了区块链交易以及它们的相关联数据可以如何被显示以供用户消费;以及7A-7H are example screenshots of user interfaces illustrating how blockchain transactions and their associated data may be displayed for user consumption, in accordance with certain example embodiments; and
图8是根据某些示例实施例的示例计算机系统。FIG8 is an example computer system according to some example embodiments.
具体实施方式DETAILED DESCRIPTION
在以下描述中,出于解释而非限制的目的阐述了具体的细节,诸如特定节点、功能实体、技术、协议等,以便提供对所描述技术的理解。对于本领域技术人员将会清楚明白的是,可以脱离以下所描述的具体细节来实践其它实施例。在其它实例中,省略了对公知方法、设备、技术等的详细描述从而不使该描述因为不必要的细节而变得模糊。In the following description, specific details, such as specific nodes, functional entities, techniques, protocols, etc., are set forth for purposes of explanation rather than limitation in order to provide an understanding of the described technology. It will be apparent to those skilled in the art that other embodiments may be practiced without the specific details described below. In other instances, detailed descriptions of well-known methods, devices, techniques, etc. are omitted so as not to obscure the description with unnecessary detail.
该具体实施方式中使用小节仅是为了使读者以每个小节的大致主题为参照;如下文将会看到的,许多特征的描述贯穿了多个小节,并且标题不应当被读为影响任何小节中所包括的描述的含义。Subsections are used in this detailed description only to refer the reader to the general subject matter of each subsection; as will be seen below, the descriptions of many features are spread across multiple subsections, and the headings should not be read as affecting the meaning of the description included in any subsection.
概述Overview
在某些示例实施例中,一种计算机系统与区块链对接并且为存储于其上的交易提供安全溯源和监管链信息。所述计算机系统存储与加入到区块链中的交易相关的附加信息,并且还跟踪区块链交易是否已经被确认。In certain example embodiments, a computer system interfaces with a blockchain and provides secure provenance and chain of custody information for transactions stored thereon. The computer system stores additional information related to transactions added to the blockchain and also tracks whether blockchain transactions have been confirmed.
区块链技术(有时被简称为区块链)是一种相对新型的数据库技术。示例实施方式和相对应的区块链技术在山本聪(Satoshi Nakamoto)2008年题为“A Peer-to-PeerElectronic Cash System”的文章中有所描述,所述文章全文通过引用结合于此。区块链是一种分布式数据库系统(有时被称作公共账本),它记录源标识符和目标标识符之间的交易。这些标识符通过加密所创建,作为示例,所述加密诸如公钥加密。例如,用户可以基于私钥创建目标标识符。私钥和目标标识符之间的关系提供了用户与来自相对应“交易”的“输出”相关联的“证据”。由于没有一个节点或系统是什么是“正确的”的有效持有方,所以区块链的去中心化的性质也会是有利的。相反,去中心化的系统作为整体使用数学技术来确定什么是“正确的”。Blockchain technology (sometimes simply referred to as blockchain) is a relatively new database technology. Example implementations and the corresponding blockchain technology are described in Satoshi Nakamoto's 2008 article titled "A Peer-to-Peer Electronic Cash System," which is incorporated herein by reference in its entirety. A blockchain is a distributed database system (sometimes referred to as a public ledger) that records transactions between source and destination identifiers. These identifiers are created using cryptography, such as public-key cryptography. For example, a user can create a destination identifier based on a private key. The relationship between the private key and the destination identifier provides "proof" that the user is associated with the "output" from the corresponding "transaction." The decentralized nature of blockchain is also advantageous because no single node or system effectively holds the "correct" view of what is true. Instead, the decentralized system as a whole uses mathematical techniques to determine what is "correct."
在某些示例实施例中,一种计算机系统被配置为与包括多个计算节点的分布式区块链计算系统进行通信。在某些示例实施例中,所述计算机系统和区块链充当私有证书知识库。所述计算机系统存储(1)所述计算机系统的参与方的标识符和/或私钥信息;(2)被用来表示区块链上的资产的数字资产标识符;和(3)区块链交易记录。当新的区块链交易被提交至所述分布式区块链计算系统时,所述计算机系统等待以确定所提交的新的区块链交易已经被确认。一旦所述新的区块链交易已经被确认,则所述计算机系统更新用所述计算机系统存储的该区块链交易的记录。用所述计算机系统存储的记录包括并未包括的信息或者被所述分布式区块链计算系统所确认的所述区块链交易的部分。In certain example embodiments, a computer system is configured to communicate with a distributed blockchain computing system comprising a plurality of computing nodes. In certain example embodiments, the computer system and the blockchain function as a private certificate repository. The computer system stores (1) identifiers and/or private key information for participants of the computer system; (2) digital asset identifiers used to represent assets on the blockchain; and (3) blockchain transaction records. When a new blockchain transaction is submitted to the distributed blockchain computing system, the computer system waits to determine whether the submitted new blockchain transaction has been confirmed. Once the new blockchain transaction has been confirmed, the computer system updates the record of the blockchain transaction stored by the computer system. The record stored by the computer system includes information that was not included or that is part of the blockchain transaction that was confirmed by the distributed blockchain computing system.
图1图示了根据某些示例实施例的与区块链对接的数字资产知识库计算机系统的非限制性示例功能框图。图2A-2C示出了使用图1所示的系统发行数字资产。图3A-3C示出了如何使用图1所示的系统转移数字资产的示例。图4示出了用于向图1所示的示例计算机系统注册参与方的示例过程。图5是可以被用来实施图1-4和6-8中的特征的计算机系统的非限制性示例功能框图。图6是示出在区块链上针对合同而在发行方和投资方之间执行的示例区块链交易的信令图。图7A-7H是用来在视觉上示出与区块链对接的计算机系统的参与方方面的用户界面的示例截屏。图8是可以被用作作为区块链的一部分的节点或者被用作数字资产知识库计算机系统的示例计算机系统。Figure 1 illustrates a non-limiting example functional block diagram of a digital asset repository computer system interfaced with a blockchain, according to certain example embodiments. Figures 2A-2C illustrate the issuance of digital assets using the system shown in Figure 1. Figures 3A-3C illustrate an example of how digital assets may be transferred using the system shown in Figure 1. Figure 4 illustrates an example process for registering a participant with the example computer system shown in Figure 1. Figure 5 is a non-limiting example functional block diagram of a computer system that may be used to implement the features of Figures 1-4 and 6-8. Figure 6 is a signaling diagram illustrating an example blockchain transaction executed between an issuer and an investor for a contract on a blockchain. Figures 7A-7H are example screenshots of a user interface used to visually illustrate the participant aspects of a computer system interfaced with a blockchain. Figure 8 illustrates an example computer system that may be used as a node as part of a blockchain or as a digital asset repository computer system.
某些示例实施例提供了一种用于买方和卖方连接并买卖私人发行资产的数字资产知识库计算机系统。私人发行的资产可以是各种安全类型的资产。这例如可以包括私有公司、私有商业企业、有限责任公司、合伙企业,以及其私人发行的资产(所述资产可以包括份额、股票、会员单位、会员权益、合伙权益等)并不经由公共交易平台或股票市场进行买卖的其它公司实体的股权或债务利息。在某些示例实施例中,私有公司、有限责任公司(LLC)、合伙企业以及其它商业实体(在本公开中统称为“私有公司”)可以参与它们的私人发行资产的二级出售,对于这样的私人发行资产进行买卖的方式具有至少部分控制权,对于谁能够出售和/或购买具有至少部分控制权,设置特定于交易和/或特定于用户的限制等等。Certain example embodiments provide a digital asset repository computer system for connecting buyers and sellers to trade privately issued assets. Privately issued assets can be assets of various security types. These can include, for example, private companies, private commercial enterprises, limited liability companies, partnerships, and their privately issued assets (such assets may include shares, stocks, membership units, membership interests, partnership interests, etc.), as well as equity or debt interests in other corporate entities that are not traded through public trading platforms or stock markets. In certain example embodiments, private companies, limited liability companies (LLCs), partnerships, and other commercial entities (collectively referred to as "private companies" in this disclosure) can participate in secondary sales of their privately issued assets, have at least partial control over how such privately issued assets are traded, have at least partial control over who can sell and/or buy such privately issued assets, set transaction-specific and/or user-specific restrictions, and so on.
图1Figure 1
图1图示了根据某些示例实施例的与区块链618对接的计算机实现的数字资产知识库计算机系统(在本文也被称作数字资源知识库计算机系统)600的非限制性示例功能框图。数字资产知识库计算机系统600可以包括软件和硬件接口、编程商业逻辑、处理资源和可电寻址的存储的组合。数字资产知识库计算机系统600负责出于维持资产所有权的准确数字账本的目的而跟踪并执行计算机程序。FIG1 illustrates a non-limiting example functional block diagram of a computer-implemented digital asset repository computer system (also referred to herein as a digital asset repository computer system) 600 that interfaces with a blockchain 618, according to certain example embodiments. The digital asset repository computer system 600 may include a combination of software and hardware interfaces, programmed business logic, processing resources, and electronically addressable storage. The digital asset repository computer system 600 is responsible for tracking and executing computer programs for the purpose of maintaining an accurate digital ledger of asset ownership.
数字资产知识库计算机系统600参考或包括用户、参与方、数字资产和区块链交易的记录或数据。参与方是能够被分配以也被该系统所跟踪的数字资产的所有权的可识别实体(例如,它们是唯一的)。例如,发行一百万份份额的公司可以是该系统内的参与方。用户可以是有权限查看、更新和/或控制系统内的信息的可唯一识别的实体。在某些实例中,用户和参与方可以是相同或不同的。例如,在公司的情况下,所述公司可以具有多个代表该公司与系统交互的授权用户。在另一个示例中,投资方可以是系统中参与方和用户这二者。The digital asset knowledge base computer system 600 references or includes records or data of users, participants, digital assets, and blockchain transactions. Participants are identifiable entities (e.g., they are unique) that can be assigned ownership of digital assets that are also tracked by the system. For example, a company that issues one million shares can be a participant in the system. A user can be a uniquely identifiable entity with permission to view, update, and/or control information within the system. In some instances, users and participants can be the same or different. For example, in the case of a company, the company may have multiple authorized users who interact with the system on its behalf. In another example, an investor can be both a participant and a user in the system.
数字资产(在本文也被称作资源)也是能够由计算机系统600跟踪、管理并核实的可识别实体(例如,它们是唯一的)。例如,当公司首先发行A类股票的份额时,该公司的A类股票将是该系统所跟踪的一项资产。Digital assets (also referred to herein as resources) are also identifiable entities (e.g., they are unique) that can be tracked, managed, and verified by the computer system 600. For example, when a company first issues shares of Class A stock, the company's Class A stock will be an asset tracked by the system.
图7A示出了示出了用户界面的示例截屏,所述用户界面示出了已经为一个公司所创建的不同资源。针对该公司的三种不同资源是“种子”、“系列(series) A”和“系列 B”。这些全部是被计算机系统600所跟踪的唯一资源,并且如下文更详细描述的,它们作为所生成并确认的区块链交易的一部分被加入。FIG7A shows an example screenshot of a user interface illustrating different resources that have been created for a company. The three different resources for the company are "Seed," "Series A," and "Series B." These are all unique resources tracked by computer system 600 and, as described in more detail below, are added as part of the generated and confirmed blockchain transactions.
针对私人发行的资产的交易是已经由相对应区块链(例如,公开的分布式数字账本)618所提交和/或确认的数字交易。Transactions for privately issued assets are digital transactions that have been submitted and/or confirmed by the corresponding blockchain (e.g., a public distributed digital ledger) 618.
区块链618由多个不同的计算机节点所维持、存储和更新,所述计算机节点均进行操作以“挖掘”并由此确认提交至区块链618的交易。通常,在所述节点中仅一个节点需要“接收”已经从客户端(例如,计算机系统600)提交的交易。一旦一个点接收到交易,它就可以将所述交易传播至提供区块链618的分布式计算机系统内的其它节点。在某些示例中,不同实体可以控制负责维持区块链的不同的计算机节点。例如,资产的发行方可以具有一个节点,审计方可以具有另一个节点,监管方(例如,SEC)可以具有另一个节点,控制计算机系统600的实体可以提供区块生成器节点(例如,它们专用于执行区块链的密码计算)。Blockchain 618 is maintained, stored, and updated by a number of different computer nodes, each of which operates to "mine" and thereby validate transactions submitted to blockchain 618. Typically, only one of these nodes needs to "receive" a transaction submitted from a client (e.g., computer system 600). Once a node receives a transaction, it can propagate it to other nodes within the distributed computer system providing blockchain 618. In some examples, different entities may control the different computer nodes responsible for maintaining the blockchain. For example, the issuer of an asset may have one node, the auditor may have another, a regulator (e.g., the SEC) may have another, and the entity controlling computer system 600 may provide block producer nodes (e.g., dedicated to performing cryptographic computations for the blockchain).
在某些示例实施例中,区块链可以是私有区块链实施方式(例如,其中仅授权当事方才被允许读取区块链和/或对区块链写入)。在某些示例实施例中,区块链618可以包括用于发行资产(资源)的节点以及被用于在区块链618的参与方标识符之间交易或移动资产/资源的节点。In certain example embodiments, the blockchain may be a private blockchain implementation (e.g., where only authorized parties are allowed to read and/or write to the blockchain). In certain example embodiments, the blockchain 618 may include nodes for issuing assets (resources) and nodes for trading or moving assets/resources between participant identifiers on the blockchain 618.
发行方节点可以均保存一个或多个私钥并且负责创建与具体资产类型相关联的新资产。在某些示例中,每个节点具有一个用于创建和/或数字签署要由该节点所创建的资产的私钥(例如,可以利用相同密钥来创建或数字签署多种资产类型)。在其它示例中,每个资产具有它自己唯一的私钥。在某些示例中,每种资产类型具有一个发行方节点并且区块链上的发行方节点可以是虚拟机(例如,使得多个虚拟机可以在一个计算机系统上执行)。Issuer nodes may each store one or more private keys and be responsible for creating new assets associated with a specific asset type. In some examples, each node has a private key used to create and/or digitally sign assets to be created by that node (e.g., the same key can be used to create or digitally sign multiple asset types). In other examples, each asset has its own unique private key. In some examples, there is one issuer node per asset type, and the issuer node on the blockchain can be a virtual machine (e.g., so that multiple virtual machines can execute on a single computer system).
作为区块链618的一部分或与区块链618进行交互的另一种类型的节点可以是管理器或交易节点,它被用来将资产从一个参与方(例如,发行公司)移动至另一个参与方(例如,投资方)。为了从例如公司向投资方分配份额,利用来自发行方地址(例如,“持有”份额的公司的标识符)的输入生成分配区块链交易。这种类型的交易由管理器或交易节点所生成。该交易随后由管理器节点所保存的私钥进行数字签署。在某些示例中,每个管理器节点具有被用来数字签署(例如,在参与方之间的)这样的分配交易的相对应私钥。一旦交易被区块链所生成、提交并确认,则随所述交易包括的量就有效地被接收该交易(例如,作为未使用输出)的参与方标识符所“持有”。Another type of node that is part of or interacts with blockchain 618 may be a manager or transaction node, which is used to move assets from one participant (e.g., an issuing company) to another (e.g., an investor). To allocate shares from, for example, a company to an investor, an allocation blockchain transaction is generated using input from the issuer's address (e.g., an identifier for the company that "holds" the shares). This type of transaction is generated by a manager or transaction node. The transaction is then digitally signed using a private key maintained by the manager node. In some examples, each manager node has a corresponding private key used to digitally sign such allocation transactions (e.g., between participants). Once a transaction is generated, submitted, and confirmed by the blockchain, the amount included with the transaction is effectively "held" by the identifier of the participant that received the transaction (e.g., as an unspent output).
每个交易(或者交易的区块)经由工作量证明(proof-of-work)挖掘过程而被加入或包括到区块链618之中。所述挖掘过程可以涉及到解决也易于验证的计算上困难的问题。例如,每个节点可以尝试“挖掘”用于区块或交易的散列的解决方案。散列(在本文也被称作“散列函数”、“密码散列函数”等)包括将初始输入数据集合映射至输出数据集合的函数。来自散列函数的输出在本文可以被称作“散列标识符”、“散列值”、“散列数据集”或者简单地被称之为“散列”。通常,来自给定散列函数的输出值具有相同的固定长度。通常,如果对相同的输入数据使用相同的散列函数,则它将会产生相同的输出数据值。利用一些散列函数(包括在区块链技术和/或本申请的主题的情境中所使用的那些),在仅有输出值已知时,难以通过计算确定输入值。在某些示例中,散列函数的输入值被补充以一些附加的随机数据。例如,用于散列函数的“区块链”的输入值可以包括诸如三个随机字符的附加随机数据。因此,被散列的数据值可以是“blockchaina5h(区块链a5h)”以代替简单的“blockchain(区块链)”。所述附加随机数据有时被称作“随机数(nonce)”。Each transaction (or block of transactions) is added to or included in the blockchain 618 via a proof-of-work mining process. This mining process can involve solving a computationally difficult problem that is also easy to verify. For example, each node can attempt to "mine" a solution to the hash for a block or transaction. A hash (also referred to herein as a "hash function," "cryptographic hash function," etc.) comprises a function that maps an initial input data set to an output data set. The output from a hash function may be referred to herein as a "hash identifier," "hash value," "hashed data set," or simply "hash." Typically, the output values from a given hash function have the same fixed length. Generally, if the same hash function is used on the same input data, it will produce the same output data value. With some hash functions (including those used in the context of blockchain technology and/or the subject matter of this application), it is difficult to computationally determine the input value when only the output value is known. In some examples, the input value to the hash function is supplemented with some additional random data. For example, the input value to the "blockchain" of a hash function may include additional random data such as three random characters. Thus, the hashed data value might be “blockchaina5h” instead of simply “blockchain.” The additional random data is sometimes referred to as a “nonce.”
为了确认进入区块链的新区块,所执行的工作量证明过程(或散列运算过程)可以包括找出导致满足给定条件的输出散列值的输入散列值(即,区块)。由于所述区块中与区块链交易相关的数据是固定的,所以挖掘器(例如,区块链上的节点)修改作为被确认的所述区块的一部分而被包括的随机数数值,直至散列函数的输出值满足给定条件。例如,目标输出值可以具有5个零作为散列的前四个数。这是一个在计算上可能难以确定的问题,但是却相对容易验证。作为分布式计算机系统的一部分的每个节点也可以在相对应节点本地的储存装置中(例如,在磁盘上或RAM中)保留区块链618的副本或一部分。To validate a new block for inclusion in a blockchain, the proof-of-work process (or hashing process) performed can include finding an input hash value (i.e., a block) that results in an output hash value that satisfies a given condition. Because the data associated with blockchain transactions in a block is fixed, a miner (e.g., a node on the blockchain) modifies the nonce value included as part of the validated block until the output of the hash function satisfies a given condition. For example, the target output value can have five zeros as the first four digits of the hash. This is a computationally difficult problem to determine, but relatively easy to verify. Each node as part of the distributed computer system can also maintain a copy or portion of the blockchain 618 in storage local to the corresponding node (e.g., on disk or in RAM).
区块链618因此可以提供安全数据溯源、不可变性、免于重复付款问题的保护以及分布式记录保留(例如,许多不同实体可以具有作为维持区块链的分布式系统的一部分的节点)。The blockchain 618 may thus provide secure data provenance, immutability, protection from double-spending issues, and distributed record keeping (e.g., many different entities may have nodes that are part of a distributed system maintaining the blockchain).
数字资产知识库计算机系统600包括计算机处理器(处理器)608,其执行或运行微服务应用编程接口(API)610和用户界面612(例如,其生成并提供可以渲染到图7A-7H的屏幕中的网页或者其它用户界面元素,所述屏幕可以在诸如614A和614B的用户设备上示出)。处理器608还运行区块链服务616。区块链服务616可以包括既发送又接收区块链相关的交易和事件的功能。例如,交易可以被提交至区块链618以便进行确认。此外,经确认的交易可以在数字资产知识库计算机系统600处经由区块链服务616被检测或接收。将要理解到的是,处理器608可以是一个或多个处理器。在某些示例中,处理器608表示分布式计算系统。The digital asset repository computer system 600 includes a computer processor (processor) 608 that executes or runs a microservices application programming interface (API) 610 and a user interface 612 (e.g., it generates and provides web pages or other user interface elements that can be rendered into the screens of Figures 7A-7H, which can be shown on a user device such as 614A and 614B). Processor 608 also runs blockchain services 616. Blockchain services 616 may include functionality for both sending and receiving blockchain-related transactions and events. For example, transactions can be submitted to blockchain 618 for confirmation. In addition, confirmed transactions can be detected or received at the digital asset repository computer system 600 via blockchain services 616. It will be understood that processor 608 can be one or more processors. In some examples, processor 608 represents a distributed computing system.
微服务API 610是允许外部计算资源与数字资产知识库计算机系统600进行机器可读数据获取以及交互的应用编程接口。这样的交互可以经由web服务或基于消息的协议来执行,所述web服务或基于消息的协议允许计算设备614B(例如,移动设备、PC、平板计算机等)上的管理员与数字资产知识库计算机系统600进行交互。例如,微服务API可以提供数据流,数据流指示交易何时已经被提交至区块链,它们何时已经被确认等。在某些示例中,微服务API 610可以被用来修改、添加或删除有关资产、交易、用户或参与方的信息。在某些示例实施例中,微服务API 610可以提供被用来渲染截屏7A-7H的数据。Microservices API 610 is an application programming interface that allows external computing resources to access machine-readable data and interact with the digital asset repository computer system 600. Such interactions can be performed via web services or message-based protocols that allow administrators on computing devices 614B (e.g., mobile devices, PCs, tablets, etc.) to interact with the digital asset repository computer system 600. For example, the microservices API can provide data streams indicating when transactions have been submitted to the blockchain, when they have been confirmed, etc. In some examples, the microservices API 610 can be used to modify, add, or delete information about assets, transactions, users, or parties. In some example embodiments, the microservices API 610 can provide data used to render screenshots 7A-7H.
用户界面612允许用户经由用户设备614A通过预先编程的动作来查看、更新和/或控制数字账本。用户能够查看数字账本(数字账本的示例在图7B中示出,其中向用户呈现示出给定资源或资产的交易的屏幕),所述数字账本表示资产储存装置614中所定义的资产的所有权记录,并且用户能够通过一组预先编程的动作来与包含所述数字账本中的数据进行交互。可以创建并存储与账本的每次交互的完全可审计的记录以供随后的审核。在某些示例中,用户界面612可以采用网页或专用客户端应用的形式(例如,如结合图7A-7H的截屏所示的)。User interface 612 allows a user to view, update, and/or control a digital ledger via pre-programmed actions via user device 614A. The user can view the digital ledger (an example of which is shown in FIG. 7B , where the user is presented with a screen showing transactions for a given resource or asset) that represents the ownership record of assets defined in asset storage 614, and can interact with the data contained in the digital ledger through a set of pre-programmed actions. A fully auditable record of each interaction with the ledger can be created and stored for subsequent review. In some examples, user interface 612 can take the form of a webpage or a dedicated client application (e.g., as shown in the screenshots in conjunction with FIG. 7A-7H ).
数字资产知识库计算机系统600包括至少三个数据知识库。这三个知识库可以作为单个数据库(例如,关系数据库)的一部分被包括,可以是单独数据库,或者可以通过使用其它技术(例如,平面文件或者其它数据结构)来存储。在某些示例中,数字资产知识库计算机系统600的存储知识库位于存储器中和/或位于单独的逻辑或物理设备上。The digital asset knowledge base computer system 600 includes at least three data repositories. These three repositories can be included as part of a single database (e.g., a relational database), can be separate databases, or can be stored using other technologies (e.g., flat files or other data structures). In some examples, the storage repositories of the digital asset knowledge base computer system 600 are located in memory and/or on separate logical or physical devices.
参与方储存装置602包括能够拥有系统内所定义的资源或者以其它方式与所述资源交互的所有参与方的记录。参与方储存装置602可以包括公钥、私钥,以及(例如,通过使用公钥的单向散列所得出的)与参与方相关联的区块链地址或参与方标识符,并且这些可以被用于跟踪该参与方所进行的区块链交易。在某些示例中,一个或多个所述元素可以被保存(例如,用来数字签署交易的私钥能够以加密状态来保存)。在某些示例实施例中,参与方(例如,由那些参与方所控制或维护的计算系统)能够独立于数字资产知识库计算机系统600来管理其相对应的私钥。因此,当数字资产知识库计算机系统600与区块链交互以创建要由该参与方数字签署的区块链交易时,所述参与方所控制的计算系统可以提供私钥和/或可以数字签署所述交易并且将经数字签署的交易传送回数字资产知识库计算机系统600以便后续提交至区块链618进行验证。在某些示例中,参与方储存装置602包括每个相应参与方的数字钱包。The participant storage 602 includes a record of all participants who can own or otherwise interact with resources defined within the system. The participant storage 602 may include public keys, private keys, and blockchain addresses or participant identifiers associated with each participant (e.g., derived using a one-way hash of the public key), which can be used to track blockchain transactions conducted by that participant. In some examples, one or more of these elements may be stored (e.g., the private key used to digitally sign transactions may be stored in an encrypted state). In some example embodiments, participants (e.g., computing systems controlled or maintained by those participants) can manage their corresponding private keys independently of the digital asset repository computer system 600. Therefore, when the digital asset repository computer system 600 interacts with the blockchain to create a blockchain transaction to be digitally signed by that participant, the computing system controlled by the participant can provide the private key and/or digitally sign the transaction and transmit the digitally signed transaction back to the digital asset repository computer system 600 for subsequent submission to the blockchain 618 for verification. In some examples, the participant storage 602 includes a digital wallet for each respective participant.
在某些示例中,每个参与方的私钥是不同的。可替换地,每个参与方的私钥可以共享。例如,如果私有区块链被用作区块链,则控制所述区块链的实体可以针对所有的参与方标识符使用相同的私钥。因此,此时从A至B的区块链交易可以使用与用于从B到C的区块链交易相同的私钥进行数字签署。In some examples, each participant's private key is different. Alternatively, each participant's private key can be shared. For example, if a private blockchain is used as the blockchain, the entity controlling the blockchain can use the same private key for all participant identifiers. Thus, a blockchain transaction from A to B can be digitally signed using the same private key as a blockchain transaction from B to C.
数字钱包是允许参与方或用户生成和/或数字签署区块链交易的软件和硬件(或者特殊设计的硬件)。数字钱包可以包括私钥(例如,所述私钥是数字钱包与之相关联的参与方或用户已知的)并且包括已经基于所述私钥所生成的一系列标识符(有时称作数字钱包标识符、钱包ID、区块链标识符等)。这些标识符被用来允许其它用户将记录在区块链上的区块链交易“发送”至该标识符。(例如,经由区块链服务616)与数字钱包相关联的软件随后可以被用来查询区块链以确定什么未使用交易(例如,没有被用作另一个交易的输入的那些交易输出)与数字钱包中的标识符相关联。这样的软件随后可以呈现数字钱包的持有方所“拥有”什么的全盘视图。例如,区块链上公司的1份份额的一百个不同交易(均与不同标识符相关联)可以被识别并且随后被呈现为所述公司的100份份额。因此,被存储在参与方储存装置或相对应的数字钱包中的标识符从用户角度来看可以是透明的。A digital wallet is software and hardware (or specially designed hardware) that allows a party or user to generate and/or digitally sign blockchain transactions. A digital wallet may include a private key (e.g., known to the party or user with whom the digital wallet is associated) and a series of identifiers (sometimes referred to as digital wallet identifiers, wallet IDs, blockchain identifiers, etc.) generated based on the private key. These identifiers are used to allow other users to "send" blockchain transactions recorded on the blockchain to these identifiers. Software associated with the digital wallet (e.g., via blockchain service 616) can then query the blockchain to determine what unspent transactions (e.g., transaction outputs that have not been used as inputs in another transaction) are associated with the identifiers in the digital wallet. Such software can then present a comprehensive view of what the holder of the digital wallet "owns." For example, one hundred different transactions for one share of a company on the blockchain (each associated with a different identifier) can be identified and subsequently presented as 100 shares of the company. Thus, the identifiers stored in a party's storage device or corresponding digital wallet can be transparent to the user.
资产储存装置604(有时也称作资源储存装置)包括数字资产知识库计算机系统600所跟踪的所有资产或资源的记录。例如,公司所发行的每一类份额可以是资产储存装置604中的单独资源记录。资产或资源记录可以包括该资产与之相关联的参与方标识符(例如,用于相对应的公司)、被用来唯一识别区块链上的资产的唯一标识符(例如,它例如可以是与资产相关联的公钥的160位的散列值)、可以被用来生成唯一标识符的公钥、可以被用来(例如,经由椭圆曲线加密法等)生成公钥的私钥、定义资产类型的性质(例如,资产类型、份额分类、具体发行)、已经针对该资产类型所发行的份额数量、资产被创建的时间等。Asset storage 604 (sometimes also referred to as resource storage) includes records of all assets or resources tracked by the digital asset repository computer system 600. For example, each type of share issued by a company may be a separate resource record in asset storage 604. An asset or resource record may include a party identifier associated with the asset (e.g., for the corresponding company), a unique identifier used to uniquely identify the asset on the blockchain (e.g., such as a 160-bit hash value of the public key associated with the asset), a public key that can be used to generate the unique identifier, a private key that can be used to generate the public key (e.g., via elliptic curve cryptography), properties defining the asset type (e.g., asset type, share classification, specific issuance), the number of shares issued for that asset type, the time the asset was created, etc.
账本储存装置606结合区块链服务616与区块链618进行对接以存储经确认(或有待确认)的区块链交易的记录。账本储存装置606中的记录可以包括被映射回(例如,存储中参与方储存装置602中的)相应参与方的源和目标标识符、区块链交易ID、资产的唯一标识符、资产交易量、交易日期(例如,交易被提交至区块链的时间)、确认日期(例如,该交易最终被区块链所确认的时间)、每份额价格、和/或资产交易的价格,等等。Ledger storage 606 interfaces with blockchain 618 in conjunction with blockchain service 616 to store records of confirmed (or pending) blockchain transactions. Records in ledger storage 606 may include source and destination identifiers of the corresponding participants mapped back (e.g., in the participant storage 602), blockchain transaction ID, unique identifier of the asset, asset transaction amount, transaction date (e.g., time the transaction was submitted to the blockchain), confirmation date (e.g., time the transaction was finally confirmed by the blockchain), price per share, and/or price of the asset transaction, etc.
图2A图示了在资源或资产首先由系统600发行时在计算机实现的数字资产知识库系统中所发生的示例数字交易。在某些示例中,作为“发行”新份额的先决条件,如果公司A尚未被创建,则它被创建为新的公司并且被添加至参与方储存装置602(参见图4)。2A illustrates an example digital transaction that occurs in a computer-implemented digital asset repository system when a resource or asset is first issued by system 600. In some examples, as a prerequisite to "issuing" new shares, if Company A has not already been created, it is created as a new company and added to participant storage 602 (see FIG4 ).
如果这是首次具体资产的份额被发行,则新资产类型将与该交易相对应地被创建。这可以包括针对该新创建的资产创建新的私钥和公钥以及唯一资产标识符。因此,例如,可以创建新的区块链地址以及相对应的私钥和公钥。该新创建的数据可以连同资产定义(例如,份额分类、待发行量等)一起保存在资产储存装置604中。If this is the first time shares of a specific asset are being issued, a new asset type will be created corresponding to the transaction. This may include creating new private and public keys and a unique asset identifier for the newly created asset. Thus, for example, a new blockchain address and corresponding private and public keys may be created. This newly created data may be stored in the asset storage 604 along with the asset definition (e.g., share classification, outstanding quantity, etc.).
图2A-2CFigures 2A-2C
在某些示例实施例中以及如图2A所示,创建新资产还可以涉及采用一定量的加密货币形式“针对”资产的唯一标识符的初始区块链交易。例如,从与数字资产知识库计算机系统600相关联的数字钱包(例如,该数字钱包的唯一标识符)移动一定量的比特币(或其它加密货币)的区块链交易。In certain example embodiments and as shown in FIG2A , creating a new asset may also involve an initial blockchain transaction in the form of an amount of cryptocurrency “for” the asset’s unique identifier. For example, a blockchain transaction may involve moving an amount of Bitcoin (or other cryptocurrency) from a digital wallet associated with the digital asset repository computer system 600 (e.g., a unique identifier for the digital wallet).
如图2A所示,在资产及其相对应数据被创建之后,随后生成区块链交易701以初始化和/或启用“资产”708以发行新的份额。区块链交易701因此将一定量的加密货币从与专属交易平台(private exchange)700相关联的唯一标识符“发送”至为资产708所创建的唯一标识符。该交易701包括专属交易平台700的公钥并且由专属交易平台701的私钥进行数字签署(例如,如同正常的区块链交易一样)。作为区块链交易701的结果,一定量的加密货币(例如,比特币示例中的聪(satoshis))与资产的唯一标识符相关联(例如,作为未使用输出)。通过使用资产相关联的私钥,所述资产随后可以通过使所述加密货币数量“承载”(例如,作为彩色币等)资产而“发行”一定量的新创建的资产,作为区块链交易的一部分的资产。在某些示例实施例中,交易701可以被添加账本储存装置606。然而,在其它实施例中,它并不被添加至账本储存装置606,这是因为该交易并没有从一个实体或参与方(例如,与该实体相关联的唯一标识符)向另一个移动资产。As shown in Figure 2A, after an asset and its corresponding data are created, a blockchain transaction 701 is subsequently generated to initialize and/or enable the issuance of new shares of "asset" 708. Blockchain transaction 701 thus "sends" a certain amount of cryptocurrency from a unique identifier associated with a private exchange 700 to the unique identifier created for asset 708. This transaction 701 includes the public key of private exchange 700 and is digitally signed by the private key of private exchange 701 (e.g., as a normal blockchain transaction). As a result of blockchain transaction 701, a certain amount of cryptocurrency (e.g., satoshis in the case of Bitcoin) is associated with the asset's unique identifier (e.g., as an unspent output). Using the private key associated with the asset, the asset can then "issue" a certain amount of the newly created asset as part of the blockchain transaction by having the cryptocurrency amount "bear" (e.g., as colored coins, etc.) the asset. In certain example embodiments, transaction 701 may be added to ledger storage 606. However, in other embodiments, it is not added to the ledger storage 606 because the transaction does not move assets from one entity or party (eg, a unique identifier associated with the entity) to another.
一旦存在与资产708相关联的未使用量的加密货币,它随后就可以“发行”该资产的份额并且让发行的交易被区块链验证(例如,如同源自于资产708一样)。Once there is an unspent amount of cryptocurrency associated with asset 708, it is then possible to "issue" shares of that asset and have the issuance transaction verified by the blockchain (e.g., as if it originated from asset 708).
因此,交易702可以针对500份份额生成并且表示份额的创建,所述份额随后从公司A 703被分发给投资方。交易702是从与资产相关联的唯一标识符到与公司A 703相关联的唯一标识符的区块链交易。交易702还包括资产708的公钥并且使用资产708和专属交易平台700二者的私钥进行数字签署。交易702随后可以被提交至区块链、被验证,并且还被添加至账本储存装置606。Thus, transaction 702 may be generated for 500 shares and represents the creation of shares, which are then distributed from Company A 703 to investors. Transaction 702 is a blockchain transaction from the unique identifier associated with the asset to the unique identifier associated with Company A 703. Transaction 702 also includes the public key of asset 708 and is digitally signed using the private keys of both asset 708 and proprietary trading platform 700. Transaction 702 may then be submitted to the blockchain, verified, and added to ledger storage 606.
后续给参与方1和2的分发以针对分别与那些参与方相关联的唯一标识符(例如,区块链地址)705和707的区块链交易706A和706B的形式做出。这些交易(它们可能是单个一对多区块链交易)用公司A的私钥进行数字签署并且被提交至区块链并被记录在账本储存装置606中。Subsequent distributions to Participants 1 and 2 are made in the form of blockchain transactions 706A and 706B for unique identifiers (e.g., blockchain addresses) 705 and 707, respectively, associated with those parties. These transactions (which may be single one-to-many blockchain transactions) are digitally signed using Company A's private key and submitted to the blockchain and recorded in ledger storage 606.
可以结合(或替代)关于图7A中所描述的发行过程而使用其它示例技术。例如,交易701和702可以是针对与公司A相关联的标识符703所生成的一个交易(例如,它可以类似于在常规比特币实施方式中的币基(coinbase)交易)。Other example techniques may be used in conjunction with (or in place of) the issuance process described with respect to Figure 7A. For example, transactions 701 and 702 may be one transaction generated for identifier 703 associated with company A (e.g., it may be similar to a coinbase transaction in a conventional Bitcoin implementation).
所构建的发行交易可以采用资产标识符作为输入,并且让资产标识符、资产量、参与方标识符(例如,区块链地址)作为输出。在某些示例中,还可以提供(例如,指定解锁脚本的散列的)脚本地址。The constructed issuance transaction can take an asset identifier as input and have as output the asset identifier, the asset amount, a party identifier (e.g., a blockchain address), and in some examples, a script address (e.g., specifying a hash of an unlocking script).
在某些示例中,每个交易可以用多个私钥进行有效地数字签署(或者要求多个密钥的数字签署)。例如,一个私钥(或者私钥的集合)可以与本文所讨论的发行方和/或管理器节点相关联。可替换地,密钥可以由控制或管理区块链618的实体所控制。另一个秘钥可以与例如控制计算系统600的实体相关联。并且第三密钥可以交由第三方托管(escrow)保存。区块链上的每个交易可以由或者要求这些密钥中的3个中的2个进行数字签署以便使得交易没有阻碍。因此,例如,如果与计算机系统600相关联的密钥丢失,则第三方托管密钥和区块链密钥可以被用来仍然耗用未使用区块链交易输出。In some examples, each transaction can effectively be digitally signed with (or require the digital signatures of) multiple private keys. For example, one private key (or set of private keys) can be associated with the issuer and/or manager node discussed herein. Alternatively, a key can be controlled by an entity that controls or manages blockchain 618. Another key can be associated with, for example, an entity that controls computing system 600. And a third key can be held in escrow. Each transaction on the blockchain can be digitally signed by or require two of these three keys to ensure smooth transactions. Thus, if, for example, the key associated with computing system 600 is lost, the escrow key and the blockchain key can be used to still consume unspent blockchain transaction outputs.
因此,T1、T2(或者这些是一个交易的情况下的T1T2)、T3和T4可以用和/或要求两个不同的私钥进行数字签署,所述两个不同的私钥分别由不同的计算机系统和/或实体保存。该2密钥要求能够有助于确保在交易(诸如份额分配)应当被生成并确认时有协议达成。Thus, T1, T2 (or T1T2 if these are one transaction), T3, and T4 can be digitally signed with and/or require two different private keys, each held by a different computer system and/or entity. This two-key requirement can help ensure that an agreement is reached when a transaction (such as a share allocation) should be generated and confirmed.
图7B图示了示出从Garak和Letta到Weyoun和Dukat的交易的示例用户界面。这可以示出在所列出的参与方之间正转移的给定资源、资产或股权的完整时间线。这允许审计方或其它第三方更为容易地掌握已经发生的交易。如本文所讨论的,这在更加专用于记录这样的转移的领域(诸如私有股权发行)中会是特别有利的。FIG7B illustrates an example user interface showing a transaction from Garak and Letta to Weyoun and Dukat. This can show a complete timeline of a given resource, asset, or equity being transferred between the listed parties. This allows auditors or other third parties to more easily understand the transactions that have occurred. As discussed herein, this can be particularly advantageous in areas more specifically dedicated to recording such transfers, such as private equity offerings.
最初,Garak和Leeta二者都有500k“种子”类型的资产(例如,它是系列A或系列B的单独资产类型)。所生成的区块链交易使得Garak和Leeta二人的量作为区块链交易的输入而将给Weyoun、Dukat、Garak和Leeta的量作为该交易的输出。这是多对多的区块链交易。示出了从Michael Eddington到Damar的另一个一对多交易,其中Michael提供输入,而输出则与Michael(例如,余额)和Damar二者都相关联。Initially, Garak and Leeta both have 500k of a "seed" asset (e.g., a separate asset type for Series A or Series B). The resulting blockchain transaction uses Garak and Leeta's amounts as inputs and Weyoun, Dukat, Garak, and Leeta's amounts as outputs. This is a many-to-many blockchain transaction. Another one-to-many transaction is shown, from Michael Eddington to Damar, where Michael provides the inputs and the outputs are associated with both Michael (e.g., the balance) and Damar.
在某些示例实施例中,多对多交易可以结合可以由计算机系统600所执行的拍卖过程来使用。图7C示出了具有3个买家和11个卖家的进行中的拍卖的示例视图。这里每个个人的仓位或所持股份能够针对区块链得到验证从而确保买家和卖家二者都具有他们所正投入拍卖的东西。就买家而言,这可以采用验证适当量的钱款可用的形式。这可以通过持有钱款的第三方托管或转移代理所发行的数字代币来表示。相反,卖方所出价的仓位则能够针对当前区块链交易记录来验证(例如,Odo实际上拥有足够量来以所列出的量出价)。In certain example embodiments, many-to-many transactions can be used in conjunction with an auction process that can be executed by computer system 600. FIG7C shows an example view of an ongoing auction with three buyers and eleven sellers. Here, each individual's position or holding can be verified against the blockchain to ensure that both buyers and sellers have what they are putting up for auction. For buyers, this can take the form of verifying that the appropriate amount of money is available. This can be represented by a digital token issued by a third-party escrow or transfer agent that holds the money. Conversely, the position bid by the seller can be verified against the current blockchain transaction record (e.g., Odo actually owns enough to bid the listed amount).
在拍卖结尾(例如,在拍卖生效时),拍卖的交易价格将会被确定。要作为拍卖结果来实施的交易可以被包括在(例如,从11个参与方到3个买家的)一个单区块链交易中。这样的多对多区块链交易可以在视觉上(例如,在相对应的用户设备上)向用户呈现,如图7D所示的。At the end of the auction (e.g., when the auction is live), the transaction price for the auction is determined. The transactions executed as a result of the auction can be included in a single blockchain transaction (e.g., from 11 participants to 3 buyers). This many-to-many blockchain transaction can be visually presented to the user (e.g., on the corresponding user device), as shown in Figure 7D.
图7D例如指示出William Ross已经完全将他的17.5k的初始仓位归零,因为在交易生效之后没有与他相关联的余额。相反,Blackgem公司现在具有337.7k的仓位。其它参与方已经减少了他们的仓位。图7E示出了另一个用户界面截屏,该用户界面截屏图示了参与这个多对多交易的所有当事方。这示出了旧仓位(在左侧)和新仓位(在右侧)。这种类型用户界面屏幕可以允许用户在资产已经在不同参与者之间移动时对资产的监管链进行跟踪。Figure 7D, for example, indicates that William Ross has completely zeroed out his initial position of $17.5k, as there is no balance associated with him after the transaction took effect. In contrast, Blackgem now has a position of $337.7k. The other parties have reduced their positions. Figure 7E shows another user interface screenshot that illustrates all parties involved in this many-to-many transaction. This shows the old position (on the left) and the new position (on the right). This type of user interface screen can allow users to track the chain of custody of assets as they move between different parties.
在某些示例实施方式中,(例如,从公司A到另一个参与方的)交易可以由被集中控制且与计算机系统600相关联的私钥进行数字签署。换句话说,资产可以利用由与计算机系统600相关联的私钥/公钥组合所数字签署的交易而从与公司(或系统、资产或其它参与方)相关联的地址移动至另一个地址。实际上,根据本文所描述的实施例可以采用对资产的各种类型的加密访问,本文所描述的实施例包括多重签署实施例,其中参与方和系统600(或者参与方和公司)二者都对交易进行数字书。In certain example embodiments, a transaction (e.g., from Company A to another party) can be digitally signed by a private key that is centrally controlled and associated with computer system 600. In other words, an asset can be moved from an address associated with a company (or system, asset, or other party) to another address using a transaction digitally signed by a private/public key combination associated with computer system 600. Indeed, various types of encrypted access to assets can be employed in accordance with the embodiments described herein, including multi-signature embodiments in which both a party and system 600 (or a party and a company) digitally sign a transaction.
图2B示出了用于在图1所示的系统上发行基于数字的资产的示例过程,并且图2C示出了根据某些示例实施例关于发行数字资产所发生的示例交易。FIG. 2B illustrates an example process for issuing digital-based assets on the system shown in FIG. 1 , and FIG. 2C illustrates an example transaction that occurs in connection with issuing digital assets, according to certain example embodiments.
在S10,具有代表参与方(例如,公司A)行动的充分权限的用户或系统管理员向用户设备614A或614B提供用户输入,所述用户输入指示应当发行用于参与方的新资产。响应于该用户输入,用户设备614A或614B向数字资产知识库计算机系统600发送电子消息。所述电子消息包括要发行用于参与方的新资产的数字资源发行请求。所述电子消息被数字资产知识库计算机系统600的收发器所接收,并且被传递至用户界面612或微服务接口610以便进行处理。At S10, a user or system administrator with sufficient authority to act on behalf of a participant (e.g., Company A) provides user input to user device 614A or 614B indicating that a new asset should be issued for the participant. In response to the user input, user device 614A or 614B sends an electronic message to the digital asset repository computer system 600. The electronic message includes a digital resource issuance request to issue a new asset for the participant. The electronic message is received by the transceiver of the digital asset repository computer system 600 and passed to the user interface 612 or microservice interface 610 for processing.
在S12以及作为所述处理的一部分,所述电子消息的内容被提取并且被映射至对应于所述消息中所包括的请求(例如,创建并发行新资产的请求)的命令(或命令集合)。(多个)相对应命令随后可以被数字资产知识库计算机系统600的处理器608自动执行。At S12 and as part of the processing, the content of the electronic message is extracted and mapped to a command (or set of commands) corresponding to the request included in the message (e.g., a request to create and issue a new asset). The corresponding command(s) may then be automatically executed by the processor 608 of the digital asset repository computer system 600.
作为执行命令的一部分,在S14,处理器608识别要与资产发行交易相关联的参与方。例如,可以获取用于所述参与方的私钥、公钥和/或唯一标识符并且将它们用来形成随后所要创建的区块链交易。在某些示例中,新的唯一标识符和/或公钥可以针对该特定交易被创建并且与参与方的区块链数字钱包相关联。该新信息可以通过使用与该参与方相关联的私钥得出。因此,参与方可以与多个不同的公钥和/或唯一标识符(例如,区块链地址)相关联。As part of executing the command, at S14, processor 608 identifies the party to be associated with the asset issuance transaction. For example, the private key, public key, and/or unique identifier for the party may be obtained and used to form the blockchain transaction to be subsequently created. In some examples, a new unique identifier and/or public key may be created for this particular transaction and associated with the party's blockchain digital wallet. This new information may be derived using the private key associated with the party. Thus, a party may be associated with multiple different public keys and/or unique identifiers (e.g., blockchain addresses).
在S16,处理器608创建将被用来对该资产的任何后续发行进行签署的新的私钥。基于所述私钥的公钥(例如,它的散列)也可以被创建。所述公钥也可以被散列以生成唯一标识数字资产知识库计算机系统600中和区块链616上的资产的唯一标识符(例如,区块链或比特币地址)。新创建的私钥和公钥、唯一标识符以及其它相关联的信息(例如,资产类型、所要发行的份额数量、发行日期,和/或能够基于所发行资产的类型而变化的其它数据)将被存储在资产储存装置604中。用于资产的私钥确保了将没有其它实体能够复制已经由数字资产知识库计算机系统600所创建的资产并且发行包括所述资产的区块链交易。在某些示例中,该保证之所以实现是因为针对特定资产的所有资产都必须来源于与该相同资产相关联的区块链地址(基于该资产的私钥的唯一标识符)。初始区块链交易包括资产的公钥并且由所述资产的私钥所签署。因此,创建从所述资产的唯一标识符到(例如,与参与方相关联的)另一个标识符的区块链交易。这个加密过程确保了仅控制与所述资产相关联的私钥的实体或系统(例如,数字资产知识库计算机系统600)能够发行附加量的该资产。At S16, processor 608 creates a new private key that will be used to sign any subsequent issuance of the asset. A public key based on the private key (e.g., its hash) may also be created. The public key may also be hashed to generate a unique identifier (e.g., a blockchain or Bitcoin address) that uniquely identifies the asset in the digital asset repository computer system 600 and on the blockchain 616. The newly created private and public keys, the unique identifier, and other associated information (e.g., the asset type, the number of shares to be issued, the issuance date, and/or other data that may vary based on the type of asset being issued) are stored in the asset storage device 604. The private key for the asset ensures that no other entity can copy an asset created by the digital asset repository computer system 600 and issue a blockchain transaction including the asset. In some examples, this guarantee is achieved because all issuances for a particular asset must originate from a blockchain address associated with the same asset (a unique identifier based on the asset's private key). The initial blockchain transaction includes the asset's public key and is signed by the asset's private key. Thus, a blockchain transaction is created from the unique identifier of the asset to another identifier (e.g., associated with a party). This cryptographic process ensures that only an entity or system (e.g., digital asset repository computer system 600) that controls the private key associated with the asset can issue additional amounts of the asset.
在某些示例中,参与方可能并不希望创建新资产,但是却可能相当希望对已经在数字资产知识库计算机系统600内定义的现有资产进行扩充。例如,图2A中的公司A 703最初发行了500份份额并且现在希望再发行500份份额。因此,指示该资产的数据(例如,资产708的唯一标识符)可以是从用户设备614A发送至数字资产知识库计算机系统600的初始电子数据消息的一部分。该信息随后可以被用来获取数字资产的私钥并且因此生成新的区块链交易(新的区块链交易包括资产的公钥并且用该资产的私钥所签署),新的区块链交易“从”与该资产相关联的唯一标识符到与发行该资产的参与方(例如,该公司)相关联的唯一标识符。与新的区块链交易的生成相对应地,数字资产知识库计算机系统600可以(例如,通过增加或减少量)更新资产储存装置604中所包括的相对应资产记录。可替换地,可以创建指示这个具体资产发行的详情的新条目(例如,新的数据库记录)。In some examples, a party may not wish to create a new asset, but may instead wish to expand upon an existing asset already defined within the digital asset repository computer system 600. For example, Company A 703 in Figure 2A initially issued 500 shares and now wishes to issue an additional 500 shares. Consequently, data indicating the asset (e.g., a unique identifier for asset 708) may be part of the initial electronic data message sent from user device 614A to the digital asset repository computer system 600. This information may then be used to retrieve the private key for the digital asset and thereby generate a new blockchain transaction (the new blockchain transaction includes the asset's public key and is signed with the asset's private key) that is "from" the unique identifier associated with the asset to the unique identifier associated with the party that issued the asset (e.g., the company). In response to the generation of the new blockchain transaction, the digital asset repository computer system 600 may update the corresponding asset record included in the asset store 604 (e.g., by incrementing or decrementing an amount). Alternatively, a new entry (e.g., a new database record) may be created indicating the details of this particular asset issuance.
在任何情况下,在S18,新的区块链交易被创建并且被提交至区块链以记录新份额向参与方的发行。在某些示例实施例中,所述份额将从资产的唯一标识符向参与方的唯一标识符(例如,它的数字钱包)发行。可替换地,所述区块链交易是从与操作数字资产知识库计算机系统600的实体(例如,图2A中的700)相关联的唯一标识符去往参与方(例如,图2A中的703)的唯一标识符。In any case, at S18, a new blockchain transaction is created and submitted to the blockchain to record the issuance of new shares to the participant. In certain example embodiments, the shares are issued from the asset's unique identifier to the participant's unique identifier (e.g., its digital wallet). Alternatively, the blockchain transaction is from a unique identifier associated with the entity operating the digital asset repository computer system 600 (e.g., 700 in FIG. 2A ) to a unique identifier of the participant (e.g., 703 in FIG. 2A ).
更具体地,处理器608可以被编程以创建由多个输入和输出所组成的区块链交易(诸如图7B所示的交易)。通常,输入可以是与公共地址(唯一标识符)——它可以是参与方标识符或资产的标识符——相关联的未使用输出。交易可以是被指向新的公共地址(例如,正向其“发送”交易的地址)的未使用输出和新输出的组合。正被发送的交易也使用与输入所来自的地址(例如,所讨论资产在区块链上与其相关联的参与方标识符)相关联的私钥进行“签署”。More specifically, processor 608 can be programmed to create a blockchain transaction (such as the one shown in FIG7B ) consisting of multiple inputs and outputs. Typically, an input can be an unspent output associated with a public address (a unique identifier)—which can be a party identifier or an asset identifier. A transaction can be a combination of an unspent output and a new output directed to a new public address (e.g., the address to which the transaction is being “sent”). The transaction being sent is also “signed” using the private key associated with the address from which the input came (e.g., the party identifier to which the asset in question is associated on the blockchain).
因此,在发行交易(例如,图2A中的交易702)的情况下,随所述资产所创建的私钥被用来签署该交易。在常规交易(例如,图2A中的706A和706B)的情况下,对应于正从其转移资产的参与方的私钥的散列将被用来签署该区块链交易。在某些示例中,该过程可以与美国专利申请号No. 62/270,560的图2中所描述的区块链交易的创建以及向区块链提交区块链交易相类似。在某些示例中,与交易相关联的量也包括在新创建的区块链交易中。在某些示例中,区块链交易包括(例如,作为输入的)从唯一标识资产的私钥所生成的assetID(资产ID)(例如,资产的唯一标识符)。该assetID随后被追加到或添加到该区块链交易。Thus, in the case of an issuance transaction (e.g., transaction 702 in FIG. 2A ), the private key created with the asset is used to sign the transaction. In the case of a regular transaction (e.g., 706A and 706B in FIG. 2A ), a hash of the private key corresponding to the party from which the asset is being transferred is used to sign the blockchain transaction. In some examples, this process can be similar to the creation and submission of blockchain transactions to the blockchain described in FIG. 2 of U.S. Patent Application No. 62/270,560 . In some examples, the amount associated with the transaction is also included in the newly created blockchain transaction. In some examples, the blockchain transaction includes (e.g., as input) an assetID (e.g., a unique identifier for the asset) generated from the private key that uniquely identifies the asset. This assetID is then appended or added to the blockchain transaction.
参考图2C,区块链交易可以基于字段709和710中所表示的信息来创建。所创建的区块链交易通过区块链服务616被提交至区块链618以便由数字“挖掘”交易的区块链计算节点来确认。一旦被确认,所提交的交易就变成了表示该资产的创建的不可变记录(分布式区块链账本)的一部分。Referring to FIG2C , a blockchain transaction can be created based on the information represented in fields 709 and 710. The created blockchain transaction is submitted to blockchain 618 via blockchain service 616 for confirmation by blockchain computing nodes that digitally "mine" the transaction. Once confirmed, the submitted transaction becomes part of the immutable record (distributed blockchain ledger) representing the creation of the asset.
在S20中以及与交易的创建和/或向区块链的提交相对应地,从所述区块链交易所产生的输出被返回至系统600或者被系统600所检测,并且所述交易被存储在账本储存装置606中。这样的输出可以包括区块链交易ID。图7G的截屏中示出了示例的交易ID。In S20, corresponding to the creation and/or submission of the transaction to the blockchain, the output generated from the blockchain transaction is returned to or detected by the system 600, and the transaction is stored in the ledger storage 606. Such output may include a blockchain transaction ID. An example transaction ID is shown in the screenshot of Figure 7G.
存储在账本储存装置中的信息可以包括区块链交易ID、对源和目标数字钱包(或唯一标识符)的引用、资产标识符、以及隶属于该交易的资产量。对应于交易的其它数据可以被添加至账本储存装置606并且链接至所创建的区块链交易。这样的信息可以包括图2C中所示的字段712中表示的信息。例如,交易是否已经在区块链被确认、所述确认与链中的什么区块相关联、资产交易的规则144日期、资产交易的每份额价格、资产交易的投资数值、与资产交易相关联的条件,等等。将要理解到的是,这些字段可以基于正在交易什么类型的资产以及交易的类型(发行、转移、重新分类、取消等)而有所变化。The information stored in the ledger storage may include a blockchain transaction ID, references to the source and destination digital wallets (or unique identifiers), an asset identifier, and the amount of the asset associated with the transaction. Other data corresponding to the transaction may be added to the ledger storage 606 and linked to the created blockchain transaction. Such information may include information represented in field 712 shown in FIG2C . For example, whether the transaction has been confirmed on the blockchain, the block in the blockchain to which the confirmation is associated, the rule 144 date of the asset transaction, the price per share of the asset transaction, the investment value of the asset transaction, conditions associated with the asset transaction, and so on. It will be understood that these fields may vary depending on the type of asset being traded and the type of transaction (issue, transfer, reclassification, cancellation, etc.).
在S22,数字资产知识库计算机系统600经由处理器608和区块链服务616监视区块链618来确定所提交的交易何时已经被区块链所确认。响应于确定所提交的交易已经被确认,账本储存装置606被更新以反映S20中所存储的交易已经被区块链所确认。数字资产知识库计算机系统600可以通过在区块链618的经确认的区块被发布时审核它们来确定交易已经被确认。At S22, the digital asset knowledge base computer system 600 monitors the blockchain 618 via the processor 608 and the blockchain service 616 to determine when the submitted transaction has been confirmed by the blockchain. In response to determining that the submitted transaction has been confirmed, the ledger storage device 606 is updated to reflect that the transaction stored in S20 has been confirmed by the blockchain. The digital asset knowledge base computer system 600 can determine that the transaction has been confirmed by reviewing the confirmed blocks of the blockchain 618 as they are published.
图2C示出了向投资方的发行可以是两个步骤的过程,所述过程需要两个(或三个)单独的区块链交易。这里,系统600的操作方(例如,纳斯达克)如上文所描述那样地发行新的份额并且将该发行明确地链接至经过区块链所确认的交易。提交至区块链的交易包括资产的唯一、公共标识符以及资产量。该信息由字段710所表示(例如,“公司. A: 普通”可以对应于唯一标识符)。如以上所讨论的,该信息连同信息712一起被存储在账本储存装置606中。Figure 2C illustrates that the issuance of shares to investors can be a two-step process, requiring two (or three) separate blockchain transactions. Here, the operator of system 600 (e.g., Nasdaq) issues new shares as described above and explicitly links this issuance to a transaction confirmed via the blockchain. The transaction submitted to the blockchain includes the asset's unique, public identifier and the asset amount. This information is represented by field 710 (e.g., "Company.A: General" can correspond to the unique identifier). As discussed above, this information, along with information 712, is stored in ledger storage 606.
在确认了交易702之后,公司A(系统600中的参与方)能够以交易706A的形式向参与方1发行300份份额。该交易将基于相同的唯一assetID,但是具有与之相关联的不同量。After confirming transaction 702, Company A (a participant in system 600) can issue 300 shares to Participant 1 in the form of transaction 706A. This transaction will be based on the same unique assetID, but have a different amount associated with it.
在某些示例实施例中,数字资产知识库计算机系统600可以独立地验证从一个参与方向另一个参与方转移的资产量是有效的(例如,第一参与方确实“拥有”所转移的资产)。换句话说,区块链可以仅验证用于区块链交易的基础加密货币量是有效的,而并不确认资产交易量。例如,假设交易706A和706B二者都针对300份份额。区块链可以由于原始资产发行是来自资产标识符而验证这两个交易都是有效的。然而,加密图形过程可能无法确定两个交易中量的总和超过了初始的500份份额的分配。因此,数字资产知识库计算机系统600可以执行独立核算来验证在区块链上针对给定资产所交易的量是有效的量。In certain example embodiments, the digital asset knowledge base computer system 600 can independently verify that the amount of an asset transferred from one participant to another is valid (e.g., that the first participant actually "owns" the transferred asset). In other words, the blockchain can only verify that the underlying cryptocurrency amount used for blockchain transactions is valid, without confirming the asset transaction amount. For example, assume that transactions 706A and 706B are both for 300 shares. The blockchain can verify that both transactions are valid because the original asset issuance is from the asset identifier. However, the cryptographic process may not be able to determine that the sum of the amounts in the two transactions exceeds the initial allocation of 500 shares. Therefore, the digital asset knowledge base computer system 600 can perform independent accounting to verify that the amount traded for a given asset on the blockchain is a valid amount.
图3A-3CFigures 3A-3C
图3A示出了用于从图1所示的系统600的一个参与方标识符向另一个参与方标识符转移资产的示例过程。FIG3A illustrates an example process for transferring assets from one party identifier to another party identifier of the system 600 shown in FIG1 .
在S30,具有代表参与方(例如,投资方A)而行动的充分权限的用户或系统管理员向用户设备614A或614B提供用户输入,所述用户输入指示有多少份额(或其它量)要被转移以及所述份额要被转移给谁(例如,另一个参与方)。在某些示例中,用户还提供与所述转移相关联的价格(例如,每份额的价格或总价格)。响应于所提供的用户输入,用户设备614A或614B向数字资产知识库计算机系统600发送电子消息。所述电子消息可以包括目标参与方(例如,所述参与方的唯一标识符)、源参与方(例如,源参与方的唯一标识符)、资产(例如,资产标识符)以及资产的量。所述消息被数字资产知识库计算机系统600的收发器(例如,网络接口卡)所接收并且被传递至用户界面610或微服务接口612以便进行处理。在某些示例中,参与方能够转移的资产经由网页等被呈现给用户。例如,图7F示出了与参与方Leeta相关联的份额数量。在该图示中,500k的份额被“取消”了,这是因为该量与已经被耗用的区块链输出相关联(例如,如图7B所示)。新的且仍然有效的466k份额与具有未使用输出的区块链交易相关联。用户随后能够选择要购买或出售哪些资产。基于该选择,电子消息(例如,订单)可以被生成并且被提交至数字资产知识库计算机系统600。At S30, a user or system administrator with sufficient authority to act on behalf of a participant (e.g., Investor A) provides user input to user device 614A or 614B, indicating how many shares (or other amounts) to transfer and to whom the shares are to be transferred (e.g., another participant). In some examples, the user also provides a price associated with the transfer (e.g., price per share or total price). In response to the provided user input, user device 614A or 614B sends an electronic message to the digital asset repository computer system 600. The electronic message may include the target participant (e.g., the participant's unique identifier), the source participant (e.g., the source participant's unique identifier), the asset (e.g., the asset identifier), and the amount of the asset. The message is received by a transceiver (e.g., a network interface card) of the digital asset repository computer system 600 and passed to the user interface 610 or microservice interface 612 for processing. In some examples, the assets that the participant can transfer are presented to the user via a webpage or the like. For example, Figure 7F illustrates the number of shares associated with participant Leeta. In this illustration, 500k shares have been "canceled" because this amount is associated with a blockchain output that has already been spent (e.g., as shown in FIG7B ). A new, still valid, 466k share is associated with the blockchain transaction with the unspent output. The user can then select which assets to buy or sell. Based on this selection, an electronic message (e.g., an order) can be generated and submitted to the digital asset repository computer system 600.
例如,Leeta(或者被授权代表Leeta行动的用户)可以输入用户输入,所述用户输入指示向Kira Nerys转移50k份额的请求。响应于该输入(以及被发送至计算机系统的相对应的电子消息),计算机系统将(例如,自动地)使用与466k份额相关联的区块链交易来进行两个进一步交易(它们被组合为一个区块链交易)。来自所述区块链交易的输入将是来自Leeta的466k份额并且输出将是至Leeta的416k和至Kira的50k。For example, Leeta (or a user authorized to act on Leeta's behalf) may enter a user input requesting a transfer of 50,000 shares to Kira Nerys. In response to this input (and a corresponding electronic message sent to the computer system), the computer system will (e.g., automatically) use the blockchain transaction associated with 466,000 shares to conduct two further transactions (combined into one blockchain transaction). The input from the blockchain transaction will be 466,000 shares from Leeta and the output will be 416,000 shares to Leeta and 50,000 shares to Kira.
在S32,资产转移请求(例如,如以上所描述的)被接收并且被映射至由处理器608所执行的预先编程的功能(例如,软件程序)。At S32 , an asset transfer request (eg, as described above) is received and mapped to a pre-programmed function (eg, a software program) executed by the processor 608 .
在S34,处理器608识别将在交易中被涉及到的参与方。作为该过程的一部分,处理器608访问参与方储存装置622来验证参与方,并且获取唯一标识符、公钥和/或私钥信息。该信息将被用来稍后形成并签署区块链交易。At S34, processor 608 identifies the parties involved in the transaction. As part of this process, processor 608 accesses party storage 622 to verify the parties and obtain unique identifiers, public keys, and/or private keys. This information will be used to later form and sign the blockchain transaction.
在S36,处理器608从用户设备所提交的电子消息提取作为所请求交易的主体的资产并且通过访问资产储存装置604来验证所述资产。At S36 , the processor 608 extracts the asset that is the subject of the requested transaction from the electronic message submitted by the user device and verifies the asset by accessing the asset store 604 .
在S38,所述处理器验证所述交易的源参与方实际上确实持有适当的资产量来完成所述交易。该验证通过访问账本储存装置606并且确定源参与方与链接至所讨论的资产的充分的资产量的未使用输出区块链交易相关联来完成。该过程可以包括将计算与源参与方相关联的多个不同区块链交易的总数以确定该源参与方所“拥有”的总资产量。在某些示例中,如果所述处理器确定源参与方并不拥有足够的量,则所述交易将被中止并且使得提交订单的用户得到通知。在某些示例中,仅已经被确认的交易(例如,在区块链618内深度上多于1个区块的那些交易)被用来确定参与方所拥有的总量。在其它示例中,未经确认的交易也被加以考虑。在某些示例中,资产的未经确认的进入的交易(例如,参与方是接收方)并不被考虑,但是未经确认的交易的外出转移(例如,参与方是发送方)则被考虑。作为验证过程的一部分,在S40,处理器608还可以经由区块链服务616查询区块链以验证资产所有权。At S38 , the processor verifies that the source party to the transaction actually holds the appropriate amount of the asset to complete the transaction. This verification is accomplished by accessing the ledger storage 606 and determining that the source party is associated with an unspent output blockchain transaction linking to a sufficient amount of the asset in question. This process may include summing multiple different blockchain transactions associated with the source party to determine the total amount of the asset "owned" by the source party. In some examples, if the processor determines that the source party does not hold a sufficient amount, the transaction is aborted and the user who submitted the order is notified. In some examples, only confirmed transactions (e.g., those transactions greater than one block deep within the blockchain 618 ) are used to determine the total amount owned by the party. In other examples, unconfirmed transactions are also considered. In some examples, unconfirmed incoming transactions of the asset (e.g., where the party is the recipient) are not considered, but unconfirmed outgoing transfers (e.g., where the party is the sender) are considered. As part of the verification process, at S40 , the processor 608 may also query the blockchain via the blockchain service 616 to verify asset ownership.
在验证之后,在S42,所述处理器将基于源参与方的私钥和公钥以及从账本储存装置606所需要的任何附加输出来生成区块链交易,从而形成进一步的区块链交易。在某些示例中,区块链交易包括来自图3B和3C的字段806和822的数据。所创建的区块链交易随后经由区块链服务616被提交至区块链618以便进行确认。After verification, at S42, the processor generates a blockchain transaction based on the private and public keys of the source party and any additional outputs required from the ledger storage 606, thereby forming a further blockchain transaction. In some examples, the blockchain transaction includes the data from fields 806 and 822 of Figures 3B and 3C. The created blockchain transaction is then submitted to the blockchain 618 for confirmation via the blockchain service 616.
在S44,与新创建的区块链交易提交至区块链相对应地,账本储存装置606利用与所提交交易相关的信息进行更新。除了组成所创建的区块链交易的一部分的数据字段806和822之外,该信息可以还包括808和824中所示出的数据字段。At S44, corresponding to the submission of the newly created blockchain transaction to the blockchain, the ledger storage 606 is updated with information related to the submitted transaction. In addition to the data fields 806 and 822 that form part of the created blockchain transaction, this information may also include the data fields shown in 808 and 824.
在S46,数字资产知识库计算机系统600经由处理器608和区块链服务616监视区块链618来确定之前所提交的交易何时已经被区块链618所确认。响应于确定所提交的交易已经被确认,则所述账本储存装置被更新以反映(从44)所存储的交易是经确认的区块链交易。数字资产知识库计算机系统600可以通过在区块链的经确认的区块被发布时审核它们来确定交易已经被确认。At S46, the digital asset knowledge base computer system 600 monitors the blockchain 618 via the processor 608 and the blockchain service 616 to determine when the previously submitted transaction has been confirmed by the blockchain 618. In response to determining that the submitted transaction has been confirmed, the ledger storage device is updated to reflect that the stored transaction (from 44) is a confirmed blockchain transaction. The digital asset knowledge base computer system 600 can determine that the transaction has been confirmed by reviewing the confirmed blocks of the blockchain as they are published.
图3B和3C示出了根据某些示例实施例的关于在参与方之间转移数字资产而发生的示例交易。3B and 3C illustrate example transactions that occur with respect to transferring digital assets between parties, according to certain example embodiments.
图3B是在参与方1和参与方2、3和4之间发生的示例性的一对多交易810(这可以表示多个区块链交易或者一个单区块链交易)。在某些实例中,这样的交易被称作分发交易。参与方1也被作为“输出”而包括,因为新的交易是在参与方1和参与方1之间发生以反映参与方1所“拥有”的公司A的普通股票的减少量。数据字段806表示区块链上所包括的信息,并且数据字段808表示存储在账本储存装置606中并链接至区块链交易的数据(但是根据某些示例实施例,该信息并没有直接存储在区块链上)。Figure 3B illustrates an exemplary one-to-many transaction 810 between Party 1 and Parties 2, 3, and 4 (this may represent multiple blockchain transactions or a single blockchain transaction). In some instances, such a transaction is referred to as a distribution transaction. Party 1 is also included as an "output" because a new transaction occurs between Party 1 and Party 1 to reflect the reduction in the amount of Company A common stock "owned" by Party 1. Data field 806 represents information included on the blockchain, and data field 808 represents data stored in ledger storage 606 and linked to the blockchain transaction (although, according to some example embodiments, this information is not directly stored on the blockchain).
图3C是多对一交易826的示例。这样的交易可以表示份额回购交换或者一个参与方(参与方1)买下资产中其它利益相关方(2、3和4)的所有产权。数据字段822是当前的且作为区块链交易的一部分的字段,而数据字段824则是独立于区块链存在且存储在账本储存装置606中的字段。这里,参与方2、3和4具有与公司A的普通股票的100、50和50份份额相关联的未使用区块链交易。这些未使用区块链交易中的每一个被用作输入来形成对参与方1的交易,所述交易包括公司A的普通股票的200份份额。该新创建的交易随后被提交至区块链以便进行验证。在某些示例中,虽然区块链可以验证未使用的聪(或者被用于区块链的其它单位)加起来,但是可能没有这样的区块链验证:与区块链交易一起搭载的资产量加起来。因此,数字资产知识库计算机系统600可以包括它自己的确认程序来确保用于资产量的所有输入都被记入作为该交易的输出。因此,数字资产知识库计算机系统600验证100、50和50份份额的普通股票不再与它们相对应的参与方相关联并且200份份额现在与参与方1相关联。Figure 3C illustrates an example of a many-to-one transaction 826. This transaction can represent a share buyback exchange or a purchase of all equity interests in an asset by one party (Party 1) from other stakeholders (Party 2, 3, and 4). Data field 822 is a field that is current and part of the blockchain transaction, while data field 824 is a field that exists independently of the blockchain and is stored in ledger storage 606. Here, Parties 2, 3, and 4 have unspent blockchain transactions associated with 100, 50, and 50 shares of Company A's common stock. Each of these unspent blockchain transactions is used as input to form a transaction for Party 1, which includes 200 shares of Company A's common stock. This newly created transaction is then submitted to the blockchain for verification. In some examples, while the blockchain can verify that the unspent satoshis (or other units used in the blockchain) add up, there may be no blockchain verification that the asset amounts associated with the blockchain transactions add up. Therefore, the digital asset repository computer system 600 may include its own validation procedures to ensure that all inputs for the asset amounts are recorded as outputs of the transaction. Therefore, the digital asset knowledge base computer system 600 verifies that the 100, 50, and 50 shares of common stock are no longer associated with their corresponding participants and that the 200 shares are now associated with participant 1.
将要理解到的是,一对多、多对一以及多对多转移在处置私有股权空间中的资产时会是有利的。例如,在传统系统中,向100个不同雇员分发20份份额将需要100个不同的交易。然而,根据本文所讨论的某些示例实施例,这种类型的分发可以利用一个区块链交易来完成,所述区块链交易具有与(例如,可以是系统100中参与方的)每个雇员的不同唯一标识符相关联的100个(或者在源具有剩余资产的情况下是101个)不同的输出。多对多区块链交易的一个示例可以是在举行拍卖过程时,如图7C-7E的示例屏幕中所示出的。As will be appreciated, one-to-many, many-to-one, and many-to-many transfers can be advantageous when disposing of assets in the private equity space. For example, in a traditional system, distributing 20 shares to 100 different employees would require 100 different transactions. However, according to certain example embodiments discussed herein, this type of distribution can be accomplished using a single blockchain transaction with 100 (or 101, if the source has surplus assets) different outputs associated with a different unique identifier for each employee (e.g., which can be a participant in system 100). An example of a many-to-many blockchain transaction can be during an auction process, as shown in the example screens of Figures 7C-7E.
如利用其它的示例,与向区块链提交新的交易相对应地,一个或多个新记录被在账本储存装置606中创建。在某些示例中,创建链接至相同区块链交易的多个记录(例如,数据库表中的行等)。在某些示例中,链接至所有三个输入和一个输出的一个区块链交易记录被创建并添加至账本储存装置606。As with other examples, corresponding to submitting a new transaction to the blockchain, one or more new records are created in the ledger storage 606. In some examples, multiple records (e.g., rows in a database table, etc.) linked to the same blockchain transaction are created. In some examples, one blockchain transaction record linked to all three inputs and one output is created and added to the ledger storage 606.
将要理解到的是,可以结合本文所描述的示例技术创建其它类型的区块链交易。例如,多对多交易(例如,2个或更多输入以及2个或更多输出)可以被用于交易。It will be appreciated that other types of blockchain transactions can be created in conjunction with the example techniques described herein. For example, many-to-many transactions (e.g., 2 or more inputs and 2 or more outputs) can be used for transactions.
用于分配交易的示例区块链交易可以具有输入,所述输入包括隶属于该分配的资产标识符、分配它们的量的一些(或全部)的参与方标识符、参与方标识符针对该资产标识符所“持有”的量、具有未使用输出的先前交易的交易标识符(或它的散列)等等。如果进行分配的参与方并没有分配其所持有的量的全部,则将有两个输出,一个针对受让人而剩余者则针对转让人的标识符。这些输出中的每一个将与不同区块链地址(例如,所述剩余者将与和源相同的参与方标识符相关联)和所分配的资产量相关联。An example blockchain transaction for a distribution transaction may have inputs including the identifier of the asset subject to the distribution, the identifier of the party to whom some (or all) of the amount being distributed is being distributed, the amount "held" by the party identifier for that asset identifier, the transaction identifier (or its hash) of a previous transaction with unspent outputs, and so on. If the party making the distribution does not distribute all of its holdings, there will be two outputs: one for the recipient and the remainder for the identifier of the transferor. Each of these outputs will be associated with a different blockchain address (e.g., the remainder will be associated with the same party identifier as the source) and the amount of the asset being distributed.
图4Figure 4
图4示出了用于注册参与方的示例过程,所述参与方随后被允许经由图1所示的示例系统与某些基于数字的资产进行交互。FIG. 4 illustrates an example process for registering a party that is subsequently permitted to interact with certain digital-based assets via the example system shown in FIG. 1 .
在S90,具有充足权限(例如,创建新参与方的权限)的用户或系统管理员向相对应的用户设备提供输入,所述用户设备经由用户界面612或其它API发送电子消息,所述电子消息请求数字资产知识库计算机系统600为系统创建新参与方。At S90, a user or system administrator with sufficient authority (e.g., authority to create a new participant) provides input to a corresponding user device, which sends an electronic message via the user interface 612 or other API, requesting the digital asset knowledge base computer system 600 to create a new participant for the system.
在S92,响应于接收到该消息,所述消息中包括的请求被映射至适当命令,所述命令被包括为API的一部分并且随后被发送至处理器以便执行。At S92 , in response to receiving the message, the request included in the message is mapped to an appropriate command, which is included as part of the API and subsequently sent to the processor for execution.
在S94,依据该命令被处理器所执行,新的参与方将在系统内被创建。在某些示例实施例中,数字钱包或数字钱包Id(例如,比特币地址)可以被创建并且被指派给新创建的参与方。At S94, according to the execution of the command by the processor, a new participant will be created in the system. In some example embodiments, a digital wallet or a digital wallet ID (e.g., a Bitcoin address) can be created and assigned to the newly created participant.
其它类型的功能也可以由数字资产知识库计算机系统600所支持。例如,向参与方所发行的份额可以被(例如由发行公司)所撤回或被数字资产知识库计算机系统600的操作人员销毁。在撤回的情况下,可以创建新的区块链交易,所述区块链交易将被撤回的份额从参与方的数字钱包发送至所述公司的数字钱包。在份额破坏的情况下(例如,公司被解散等),数字资产知识库计算机系统600的操作人员可以创建指示份额已经被销毁的区块链交易。在某些示例中,数字资产知识库计算机系统600可以从资产储存装置604中删除资产类型(或者将它标记为已删除)。该动作将有效地致使作为各种区块链交易的一部分而被包括的数据变为是不相关或无意义的。Other types of functionality may also be supported by the digital asset repository computer system 600. For example, shares issued to a participant may be withdrawn (e.g., by the issuing company) or destroyed by an operator of the digital asset repository computer system 600. In the event of a withdrawal, a new blockchain transaction may be created that transfers the withdrawn shares from the participant's digital wallet to the company's digital wallet. In the event of share destruction (e.g., due to the company's dissolution), an operator of the digital asset repository computer system 600 may create a blockchain transaction indicating that the shares have been destroyed. In some examples, the digital asset repository computer system 600 may delete an asset type from the asset storage device 604 (or mark it as deleted). This action effectively renders the data included as part of various blockchain transactions irrelevant or meaningless.
将要理解到的是,这样的动作之所以是可能的是因为数字资产知识库计算机系统600控制与区块链618上的未使用输出相关联的每个参与方的各种私钥。因此,数字资产知识库计算机系统600可以发行将这样的输出移动至区块链地址的新交易,所述区块链地址将从“市场”有效地移除该资产。It will be understood that such action is possible because the digital asset repository computer system 600 controls the various private keys of each party associated with unspent outputs on the blockchain 618. Accordingly, the digital asset repository computer system 600 can issue a new transaction that moves such outputs to a blockchain address that will effectively remove the asset from the “market.”
在某些示例中,数字资产知识库计算机系统600可以改变与交易相关联的份额分类。在某些示例中,这可以包括更新资产储存装置中的类型或者创建新的份额分类。依据这一变化,以前拥有“旧”类型的分类的参与方可以使他们的份额被取消(例如,从他们的数字钱包移动至公司的数字钱包),并且还可以具有同时发行(从公司的数字钱包到参与方的数字钱包)的“新”分类的新份额。在其它示例中,可以如以上所描述那样地(例如,利用新的份额分类)创建新的资产并且可以形成两个交易。第一个可以撤销旧的份额分类而第二个则可以发行新的份额分类。与这样的区块链交易相关联的信息随后可以被记录在账本储存装置606中。In some examples, the digital asset repository computer system 600 may change the share classification associated with a transaction. In some examples, this may include updating the classification in the asset storage device or creating a new share classification. Based on this change, participants who previously owned the "old" type of classification may have their shares canceled (e.g., moved from their digital wallet to the company's digital wallet) and may also have new shares of the "new" classification issued simultaneously (from the company's digital wallet to the participant's digital wallet). In other examples, a new asset may be created as described above (e.g., using a new share classification) and two transactions may be formed. The first may cancel the old share classification, while the second may issue the new share classification. Information associated with such a blockchain transaction may then be recorded in the ledger storage device 606.
在某些示例中,资产交易可以由数字资产知识库计算机系统600所校正。在某些实例中,这可以涉及到创建有效地取消之前所提交的区块链交易的另一个区块链交易。在某些示例中,存储在账本储存装置中的元数据可以独立于与之相关联的区块链交易被更新。例如,SEC规则144日期可以是仅存在于账本储存装置中的数据字段。因此,规则144日期可以在并不参照相对应的区块链交易的情况下被更新。账本或资产储存装置中的其它字段可以类似地被更新。在某些示例实施例中,并未作为区块链交易的一部分被存储的信息的散列可以被并入到区块链交易中。例如,每个额外字段可以进行被串接并且随后被散列。所产生的散列值可以被添加至区块链交易。该附加验证可以防止改变没有被直接并入到区块链中的数据字段。In some examples, asset transactions can be corrected by the digital asset repository computer system 600. In some instances, this can involve creating another blockchain transaction that effectively cancels a previously submitted blockchain transaction. In some examples, metadata stored in the ledger storage device can be updated independently of the blockchain transaction with which it is associated. For example, the SEC Rule 144 date can be a data field that exists only in the ledger storage device. Therefore, the Rule 144 date can be updated without reference to the corresponding blockchain transaction. Other fields in the ledger or asset storage device can be similarly updated. In some example embodiments, a hash of information not stored as part of the blockchain transaction can be incorporated into the blockchain transaction. For example, each additional field can be concatenated and then hashed. The resulting hash value can be added to the blockchain transaction. This additional verification can prevent changes to data fields that are not directly incorporated into the blockchain.
图5Figure 5
图5是根据某些示例实施例与区块链对接的集中式计算机系统(例如,集中式是因为一个实体控制该计算机和被编程到所述计算机中的操作)的非限制性示例功能框图。在某些示例实施例中,集中式计算机系统1000以电子方式存储(例如,在作为电子储存系统的一部分的数据库中)合同的电子版本1002,例如所述合同诸如股票购买协议(SPA)或股票转移协议(STA)。在某些示例实施例中,数字资产知识库计算机系统600包括集中式计算机系统100。所创建的合同可以规定未决的份额分配、份额的分类,有资格针对该合同行动(例如,获取份额)的某些类型的投资方(或特定投资方)等等。在某些示例中,(例如,定义投票权、转移协议等的)其它电子文档与分配合同相关联并链接至所述分配合同。Figure 5 is a non-limiting example functional block diagram of a centralized computer system (e.g., centralized because one entity controls the computer and the operations programmed into it) that interfaces with a blockchain, according to certain example embodiments. In certain example embodiments, the centralized computer system 1000 electronically stores (e.g., in a database as part of an electronic storage system) an electronic version 1002 of a contract, such as a stock purchase agreement (SPA) or a stock transfer agreement (STA). In certain example embodiments, the digital asset repository computer system 600 comprises the centralized computer system 100. The created contract can specify pending share allocations, classifications of shares, certain types of investors (or specific investors) eligible to act under the contract (e.g., acquire shares), and so on. In certain examples, other electronic documents (e.g., defining voting rights, transfer agreements, etc.) are associated with and linked to the allocation contract.
电子文档可能具有所要求数量的签名或签名框,所述签名或签名框对于要视为生效的文档必须被完成。在图5所示的示例中,电子合同1002要求4个不同的签名。如图5所示,与实体1、2、3个4相关联的计算机(例如,经由电子数据消息)与集中式计算机系统1000通信从而提供被应用于电子合同1002的电子签名。在某些示例实施例中,所述签名可以是真实的电子签名(例如,真实的电子签名可以被认为合同,其中个人同意其签名经由计算机通过点击按钮等来表示)、传统签名的照片副本、或者加密的数字签名。An electronic document may have a required number of signatures or signature boxes that must be completed for the document to be considered valid. In the example shown in FIG5 , electronic contract 1002 requires four different signatures. As shown in FIG5 , computers associated with entities 1, 2, 3, and 4 communicate with centralized computer system 1000 (e.g., via electronic data messages) to provide electronic signatures that are applied to electronic contract 1002. In certain example embodiments, the signatures may be actual electronic signatures (e.g., actual electronic signatures may be considered as a contract, where an individual's consent to their signature is expressed via a computer, such as by clicking a button), photocopies of traditional signatures, or encrypted digital signatures.
在某些示例实施例中,所创建的合同由例如集中式计算机系统1000所主控和存储并且可以由可能作为会所述合同的当事方的参与方或实体访问和查看。这样的访问可以通过网站或者允许实体远程访问、查看所讨论中的合同并且与之交互(例如,签署)的其它技术来提供。这样的访问可以经由台式计算机或者移动计算设备(例如,智能电话、平板计算机、膝上计算机等)来提供。In certain example embodiments, the created contract is hosted and stored, for example, by a centralized computer system 1000 and can be accessed and viewed by parties or entities that may be parties to the contract. Such access can be provided via a website or other technology that allows entities to remotely access, view, and interact with (e.g., sign) the contract in question. Such access can be provided via a desktop computer or a mobile computing device (e.g., a smartphone, tablet, laptop, etc.).
在合同被实体(例如,被实体1-4中的一个或多个或者全部)签署时,所述文档的电子版本可以被创建(例如作为PDF)并且被与所提供的签名一起保存。在某些示例实施例中,除了将签名应用于电子存储的文档之外,中央计算机系统1000可以添加验证标志或者其它符号,所述验证标志或者其它符号表明合同(例如,在接收到所有所要求的签名时)已经被集中式计算机系统1000(或者控制所述计算机系统的合法实体)所确认和/或验证。在某些示例实施例中,所述验证可以包括加密签名(例如,数字签名),所述加密签名(例如,数字签名)指示已经验证和/或认证了文档性质(例如,它已经被所要求的各当事方完全生效)的实体。When the contract is signed by an entity (e.g., by one or more or all of entities 1-4), an electronic version of the document may be created (e.g., as a PDF) and stored along with the provided signatures. In certain example embodiments, in addition to applying the signatures to the electronically stored document, central computer system 1000 may add a verification mark or other symbol indicating that the contract (e.g., upon receipt of all required signatures) has been validated and/or verified by centralized computer system 1000 (or a legal entity controlling the computer system). In certain example embodiments, the verification may include a cryptographic signature (e.g., a digital signature) indicating that the entity has verified and/or authenticated the nature of the document (e.g., that it has been fully validated by the required parties).
在某些示例实施例中,在文档或合同生效时(例如,其中被要求签署的所有实体实际上都已经签署了该文档),可以开始资金转移过程。所述资金转移过程可以从集中式计算机系统100提供并发起。在某些示例中,显示合同信息的网站(例如,所述当事方通过它来提交他们的签名)也提供了触发支付过程的界面。在某些示例实施例中,该支付过程仅在(例如,由集中式计算机系统)确定所有所要求的当事方都已经签署了文档1002时通过该网站才变为可用的(例如,可被看到或可被触发)。所述合同例如可以是向给定个人提供某个数量的份额以换取某个量的钱款的合同。In certain example embodiments, a funds transfer process can be initiated when a document or contract becomes effective (e.g., when all required signatories have in fact signed the document). The funds transfer process can be provided and initiated from the centralized computer system 100. In certain examples, the website displaying the contract information (e.g., through which the parties submit their signatures) also provides an interface for triggering the payment process. In certain example embodiments, the payment process becomes available (e.g., visible or triggerable) via the website only when it is determined (e.g., by the centralized computer system) that all required parties have signed the document 1002. For example, the contract may provide a certain number of shares to a given individual in exchange for a certain amount of money.
在某些示例实施例中,支付过程可以由第三方转移代理来促成,所述第三方转移代理使得能够在两个不同实体间进行钱款转移。如本文所描述的以及除非以其它方式有所指定,所述转移代理通常是指代表转移代理进行操作的计算机系统。换句话说,除非以其它方式有所指定,否则转移代理是(例如,经由应用编程接口或软件服务)被适当编程的计算机系统,所述计算机系统允许其它计算机请求从一个账户向至少一个其它计算机账户转移资金。In certain example embodiments, the payment process may be facilitated by a third-party transfer agent that enables the transfer of money between two different entities. As described herein and unless otherwise specified, a transfer agent generally refers to a computer system that operates on behalf of the transfer agent. In other words, unless otherwise specified, a transfer agent is a computer system that is appropriately programmed (e.g., via an application programming interface or software service) to allow other computers to request the transfer of funds from one account to at least one other computer account.
在图5的示例中,实体3和4是将针对其将交换资金的两个实体(例如,实体3发行要由实体4以某个量购买的私有股权份额)。在该示例中,实体3和4可以具有之前与代理1004所建立的账户(例如,类似于银行账户可以如何进行操作以指示将从何处取出钱款以及将它存至哪里)。In the example of FIG5 , entities 3 and 4 are two entities for which funds will be exchanged (e.g., entity 3 issues shares of private equity to be purchased by entity 4 for a certain amount). In this example, entities 3 and 4 may have previously established accounts with agent 1004 (e.g., similar to how a bank account may operate to indicate where money will be withdrawn and where it will be deposited).
在某些示例实施例中,所述实体可以将他们的账户信息提供至集中式计算机系统1000,所述集中式计算机系统1000随后在合同生效时(例如,经由web服务或者在转移代理上提供的其它应用界面)与所述转移代理对接,由此触发支付过程动作。提供至集中式计算机系统1000的账户信息被传送至它们执行所请求的交易的转移代理。例如,集中式计算机系统1000(例如,通过网络1001以及经由适当编程的软件服务)与转移代理通信从而触发资金从与转移代理1004相关联的实体4的账户向与所述转移代理相关联的实体3的账户的转移。作为成功的资金转移的结果,转移代理1004可以生成安全的API代币,所述安全的API代币被向回传递到集中式计算机系统1000。所述代币可以表示资金转移已经成功的这种品质的收据。在某些示例实施例中,所述代币是所发生的转移的散列或一种或多种特性。In certain example embodiments, the entities may provide their account information to a centralized computer system 1000, which then interfaces with the transfer agent upon contract validation (e.g., via a web service or other application interface provided on the transfer agent), thereby triggering the payment process. The account information provided to the centralized computer system 1000 is transmitted to the transfer agent, which then executes the requested transaction. For example, the centralized computer system 1000 communicates with the transfer agent (e.g., via network 1001 and via a suitably programmed software service) to trigger a transfer of funds from the account of entity 4 associated with transfer agent 1004 to the account of entity 3 associated with the transfer agent. As a result of a successful funds transfer, transfer agent 1004 may generate a secure API token, which is passed back to the centralized computer system 1000. The token may represent a confirmation that the funds transfer was successful. In certain example embodiments, the token is a hash or one or more characteristics of the transfer that occurred.
可替换地或者除此之外,以及如下文更详细解释的,所述资金转移过程可以整个地发生在集中式计算机系统(和它与之对接的区块链1006)内而不依赖或使用第三方来转移与电子存储的合同相关联的资金。Alternatively or additionally, and as explained in more detail below, the funds transfer process can occur entirely within the centralized computer system (and the blockchain 1006 to which it interfaces) without relying on or using a third party to transfer funds associated with the electronically stored contract.
在接收到来自转移代理的指示资金转移已经被成功发起的响应(例如,代币)时,所述集中式计算机系统随后触发一个过程以针对电子生效的合同(例如,它可以是私有股权股票的分配)在区块链上创建永久的记录。Upon receiving a response (e.g., a token) from the transfer agent indicating that the funds transfer has been successfully initiated, the centralized computer system then triggers a process to create a permanent record on the blockchain for the electronically executed contract (e.g., which may be an allocation of private equity shares).
所述永久记录作为交易被存储在区块链上。所创建的区块链交易可以包括以下有关发行方和投资方实体之间的交易的信息:1)发行方和投资方(以及签署了电子文档的可能的任意其它人)的合法姓名和地址,2)与交易相关联的份额数量,3)每份额的价格(或者交易的总价),4)所发行或转移的份额的分类,5)生效日期(例如,电子文档何时被生效了),6)交易的144日期,7)与这个交易相关联的所有文档的散列值(例如,每次发行可能有多于一份的被签署的文档),8)生效了的每个签名的数据或散列(例如,合同名称、签署方、时间戳,以及与电子签名相关联的附加元数据),9)与资金转移相关联的数据(例如,账户信息、与交易相关联的代币、时间戳、用于资金转移过程的交易ID,等等)。这个和其它信息可以作为所形成的区块链交易的一部分被包括,所述区块链交易被提交至区块链以便进行验证并且并入其中。The permanent record is stored as a transaction on the blockchain. The created blockchain transaction may include the following information about the transaction between the issuer and investor entities: 1) the legal names and addresses of the issuer and investor (and potentially any other individuals who signed the electronic document), 2) the number of shares associated with the transaction, 3) the price per share (or the total price of the transaction), 4) the classification of the shares issued or transferred, 5) the effective date (e.g., when the electronic document was effective), 6) the date of the transaction, 7) a hash of all documents associated with the transaction (e.g., there may be more than one signed document per issuance), 8) the data or hash of each effective signature (e.g., the contract name, the signatory, a timestamp, and additional metadata associated with the electronic signature), and 9) data associated with the funds transfer (e.g., account information, a token associated with the transaction, a timestamp, a transaction ID used for the funds transfer process, etc.). This and other information may be included as part of the formed blockchain transaction, which is submitted to the blockchain for verification and incorporation.
将要理解到的是,作为区块链的一部分所包括的信息的性质可以基于具体的应用需求。例如,管理或合同需求可能要求某些数据字段的规范,而其它则被排除。在某些示例中,区块链中所包含的信息可以包括行动以指向(例如,上文结合图1-4所描述的)集中式计算机系统1000所维护的内部数据库的代币或唯一标识符。由于有关交易的信息是可公共获取的分布式的区块链账本的一部分,所以独立的当事方(例如,审计方、管理代理)能够验证并查看已经发生的交易的性质。It will be appreciated that the nature of the information included as part of the blockchain can be based on specific application requirements. For example, regulatory or contractual requirements may dictate the specification of certain data fields while excluding others. In some examples, the information included in the blockchain may include a token or unique identifier that acts as a reference to an internal database maintained by the centralized computer system 1000 (e.g., as described above in connection with Figures 1-4). Because information about transactions is part of a publicly accessible, distributed blockchain ledger, independent parties (e.g., auditors, administrative agents) can verify and review the nature of transactions that have occurred.
将要理解到的是:这样的合同以及它们的生效在过往如何处置的常规过程可能是易于出错和/或耗时的。本文所描述的计算机系统和自动化过程(例如,软件程序)带来了许多分离的过程,它们在(例如,由一个实体所控制的)单个计算机系统的控制下作为专用过程的一部分而被单独处置,所述单个计算机系统为合同(诸如私有股权票据的分配或转移)的生效和记录提供了更为集中化且可预测的控制。例如,两个当事方之间的资金转移可以仅在合同已经被所有的所要求当事方签署时才被允许。该验证由集中化计算机系统1000基于例如所提供的安全代币和/或账户信息的接收以编程方式强制实施。该信息连同所生效的合同的详情一起被(明确地或者经由参考内部提供的数据库的参考代币)包括在区块链交易中,所述区块链交易被生成、提交并且随后由组成所述区块链的分布式系统来验证。简言之,交易(例如,私有股权的分配或发行)所需的所有信息都可以作为区块链交易的一部分被包括。该方面可以至少部分由在交易的每个方面(例如,从合同创建、到生效、到合同条款的履行、到合同的记录和存储,等等)中所涉及到的集中式计算机系统1000所促成。It will be appreciated that conventional processes for handling such contracts and their validation in the past can be error-prone and/or time-consuming. The computer systems and automated processes (e.g., software programs) described herein enable numerous separate processes to be handled separately as part of a dedicated process under the control of a single computer system (e.g., controlled by one entity). This single computer system provides more centralized and predictable control over the validation and recording of contracts (such as the allocation or transfer of private equity instruments). For example, a funds transfer between two parties may only be permitted if the contract has been signed by all required parties. This validation is programmatically enforced by the centralized computer system 1000 based on, for example, receipt of a provided security token and/or account information. This information, along with details of the validated contract, is included (either explicitly or via a reference token that references an internally provided database) in a blockchain transaction that is generated, submitted, and subsequently validated by the distributed system comprising the blockchain. In short, all the information required for a transaction (e.g., the allocation or issuance of private equity) can be included as part of the blockchain transaction. This aspect may be facilitated, at least in part, by a centralized computer system 1000 that is involved in every aspect of a transaction (eg, from contract creation, to validation, to fulfillment of contract terms, to recording and storage of the contract, etc.).
将所有该信息存储在知识库(例如,区块链)中的实施方式之所以是有利的,是因为例如审计方可以参考该信息而不必在不同位置(例如,通过访问不同法律事务所、公司或个人)去搜寻信息。在某些示例中,与交易相关联的信息的子集可以被存储在区块链上,并且超集可以被存储在集中式计算机系统1000的数据库中。这两个信息数据集合可以通过使用存储在区块链交易中的代币或其它密钥(例如,指针)而被链接起来并且向回提供对内部维护的数据库的参考。在这样的实例中,审计方(或其它个人)仍然可以发现该实施方式是有利的,因为所要求的数据被包含在区块链和/或中央计算系统上。Storing all of this information in a repository (e.g., a blockchain) is advantageous because, for example, an auditor can reference this information without having to search for it in different locations (e.g., by visiting different law firms, companies, or individuals). In some examples, a subset of the information associated with a transaction can be stored on the blockchain, and a superset can be stored in a database on centralized computer system 1000. These two sets of information data can be linked together using a token or other key (e.g., a pointer) stored in the blockchain transaction, providing a reference back to the internally maintained database. In such instances, an auditor (or other individual) may still find this embodiment advantageous because the required data is contained on the blockchain and/or the central computing system.
在某些示例实施例中,智能合同可以被(例如,完全地)整合到区块链系统中。在这种类型的实施方式中,“合同”可以与能够接收并保存资产的区块链地址联系起来。资产(例如,数字代币、份额、数字货币)可以在满足合同所定义的具体条件时被释放或转移。换句话说,它是一种自治的、程序化的构造,可以像第三方托管代理那样运作。In certain example embodiments, smart contracts can be (e.g., fully) integrated into a blockchain system. In this type of implementation, a "contract" can be associated with a blockchain address capable of receiving and storing assets. Assets (e.g., digital tokens, shares, digital currency) can be released or transferred upon meeting specific conditions defined in the contract. In other words, it is an autonomous, programmatic construct that can function like a third-party escrow agent.
图6Figure 6
图6是在区块链上的发行方标识符、区块链上的合同地址和区块链上的投资方地址之间执行的示例性(例如,原子)区块链交易的信令图。这里,三个不同的区块链实体(例如,如本文所描述的不同的区块链地址)被用于使智能合同生效。区块链发行方1102可以与发行私有股权份额等的公司相关联。区块链投资方1106可以是注意去投资该公司的人。并且如以上所讨论的,区块链合同1104是自治代理,所述自治代理保存由所述公司所分发的份额,直至某些所定义的程序化条件得到满足。Figure 6 is a signaling diagram of an exemplary (e.g., atomic) blockchain transaction executed between an issuer identifier on the blockchain, a contract address on the blockchain, and an investor address on the blockchain. Here, three distinct blockchain entities (e.g., distinct blockchain addresses as described herein) are used to validate a smart contract. Blockchain issuer 1102 may be associated with a company issuing private equity shares, etc. Blockchain investor 1106 may be a person interested in investing in the company. And, as discussed above, blockchain contract 1104 is an autonomous agent that holds shares issued by the company until certain defined, programmatic conditions are met.
在步骤1110,区块链发行方创建份额转移协议(STA),并且在步骤1112中将份额分配至与合同(即,区块链合同1104)相关联的区块链地址。所述合同包括为了让分配给区块链合同地址1104的份额得以被释放(例如,给投资方)而必须被满足的程序化脚本。所述合同可以包括与拥有所述份额相关联的所有的份额、价格、条款等。图7H中示出了示例的合同。一旦份额被分配给区块链合同1104(例如,图1H的情形中的1),所述份额就是可用的并且在没有满足SPA的程序化条款的情况下不可被移除。在某些示例中,可能有允许区块链发行方1102取消合同(例如,在区块链投资方1106生效之前)的附加条款或选项。例如,合同(例如,要购买份额的出价)可以在7天之后被自动取消。In step 1110, the blockchain issuer creates a Share Transfer Agreement (STA) and, in step 1112, allocates shares to a blockchain address associated with a contract (i.e., blockchain contract 1104). The contract includes a programmatic script that must be satisfied in order for the shares assigned to blockchain contract address 1104 to be released (e.g., to an investor). The contract may include all the shares, prices, terms, and other details associated with owning the shares. An example contract is shown in Figure 7H. Once a share is assigned to blockchain contract 1104 (e.g., 1 in the scenario of Figure 1H), the share becomes available and cannot be removed without satisfying the programmatic terms of the STA. In some examples, there may be additional terms or options that allow blockchain issuer 1102 to cancel the contract (e.g., before blockchain investor 1106 takes effect). For example, a contract (e.g., an offer to purchase shares) may be automatically canceled after seven days.
将要理解到的是,步骤1112中合同的发行不只是合同性质的记录,而宁可说是表示对所提交的资产(例如,所出价的份额)的法律意图。换句话说,如果区块链交易的条件被满足,则资产在与所述资产相关联的区块链交易生效时被合法转移。因此,区块链合同地址1104在功能上可以类似于第三方托管。It will be appreciated that the issuance of the contract in step 1112 is not merely a record of the nature of the contract, but rather an expression of legal intent regarding the submitted asset (e.g., the offered shares). In other words, if the conditions of the blockchain transaction are met, the asset is legally transferred when the blockchain transaction associated with the asset is effected. Therefore, blockchain contract address 1104 can function similarly to an escrow.
一旦合同和份额与区块链合同1104相关联,与区块链投资方相关联的投资方就可以在步骤114(例如,诸如通过如图7H所示的网页等)审核合同的条款。在某些示例中,对于区块链合同1104,合同的条款(例如,针对区块链发行方1102的地址的数字或其它货币的支付)必须被满足以便将份额释放给区块链投资方1106。这里,合同的条款可以体现在与保存所要购买的份额的区块链交易相关联的程序化脚本中。仅在脚本的条款(或者更确切地,在程序化脚本中提出的条款)被满足时,份额才将被转移至另一个区块链地址。Once the contract and shares are associated with blockchain contract 1104, investors associated with the blockchain investor can review the terms of the contract in step 114 (e.g., via a webpage such as shown in FIG. 7H ). In some examples, for blockchain contract 1104, the terms of the contract (e.g., payment of digital or other currency to the address of blockchain issuer 1102) must be satisfied in order for the shares to be released to blockchain investor 1106. Here, the terms of the contract can be embodied in a programmatic script associated with the blockchain transaction that holds the purchased shares. Only when the terms of the script (or, more specifically, the terms set forth in the programmatic script) are satisfied will the shares be transferred to another blockchain address.
在步骤1114中审核STA的条款之后,如果投资方仍然有兴趣,他可以创建区块链交易来接受交易或分配。针对该过程,资方创建区块链交易,所述区块链交易包括以下的输入:(1)来自区块链投资方1106的数字货币(这也可以是真实货币的代币),以及(2)合同中来自区块链合同1104的份额;以及以下的输出:(1)在1116中去往区块链发行方1102的货币(这也可以是真实货币的代币),以及(2)在1118中去往区块链投资方1106的份额。该区块链交易(两个输入和两个输出)是被提交至区块链以便由此进行验证的单原子交易1115。After reviewing the terms of the STA in step 1114, if the investor is still interested, he can create a blockchain transaction to accept the deal or allocation. For this process, the investor creates a blockchain transaction that includes the following inputs: (1) digital currency from the blockchain investor 1106 (this can also be a token of real money), and (2) the share of the contract from the blockchain contract 1104; and the following outputs: (1) currency going to the blockchain issuer 1102 in 1116 (this can also be a token of real money), and (2) the share going to the blockchain investor 1106 in 1118. This blockchain transaction (two inputs and two outputs) is a single atomic transaction 1115 that is submitted to the blockchain for verification thereby.
所述转移针对与合同(例如,与交易相关联的脚本)相关联的确认逻辑(例如采用编程方式)而被确认。在某些示例中,区块链合同1104可能要求对交易进行数字地共同签署从而释放份额,并且可能仅在满足恰当条件的情况下(例如,在投资方提供的货币量等于所要获得的份额的价值的情况下)才这样做。例如,所述确认可以包括确认存在充分数量的数字货币从而授权所请求数量的份额的转移。从投资方所提交的区块链交易的确认的性质由作为所分配的合同的一部分的程序化逻辑来确定。基本上,该确认由自治的区块链合同地址(例如,经由与合同相关联的脚本化的规则)所“控制”。在某些示例中,该确认可以通过使第三方托管方也对交易进行数字签署以表明所要求数量的资金已经被存入并且准备转移至发行方来执行。The transfer is confirmed (e.g., programmatically) against confirmation logic associated with the contract (e.g., a script associated with the transaction). In some examples, blockchain contract 1104 may require the transaction to be digitally co-signed to release the shares, and may only do so if appropriate conditions are met (e.g., if the amount of currency provided by the investor equals the value of the shares to be obtained). For example, the confirmation may include confirming the existence of a sufficient amount of digital currency to authorize the transfer of the requested number of shares. The nature of the confirmation of the blockchain transaction submitted by the investor is determined by programmatic logic that is part of the assigned contract. Essentially, the confirmation is "controlled" by the autonomous blockchain contract address (e.g., via scripted rules associated with the contract). In some examples, the confirmation can be performed by having a third-party custodian also digitally sign the transaction to indicate that the requested amount of funds has been deposited and is ready for transfer to the issuer.
该方案的灵活性可以意味着确认或满足合同条款可能需要不同类型的的信息(例如,超出了仅仅是发送充分的资金)。例如,电子合同的经散列的值可以被创建并提交至区块链合同地址。脚本化的逻辑的一部分可以用于检查从投资方所接收的经散列的值是否与最初从发行方使用的经散列的值相匹配。换句话说,来自区块链投资方1106的输入可以包括合同文档的散列(例如,以表示投资方已经阅读并理解了合同条款),所述合同文档的散列针对发行方所使用的合同的散列而被检查。因此,不同类型的规则(例如,逻辑)可以是“合同”中用于使所述合同的生效自动执行的一部分。The flexibility of this approach can mean that different types of information may be required to confirm or satisfy the terms of a contract (e.g., beyond simply sending sufficient funds). For example, a hashed value of an electronic contract can be created and submitted to a blockchain contract address. A portion of the scripted logic can be used to check whether the hashed value received from the investor matches the hashed value originally used from the issuer. In other words, the input from blockchain investor 1106 can include a hash of the contract document (e.g., to indicate that the investor has read and understood the contract terms), which is checked against the hash of the contract used by the issuer. Thus, different types of rules (e.g., logic) can be part of a "contract" to automatically enforce the contract.
在步骤1120,所述合同被标记为已生效,并且在步骤1122中为投资方创建(例如,用于新获得的份额的)证书。示例证书和与之相关的可以被显示给用户的信息在图7G和7H中被示出。At step 1120, the contract is marked as valid, and a certificate (eg, for the newly acquired shares) is created for the investor at step 1122. Example certificates and information associated therewith that may be displayed to the user are shown in Figures 7G and 7H.
图6中所描述的方案可以使得所有相关信息在区块链上是默认可用的,因为区块链合同地址和参与方二者都是区块链网络上的实体。因此,并没有发生在区块链之外的步骤。The scheme described in Figure 6 can make all relevant information available on the blockchain by default, because both the blockchain contract address and the parties involved are entities on the blockchain network. Therefore, no steps occur outside the blockchain.
图8Figure 8
图8是根据某些示例实施例的示例性计算系统800的框图(例如,如图1-6所描述的数字资产知识库计算机系统、如图1、2B、3A或4中所示的用户设备、作为用来处理和维护区块链的分布式计算系统的一部分的计算节点、构成计算机系统——诸如本文所描述的数字资产知识库计算机系统——的多个计算系统中的一个计算系统,等等)。计算系统1300包括具有CPU 1、CPU 2、CPU 3、CPU 4的处理系统1302、与RAM 1306通信的系统总线1304、以及储存装置1308。储存装置1308可以是磁性的、基于闪存的(例如,用于移动客户端设备)、固态的、或者其它的存储技术。系统总线1304与用户输入适配器1310(例如,PS/2、USB接口等)进行通信,用户输入适配器1310允许用户经由用户输入设备1312(例如,键盘、鼠标、触摸板等)向计算系统1300输入命令。处理的结果可以经由显示接口1314(例如,视频卡等)在显示器1316(例如,LCD)向用户进行显示。FIG8 is a block diagram of an exemplary computing system 800 according to certain example embodiments (e.g., a digital asset knowledge base computer system as described in FIG1-6 , a user device as shown in FIG1 , 2B, 3A, or 4 , a computing node as part of a distributed computing system for processing and maintaining a blockchain, one of multiple computing systems comprising a computer system such as the digital asset knowledge base computer system described herein, etc.). Computing system 1300 includes a processing system 1302 having CPUs 1, 2, 3, and 4, a system bus 1304 in communication with RAM 1306, and storage 1308. Storage 1308 can be magnetic, flash-based (e.g., for mobile client devices), solid-state, or other storage technologies. System bus 1304 communicates with a user input adapter 1310 (e.g., a PS/2, USB interface, etc.), which allows a user to enter commands into computing system 1300 via a user input device 1312 (e.g., a keyboard, mouse, touchpad, etc.). The processed results may be displayed to the user on a display 1316 (eg, LCD) via a display interface 1314 (eg, a video card, etc.).
计算系统1300还可以包括网络接口1318(例如,收发器)以经由网络1324而促成与外部系统1322、数据库1320和其它系统的有线(例如,以太网—802.3x)和/或无线(WiFi/802.11x协议、蜂窝技术等)通信。外部系统1322可以包括其它处理系统、提供第三方服务的系统、诸如用于区块链的挖掘器的计算节点等等。外部系统1322可以是客户端设备或服务器系统。Computing system 1300 may also include a network interface 1318 (e.g., a transceiver) to facilitate wired (e.g., Ethernet—802.3x) and/or wireless (WiFi/802.11x protocols, cellular technologies, etc.) communication with external systems 1322, databases 1320, and other systems via a network 1324. External systems 1322 may include other processing systems, systems providing third-party services, computing nodes such as miners for blockchains, and the like. External systems 1322 may be client devices or server systems.
外部系统1322也可以包括网路附连储存装置(NAS),用以保存大量数据。外部系统连同内部储存装置和存储器一起可以形成用于存储和维持信息(例如,区块链信息、资产信息、订单预定信息、路由策略等)的存储系统。这样的系统可以与用户和/或处理电子订单数据消息的其它计算系统进行通信。数据库1320可以包括关系、面向对象或其它类型的数据库,用于存储信息(例如,与区块链交易相关联的补充数据、或者在区块链上表示的数字资产或资源、用于金融票据的订单预定信息)。External systems 1322 may also include network-attached storage (NAS) for storing large amounts of data. Together with internal storage and memory, these external systems may form a storage system for storing and maintaining information (e.g., blockchain information, asset information, order information, routing policies, etc.). Such a system may communicate with users and/or other computing systems that process electronic order data messages. Database 1320 may include a relational, object-oriented, or other type of database for storing information (e.g., supplemental data associated with blockchain transactions, digital assets or resources represented on the blockchain, order information for financial instruments).
在各种实施例中,所述计算机系统可以以许多不同方式进行安排。仅作为一个示例,所述计算系统可以被安排成使得处理器包括:多(或单)核处理器;第一网络接口设备(它例如实施WiFi、蓝牙、NFC等);实施一种或多种蜂窝通信技术(例如,3G、4G LTE、CDMA等)的第二网络接口设备;存储器或储存设备(例如,RAM、闪存或硬盘)。处理器、第一网络接口设备、第二网络接口设备和存储器设备可以被整合为相同SOC(例如,一块集成电路芯片或“片上系统”)的一部分。作为另一个示例,所述计算系统可以被安排成使得:处理器包括两个、三个、四个、五个或更多个多核处理器;所述网络接口设备包括实施以太网的第一网络接口设备以及实施WiFi和/或蓝牙的第二网络接口设备;并且所述存储器设备包括RAM和闪存或硬盘。In various embodiments, the computer system can be arranged in many different ways. As just one example, the computing system can be arranged such that the processor includes: a multi-core (or single-core) processor; a first network interface device (which, for example, implements WiFi, Bluetooth, NFC, etc.); a second network interface device that implements one or more cellular communication technologies (e.g., 3G, 4G LTE, CDMA, etc.); and a memory or storage device (e.g., RAM, flash memory, or a hard disk). The processor, the first network interface device, the second network interface device, and the memory device can be integrated as part of the same SOC (e.g., an integrated circuit chip or "system on a chip"). As another example, the computing system can be arranged such that: the processor includes two, three, four, five, or more multi-core processors; the network interface devices include a first network interface device that implements Ethernet and a second network interface device that implements WiFi and/or Bluetooth; and the memory device includes RAM and flash memory or a hard disk.
换句话说,本文(针对客户端设备、服务器、交换平台和/或控制器系统)所描述的过程、技术等可以在计算系统上实施。这样的实施方式于是可以对所述处理系统进行配置或编程从而实施根据某些示例实施例的方面。将要理解到的是,可以使用其它架构类型。例如,可以替代多个CPU而使用单个CPU。可替换地,处理系统可以包括多个CPU“核心”。另外,结合图8所示的各种元素可以被包括到一种聚合物理结构(例如,诸如平板计算机设备)之中。图1-7H中所示出的组件和功能可以在图8所示的示例计算系统上实施或者结合图8所示的示例计算系统来实施(例如,用以由此创建专用计算机器或者现有机器的新用途)。In other words, the processes, techniques, etc. described herein (for client devices, servers, switching platforms, and/or controller systems) can be implemented on a computing system. Such an implementation can then configure or program the processing system to implement aspects according to certain example embodiments. It will be understood that other architecture types can be used. For example, a single CPU can be used instead of multiple CPUs. Alternatively, the processing system can include multiple CPU "cores." In addition, the various elements shown in conjunction with Figure 8 can be included in a polymer physical structure (e.g., such as a tablet computer device). The components and functions shown in Figures 1-7H can be implemented on or in conjunction with the example computing system shown in Figure 8 (e.g., to create a special-purpose computing machine or a new use for an existing machine).
如本文所描述的,当软件模块或软件过程执行任何动作时,所述动作实际上由基础硬件元件根据包括软件模块的指令来执行。在各种实施例中,计算系统600、用户设备614A和614B、区块链618、集中式计算机系统1000、区块链1006、储存装置602、604和606、区块链服务616、用户界面612、微服务API 610等(它们中的每一个为了清楚起见在该段落的其余部分中单独地被称作“组件”)使用图8的计算系统1300的示例来实施。在这样的实施中,以下内容适用每个组件:(a)图8所示的计算系统1300的元件(即,一个或多个处理器1302、一个或多个存储器设备1306或1308、一个或多个网络接口设备1318、一个或多个显示接口1314、以及一个或多个用户输入适配器1310,或者它们的适当组合或子集)被配置、被适配和/或被编程用以实施本文被描述为由组件和/或由本文被描述为包括在组件内的任意软件模块所执行的动作、活动或特征的每个或任意组合;(b)可替换地或除此之外,就本文所描述的一个或多个软件模块存在于组件内的范围而言,在一些实施例中,这样的软件模块(以及本文被描述为由软件模块所处置和/或使用的任意数据)被存储在存储器设备1306和/或1308中(例如,在各种实施例中、在诸如RAM的易失性存储器设备中、在指令寄存器中、和/或在诸如闪存或硬盘的非易失性存储器设备中),并且在本文被描述为由软件模块所执行的所有动作由处理器1302酌情结合计算系统1300之中和/或与之连接的其它元件(即,网络接口设备1318、显示接口1314、用户输入适配器1310和/或显示设备1316)来执行;(c)可替换地或除此之外,就本文所描述的组件处理和/或以其它方式处置数据的范围而言,在一些实施例中,这样的数据被存储在存储器设备中(例如,在一些实施例中,在诸如RAM的易失性存储器设备中,和/或在诸如闪存或硬盘的非易失性存储器设备中),和/或由处理器1302酌情结合计算系统1300之中和/或与之连接的其它元件(即,网络接口设备1318、显示接口1314、用户输入适配器1310和/或显示设备1316)来执行;(d)可替换地或除此之外,在一些实施例中,存储器设备存储指令,所述指令在被处理器1302执行时使得处理器1302酌情结合计算系统1300之中和/或与之连接的其它元件执行本文被描述为由组件和/或由本文被描述为包括在组件内的任意软件模块所执行的动作中的每一种或任意组合。As described herein, when a software module or software process performs any action, the action is actually performed by the underlying hardware elements according to the instructions comprising the software module. In various embodiments, the computing system 600, user devices 614A and 614B, blockchain 618, centralized computer system 1000, blockchain 1006, storage devices 602, 604 and 606, blockchain service 616, user interface 612, microservice API 610, etc. (each of which is individually referred to as a "component" in the remainder of this paragraph for clarity) is implemented using the example of the computing system 1300 of Figure 8. In such implementations, the following applies to each component: (a) the elements of the computing system 1300 shown in FIG8 (i.e., one or more processors 1302, one or more memory devices 1306 or 1308, one or more network interface devices 1318, one or more display interfaces 1314, and one or more user input adapters 1310, or appropriate combinations or subsets thereof) are configured, adapted, and/or programmed to implement each or any combination of actions, activities, or features described herein as being performed by the component and/or by any software modules described herein as being included within the component; and (b) alternatively or in addition, to the extent one or more software modules described herein are present within the component, in some embodiments, such software modules (and any data described herein as being handled and/or used by the software modules) are stored in the memory devices 1306 and/or 1308 (e.g., in various embodiments, in a volatile memory device such as RAM, in an instruction register, and/or in a non-volatile memory device such as flash memory or a hard disk), and all actions described herein as being performed by the software modules are performed by the processor 1302, as appropriate, in conjunction with the computing device. (c) alternatively or in addition to, to the extent that components described herein process and/or otherwise handle data, in some embodiments, such data is stored in a memory device (e.g., in a volatile memory device such as RAM, and/or in a non-volatile memory device such as flash memory or a hard disk) and/or is processed by the processor 1302, as appropriate, in conjunction with the computer. (d) alternatively or in addition, in some embodiments, the memory device stores instructions that, when executed by the processor 1302, cause the processor 1302 to perform, as appropriate, in conjunction with other elements within and/or connected to the computing system 1300, each or any combination of the actions described herein as being performed by the component and/or by any software modules described herein as being included within the component.
所描述主题的技术优势Technical advantages of the described subject matter
在某些示例实施例中,溯源和监管链信息经由区块链提供并且区块链交易个别地与被存储在单独计算机系统中的相对应记录相关联。溯源和监管链信息通过使用形成区块链的采用加密方式可验证的操作而被确保安全。In certain example embodiments, provenance and chain of custody information is provided via a blockchain, and blockchain transactions are individually associated with corresponding records stored in separate computer systems. Provenance and chain of custody information is secured using cryptographically verifiable operations that form the blockchain.
在某些示例实施例中,用户界面(例如,经由网站等)被提供并且允许参与方查看与特定资产或资源相关联的交易。这允许参与方对溯源和监管链信息进行视觉化表示。In certain example embodiments, a user interface (e.g., via a website, etc.) is provided that allows participants to view transactions associated with a particular asset or resource. This allows participants to visualize provenance and chain of custody information.
在某些示例实施例中,数据交易请求可以被提交至计算机系统。所述数据交易请求可以与创建或发行资产、资产向不同参与方的分配、用以执行电子拍卖过程的请求、用以执行交易和/或与第三方代理清算的请求相关联。In certain example embodiments, a data transaction request may be submitted to a computer system. The data transaction request may be associated with the creation or issuance of an asset, the allocation of an asset to different parties, a request to conduct an electronic auction process, a request to execute a transaction, and/or a settlement with a third-party agent.
所选择的术语Selected terms
在本文中无论何时描述一个给定项出现在“一些实施例”、“各种实施例”、“某些实施例”、“某些示例实施例”、“一些示例实施例”、“示例性实施例”中,或者无论何时使用任何其它相似的语言,都应当理解的是,所述给定项出现在至少一个实施例中,但是并不一定出现在所有实施例中。与前述相一致地,在本文中无论何时描述动作“可以”、“能够”或“能”被执行,特征、元件或组件“可以”、“能够”或“能”被包括在给定情境中或者可应用于给定情境,给定项“可以”、“能够”或“能”拥有给定属性,或者无论何时使用涉及到术语“可以”、“能够”或“能”的任何相似短语,都应当理解的是,所述给定动作、特征、元件、组件、属性等出现在至少一个实施例中,但是并不一定出现在所有实施例中。除非以其它方式明确指出,否则在本文中所使用的术语和短语以及它们的各种变化都应当被理解为是开放式的而并非限制的。作为前述的示例:“和/或”包括一个或多个相关联的所列出项中的任一个和全部组合(例如,a和/或b意味着a、b或者a和b);单数形式“一个”、“一”和“该/所述”应当被解读为意味着“至少一个”、“一个或多个”等;术语“示例”被用来提供所讨论主体的示例,而并非它的穷举或限制性列举;术语“包括”和“包含”(以及它们的其它动词变化形式和其它变化形式)指定了存在相关联的所列出项,但是并不排除存在或添加一个或多个其它项;并且如果一项被描述为是“可选的”,则这样的描述并不应当被理解为指示其它项也不是可选的。Whenever a given item is described herein as occurring in “some embodiments,” “various embodiments,” “certain embodiments,” “certain example embodiments,” “some example embodiments,” “exemplary embodiments,” or whenever any other similar language is used, it is understood that the given item occurs in at least one embodiment, but not necessarily in all embodiments. Consistent with the foregoing, whenever an action is described herein as “may,” “can,” or “can” be performed, a feature, element, or component “may,” “can,” or “can” be included in or applicable to a given context, a given item “may,” “can,” or “can” possess a given property, or whenever any similar phrases involving the terms “may,” “can,” or “can” are used, it is understood that the given action, feature, element, component, property, etc. occurs in at least one embodiment, but not necessarily in all embodiments. Unless expressly stated otherwise, the terms and phrases used herein, and their various variations, are to be understood as open-ended and non-restrictive. As an example of the foregoing: "and/or" includes any and all combinations of one or more of the associated listed items (e.g., a and/or b means a, b, or a and b); the singular forms "a," "an," and "the" should be interpreted as meaning "at least one," "one or more," etc.; the term "example" is used to provide an example of the subject matter being discussed, rather than an exhaustive or limiting listing thereof; the terms "include" and "comprising" (and their other verb conjugations and other variations) specify the presence of the associated listed items, but do not preclude the presence or addition of one or more other items; and if an item is described as "optional," such description should not be understood to indicate that the other items are also not optional.
如本文所使用的,术语“非瞬态计算机可读存储介质”包括寄存器、高速缓存存储器、ROM、半导体存储器设备(诸如D-RAM、S-RAM或其它RAM)、诸如闪存、硬盘、磁-光学介质的磁性介质、诸如CD-ROM、DVD或蓝光盘的光学介质,或者用于非瞬态电子数据存储的其它类型的设备。术语“非瞬态计算机可读存储介质”并不包括瞬态的、传播的电磁信号。As used herein, the term "non-transitory computer-readable storage medium" includes registers, cache memory, ROM, semiconductor memory devices (such as D-RAM, S-RAM or other RAM), magnetic media such as flash memory, hard disk, magneto-optical media, optical media such as CD-ROM, DVD or Blu-ray Disc, or other types of devices for non-transitory electronic data storage. The term "non-transitory computer-readable storage medium" does not include transient, propagating electromagnetic signals.
所描述主题的附加应用Additional Applications of the Described Subject Matter
虽然包括但并不局限于参考图1-6的过程步骤、算法等可以以特定的顺序次序被描述或要求保护,但是这样的过程可以被配置为以不同次序来工作。换句话说,可以在本文中被明确描述或要求保护的步骤的任何次序或顺序都并不一定指示所述步骤应以该次序来执行的要求;相反,本文所描述过程的步骤可以以任何可能的次序来执行。另外,尽管被描述或暗示为非同时地发生(例如,因为一个步骤在其它步骤之后被描述),但是一些步骤可以被同时(或并行)执行。此外,过程由其在附图中的绘制所进行的图示并非暗示所图示的过程排除了针对它的其它变化和修改,并非暗示所图示的过程或者它的任何步骤是必要的,以及并非暗示所图示的过程是优选的。Although process steps, algorithms, and the like, including but not limited to those with reference to Figures 1-6, may be described or claimed in a particular sequential order, such processes may be configured to operate in a different order. In other words, any order or sequence of steps that may be explicitly described or claimed herein does not necessarily indicate a requirement that the steps be performed in that order; rather, the steps of the processes described herein may be performed in any possible order. In addition, although described or implied as occurring non-simultaneously (e.g., because one step is described after another step), some steps may be performed simultaneously (or in parallel). Furthermore, the illustration of a process by its drawing in the accompanying drawings does not imply that the illustrated process excludes other variations and modifications thereto, that the illustrated process or any of its steps are necessary, or that the illustrated process is preferred.
针对本文所描述的其中区块链技术被用于特定目的或特征的每个实施例,应当理解的是,区块链技术只是可以被用于这样的目的/特征的技术的一个示例;在各种其他实施例中,可以替代和/或结合用于这样的目的/特征的区块链技术而使用其它类型的分布式账本技术、分布式数据库技术和/或智能合同技术。For each embodiment described herein in which blockchain technology is used for a particular purpose or feature, it should be understood that blockchain technology is only one example of a technology that may be used for such purpose/feature; in various other embodiments, other types of distributed ledger technology, distributed database technology, and/or smart contract technology may be used in place of and/or in combination with blockchain technology for such purpose/feature.
虽然已经详细示出并描述了各种实施例,但是权利要求并非被局限于任何特定的实施例或示例。以上的描述都不应当被解读为暗示任何特定元件、步骤、范围或功能是必要的。本领域技术人员所知的以上所描述的优选实施例的元件的所有结构或功能的等同形式都通过引用被明确结合于此并且意在被包含于其中。此外,要让设备或方法被本发明所包含,并不一定要让所述设备或方法解决谋求要由本发明所解决的每个及各个问题。该说明书中的任何实施例、特征、组件或步骤都不是意在服务于公众。Although various embodiments have been shown and described in detail, the claims are not limited to any particular embodiment or example. None of the above descriptions should be interpreted as implying that any particular element, step, range, or function is necessary. All structural or functional equivalents of the elements of the preferred embodiment described above that are known to those skilled in the art are expressly incorporated herein by reference and are intended to be included therein. Furthermore, it is not necessary for an apparatus or method to solve each and every problem sought to be solved by the present invention in order for the apparatus or method to be encompassed by the present invention. No embodiment, feature, component, or step in this specification is intended to serve the public.
Claims (20)
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201562188422P | 2015-07-02 | 2015-07-02 | |
| US62/188422 | 2015-07-02 | ||
| US201562270560P | 2015-12-21 | 2015-12-21 | |
| US62/270560 | 2015-12-21 | ||
| PCT/US2016/040711 WO2017004527A1 (en) | 2015-07-02 | 2016-07-01 | Systems and methods of secure provenance for distributed transaction databases |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1254071A1 HK1254071A1 (en) | 2019-07-12 |
| HK1254071B true HK1254071B (en) | 2021-04-09 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12166902B2 (en) | Systems and methods of secure provenance for distributed transaction databases | |
| US20250384411A1 (en) | Contingent payments for virtual currencies | |
| TWI717028B (en) | Block chain-based invoice taking method and device, electronic equipment | |
| JP7385371B2 (en) | Computer network system for cryptographically secured token-based alternative management, and methods of utilizing the system | |
| US20200051041A1 (en) | System and method for arbitrating a blockchain transaction | |
| TW201935385A (en) | Asset management method and apparatus, and electronic device | |
| CN109766375B (en) | Database-centric computer network system and computer-implemented method for cryptographically protected distributed data management | |
| CN111417977A (en) | System and method for managing patent risks | |
| HK1249791A1 (en) | Systems and methods of blockchain transaction recordation | |
| US20250117848A1 (en) | Integrated platform for digital asset registration, tracking and validation | |
| JP2020046975A (en) | Fund transfer system and method for virtual currency | |
| JP7262328B2 (en) | Asset backup process and program | |
| HK1254071B (en) | Systems and methods of secure provenance for distributed transaction databases | |
| KR102784894B1 (en) | Method, apparatus, and recording medium for providing services related to nft that represents ticket |