Method and system for directing exchanges associated with tokens held anonymously on a blockchain

JP7652951B2Active Publication Date: 2025-03-27NCHAIN LICENSING AG
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024010016
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2016-10-25
Filing Date
2024-01-26
Publication Date
2025-03-27
Estimated Expiration
2037-10-24

Smart Images

  • Figure 0007652951000011
    Figure 0007652951000011
  • Figure 0007652951000012
    Figure 0007652951000012
  • Figure 0007652951000013
    Figure 0007652951000013
Patent Text Reader

Abstract

To provide a method and a system for controlling blockchain transaction generation and / or the recipient of transaction output.SOLUTION: A method identifies at least one transaction (Tx) on a blockchain. The Tx uses an unused Tx output (UTXO) associated with a tokenized asset associated with an asset controller and an output from the previous Tx locked by a redeem script hash. The method generates an uncompleted blockchain Tx for each identified Tx, and the uncompleted blockchain Tx is communicated to the asset controller. The incomplete blockchain Tx is incomplete in that it lacks necessary cryptographic signatures, and revenue payments associated with the asset are redirected by the controller to a destination of their choice.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates generally to distributed ledgers and blockchain technology, and more particularly to the use of blockchain technology to implement a system for automated control of computer-implemented processes. The present invention also relates to electronic communication and notification technology. One embodiment of the present invention provides a solution for recording and controlling ownership or control of electronic assets over a blockchain, and for generating and effecting blockchain transactions in response to current ownership data. The present invention also provides a novel and advantageous solution for controlling and validating the transmission of electronic communications to recipients. The present invention utilizes blockchain technology to achieve storage of recipient addresses or identifiers, allowing for enhanced privacy and / or security, and allowing recipients to specify and / or change notification addresses stored on the blockchain. The present invention is suitable for use with, but not limited to, the Bitcoin blockchain. Summary of the Invention

[0002] The term "blockchain" is used herein to encompass all forms of electronic, computer-based distributed ledgers, including but not limited to blockchain and transaction chain technologies, permissioned and unpermissioned ledgers, shared ledgers, and variations thereof. The most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed. Although Bitcoin is referred to herein for convenience and illustrative purposes, it should be noted that the present invention is not limited to use with the Bitcoin blockchain, and alternative blockchain implementations and protocols are within the scope of the present invention.

[0003] A blockchain is a consensus-based electronic ledger implemented as a computer-based decentralized distributed system composed of blocks. Blocks are in turn composed of transactions. Each transaction contains at least one input and at least one output. Each block contains a hash of the previous block, and blocks chain together to create a permanent, immutable record of all transactions written to the blockchain since its inception. Transactions contain small programs, known as scripts, embedded in their inputs and outputs. Scripts specify how and by whom the output of a transaction can be accessed. On the Bitcoin platform, these scripts are written using a scripting language based on the stack.

[0004] In order for a transaction to be written to the blockchain, it must be "verified." Network nodes (miners) perform work to ensure that each transaction is valid, and invalid transactions are rejected from the network. A software client installed on the node performs this validation work on unspent transactions (UTXOs) by executing its locking and unlocking scripts. If the execution of the locking and unlocking scripts evaluates to true, then the transaction is valid and the transaction is written to the blockchain. Thus, for a transaction to be written to the blockchain, it must i) be verified by the first node that receives the transaction, and if the transaction is verified, the node relays the transaction to other nodes in the network, ii) be added to a new block constructed by miners, and iii) be mined, i.e., added to the public ledger of past transactions.

[0005] Although blockchain technology is most widely known for its use in implementing cryptocurrencies, digital entrepreneurs are beginning to explore the use of both the cryptocurrency security system on which Bitcoin is based, and the data that can be stored on the blockchain, to implement new systems. It would be highly advantageous if blockchain could be used for automated tasks and processes that are not limited to the cryptocurrency realm. Such solutions would be more diverse in their applications, while still being able to take advantage of the benefits of blockchain (e.g., permanent, tamper-resistant record of events, distributed processes, etc.).

[0006] One area of ​​current research is the use of blockchain for the implementation of "smart contracts." These are computer programs designed to automate the execution of machine-readable transactions or terms of agreements. Unlike traditional transactions, which may be written in natural language, smart contracts are machine-executable programs that contain rules that can process inputs to produce an outcome and can cause actions to be performed depending on that outcome.

[0007] Another area of ​​interest related to blockchain is the use of "tokens" (or "colored coins") for the representation and transfer of real-world entities via the blockchain. Potentially sensitive or secret items can be represented by tokens that have no discernible meaning or value. The tokens thus act as identifiers that allow the real-world items to be referenced from the blockchain.

[0008] Data relating to smart contracts needs to be registered, tracked and recorded. For example, data relating to the owners of assets managed by the smart contract needs to be recorded. This is particularly important for smart contracts related to assets owned by multiple entities, where ownership is divided into shares. In such cases, transfers of ownership need to be recorded in a secure manner. It is also important that associated costs are captured against the assets and / or revenues accrued and paid therefrom. Another important consideration is that it is often desirable to protect the identities of the real-world parties involved.

[0009] Typically, holding a tokenized asset on a blockchain means that there is an unspent transaction output (UTXO) that is assigned to the current asset holder and determines the scale of the asset holder's current holdings. This is encapsulated in a redeem script required to transfer the asset, which can typically be of the following form:

[0010] XOP_CHECKMULTISIG(Metadata-A Metadata-B PublicK-A)Y However, the information held in the blockchain is not this script, but rather a hash of the script, which means that critical public key information is not available for public viewing.

[0011] In some cases, revenue shares are paid via the same tokenized product as the original asset, for example as dividends when additional shares in a company are issued. In such cases, public key unavailability is not an issue, as revenue shares can simply be paid to the same Redeem script hash as the original issuance transaction.

[0012] However, in the more common scenario where revenue distributions are paid as an alternative asset (e.g. BTC dividends on shares), this deficiency of public key information means that, according to the current state of technology, a separate off-chain database of public keys associated with each issuance transaction must be maintained. While such a solution is clearly viable, it means that there are two systems maintaining the asset register (the blockchain, and the off-chain database). This introduces complexity into the solution, and the two databases may become out of sync with each other. It also requires additional storage resources.

[0013] It is therefore desirable to provide a solution that at least: Enabling or enabling the control, influence or direction of secure transfers to anonymous parties over the blockchain; Eliminate the requirement for the second database, and therefore the risks it poses, by enabling automated determination of where transfers should be made (e.g. where income should be paid); · income can be paid in a manner that ensures that only current asset holders are in a position to claim those funds; Providing a generic mechanism for generating actions and technical responses (e.g., in response to revenue generation) proportional to the current ownership of assets represented and / or referenced via the blockchain; Using blockchain transactions to enable secure automated transfer of assets and recording of such transfers and payments on the blockchain, thus providing benefits such as tamper-resistant recording of events and data; Allows for the protection of “real-world” identities such as asset owners, and the solution should enable or achieve anonymity; · Providing a solution that enables and controls electronic communications that need to be sent to "unknown" parties.

[0014] Such an improved solution has been devised.The present invention provides at least the above technical advantages discussed above.

[0015] The invention is defined in the accompanying claims.According to the invention there may thus be provided a control method and a corresponding system.

[0016] The method may be a method of controlling the transfer of an entity or item, or part thereof, which may be transferred electronically, preferably via a blockchain. The entity or item may be referred to herein as an asset or part of an asset for convenience, and may be represented, tokenized, and / or referenced on or via the blockchain. Additionally or alternatively, the invention may be a method of controlling the generation of blockchain transactions. The invention may provide an automated solution that does not require human intervention to operate.

[0017] Additionally or alternatively, the invention may be described as a method of controlling and / or designating recipients of blockchain transaction outputs. The invention may be described as a method of controlling, directing, and / or influencing transfers over a blockchain. The transfer may involve assets, or portions of cryptocurrency or funds and / or any other resources over a blockchain. This may be a transfer of control of such items from an output of one transaction to an input of another transaction. This may be a method of redirecting such transfers.

[0018] A blockchain transaction may relate to or be associated with an asset represented on the blockchain. The asset may be a tokenized asset. The asset may be associated with a (smart) contract.

[0019] The method may include identifying at least one transaction (Tx) on a blockchain, the transaction including an unspent transaction output (UTXO) associated with a tokenized asset associated with the asset controller and an input using an output from a previous transaction locked by a Redeem script hash.

[0020] The method includes the step of generating, for each identified transaction (Tx), an uncompleted blockchain transaction, the uncompleted blockchain transaction comprising: The first output contains a copy of the Redeem script hash, and and a second output, the second output being modifiable such that only the asset controller can specify a recipient of the second output.

[0021] The controller of an asset may be the owner or some other entity associated with the asset. The asset controller may be a computational resource that represents the real-world controller or owner. The computational resource may be an automated agent. Assets may be represented on the blockchain as tokens (or "colored coins") provided in the metadata of a transaction script.

[0022] Recipients may be specified using encryption keys.

[0023] The blockchain may be the Bitcoin blockchain or an alternative implementation of an electronic distributed ledger.

[0024] The method may further include sending the pending blockchain transaction to a controller of the asset.

[0025] An incomplete blockchain transaction may be incomplete in that it lacks a required cryptographic signature.

[0026] Incomplete transactions are Inputs using unspent transaction outputs (UTXOs), and / or An input that uses the output of another transaction to transfer an amount of value or currency to an asset controller; It may further include.

[0027] The method may further include modifying a second output of the pending transaction to include a cryptographic signature. The modifying step may be performed by the asset controller.

[0028] Identifying at least one transaction (Tx) may involve or include traversing the blockchain until reaching a blockchain transaction that includes an unspent output (UTXO) associated with the asset.

[0029] At least one step of the method may be performed by an autonomous computing agent.

[0030] The method may further include completing and / or modifying the pending transaction by designating a recipient of the second output. Additionally or alternatively, the method may include submitting the pending transaction to a blockchain.

[0031] An unfinished transaction may be configured such that outputs can be modified. The unfinished transaction may include a signature type that requires that all inputs are signed but none of the outputs are signed. The signature type may be the Bitcoin SIGHASH_NONE signature type or a substantially functionally equivalent signature type in another blockchain protocol, where the signature type enables or allows modification of the transaction outputs.

[0032] The method may further include using the unspent transaction output (UTXO) to transfer the tokenized assets to a recipient address.

[0033] The method may further include using the output of the previous transaction to transfer ownership or reissue the asset.

[0034] The cryptocurrency amount associated with the second output may be calculated by computational resources according to rules provided in the smart contract.

[0035] The second output of the uncompleted transaction, when spent, may transfer an amount of currency or value to the recipient, which may be any kind of resource, such as an amount of cryptocurrency or some tokenized fund or other commodity.

[0036] The invention also provides a corresponding system, which may be configured to carry out the steps of any preceding claim.

[0037] The system is Blockchain and at least one autonomous computational agent, Traversing the blockchain, and / or Creating an incomplete transaction, and / or Send the pending transaction to the recipient, and at least one autonomous computational agent configured to:

[0038] Additionally or alternatively, the present invention may include one or more steps configured to control, direct or influence the transmission of an electronic communication, and thus the method of the present invention may be described as a method of establishing an electronic communication channel between two or more parties.

[0039] Additionally or alternatively, the present invention may be configured to effectuate and / or enable completion of pending blockchain transactions. Accordingly, the present invention may be described as a method for controlling or influencing the validity and / or propagation of blockchain transactions on a blockchain network.

[0040] Thus, the terms "communication," "notification," and "alert" may be used interchangeably.

[0041] Thus, the present invention may provide a method for controlling and / or generating electronic communications. Additionally or alternatively, the present invention may provide a solution for determining the destination or recipient of an electronic communication / transmission, which may be a blockchain implemented solution. The present invention may be a method / system configured to enable (electronic, off-blockchain) communication with an anonymous or semi-anonymous recipient, which may be, for example, an asset owner or controller, although the present invention is not limited in this respect. The communication may be transmitted using information stored or "embedded" within a sequence of blockchain transactions. The present invention may be described as a method for addressing and / or determining the destination of an electronic communication via a blockchain.

[0042] The method may include the step of sending a signal to an address, which may be a notification address, the signal may be called or act as an (electronic) notification or communication.

[0043] The present invention is not limited with respect to the context, purpose, or content of the notification.

[0044] The doctor will make a transaction (Tx 1The notification may be provided as metadata in the unlock script associated with the input of the smart contract. The term "identifier" may be used synonymously with "address." The sending step may be triggered by an event. The event may be specified, determined, or influenced by the smart contract. The sending of the notification may be performed by a computer-based resource. This may be performed at least as part of an automated process.

[0045] The notification may act as a request and / or trigger for completion of the pending transaction. The method may include completing the pending transaction. The completion may include providing a cryptographic signature.

[0046] The unlock script is a further transaction (Tx 2 ) for consumption. (This is the output from transaction Tx 1 The input is transaction Tx 2 (It may be a "preceding" transaction on the blockchain, in the sense that it may use the output of Thus, the present invention may include the step of requiring provision of a notification address in the unlock script in order to unlock the lock script. This step may be repeated. Thus, a sequence of notification addresses may be required and provided. A notification address may be required for use of each output in a chain of blockchain transactions. This allows for the provision of different addresses over time. Thus, the present invention allows and facilitates the changing of recipient addresses for notifications.

[0047] Transaction (Tx 1 ) and / or further transactions (Tx 2The output of the blockchain may be associated with a tokenized asset that is represented on or referenced via the blockchain. Such tokens may be referred to as "colored coins."

[0048] The electronic notification may include the pending or completed blockchain transaction and / or information related to the pending or completed blockchain transaction.

[0049] This may be incomplete in that a required piece of data is missing.

[0050] This may include information about the location of completed / incomplete transactions or how to access them.

[0051] The notification address may be associated with an asset or resource represented on the blockchain, or with a controller of the asset or resource represented on the blockchain, which may be the same or a different entity than the actual ("real-world") owner of the asset.

[0052] The method is to 1 or further transaction Tx 2 The method may further include traversing the blockchain to identify the . Those skilled in the art will understand how this traversal can be performed as known techniques.

[0053] The method includes the step of submitting a transaction to a blockchain, 1 ) may include a step of including the unspent output (UTXO) including a Redeem script that requires providing a notification address in the metadata of the unlock script in order to spend the output (UTXO).

[0054] Unspent outputs (UTXOs) may transfer or otherwise relate to ownership of tokenized assets represented on or referenced via the blockchain.

[0055] The notification address is the transaction address (Tx 1 ) as a parameter in the unlock script. This can be provided as a second parameter.

[0056] The method may include using a Redeem script to ensure that notification addresses are provided in the unlock script. The Redeem script may include a value indicating how many notification addresses should be provided by the unlock script.

[0057] Multiple notification addresses may be provided in the unlock script.

[0058] The notification address may be a network address, a cryptographic key, a uniform resource locator (URI), an email address, or any other address or identifier that can be represented in the metadata of the script and used as the destination of an electronic communication. The notification address may thus serve as an identifier for the recipient of the notification / communication.

[0059] At least one step of the method may be performed by an automated computational resource or agent, which may be called a "bot" or an "oracle."

[0060] The method and / or system may be substantially as described below in the section entitled "Notification Addresses Embedded in a Blockchain."

[0061] The present invention may further provide a computer-implemented system arranged and configured to perform the steps of any embodiment of the methods described herein.

[0062] The system is Blockchain and at least one autonomous computational agent, Traversing the blockchain, and / or Generate and / or transmit electronic notices; and at least one autonomous computational agent configured to:

[0063] Any feature described in relation to a method may also be applicable to a system, and vice versa. Any feature described above with respect to one embodiment or aspect may be present in any other embodiment or aspect of the invention.

[0064] The invention may be substantially as described in the illustrative embodiments set forth in the following examples, descriptions and drawings. These and other aspects of the invention will be apparent from and will be taught with reference to the embodiments described herein.

[0065] Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which: [Brief description of the drawings]

[0066] [Figure 1] 1 provides a summary of illustrative embodiments of the present invention. [Diagram 2] Provides a description of the traversal logic utilized when iterating over the blockchain to determine the current ownership of an asset. [Diagram 3] 1 provides a description of the transaction outputs required according to one embodiment of the present invention. [Figure 4] Provides an explanation of the construction of an initial pending blockchain transaction. [Diagram 5] 5 provides a description of the incomplete transaction of FIG. 4 after it has been modified and completed by the asset controller. [Figure 6]An illustration of one embodiment of the present invention is provided in which a notification is sent to an asset controller to inform the asset controller that there is an outstanding transaction that requires attention and modification. [Figure 7] 1 illustrates a description of a use case model according to one embodiment of the present invention. [Figure 8] Provided is blockchain transaction number 100.10, which relates to the example provided below, that may be used to generate shares in an asset represented on the blockchain. [Figure 9] Provided below is the relevant blockchain transaction number 100.120 in the example provided that can be used to issue shares of an asset to a recipient. Note that the notification address is specified as a requirement in the ScriptSig. This forces the recipient (i.e., asset owner or controller) to provide the notification address as metadata in the unlock script when "claiming" the share via an input in a later transaction. [Figure 10] Provides blockchain transaction number 150.10 that can be used to transfer ownership of a portion of an asset to a recipient, where the current asset controller keeps part of the asset and assigns or transfers another portion to another party. [Figure 11] Provided is an incomplete blockchain transaction number 400.1 that may be generated in connection with the example provided below. [Figure 12] When modified by the asset controller, it provides blockchain transaction number 400.10, which is a completed version of the incomplete transaction shown in FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0067] The present invention provides a universal solution that allows for the control of secure transfer of digital entities via inputs and outputs of blockchain transactions. In the examples provided herein, the present invention is discussed for illustrative purposes only in the context of paying income or accrued costs for assets registered on a blockchain in direct proportion to how the ownership of the asset is divided, for example, according to the terms of the underlying investment contract. For example, if an asset is divided into 100 shares, the income to be paid may be calculated per share.

[0068] However, it is important to note that the present invention is not limited to such use case scenarios, but rather provides a more general transport control and notification solution that can be utilized to advantage in a variety of applications and situations.

[0069] <Key terms> This technical specification uses the following terms throughout to define key concepts and components. [Table 1]

[0070] As presented herein, the present invention provides an automatic, secure and robust mechanism that enables at least the following: The ability to determine the current ownership of an asset from a blockchain (such as the Bitcoin blockchain); · the ability to control the transmission of electronic communications related to the Assets to unknown parties; ·Ability to pay income generated by the asset in proportion to the current ownership interest in the asset.

[0071] In the latter two cases, this process can be used to advantage if assets maintain a separate ownership database, or if ownership is hidden by the blockchain through the use of (payment) addresses.

[0072] The present invention provides at least two advantageous aspects. 1) The ability to make payments to owners of assets via the blockchain, where the owners are unknown and anonymous to the assets; 2) The ability to notify anonymous owners using information stored within a sequence of blockchain transactions.

[0073] Determining the current ownership of an asset represented on the blockchain In order to allocate costs / revenues for an asset represented on the blockchain, it is necessary to be able to determine the current ownership of that asset. There are two mechanisms by which this can be achieved. Ownership can be maintained in a separate register maintained off-chain by the asset (and updated by countersigning transfers with the asset). This mechanism is ideal for regulated assets where formal "know your customer" rules apply. Ownership can be determined by scanning transactions on the blockchain to dynamically generate a list of current ownership. Note that this approach does not determine ownership per se, but identifies the Bitcoin address responsible for the asset. This may be referred to as the "asset controller," which may or may not be the actual owner. This blockchain traversal technique is used by the present invention.

[0074] <Generating actions related to ownership, e.g. calculating and paying income> To pay out income from assets in proportion to the current ownership interest in the assets. · The asset must have the ability to determine its current ownership; The asset must be capable of recording total income for a given period. The asset must be income-divisible between current ownership interests; The asset must be able to offset its costs against its revenues. The asset must be capable of retaining income if previous costs are not paid; · The asset must be capable of triggering the payment of income to current asset holders.

[0075] This income may come at the end of a time period (e.g., every six months) or as it is generated (e.g., immediately). Depending on the characteristics of the contract, the same terms may allow for proportional payment of income by some contracts or only allow for payment to current holders for a certain period of time.

[0076] <Technical solutions> The technical solution provided by the present invention provides a mechanism by which an investment or asset controller, through an agent or smart contract, can generate a set of payment transactions to both recover its costs or pay out its revenues. The solution relies on an automated oracle (or multiple oracles depending on the structure of the underlying contract) that is triggered by an off-chain condition. For example, this condition can be the date on which a reward is to be paid. When this trigger condition is activated, the oracle: Calculate the total payment for the assets as a whole, Calculate individual payments across the current ownership shares of the asset based on payment rules (e.g., pro rata); Generate payment transactions for each individual asset holder.

[0077] Figure 1 shows the basic flow of how a technical solution determines the individual payments to be generated.

[0078] The steps in the flowchart of FIG. 1 are defined in more detail in the following sections. [Table 2]

[0079] <Traversing the blockchain from an issued transaction> To determine the current location (ownership) of a share in an asset, the relevant oracle needs to be able to traverse the blockchain from the initial issuing transaction to determine where the current asset's shares currently reside. The issuing transaction is referred to as the "anchor transaction" in Figure 1. Figure 2 shows an example transaction chain that may be used during such a traversal. Essentially, this process involves moving from transaction to transaction on the blockchain, following the trail, until the oracle finds a UTXO related to the asset. When this output is unspent, this indicates that the asset controller using the last input in the asset should still be the controller. Thus, the traversal process may stop at this transaction.

[0080] Each individual issue or transfer transaction output has an associated Redeem Script, and due to the fact that transaction outputs are unspent, an oracle can determine which Redeem Scripts have been used to spend outputs from previous transactions, and therefore what proportion of the assets it "owns" at any given time.

[0081] <Generate distribution payments> By knowing the redeem script, the revenue sharing transaction can use the SIGHASH_NONE capability to redirect the output only in a way that the controller of the redeem script can change. For this purpose, the sharing transaction needs to be constructed as shown in Figure 3.

[0082] A distribution transaction has two outputs. 1) Send (reissue) the output back to the current controller so that the next time the traversal is performed, the same controller will be determined to be the current controller; 2) An output that transfers some electronic funds to a controller.

[0083] A reissue output can be constructed because it can simply regenerate (i.e. copy) the Redeem script hash from a previous issue / transfer transaction.

[0084] However, based on the number of signatures required, and because the locking script for the revenue payment to A cannot be constructed at the time of construction, it is not possible to construct the distribution transaction in one step.

[0085] To solve this, a distribution transaction is first constructed and broadcast in the format shown in Figure 4.

[0086] By setting the signature hash of the input to SIGHASH_NONE, any one of the outputs may be altered. (Note: one or more embodiments of the present invention may be implemented on protocols other than the Bitcoin protocol. It is important that the outputs are set so that they can be altered.) However, by locking in the final issue transaction, only the legitimate owners of the assets are required to sign the inputs (and obviously will not do so unless it is in their interest) so they can make the changes. Note that a signature does not need to be provided in the final asset issue / transfer to transaction. As shown in Figure 4, assuming the asset issuer is a counter-signature on any transfer transactions, if they are not present, this transaction can simply be combined with a signature on the revenue for distribution to achieve the same effect.

[0087] <Redirect distribution payment> When the current asset owners receive the incomplete template transaction, they decide that it is in their best interest and, after modifying the income payment transaction to pay the income to themselves, complete the transaction by signing the final asset issuance / transfer input to the transaction. This modified completed transaction is shown in Figure 5. Because the transaction is now complete, it can be mined.

[0088] Thus, the result is achieved without the requirement of knowing about the underlying owner of the asset other than the ownership share of the asset contained in the blockchain record itself.

[0089] <Necessity of notification> As mentioned above, a payment distribution transaction is initially generated in an unfinished form, which then needs to be communicated in some way to an asset controller so that the asset controller can become aware of the transaction's existence, make the necessary changes to complete it, and submit it to the blockchain.

[0090] However, an incomplete transaction cannot be broadcast through the blockchain itself because, by default, blockchain propagation nodes do not propagate incomplete transactions across the network. Since the original version of the distribution transaction is incomplete (missing a signature), the controller / owner has no chance of receiving the incomplete transaction and being able to apply a signature before it is dropped by the network. This does not affect the ownership of the assets, but it does mean that the involved parties will not be paid the income they are entitled to.

[0091] Thus, there is a technical problem that needs to be overcome: how to communicate an uncompleted blockchain transaction (Tx) (or its existence) to a recipient when the recipient's identity and / or other information is unknown. To solve this technical problem, there needs to be a channel available to broadcast this uncompleted transaction to interested parties, or at least make interested parties aware of the existence and / or location of the uncompleted transaction.

[0092] There are a variety of possible ways to solve this, including: A contract may expose a "broadcast" channel as part of the contract, where all pending transactions are broadcast with asset owners listening to the channel and reacting to them to determine interested transactions. This publish / subscribe mechanism is a standard IT feature. Upon sale or other transfer of an asset, the new asset owner / controller locks a notification address to the sale transaction. This allows a communication channel to be set up without any other information about the asset owner / controller being known. The asset then uses this private channel to send pending transactions to the current owner or to notify them that transactions are available from an accessible location, e.g. for download and later completion.

[0093] None of these solutions affect or impact the first aspect of the invention described above in that the asset still has no knowledge of the ownership of the asset itself other than the information held on the blockchain itself. In the following example, the transaction utilizes a second option for transaction notification. This notification technique forms a second novel aspect of the invention and provides privacy or anonymity of the transaction information.

[0094] <Notification address embedded in the blockchain> This aspect of the invention provides a solution to the propagation problem identified above by enabling the ability to embed a notification address within a blockchain transaction, which is then available for later notifications. This section explains how this model works.

[0095] The notification may take any suitable form, such as, for example, an email. In such a case, the email may be sent to an email address embedded in the previous transaction. However, other forms of electronic communication known in the art are also within the scope of the present invention. Essentially, the identifier captured in the initial transaction serves as the address or location to which the notification is sent.

[0096] It should be noted that this notification technique can be used to advantage as a solution to a problem on its own, and independently of the first aspect of the invention described above, for a wide range of situations and applications.

[0097] In our example, however, the role of the notification address is to ensure that the relevant interested parties can be notified to apply their signatures to (and make other modifications to) the target transaction when the author of a given target transaction has no other information about the relevant interested parties.

[0098] This solution means that a communication can be sent to the recipient without any further information having to be provided or known. The present invention therefore provides an enhanced alert, notification or communication technique that protects or enhances privacy and security. No additional information about the recipient is required other than the address provided in the transaction script and then extracted from the transaction script. This lends itself to being implemented by automated processes such as bots.

[0099] The sending of notifications to specified addresses may be triggered by events, which may be specified in or affected by a smart contract.

[0100] A notification may simply be a signal sent to an address and / or may contain predefined content, such that any desired informational message can be sent. Additionally or alternatively, receipt of a notification may serve as a signal to an automated process, thus triggering a predefined or programmed response, such as providing a signature to the transaction or performing some other action.

[0101] The present invention is not limited with respect to the content of the notification message dispatched to the embedded address. The notification may in some cases include a copy of the incomplete transaction. In the present example, however, the role of the notification address is to ensure that when the author of a given target transaction has no other information about the relevant interested parties, the relevant interested parties (which may be human or computer-based resources) can be notified or alerted of the need to apply their signatures (and make other changes) to the target transaction. In effect, the present invention thus enables the execution and completion of future blockchain transactions. By providing the necessary signatures, a partially invalid transaction is transformed into an executable valid transaction that can be accepted by the blockchain. The present invention thus solves the problem of how to control, realize and / or enable the validity of blockchain transactions and their propagation over the blockchain network.

[0102] For this purpose, a "seed" transaction must be generated that enforces the capture of the notification address in all subsequent transactions. This may typically be before the issuance transaction (in a standard tokenization transaction). This issuance or "source" transaction requests additional attributes that should be supplied on the unlock script that includes the notification address. The complete flow of this process is shown in Figure 6.

[0103] <Notification Redeem Script> The main format of the unlock script is as follows.

Number

[0104] As can be seen from the above structure, the elements shown within the frame represent a standard script, but with a new prefix. This prefix takes the form shown here.

Number

[0105] This particular example means that the <Count of notification addresses> can range from 1 to 4, but the structure can be extended to support different maximum values if required. This script prefix effectively drops the relevant notification addresses from the stack and then checks to ensure that the number of notification addresses present matches the number that should be there.

[0106] <Usage Example Model> The model provided in Figure 7 shows the main usage examples that fall within the scope of the non-recourse lending model.

[0107] <

[0100] Issuance of Shares> The asset ensures that it issues shares to appropriate asset holders within itself and captures the notification address of that entity during issuance, where the primary entity is the asset.

[0108] <Major success scenarios> This step is only necessary if the notification details of the current holders are kept on the blockchain itself. [Table 3]

[0109] The share generation transaction is shown in FIG. 8 as transaction 100.10.

[0110] The complete Redeem script for output 1 of transaction 100.10 is shown below.

[0111] OP_DROP OP_CHECKSIG The share issuance transaction is shown in Figure 9 as transaction 100.20.

[0112] The complete Redeem script for Output 1 of transaction 100.20 is shown below.

number

[0113] This example Redeem script allows a subsequent sell to transfer ownership to up to four buyers; multiple transactions may be required if the purchase involves more than four buyers. Note that it is obviously possible to expand (or limit) the possible number of new purchases by repeating (or reducing) the "if" blocks in the above script.

[0114] <

[0150] Selling shares> An asset owner must sell a percentage of its equity to another interested party, where the primary entity is the asset owner.

[0115] Key success scenarios: [Table 4]

[0116] This creates a number of key features that are essential to support underlying revenue distribution. A sale can only involve up to four new holders (e.g., four output transactions, but can be any number from 1 to 4). If the sale involves partial reservation of shares, only slots will be taken back to current holders for reallocation, so only 3 new holders can be supported.

[0117] <Transaction 150.10> In the example transaction 150.10 provided in Figure 10, the transaction performs a partial sale by a current asset holder who holds one stake and sells one other stake to a new holder. Note that in a real world scenario, an additional input to cover mining fees may be required. This is ignored in the template of Figure 10 to make transaction 150.10 easier to read.

[0118] The Redeem script for the output of transaction 150.10 (Figure 10) is the same as that for transaction 100.20 (Figure 9), except that the public key is:

[0119] <pubk-secondaryassetholder>and <pubk-asset> This Redeem script for output 2 of transaction 150.10 (Figure 10) is exactly the same as the one for transaction 100.20 (Figure 9).

[0120] <

[0200] Determination of ownership> The asset must decide how to allocate the payment proceeds to the current asset holders, even though it does not know who the current asset holders are. The primary actor in this action is the asset.

[0121] Key success scenarios: [Table 5]

[0122] <

[0300] Calculate payment> Here, an asset wants to calculate the amount of income owed to its current owner. The primary subject of this action is the asset.

[0123] Key success scenarios: [Table 6]

[0124] <

[0400] Payment of income> Here, assets want to pay income to their owners in proportion to their ownership. The primary entity is the asset.

[0125] Key success scenarios: [Table 7]

[0126] Transaction 400.10--Interim (uncompleted) transaction is shown in Figure 11. Transaction 400.10--Final (completed) transaction is shown in Figure 12, where the changes are shown in bold for clarity.

[0127] <Example Scenario: Asset Equity Capital> The main type of scenario supported by this model is traditional share capital for an asset such as a company. A company (NewCo plc) issues a fixed amount of freely tradable shares (1000) from which income is paid periodically (annually). As the income distribution represents the profits of the company, there is no requirement to support the collection of costs from the asset holder base (profits have already offset costs from them).

[0128] The main advantages of the present invention include: The present invention enables autonomous operation on the blockchain, allowing income / cost payable entities to be created without the need to maintain a separate off-chain ownership database (except for legal reasons).

[0129] The present invention allows a notification address or identifier to be embedded within a transaction, specifically within the script of the transaction.

[0130] The present invention thus provides enhanced privacy, security, and communication, which is particularly advantageous in applications relating to controlling and recording transfers of assets and / or funds over a blockchain.

[0131] It should be noted that the above-described embodiments do not limit the present invention, and that those skilled in the art can devise numerous alternative embodiments without departing from the scope of the present invention, which is defined by the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claims. The word "comprising" or "comprises" and the like does not exclude the presence of elements or steps other than those listed in any claim and in the specification as a whole. In this specification, "comprises" means "includes" or "consists of", and "comprising" means "including" or "including of". The singular reference of an element does not exclude the presence of a plurality of such elements and vice versa. The invention can be implemented by means of hardware comprising several distinct elements, or by means of a suitably programmed computer. In a device claim enumerating several means, these several means may be implemented by one and the same hardware element. The fact that certain quantities are recited in mutually different dependent claims does not indicate that a combination of these quantities cannot be used to advantage.

[0132] In addition to the above, the following notes are also disclosed: (Appendix 1) 1. A method of controlling transfers over a blockchain, the method comprising: Identifying at least one transaction (Tx) on the blockchain, said transaction comprising: Unspent Transaction Outputs (UTXOs) related to the tokenized assets associated with the asset controller; and An input that uses the output from a previous transaction locked by the redeem script hash, and For each identified transaction (Tx), generating an uncompleted blockchain transaction, the uncompleted blockchain transaction comprising: A first output including a copy of the Redeem script hash; and a second output, the second output being modifiable so that only the asset controller can specify a recipient of the second output; and The method includes: (Appendix 2) sending the uncompleted blockchain transaction to the controller of the asset; 2. The method of claim 1, further comprising: (Appendix 3) 3. The method of claim 1 or 2, wherein the incomplete blockchain transaction is incomplete in that it lacks a required cryptographic signature. (Appendix 4) The incomplete transaction is Inputs using said unspent transaction outputs (UTXOs); and / or an input that uses the output of another transaction to transfer an amount of value or currency to the asset controller; 4. The method of any one of claims 1 to 3, further comprising: (Appendix 5) modifying the second output of the uncompleted transaction to include a cryptographic signature; 5. The method of any one of claims 1 to 4, further comprising: (Appendix 6) the identifying at least one transaction (Tx) comprises traversing the blockchain until reaching a blockchain transaction that includes an unspent output (UTXO) associated with the asset; 6. The method according to any one of claims 1 to 5. (Appendix 7) 7. The method of any one of claims 1 to 6, wherein at least one step of the method of any one of claims 1 to 6 is performed by an autonomous computational agent. (Appendix 8) completing the outstanding transaction by designating a recipient of the second output; submitting the completed transaction to the blockchain; 8. The method of any one of claims 1 to 7, further comprising: (Appendix 9) 9. The method of claim 8, wherein the recipient is specified using an encryption key. (Appendix 10) 10. The method of any one of claims 1 to 9, wherein the assets are represented on the blockchain as tokens provided in metadata in a script. (Appendix 11) 11. The method of any one of claims 1 to 10, wherein the pending transaction includes a signature type that requires all inputs to be signed but none of the outputs to be signed, preferably the signature type is the Bitcoin SIGHASH_NONE signature type or a signature type functionally equivalent to an alternative blockchain protocol. (Appendix 12) using the unspent transaction output (UTXO) to transfer the tokenized assets to a recipient address; 12. The method of any one of claims 1 to 11, further comprising: (Appendix 13) using the output of the previous transaction to transfer ownership of or reissue the asset; 13. The method of any one of claims 1 to 12, further comprising: (Appendix 14) 14. The method of any one of claims 1-13, wherein the cryptocurrency amount associated with the second output is calculated by computational resources according to one or more rules provided in a smart contract. (Appendix 15) 15. The method of any one of claims 1 to 14, wherein the second output of the uncompleted transaction, when spent, transfers an amount of currency or value, such as cryptocurrency or tokenized funds, to a recipient. (Appendix 16) The signal and / or electronic notification may be transmitted as a transaction (Tx 1 ) to a notification address provided as metadata in the unlock script; 16. The method of any one of claims 1 to 15, further comprising: (Appendix 17) 17. The method of claim 16, wherein the signal or notification provides a prompt, trigger, or warning to a recipient associated with the uncompleted transaction. (Appendix 18) in response to said signal or notification, modifying said pending blockchain transaction, preferably including providing at least one cryptographic signature; 18. The method of claim 16 or 17, comprising: (Appendix 19) The signal or electronic notification may: the incomplete blockchain transaction; and / or Information relating to the location of, or means of accessing, the pending blockchain transaction; and / or Information relating to the uncompleted blockchain transaction; 19. The method of any one of claims 16 to 18, comprising: (Appendix 20) 20. A computer-implemented system arranged and configured to perform the steps recited in any one of claims 1 to 19. (Appendix 21) The system comprises: Blockchain and at least one autonomous computational agent, traversing the blockchain; and / or Creating the uncompleted transaction; and / or Sending the pending transaction to a recipient; At least one autonomous computational agent configured to: 21. The system of claim 20, comprising:

Claims

1. 1. A method of controlling transfers over a blockchain, the method comprising: finding an anchor transaction by an autonomous computing agent; traversing, by the autonomous computational agent, a transaction history to determine a current set of unspent transaction outputs (UTXOs); generating, by the autonomous computational agent, a distribution transaction relating to the asset for the determined UTXO; broadcasting, by the autonomous computational agent, the distributed transaction; using, by a first computer associated with an asset owner, a distribution transaction to an address associated with the asset owner; publishing, by the first computer, the distribution transaction on the blockchain; The method includes:

2. 2. The method of claim 1, wherein traversing the transaction history includes searching all uses of the asset starting from time of issuance to determine the current unspent output (UTXO), which determines the current location / ownership of the asset.

3. The method of claim 1 , wherein generating a distributed transaction comprises generating and broadcasting an outstanding transaction.

4. The method of claim 3 , wherein the transaction in an incomplete state is missing a primary transaction signature.

5. 2. The method of claim 1, wherein a broadcast channel broadcasts all outstanding transactions that are to be broadcast, and one or more of the first computers listen to the broadcast channel to determine transactions of interest to them.

6. 6. The method of claim 5, further comprising, upon sale or other transfer of the asset, a second computer associated with the new asset owner locking a notification address into the sale transaction.

7. The method of claim 6 , wherein sending of notifications to the notification address is triggered by an event.

8. The method of claim 7 , wherein the event is specified in a smart controller.

9. The method of claim 7 , wherein the notification includes a copy of the uncompleted transaction.

10. A step of offering a ratio of assets by the autonomous computing agent, comprising: capturing a notification address of the purchaser; generating a resale transaction template; countersigning the distribution transaction with the assets; publishing the distribution transaction on the blockchain; The method of claim 1 further comprising the step of:

11. 1. A system comprising: Blockchain and at least one autonomous computational agent; a first computer associated with the asset owner; 13. A system comprising:

Citation Information

Patent Citations

  • Production for optical fiber bundle

    JP1983058503A

  • Cryptographic Currency For Securities Settlement

    US20150332395A1

  • Systems and methods of blockchain transaction recordation

    US20160292672A1