The present disclosure relates to systems, methods, and storage media for configuring a system for managing data relating to tokenized assets.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
In finance, a derivative is an asset that derives its value from the performance of an underlying entity. This underlying entity can be an asset, index, or income stream, and is often simply called the “underlying”. Derivatives can be used to provide access to otherwise hard-to-trade assets or markets. One type of derivatives is a Residential Mortgage Backed Security (RMBS) which are often aggregated into funds or Exchange Traded Products (ETP). An RMBS fund is an investment similar to a bond that is made up of a bundle of home loans purchased from the banks that issued them. Investors in RMBS funds receive periodic payments similar to bond coupon payments. Also, other derivatives, such as futures and forward contracts, swaps, and options are often aggregated into funds.
Most economists agree that the root cause of the 2008 Global Financial Crisis (GFC) was the eroded performance of RMBS funds. While asset underperformance in markets is common, the lack of effective pricing and transparency in the performance of the RMBS fund assets over time resulted in a toxic spread of risk across the financial system due, in part, to inadequacies of computing platforms supporting the financial systems. When the extent of the risk was eventually understood by the markets, it resulted in a ripple effect as market liquidity evaporated in the face of balance sheet uncertainty. Markets froze, stalwart institutions fell, and, without the aggressive intervention of global governments at a substantial cost to taxpayers, it is likely that the entire financial ecosystem may have collapsed resulting in a global depression.
The lack of pricing and transparency in derivative funds, and other funds, is largely an information technology problem. The complexity tracking underlying assets often represented in widely varying systems operated by parties with different levels of sophistication, the aggregation of these assets into funds, and the fractionalization of funds into shares, when combined with the dynamics of market conditions, makes it difficult, if not impossible for conventional computing platforms to adequately communicate valuation to market participants, and other stakeholders, in real time. For example, in the simple case of an RMBS fund of thousands of mortgage backed securities, valuation is dependent on current interest rates, the creditworthiness of each homeowner/mortgagee, the payment status of each mortgage, housing valuations in each region and many other dynamic conditions that can be specific to each of the thousands of mortgages. Currently, there is no way to gather all of this information and process the same for valuation in a real-time manner. These limitations are the primary contributor to the lack of effective pricing and transparency that contributed to the GFC and which continue to contribute to market uncertainties.
It has been proposed that Distributed Ledger Technologies (DLT), such as blockchain, could be applied to various financial transactions to increase transparency because one of the principal benefits of DLT is the ability to obtain a transparent, immutable and auditable record of transactions and data. A flood of DLT projects have emerged demonstrating the utility of “tokenizing” (i.e. creating a unique digital ID for) any asset that has value, including equity and debt instruments, artwork, virtual collectables, documents, energy, and much more. However, current data models and architectures do not provide a common model for the communication of valuation and other diligence data, mechanisms for combination and management of complex and dissimilar assets, such as derivatives and derivative funds, in a flexible manner.
The applicant has created a data model and computer architecture that streamlines and decentralizes asset management while providing improved data processing, of valuation for example. Implementations include methods executed by at least one computing device on a distributed ledger over a computer network using a smart contract to issue cryptographic tokens representing assets. Implementations include a novel data structure and interface designed to enable token nesting, that is, tokens as assets that contain other tokens as assets. Since investment funds are assets that contain assets, this novel data model provides a processing backbone on which advanced fund strategies, valuations and asset management may be performed in a decentralized manner. However, the implementations include centralized architectures and also provide data processing and communication advantages with respect to these architectures. Additionally, the novel token data structure and interface design enable shared transaction logic, comprehensive auditability and scalable record keeping, while decoupling individual asset behavior and associated logic. The structure permits reuse of basic transaction logic and asset management functions. Disclosed implementations support a wide variety of asset types, permit the formation of simple fund structures with homogeneous assets (or complex diversified funds with heterogeneous assets) and can expose “plug-in points” that facilitate rapid innovation in novel fund management approaches.
Disclosed fund structures can create a repeatable model to enhance investor transparency, reduce the cost of fund maintenance, and streamline the path to market for new asset classes and fund management strategies. Using disclosed implementations, a party offering an asset management strategy, known as an Issuer, can deploy a market ready asset on a decentralized networked computing platform in minutes including, if desired, complex and highly regulated instruments like Exchange Traded Funds (ETFs).
Disclosed implementations define a computer architecture, computer readable data structure, and computer interface implementation to inspect, value, transact, combine, and manage any asset type including composite assets, e.g. funds. When coupled with the token framework disclosed in US Published Patent Application No. US20190164151 A1, the model provides a fully functional decentralized architecture for global regulatory compliance, scalable transaction logic, simplified management, and transparent asset performance. The result is an automated, standards-based, self-reporting fund that can be leveraged by any Issuer to automatically execute the desired asset management strategy on behalf of investors on a decentralized platform.
Disclosed implementations provide framework that includes a non-fungible token representing a fund shell, that is, a fund structure that handles general purpose fund management functions such as adding and removing assets or publishing valuation, may be populated with assets, and can incorporate third party smart contracts, if desired, for waterfall processing of fund proceeds. The shell provides a plugin structure so that fund management strategies can be handled manually, through stakeholder voting, or via automated asset management strategies. Automated strategies, colloquially known as “robo-advisors”, are gaining traction as efficient models for asset allocation. The disclosed implementations permit rapid innovation in the development and deployment of automated (or manual) management strategies on a decentralized network by decoupling asset allocation logic from general purpose fund processing.
The applicant discloses a novel fund management strategy called “elastic securitization”. This strategy permits a closed end fund, that is, one in which there are a fixed number of shares, to expand or contract in size (assets under management) based on market demand without the use of authorized participants. This innovative approach is helpful to support exchange traded funds of illiquid assets and thereby provides investors access to new classes of assets via the ETF harness.
Disclosed implementations include interface specifications to link tokenized assets to a fungible token transaction framework extending conventional DLT practices for value transfer (Ethereum ERC20 standard as an example) with logic for corporate governance, payment distributions, and policy enforcement (as disclosed in US Published Patent Application No. US20190164151 A1). The resulting data structure allow a decentralized architecture to automatically communicate value of tokens, funds and other complex assets. This provides investors, that is, holders of a fungible digital token, the ability to efficiently inspect the value that they own, even for complex fund structures with heterogeneous and nested assets (e.g., a fund of funds). An investor, or other stakeholder, may review both overall performance and an enumerated list of the underlying assets with consistent and real-time access to the performance, cash flows, and data for each asset. The disclosed implementations permit: greater transparency into the performance of underlying assets; greater regulatory oversight of fund operations; and lower cost of operations for asset managers. Had RMBS funds been implemented with the disclosed computing architecture prior to 2008, many factors believed to contribute to the Global Financial Crisis (GFC) would have been alleviated.
One aspect of the present disclosure includes a method for configuring a data storage and retrieval system for managing data relating to tokenized assets, the method comprising: creating a digital token in accordance with a class definition, the token including a unique token identifier; registering the digital token in association with an asset as a unique record in a memory device of an asset registry; associating a communication interface with the digital token in accordance with the class definition, wherein the communication interface is compliant with a communication specification implemented by the asset registry and which is configured to expose a set of predefined functions, wherein the predefined functions include asset ownership transfer functions, asset valuation publication functions, asset attribute determination functions and asset specific processing logic.
These and other features, and characteristics of the present technology, as well as the methods of operation and functions of the related elements of structure and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various figures. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the invention. As used in the specification and in the claims, the singular form of “a”, “an”, and “the” include plural referents unless the context clearly dictates otherwise.
An investment fund, such as an ETF, is used herein as an example of an asset that can be managed with the disclosed implementations. To create and launch an ETF fund in accordance with disclosed implementations, issuers follow a multistep process including: ( 1) tokenizing fund assets using predefined specification (referred to as an “IAssetToken” specification herein) of IAsset module 102 (described in detail below); (2) tokenizing the fund itself using with a predefined specification (referred to as an “IAssetFund” specification herein) of IAsset module 102 (described in detail below); (3) using a novel token data structure enabling asset management, enumeration, and nesting, attach tokenized assets to the fund using an AddAssetRequest function (described in detail below); and (4), if desired, attach a non-fungible token to a fungible token using an IAssetManagementFungible interface (described in detail below) of IAsset module 102 (described in detail below) to support fractional ownership and simplified transactions. Note that the tokens of the disclosed implementations are sometimes referred to as “IAsset tokens” herein. All of these specifications, interfaces, process steps and data structures facilitate fund management in decentralized systems and are described in detail herein. Examples of source code implementing the various functions and interfaces is included in the Appendix which is a part of the specification of this patent application.
Asset registry module 104 includes a smart contract, AssetRegistry, that issues and tracks tokens representing assets. These tokens implement interfaces to manage relationships between assets and expose basic asset functions, such as valuation functions. Assets may be assigned a class that can be tracked in AssetClassRegistry module 106. The term “class”, as used herein, is well known in the field of object oriented programming and can refer to a “blueprint” for creating objects (a particular data structure), providing initial values for state (member variables or attributes), and implementations of behavior (member functions or methods).
An asset class assignment enables the token to expose properties and functions specific to that class. ContractRegistry module 108 enables developers to publish new interfaces and implementations to enhance or extend, e.g. upgrade) the behavior of all assets in a class. IContractWallet module 110 implements and manages smart contract-based cryptographic wallets that can be attached to individual token representing assets, classes, or other elements providing wallet functionality via that asset. AttributesRegistry module 112, AttestationRegistry module 114, UpdatesRegistry module 116, and PolicyEngine module 118 are used by assets (and other services) in the manner described below.
On issuance of a token, an AssetRegistry smart contract of AssetRegistry module 104 assigns an asset class to the token and deploys a new smart contract implementing the IContractWallet interface to thereby associate a wallet with the token. As a result, each created token will have a unique wallet address (as shown in
The smart contracts, implemented by IContractWallet module 110 operates wallets and will support upgradability via UpdatesRegistry module 116 (like all other system components). This structure allows registration of new wallet smart contracts implementing changed or upgraded behavior. The token owner, or other designee, may choose to assign a new wallet contract to the token to implement the upgraded functions or may reject such an assignment in some cases. ContractRegistry module 108 stores smart contract interfaces that provide customized functions for an AssetClass (from AssetClass registry module 106) or Asset instance (from AssetRegistry module 104). Each token may be assigned a class which provides access to the attributes, functions and implementation logic of the class. The Asset or AssetClass owner (or designee) can select an implementation from the interface registry. Developers can submit new Smart Contracts with custom implementations to ContractRegistry module 108 for owners to select in order to expose the custom logic for their asset.
A smart contract can be deployed on a distributed ledger that implements AssetRegistry module104 to enable issuance of non-fungible tokens representing individual assets. The physical deployment of the smart contract implementing AssetRegistry module 104 is not described in detail herein as such deployment can use conventional techniques that are well understood by those of ordinary skill in the art.
Token Owner modules 120 are associated with systems of parties who exercise control over assets (represented by, for example, non-fungible tokens) in Asset Registry 104. This control may be exercised via wallets directly or indirectly through rights allocated via fungible or non-fungible tokens that have control authority over the asset.
Policy Agent modules 122 are associated with systems of parties with the authority to publish policy that govern token behavior. The Token Owner may designate a published policy to govern specific actions performed on or through the token. Details on Policy Enforcement are disclosed in the Compliance Aware Token disclosure.
Verification Agent modules 124 are associated with systems of parties that create attributes, that is characteristics or properties of objects in the system. Verification Agents have the ability to attest to attribute values associated with objects. For example, a legal firm may serve as the Verification Agent that a fund asset is a 1940 Act fund for the purposes of regulatory policy enforcement.
Class Agent modules 126 are associated with systems of parties who exercise control over Asset Class tokens. Using this control, the Class Agents may select attributes and interfaces that apply to all asset tokens that are associated with the class.
Certification Agent modules 128 are associated with systems of parties who certify that smart contract code published by Contract Developers performs the function as described, are secure, and are free from defect.
Contract Developer modules 130 are associated with systems of parties that develop smart contract code to be used by asset tokens to perform functions associated with the asset class. These functions may be added, upgraded, or removed by a Class Agent once certified by a Certification Agent.
System Developer modules 132 are associated with systems of parties authorized to publish updates to core elements of the system such as the Asset Registry modue1104 or Contract Wallet module110.
It should be appreciated that the modules illustrated in
Consistent with the ERC-721 token specification, Asset Registry module 104 facilitates the issuance of non-fungible tokens, with each token representing a unique asset. For each issued token, Asset Registry module 104 records data 208 such as: the unique identifier for the asset token; the asset class from Asset Class Registry module 106; the asset name and description; the address of the token's wallet 210 (described below); and other data as desired for the asset. The token data record 200 stored by Asset Registry module 104 defines the non-fungible token. The token may be assigned additional attributes and values using the methods disclosed in in US Published Patent Application No. US20190164151 A1. The digital tokens can implement the IAsset interface of IAsset interface module 102, exposing a set of functions, such as functions 202, 204, and 206, that facilitate asset management over a decentralized computing platform in the manner described below. Using data structure 200, any asset of value may be “tokenized”, that is, issued as a unique record on a distributed ledger reflecting the asset's ownership and coupled with supporting essential asset management functions needed to support scalable operations, such as fund operations. As described in detail below, IAsset interface module 102, supports specific functions that enable an asset to: present consistent data and valuation information; participate in funds and other asset management structures; implement asset specific logic; and/or encapsulate other tokens representing value instruments that are not created with native asset management capabilities.
As noted above and shown in
Non-fungible tokens in the Asset Registry are assigned a wallet 210 (
The wallet contract's interfaces can be executed using the IAssetWallet wrapper, that is, the set of functions conforming to the IAssetWallet interface specification published in the appendix that are available via the AssetRegistry smart contract for use by the owner of the IAsset token or other permission structures as implemented in the smart contract logic. If the signer is not authorized to execute the function as designated by Asset Registry 104, implemented as smart contract logic for example, the proposed operation (e.g., “send tokens”) will not be permitted and thus will not occur. The IAssetWallet exposes its wallet address via the GetWallet function of the attached code. This address can be used as an origin or destination for transactions in the same way as any wallet on the distributed ledger.
Linking a wallet to a token in this structure enables useful effects such as: full traceability of the actions performed on behalf of the asset corresponding to the token, the ability to automate actions through an asset management smart contract that trades based on a strategy, the ability to conduct transactions with an asset's wallet as if transacting with an entity, the ability to insert robust policies (such as those disclosed in US Published Patent Application No. US20190164151 A1) into asset operations including operations via the asset wallet.
As shown in
Further, the token-in-token structure can be used to “wrap” third party tokens that do not support asset management with the IAsset token interface, to be managed in fund structures as individual assets. Wrapping a third party token can be accomplished through a simple transfer to the IAsset token's wallet. This will allow any token or smart contract to be wrapped and processed as an asset exposing a consistent structure for automated asset management and fund operation. With these technical elements in place, it is possible to quickly launch complex self-processing funds. For example, in and ETF structure, one or more non-fungible tokens representing individual assets can be issued via the Asset Registry module 104 using the IAssetRegistry.IssueAsset function (see example code in Appendix). Each token implements the IAsset interface which extends the basic ERC 721 specification with ownership transfer functions implemented via the IAssetTransferable interfaces to support asset management, enhance transparency, and support purchase and sale of the asset in a marketplace.
As shown at 402 in
For a token purchase, as shown at 406, a createPurchaseOrder function is executed on a data structure including the parameters (uint tokenid, unit purcllaseTokenid, float price, unit expires, bytes data) and returns the order identification as an order ID in the form of (uint orderid). A cancelPurchaseOrder function is executed on the parameter (ordertd) and returns a Boolean. If the return is FALSE, the purchase can be accepted by execution the acceptPurchaseOrder function on the parameter (orderid) and the purchase is cleared. Alternatively, as shown at 408, the purchase is rejected by executing the rejectPurchaseOrder function on the parameter (orderid). As an alternative approach, the sell order may be executed by making a payment to the Asset Registry wallet including the orderID in the payload by executing the purchaseFrom function on a data structure including the parameters (address_irom, address_to, uint256_tokenId, uint_orderId, bytes data).
As noted above, transactions between tokens are accomplished by virtue of the wallets associated with the respective tokens. A token's wallet address may be obtained via the IAssetWallet.GetWallet interface which can be implemented by executing the code in the Appendix for example. Distribution logic may be initiated internally by the asset or externally using the interface.
An important aspect of transparency in financial markets is the ability of investors and prospective investors to view metadata, documents, and supporting data feeds for an asset. This information provides investors the means to develop their own sense for fair market price as well as providing a mechanism to assess the performance of intermediaries, like the asset manager, tasked with the responsibility to assess price in the market. Conventionally, such information has to be collated in a static manner and thus time-based reporting of the data is not pragmatic in prior art systems. Disclosed implementations include a comprehensive data structure for asset due diligence to provide scalable transparency; a function missing from the RMBS portfolios and other complex assets of the prior art.
Transparency requires the ability to create, maintain, and inspect asset properties or attributes. Since asset types vary widely, it follows that asset attributes vary even more broadly. To support data analysis across a broad range of assets, a consistent framework is required to manage any property of any asset as attested by any authorized party. An implementation includes the Attribute Management (ERC 1616) specification (https://eips.ethereum.org/EIPS/eip-1616) as a basic mechanism to manage asset properties. The disclosed implementations can also extend this specification via the Compliance Aware Token framework (see US Published Patent Application No. US20190164151 A1) to include scalable trust attestations and policy enforcement based on these attributes.
Additionally, asset due diligence often requires document and data management. distributed ledgers provide specific advantages for document management in that an immutable record can be provided for supporting documentation and data as well as an accessible framework to access this data. An implementation includes the Document Management (ERC 1643) specification (https://github.com/ethereum/EIPs/issues/1643). Disclosed implementations also include a mechanism to tokenize supporting datasets via a non-fungible token that describes the schema and other characteristics of supporting data using a non-fungible token. This specification supports advanced data authorization techniques, including the use of authorization tokens to provide distribution control and auditing of sensitive data. Policy-based data access and management can be achieved using techniques taught in the decentralized access control taught by US Published Patent Application No. US20190164151 A1.
One the most important fiduciary responsibilities of an asset manager is to assess and publish the valuation of the managed asset. This provides investors a record of the asset manager's understanding of value based on the information available to the manager which, for most assets, exceeds the information that can be obtained by the investor at the time of the assessment.
As shown in
In one implementation, valuations can be published as attestations, that is attribute values assigned with full attribution by a validated party, by the asset owner, manager, or other authorized parties. In other implementations, the valuation data is generated by smart contract code in Asset Registry module 104 (
In one implementation, a request (GetValuation) for the valuation type “PAR” is configured via the AssetRegistry smart contract implementation to point to the “PAR” Value attribute in Attribute Registry module 112 (
As another example, the “MARKET” value may leverage an oracle, that is a commonly used method to obtain data from sources external to a distributed ledger. As disclosed separately, the Attribute Registry module 112 includes instructions to obtain the latest value, in this case the current exchange price for the asset. Although several examples are provided for clarity, implementations are not limited thereto. However, the means to assign a method to obtain this data that can be configured for each asset provides a novel mechanism to provide “self-reporting assets”, that is assets that contain within their data structure the means to calculate and publish their valuation. The method disclosed eliminates the dependency of an auditing or reporting system on specific implementations of the source of valuation data. This eliminates complex system integration required to generate valuations for complex assets, like funds, that contain many different sources of valuation data. Without the disclosed technique, investors often do not have the means to obtain this data. The resulting lack of transparency can have devastating effects as was demonstrated in the 2008 Global Financial Crisis.
The data structures of the requests are shown at 502. Significantly, in the case of composite assets, token 1 may own child tokens and or may serve as a “wrapper” for another token in the manner described above. In such a case, token 1 will have to query all such tokens, token 2 in
While disclosed implementations expose a common interface for valuation, as noted above, different techniques can be used to calculate the valuation for the range of asset types that will be supported. Unique smart contract logic to calculate valuation for an asset type may be referenced via a known proxy technique, such as that disclosed at (https://hackernoon.com/how-to-make-smart-contracts-upgradable-2612e771d5a2). For example, many assets support a PAR value, that is, its face value. Most managed assets have a Net Asset Value (NAV) calculated based on the market price, liquidity, discounted cash flows, or other assessed value of its contents. If an asset trades regularly, it will have a market price and value. The PAR, NAV, and market values may be different for the same asset. For example, a loan has a PAR value based on the outstanding principal, a NAV based on the discounted cash flows and probability of default, and a market value if it is readily traded or has recently been purchased. Differences in these values can provide insight into changing market perception of asset performance, rating entities, or trust in the asset manager's value assessments.
Asset valuations may be assessed once, periodically, or in continuous near-real time. The data format provides the viewer (for example and owner or other market participant) information to know how stale a value assessment is, and for what interval it is expected to remain valid. Additionally, the specification can provide a link to a standardized feed of valuation history. This provides the reviewer a tool to look at the historical performance of the asset. A link is provided instead of direct access to the data since the storage, search, and indexing tools needed for historical analysis may be different than the tool (a distributed ledger in this implementation) where the asset token is stored.
While the disclosed implementations improve data communication and thus can close the gap between information available to the manager and the investor, flow of data can be controlled by the architecture, at policy engine 118 of
As noted above with respect to
As shown in
More specifically, the fund token specification of fund token 600 extends the basic asset interfaces permitting authorized entities to enumerate all assets in the fund using the IFundManagement.GetAssets interface. Enumerating assets in the fund, each supporting the IAsset interface enables the viewer to drill into available information for contained assets. For example, the following fund management functions and related data structures can be supported.
An example of each function is included in the Appendix. Once a fund token has been issued, the next step in a fund creation process can be to transfer assets to the fund. Note that a fund can include zero to many assets. Assets are purchased or liquidated from the fund using the token's Asset Management Functions, AddAssetRequest & RemoveAssetRequest. As with any token transaction, the asset management actions are recorded on the distributed ledger. These functions are exposed as interfaces by the Asset Registry utilize the IAsset token wallet and the Asset Ownership Transfer functions to execute asset transactions in a manner similar to that described above with respect to token 200 of
A non-fungible fund token 600 can be coupled with (i.e., “wrapped with”) a fungible token, such as token 200 using the IAssetManagementFungible interfaces to facilitate trading and other transactions. Any asset token can be wrapped with a fungible token implementing the IAssetManagementFungible interface to facilitate fractional ownership of the asset and reuse logic for corporate functions built for non-fungible tokens, such as dividend distributions to shareholders, shareholder voting, corporate communications and more. Tokens implementing IAssetManagementFungible structure include new smart contract interfaces (AddAssetRequest, Rem oveAssetRequest) that extend the ERC20 standard (Ethereum fungible token). These interfaces enable the fungible token issuer to add or remove one (and only one) asset token to/from the fungible token shell by transferring the non-fungible asset token using the defined functions in the IAssetManagementFungible interface.
The fungible token implementation also includes an interface (IAssetManagementFungible.GetAsset) to permit authorized parties to inspect the asset(s) that underlies the shares represented by the fungible token. The valuation functions exposed by the non-fungible token, which is coupled with the fungible token, permit the shareholder (owner of fungible tokens) to easily calculate their percentage ownership of the underlying assets. For example, if the NAV for an underlying asset is $1,000,000 and a wallet holds 100 of 1000 total shares (10%) in circulation of the that asset, then the total NAV of the fungible tokens in that wallet representing 100 shares is $100,000.
By separating the fungible token from the logic captured in the non-fungible token specific to the asset and its management, the implementation facilitates maximum reuse, and simplifies the development and verification, of asset specific code. Additionally, this approach preserves asset structure to facilitate merger or acquisition approaches where asset acquisition is desired instead of share acquisition for tax, governance, or liability reasons. Asset acquisition is a common technique in finance and, in the absence of the data model and architectures of the disclosed implementation, would not be a pragmatic task. The linked token approach facilitates the transfer of assets to and from exchange traded funds enabling asset liquidity when separate from a parent fund, but convenient management when purchased by a fund for securitization.
For example, the asset may be a self-processing loan that pays the wallet that owns the asset as loan repayments are received. If this wallet is owned by the fungible token smart contract, these proceeds may be distributed proportionally to the owners of the fungible token. The parent-child token structure also facilitates reuse of established transaction logic and exchange functions in fungible tokens while permitting specialization in asset specific functions, in this case, loan processing. As noted above, a fund can have zero (null) assets as the fund is defined by the fungible token and the linked management smart contract.
Since an IAssetFund token may contain any of the following: assets, asset tokens for other funds, fungible shares of other assets, or shares of fund assets, the implementation supports nesting of assets as shown in
In the same way that IAssetFund extends the IAsset structure to implement Fund management functions, the IAsset structure may be extended for other asset types to permit token polymorphism. For example, an implementation may issue IAssetLoan tokens, that is, IAsset tokens with a class type Loan from Asset Class Registry module 106 of FIG.1. This class may implement self-processing loans, that is, loans that process payments internally via the IAsset wallet and assigned ProcessWaterfall smart contract logic. Custom smart contracts for payment processing can be assigned to loans by their owner using the AssignWaterfallProcess interface. This practice of enabling functions to be superceded by a derived class through inheritance is known as overloading. Overloading using the interface structure permits the execution of different loan processing strategies within the same fund.
By inheriting the IAsset structure, an IAssetLoan token can receive payment to its wallet in any accepted currency, process the payment including an update to any outstanding principal, process fees, and pass the proceeds to its owner. All transactions and payments can be inspected on the ledger providing transparency and data needed for asset valuation. Using the IAssetFund Asset Management Functions, the IAssetLoan token may be attached to a fund token. The loan token may be one of many IAssetLoan tokens to create a securitized fund. Loan payments are processed automatically by each loan with proceeds passed to the parent fund where they can be processed further as management fees, dividend distributions, and other fund functions as managed by the IAssetFund token. This structure creates a fully transparent, self-processing securitized loan pool that can scale indefinitely.
Self-processing, self-reporting loan assets in a self-processing, self-reporting fund provides transparency not present in the massive securitized loan (e.g., RMBS) funds that were at the root of the Global Financial Crisis. Similar techniques can be used to create funds of any type of asset providing investors access to a diverse set of new investment opportunities. Further, the data model and architecture described above simplifies the automation of more advanced fund management strategies.
Process Asset Income to the Capital Reserve (1): Income earning assets in the Asset Pool (leases, bonds, debt instruments, dividend paying shares, etc) process income using internal automated or external models. These earnings are processed via the asset wallet for distribution providing full traceability of asset performance. When the fund token owner executes a ProcessWaterfall request via its IAsset interface, a ProcessWaterfall request is called for each of the IAssets owned by the fund. As a result of this request, the fund's assets transfer earnings to the Capital Reserve (IAsset wallet) of the fund. The fund executes internal waterfall logic to process these earnings. The waterfall logic may be a plugin smart contract to support innovative or repeatable fund management strategies. On completion of processing, funds are transferred to the token's owner as defined by the token's processing logic (which may result in the execution of further distribution logic by the token's owner).
Process Portfollio Hedging/Management Fees (2): Typically fund waterfalls will include payment of asset management fees and may also involve other internal services for fund operations such as hedging and insurance. These fees are paid out of the Capital Reserve (asset wallet) using wallet transfer logic and may be executed via the waterfall logic smart contract. To maintain a consistent par value of the fund, these payments must be replenished to from asset income or other sources.
Process Replenish Write Offs/Turnover (3): Assets may be written off (residual value deemed to be zero) in a given period. Write offs result from defaulted loans or underperforming assets. To maintain constant par value, write offs must be replenished using assets from the Capital Reserve as part of the processing waterfall. Sufficient balance should be held back (not distributed) in the Capital Reserve to support “at risk” income streams, i.e. overdue loans or underperforming assets that may default in upcoming periods.
Process Replenish Asset Expiration (4): For certain types of funds, such as those consisting of expiring, illiquid assets, asset residual values (earning potential) are reduced as income is processed from the asset. For example, a payment on a mortgage that reduces the principal of the loan result in a reduction in the earning potential of the asset, its residual value. To maintain a consistent earning potential of the fund, the residual should be replaced through the purchase of assets with similar or better earning potential. Realized earning potential results in a reduction of the residual value of the asset pool (expiration) while increasing cash in the funds Capital Reserve. Asset purchases using Capital Reserve assets uses the IAsset CreatePurchaseOrder function. Asset purchases to Realizing income from contained asset distributions to the fund typically increases the overall NAV of the portfolio (increase in Capital Reserve balance exceeds the reduction in NAV of the asset pool) proportional to the asset's income stream risk. Portfolios consisting of rapidly expiring assets (trade finance) will see significant expiration in a given period. The higher the expiration percentage, the greater the elasticity ratio of the fund (elasticity of the fund relative to the elasticity of underlying assets).
Process Coupon or Dividend Distributions (5): Funds may offer coupon income or cash dividends to owner/shareholders. “Cash” may be any asset (fiat, crypto, or other asset types) but is typically liquid, readily traded in a pair for shares of the fund, and in the same asset type as the asset income. Coupon Distributions are paid preferentially before other fund payments whereas Dividend Distributions are made from the proceeds that remain after other waterfall responsibilities are met. To ensure fund stability, Coupon Distributions should be less than the overall expected income from fund assets especially in the case of asset income volatility or uncertainty. Distributions are made via the ProcessWaterfall method. CAT fungible tokens contain shareholder distribution functions. By attaching the asset token to the fungible token, distributions to the funds shareholders may be processed automatically and at scale. Many funds do not offer Coupon Distributions or Dividend Payments. In these cases, asset income increases the par value of the fund.
Process In-kind Share Dividend (6): Rather than cash dividends, funds may pay distributions using shares of the fund. This strategy is used for some funds for tax purposes or to enhance liquidity. Funds from the Capital Reserve may be used to purchase the shares to be distributed. These shares may be purchased using several strategies: from a liquid secondary market, from a liquidity reserve pool (described later) in the primary market at the funds NAV, or by issuing share tokens consistent with the funds NAV. The flexibility of the share purchase, redemption, and distribution model enables the IAssetFund structure to support any existing fund management strategy including ETFs, mutual funds, or closed-end funds. This also supports fund revenue optimization strategies for tax or liquidity benefits.
Process Primary Market Purchase (7): The IAssetFund token may be attached to a fungible token to facilitate fractional ownership. Investors may purchase or sell fund shares in the primary market using the SharePurchaseRequest and SharePurchaseSwapRequest methods supported by the fungible token interface. For open-ended funds, that is, funds where the share count may change based on market demand for the underlying asset, shares are issued (purchase) or burned (redeem) to support the request. Based on the fund's operating model, shares are delivered to the purchasing party in exchange for assets or cash-in-lieu (CIL) of assets. SharePurchaseRequest is a CIL transaction. For this type of transaction, shares are sold at the fund's strike price, that is the fund's NAV divided by the total number of shares. The SharePurchaseRequest is made, the NAV is assigned, and the purchaser must fulfill the by supplying the “cash” assets required to fulfill the order. The IAssetFund token receives the cash and must purchase or assign the underlying from an asset marketplace or using the IAsset CreatePurchaseRequest function. SharePurchaseSwapRequest is used for transactions where the assets used for share purchase are consistent with the investment thesis or index (ratio of shares to underlying assets in the fund) of the fund.
Process Primary Market Redemption (8): This transaction is the opposite of the Primary Market Purchase transaction. Shares of the fungible token are sold to the fund in exchange for cash (ShareRedeemRequest), or assets from the underlying fund (ShareRedeemSwapRequest). Depending on the cash in the Capital Reserve, it may be necessary to liquidate assets from the IAssetFund token using CreateSellRequest.
One implementation includes the establishment of a liquidity reservoir as a part of the fungible token to enable elastic securitization. The liquidity reservoir is a smart contract that prices Primary Market transactions (or Secondary Market limit orders for a separate implementation) based on the net inflow or outflow of capital to the fund. The Reservoir maintains a pool of shares and cash that can fulfill the orders. Price is adjusted around NAV based on the deviation of the reserve pool balance from the desired balance as set by the fund manager. For example, a significant inflow of capital via an imbalance of SharePurchaseRequests will increase the cash pool in the reservoir while decreasing the available share pool. A pricing algorithm (smart contract plugin based on fund manager strategy) increases share price in the reserve pool increasing the likelihood of a redemption while decreasing the demand for new purchases. The algorithms react to adjust the price of liquidity in the face of changes in investor demand to return the reservoir to balance.
Process Asset Purchase (9): In some portfolios, portfolio managers purchase assets using cash from the Capital Reserve. These purchases use the IAsset CreatePurchaseRequest. For example, assets that expire can replaced with cash from the Capital Reserve replenished by asset income. NAV assessments and hedging strategies are the principal responsibility of a portfolio manager as these decisions reflect overall portfolio alpha.
Process Asset Liquidation (10): If the Reserve Balance falls below the Liquidation Threshold, actions are triggered requiring portfolio managers to sell assets to restore portfolio liquidity requirements. These triggers may be enacted via smart contracts and are executed through the IAsset CreateSellRequest.
Process Swap (11): In other portfolios, assets enter the portfolio via swaps, i.e. exchanges of income earning shares for rights to asset earning potential. Some portfolios may use both techniques to acquire assets. The use of a swap vice cash purchases are preferred as this introduces additional liquidity into the portfolio.
Process Replenish Reservoir (13): In an elastic securitization model applied to a fund of income producing assets, cash distributions can be used to restore liquidity in the Reservoir if reservoir cash levels are low based on a sustained exodus of shareholders. The amount of reservoir liquidity to be restored in this step is determined algorithmically, a function of Reservoir Balance, Capital Reserve, and market conditions. If significant liquidity restoration is required, resources may be unavailable to replenish expiring assets resulting in a reduction of the par value of the portfolio. If income levels fall below the liquidation threshold, this triggers the asset liquidation step as described below.
Process Elastic Portfolio Growth (14): A sustained price above the NAV resulting from a sustained imbalance of purchase orders creates a cash imbalance in the Reservoir. If this price exceeds the NAV by a threshold, the assets may be transferred to the Capital Reserve to purchase more assets into the fund driving the growth of the overall NAV of the fund. Using this model, the NAV of the fund can grow elastically without the use of Authorized Participants or the issuance of new shares.
Process Elastic Portfolio Reduction (15): Investor liquidity needs may result in a net outflow of value from the cash pool. A sustained imbalance resulting in pricing below NAV signals a need to liquidate assets from the fund to provide the cash needed to restore the cash pool. Sustained portfolio underperformance will result in controlled liquidation of assets under management gracefully drawing down a fund manager's influence based on the performance of assets under his or her control. While technically closed fund, the elastic fluctuation in par value based on investor demand and asset performance provides desirable characteristics of an open fund. \
Elastic securitization is a process that allows the graceful growth and reduction in the size of a fund containing illiquid assets. The process addresses a market need to provide fund structures to facilitate exchange trading of illiquid assets providing a liquidity buffer between liquid assets trading on an exchange and illiquid assets in the underlying fund addressing the concerns implicated by SEC Rule 22e-4.
The flexibility of the linked IAssetFund and IAsset structure provides a mechanism to execute common and advanced fund management strategies. The structure makes it possible to automate common asset management functions and inject innovative fund management strategies while providing a transparency and simplified auditing and reporting. Linking fungible tokens to the non-fungible IAssetFund token provides new utility for fund shares. Shares may be: held for income (dividends) or growth; transferred as payment; held in escrow as collateral; monetized through exchange in authorized secondary markets for USD, BTC, EUR, or other securities; and/or used to participate in fund governance through proxy voting.
The disclosed implementations enable fund assets to be purchased or redeemed from the asset pool using fund shares via a swap mechanism. This creates a “backing” model enabling assets to be added or removed from the fund using token issuance and destruction. Additionally, an implementation may contain a liquidity pool to manage the net inflow and outflow of capital into the fund. A liquidity algorithm can be applied to set share price to help manage redemptions and facilitate the formation of a secondary market for the fund's shares. This model is repeatable and can be used to meet nearly any fund structure: Lending, Debt Instruments, Receivables, Structured Settlements, Factoring, Trade Finance, Insurance, Leases, etc.
As one example of a fund structure that automated by the disclosed implementations, a closed-end Lending Pool fund can be created leveraging a fund smart contract. The pool is funded from existing assets, warehoused loans, rehypothecation, or capital formation. At first, the pool contains only the capital (fiat or crypto) needed for lending. Using the fund smart contract format, the Pool exposes a NAV and PAR value (sum of the NAV and PAR value of all assets in the pool) and publishes supporting documents and a list of assets in real time. All fund transactions are recorded on an immutable ledger. The pool has a Portfolio Manager, Asset Manager(s), and optionally other services (hedging, asset insurance, etc.) Loans are originated by authorized agents and funds disbursed through an automated process. On origination, loans are added as assets to the fund. Using the disclosed implementations, all assets (available lending capital, receivables, and other assets) can be viewed by authorized parties in real time.
Loans are originated from the pool as smart contracts extending the (Asset Smart contract. This facilitates securitization, fund operations, and compliant transfers. As ‘Asset objects, they publish supporting documentation, transaction history, and real time asset NAV & PAR value to authorized viewers. Loan Tokens leverage the IAsset structure to publish loan characteristics to enable independent analysis and valuation. Loan tokens may be wrapped in ERC-20, ERC-721, or other tokens to govern transfers.
Incorporated in the loan token is valuation and payment processing logic. Payments are made via simple transfers to an address (e.g. example specified in a QR code) specific to the loan. Payments are processed and proceeds are transferred to the asset's owner which may be a fund. The PAR value (Loan principal) and NAV (risk adjusted NPV of cash flows) for each loan are updated in real time with each payment. Transaction history for each loan is recorded on an immutable ledger and available for analysis by authorized users.
Pool Payment processing is automated and transparent. Proceeds from repayment of individual loan assets in the fund are transferred to the Risk Pool for further processing Risk Pool processing logic leverages a customizable smart contract to automate redemptions, loan write-offs, Pool capital replenishment, management fees, and dividend & coupon payments via a transparent and verifiable waterfall. Dividend and coupon payments and other distributions are transferred automatically to fund owners using fund logic embodied in a smart contract.
For enhanced liquidity and risk management, assets may be sold from (or purchased into) the portfolio. Supported asset transactions include purchase/sale via loan markets, redemptions and swaps using fund tokens. Other transactions include collections and write-offs. Dividend payments can be made in cryptocurrency, fiat, or in-kind pool tokens. Token issuance may occur through a primary market offering, auction, or through a tokenization of existing interests. Shareholders (Token holders) receive coupon & dividend distributions automatically and proportional to share ownership. The result is dividend paying tokens. Asset backed security tokens are revolutionary financial instruments. The tokens can be: (1) held to receive a dividend; (2) transferred as payment; (3) held in escrow as collateral; and/or (4) monetized through exchange in authorized secondary markets for fiat currency, cryptocurrency, or other securities.
Using elastic securitization mechanisms, growth in demand for tokens results in an influx of capital (in a model similar to growth in demand for a mutual fund). Additional capital results in expansion of lending pool PAR value providing more assets for lending. This model can grow indefinitely Similarly, capital exodus caused by underperformance or other factors results in a controlled drawdown of portfolio NAV. This model is repeatable and can be used to meet nearly any securitization need, including lending, debt instruments, receivables, structured settlements, factoring, trade finance, insurance, leases, and the like.
At 1010, a cryptographic wallet can be associated with the digital token. The wallet is configured to conduct token functions that are recorded in the asset registry. If the digital token is non-fungible, a fungible digital token can be created at 1012. At 1014, a cryptographic wallet can be associated with the fungible digital token. The wallet is configured to conduct token functions. At 1016 ownership of the non-fungible digital token can be transferred to the fungible digital token in order to wrap the non-fungible digital token with the fungible digital token and thereby enable fractional ownership of the asset represented by the non-fungible token including functions associated with shared ownership such as multi-party dividend distributions, corporate governance, and share trading.
In some implementations, method 1000 may be implemented in one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information). The one or more processing devices may include one or more devices executing some or all of the operations of method 1000 in response to instructions stored electronically on an electronic storage medium. The one or more processing devices may include one or more devices configured through hardware, firmware, and/or software to be specifically designed for execution of one or more of the operations of method 1000. For example, method 1000 can be implemented by the architecture of
The disclosed implementations improve data management and transmission in a manner that could revolutionize access to capital markets using Distributed Ledger Technologies (DLT) to create assets with comprehensive, built-in transparency, immutability, and transaction efficiency. The implementations provide a systematic and scalable framework to apply these benefits to fund management for any asset class providing issuers an easy path to market with innovative strategies. When used in connection with the compliance aware fungible tokens described in in US Published Patent Application No. US20190164151 A1, dividends, coupon payments, or other distributions can be automated through embedded smart contract logic permitting direct payments to token holder wallets.
Additional alternative structural and functional designs may be implemented for conducting asset management functions. Thus, while implementations and examples have been illustrated and described, it is to be understood that the invention is not limited to the precise construction and components disclosed herein. Various modifications, changes and variations may be made in the arrangement, operation and details of the method and apparatus disclosed herein without departing from the spirit and scope of the invention defined in the appended claims.
This application claims benefit to non-provisional application of U.S. provisional application Ser. No. 62/834,999 filed on Apr. 17, 2019, the disclosure of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62834999 | Apr 2019 | US |