This invention relates generally to a tokenisation method and corresponding system for the exchange of entities or assets via a computer-implemented network, and control thereof. It relates to security mechanisms for exchanges and transfers on a network. In particular, it relates to the transfer of contracts. It may be suited for use with, but not limited to, a non-debt lending process. It may be used in conjunction with any peer-to-peer distributed network. This may be blockchain-related technology, including (but not limited to) the Bitcoin Blockchain.
In this document we use the term ‘blockchain’ to include all forms of electronic, computer-based, distributed ledgers. These include, but are not limited to consensus-based blockchain and transaction-chain technologies, permissioned and un-permissioned 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. While Bitcoin may be referred to herein for the purpose of convenience and illustration, it should be noted that the invention is not limited to use with the Bitcoin blockchain and alternative blockchain implementations and protocols fall within the scope of the present invention.
A blockchain is an electronic ledger which is implemented as a computer-based decentralised, distributed system made up of blocks which in turn are made up of transactions. Each transaction is a data structure that encodes the transfer of control of a digital asset between participants in the blockchain system, and includes at least one input and at least one output. Each block contains a hash of the previous block to that blocks become chained together to create a permanent, unalterable record of all transactions which have been written to the blockchain since its inception. Transactions contain small programs known as scripts embedded into their inputs and outputs, which specify how and by whom the outputs of the transactions can be accessed. On the Bitcoin platform, these scripts are written using a stack-based scripting language.
In order for a transaction to be written to the blockchain, it must be “validated”. Network nodes (miners) perform work to ensure that each transaction is valid, with invalid transactions rejected from the network. Software clients installed on the nodes perform this validation work on an unspent transaction (UTXO) by executing its locking and unlocking scripts. If execution of the locking and unlocking scripts evaluate to TRUE, the transaction is valid and the transaction is written to the blockchain. Thus, in order for a transaction to be written to the blockchain, it must be i) validated by the first node that receives the transaction—if the transaction is validated, the node relays it to the other nodes in the network; and ii) added to a new block built by a miner; and iii) mined, i.e. added to the public ledger of past transactions.
Although blockchain technology is most widely known for the use of cryptocurrency implementation, digital entrepreneurs have begun exploring the use of both the cryptographic security system Bitcoin is based on and the data that can be stored on the Blockchain to implement new systems. It would be highly advantageous if the blockchain could be used for automated tasks and processes which are not limited to the realm of cryptocurrency. Such solutions would be able to harness the benefits of the blockchain (e.g. a permanent, tamper proof records of events, distributed processing etc) while being more versatile in their applications.
One area of current research is the use of the blockchain for the implementation of “smart contracts”. These are computer programs designed to automate the execution of the terms of a machine-readable contract or agreement. Unlike a traditional contract which would be written in natural language, a smart contract is a machine executable program which comprises rules that can process inputs in order to produce results, which can then cause actions to be performed dependent upon those results.
Another area of blockchain-related interest is the use of ‘tokens’ (or ‘coloured coins’) to represent and transfer real-world entities via the blockchain. A potentially sensitive or secret item can be represented by the token which has no discernible meaning or value. The token thus serves as an identifier that allows the real-world item to be referenced from the blockchain.
The present invention incorporates various technical concepts to provide a blockchain-based mechanism and infrastructure which enables lending between different parties. This can be achieved without the presence of debt. Lending is an integral part of the financial services marketplace, allowing borrowers to receive funds from lenders in return for subsequent payment of those advanced funds. Traditional lending via a financial institution such as a bank has, in recent years, been extended through peer-to-peer (P2P) lending where individuals lend pooled finds to a borrower in general for a higher individual return, but with increased risk of loss of the advanced funds.
There are a number of P2P pools with their own bespoke trading exchanges requiring individual registration onto those applications in order to participate in the P2P lending process (e.g. Zopa, Funding circle). These loans are underpinned and implemented upon the traditional banking network and technical infrastructure within the territory in which they operate. Therefore, the present systems for P2P lending are restrictive and complex by nature.
It would be advantageous to provide an alternative solution. Benefits of this solution could include, for example, elimination of the need for local bespoke exchanges whilst enabling sophisticated lending processes to be carried out. Known benefits of the blockchain (such as its tamper-proof, permanent record of transactions) could be harnessed to advantage. This solution would provide an entirely new architecture and technical platform. Such an improved solution has now been devised.
Thus, in accordance with the present invention there is provided a method and system as defined in the appended claims.
Therefore, in accordance with the invention there may be provided a method and corresponding system for controlling the performance of a process conducted via (i.e. using) a blockchain. The block chain may or may not be the Bitcoin blockchain. The process may be a lending process. The invention may also incorporate tokenisation and cryptographic techniques which provide enhanced security to the transfer of a digital asset or item.
The invention may provide a blockchain-implemented method. It may provide a mechanism for embedding data. The data may be embedded in a blockchain transaction (Tx). Additionally or alternatively, it may comprise a method for the control, exchange and/or transfer of an asset or item. This may be a digital asset. Additionally or alternatively, it may provide a tokenisation method. The asset and/or contract may be tokenised.
It may comprise the steps:
deriving a public-key-private key cryptographic pair for an item or portion of data;
deriving a signature for the data using the public key-private key cryptographic pair; or
codifying the data to generate codified metadata for the data.
The data may relate to an asset or entity, or may relate to a (smart) contract associated with the asset. The smart contract may be stored in a computer-based resource, which may be separate to the blockchain.
The invention may be arranged to control a transfer made via a blockchain in respect of an asset or representation of an asset. The asset or representation may comprise or be associated with one or more private cryptographic keys, each private key being associated with an owner/controller of the asset. The private key(s) may part of a cryptographic key pair. One or more of the private keys may be generated according to a technique substantially as described below in the section entitled “generating a public key for an Asset”. One or more keys may be generated using a common secret. It may be a sub-key which is generated from a master cryptographic key.
The invention may comprise the allocation or generation of an address and/or cryptographic key for an asset. It may also comprise the allocation and/or generation of an address and/or cryptographic key for an owner or controller of the asset, or some other entity associated with the asset. The address/key for the asset and/or controller be created using the deterministic sub-key process defined below in the section entitled “Generating a public key for an asset”. In one or more embodiments, the address may be a blockchain address. Preferably, it is generated as a sub-address derived from a master address (key). The master key may belong to, or be associated with, the controller/owner of the asset. The use of the sub-key generation technique may allow direct interaction between an asset and an owner, in a secure manner which is cryptographically enforced. It may also enable the ability to nest or structure, possibly in a hierarchical manner, multiple (smart) contracts, each being controlled by a respective computing resource, within the same blockchain transaction.
The invention may comprise a technique for determining a secret which is common to a first and a second entity. The entity may be referred to as a node, or an asset. The first or second entity may be an asset and the other entity may be a controller or other entity associated with the asset. The invention may comprise a method substantially as described below in the section entitled “generating a public key for an Asset.” This method may comprise the steps:
The method may further comprise the step of transmitting the codified metadata to the blockchain. The codified metadata may be arranged so as to reference or provide access to a contract. This may be a smart contract as known in the art. The metadata may be codified substantially in accordance with a codification scheme as described below in the section entitled “Codification Scheme”. It may comprise three parameters or data items relating to:
The method may further comprise the step of receiving a signature and a script from at least one user to enable access to the embedded data. The script may comprise a public key of a signatory. The term “user” can refer to a human user or a computer-implemented resource or agent.
The metadata may comprise a hash of the data. The metadata may comprise a pointer or other reference to the data. This may allow the data to be referenced and/or accessed. Thus, the data may be stored “off-block,” i.e., not in the blockchain.
The hash may be used as a primary key in a lookup table where the data is stored. This may be a DHT.
The method may also comprise a blockchain-implemented system. The system may be operative to:
derive a public-key-private-key cryptographic pair for the data;
derive a signature for the data using the public key-private key cryptographic pair; or
codify the data to generate codified metadata for the data.
The system may be arranged to implement any embodiment of the method above.
The system may be operative to transmit the codified metadata to the blockchain.
The system may be operative to receive a signature and a script from at least one user to enable access to the embedded metadata. The script may comprise a public key of a signatory.
The system may be operative to generate a hash of the data and to store that hash as part of the metadata.
The system may be operative to generate a pointer or other reference to the data. The system may be operative to store the hash as a primary key in a lookup table where the data is stored.
Additionally or alternatively, one or more embodiments of the invention may comprise a method for the generation of one or more cryptographic keys. This may be substantially as described below in the section entitled “Generating a public key for an asset”. It may comprise the following steps:
The deterministic key (DK) may be based on a message (M). The method may also comprise the steps of:
Preferably, the method may comprise the steps of:
Preferably, the method may comprise the steps of:
Preferably, the method may comprise the steps of:
Preferably, the method may comprise the steps of:
Preferably, the method may comprise the steps of:
Preferably, the first node master public key (P1C) and second node master public key (P1S) may be based on elliptic curve point multiplication of respective first node master private key (V1C) and second node master private key (V1S) and a generator (G).
Preferably, the method may comprise the steps of:
Preferably, the method may comprise the steps of:
Preferably, the method may comprise the steps of:
Preferably, the method may comprise the steps of:
Preferably, the deterministic key (DK) may be based on determining a hash of a previous deterministic key.
The first asymmetric cryptography pair and the second asymmetric cryptography pair may be based on a function of respective previous first asymmetric cryptography pair and previous second asymmetric cryptography pair.
Any feature described above in relation to one embodiment or aspect may be used in relation to any other aspect or embodiment.
These and other aspects of the present invention will be apparent from and elucidated with reference to, the embodiment described herein.
An embodiment of the present invention will now be described, by way of example only, and with reference to the accompany drawings, in which:
One or more embodiments of the invention may enable the ultimate owner of a property or other asset to borrow funds against that asset. This can be achieved in a manner which does not require the return to the investors to be determined through the payment of interest, making it compliant with non-interest forms of lending.
By tokenising the asset, it is possible to separate the ownership of the asset from the asset's use. Thus, the owner (or “controller”) and their asset become two separate entities within the present invention. As a result, the owner can use, control and manage the asset in a more powerful and flexible way e.g., they can contract it out to other parties.
In order to achieve this, the invention may comprise the use of a separate address for the asset from the owner. This can be created using the deterministic sub-key process defined below in the section entitled “Generating a public key for an asset”. In one or more embodiments, the address is a blockchain address. Preferably, it is generated as a sub-address derived from a master address (key). The master key may belong to, or be associated with, the controller/owner of the asset.
Furthermore, a smart contract is generated which implements a contract structure. The smart contract allows others to bid on an investment in the asset. Additional smart contracts can also be registered against the property/asset and recorded on the Blockchain such as, for example, somebody renting the property themselves, providing a particular service related to the property or the facilitation of a financial investment in the property. Investors in the property can then receive returns or pay the costs associated with the upkeep of the property.
The invention enables the ultimate owner of an asset (or the majority of the current owners of the contract if that is how the terms of the contract are structured) to:
The following benefits may be realised by a system in accordance with the invention.
Investors with limited funds can invest in property in a way that negates the need for a Fixed Unit Trust or Real Estate Investment Trust (REIT). This is because the owner of the property stipulates in the smart contract what bids are acceptable. It is then up to the investor to decide if the investment is for them. Depending on the specifics of the contract, it can allow a smaller investor access to investments not easily available using the traditional investment methods; and
A system which may be used to implement the embodiment may comprise a P2P network as illustrated in
A blockchain is a P2P network with a distributed architecture which shares work and tasks between interconnected computing devices which are known as “nodes” or “peers”. Such a network is decentralised in that no individual computer is designated as being “in charge”. Recent years have witnessed the use of P2P networks for the implementation of the consensus-based Bitcoin Blockchain and Bitcoin inspired variations.
The following terms have been used herein and may be construed in accordance with the following meanings:
The relative positioning of these individuals in the use of the described system is illustrated in
Although the invention is described in the context of the purchase of property this is not intended to be limiting and it is to be understood that the invention can be used advantageously for a variety of purposes or applications, and provides a variety of technical benefits.
Colin wishes to purchase a property costing 1000 BTC using a unit trust arrangement with other investors. Colin generates transaction metadata using a suitably programmed computing (client) device.
The transaction is constructed in such a way that the transaction metadata sets out details of the property and makes no mention of the owner or of the share that he owns.
The transaction metadata sets out that the buyer will put up 51% of the purchase cost, thereby holding a controlling interest, but raise the additional 49% from investors. In return for this investment, each of the investors will get a ‘rental’ income every six months linked to the current market rate. The transaction metadata is published to a blockchain as a transaction as set out in
The system generates a smart contract detailing the:
A total of four investors put up the required 1000 BTC investment. One of those investors is Colin (the de-facto owner who puts up the majority stake to ensure that he continues to control the underlying asset). The other investors are: Bob who puts up 230 BTC of the required 1000 BTC investment; Mary who puts up 90 BTC of the required 1000 BTC investment; and Frank who puts up 170 BTC of the required 1000 BTC investment. The number of units are allocated proportionally to Colin (51 Units), Bob (23 Units), Mary (9 Units) and Frank (17 Units) by the system. The transactions illustrating the bids from Colin, Bob, Mary and Frank are illustrated in
The asset issues the raised funds to Colin in transaction ID ASSET S1-T3 as illustrated in
That is to say, the transaction ASSET-S1-T3 performs two functions within the same transaction. It firstly consolidates and passes the raised funds to Colin and simultaneously issues units in the asset to the investors Colin, Bob, Mary and Frank.
For Colin to unlock his output from ASSET S1-T3, he must sign the hash of the redeem script:
OP_2 AssetMetaDataA AssetMetadataB InvestmentMetadataA InvestmentMetadataB PubK-Colin PubK-Asset OP_6 OP_CHECKMULTISIG
For Bob to unlock his output from ASSET S1-T3, he must sign the hash of the redeem script:
OP_2 AssetMetaDataA AssetMetadataB InvestmentMetadataA InvestmentMetadataB PubK-Bob PubK-Asset OP_6 OP_CHECKMULTISIG
For Mary to unlock her output from ASSET S1-T3, she must sign the hash of the redeem script:
OP_2 AssetMetaDataA AssetMetadataB InvestmentMetadataA InvestmentMetadataB PubK-Mary PubK-Asset OP_6 OP_CHECKMULTISIG
For Frank to unlock his output from ASSET S1-T3, he must sign the hash of the redeem script:
OP_2 AssetMetaDataA AssetMetadataB InvestmentMetadataA InvestmentMetadataB PubK-Frank PubK-Asset OP_6 OP_CHECKMULTISIG
Periodically, the asset will generate returns on the underlying investment that will be calculated at a per share return and then scaled up to cover the individual ownership. The current ownership position can be maintained directly by the Asset, or derived by scanning the asset transactions on the Blockchain from the base issuance transaction generated by the Asset (ASSET-S1-T3). For this scenario, it is assumed that Colin (the owner of the asset) will provide the funds to return to the investors using transaction ID colin-S1-T3, as illustrated in
Colin can spend his return by signing the hash of redeem script:
OP_1 AssetMetaDataA AssetMetadataB InvestmentMetadataA InvestmentMetadataB PubK-Colin OP_5 OP_CHECKMULTISIG
Bob can spend his return by signing the hash of redeem script:
OP_1 AssetMetaDataA AssetMetadataB InvestmentMetadataA InvestmentMetadataB PubK-Bob OP_5 OP_CHECKMULTISIG Mary can spend her return by signing the hash of redeem script:
OP_1 AssetMetaDataA AssetMetadataB InvestmentMetadataA InvestmentMetadataB PubK-Mary OP_5 OP_CHECKMULTISIG
Frank can spend his return by signing the hash of redeem script:
OP_1 AssetMetaDataA AssetMetadataB InvestmentMetadataA InvestmentMetadataB PubK-Frank OP_5 OP_CHECKMULTISIG
In this example, Bob decides to sell 10 of the units he acquired in Scenario 1 and negotiates a price of 12 BTC per unit. The spreadsheet shows this as a bilateral transaction between himself and Jane.
In this situation, there is a transaction between two investors, which results in the following occurring:
This leaves the state of the holdings as follows (assuming that Jane paid the market rate):
The system generates the asset metadata for the asset which enables it to trade the units that Bob would like to sell. The metadata is illustrated in
A purchase transaction is then generated which enables Jane to purchase the units from Bob that he would like to sell. This transaction (transaction ID JANE-S2-T1) is illustrated in
In order to spend the output from this transaction, Bob needs to sign a hash of redeem script:
OP_2 AssetMetaDataA AssetMetadataB InvestmentMetadataA InvestmentMetadataB PubK-Bob PubK-Asset OP_6 OP_CHECKMULTISIG
Note that this differs from the original investment detailed in Scenario 1 in that the payment is to an account controlled by Bob rather than one managed on behalf of the underlying asset itself.
A transaction detailing the transfer of the units to Jane from Bob is illustrated in
OP_2 AssetMetaDataA AssetMetadataB InvestmentMetadataA InvestmentMetadataB PubK-Jane PubK-Asset OP_6 OP_CHECKMULTISIG
In order to spend the second output a hash of the following redeem script will need to be signed:
OP_2 AssetMetaDataA AssetMetadataB InvestmentMetadataA InvestmentMetadataB PubK-Bob PubK-Asset OP_6 OP_CHECKMULTISIG
The asset will, periodically, generate returns on the underlying investment that will be calculated at a per share return and then scaled up to cover the individual ownership. The current ownership position can be maintained directly by the Asset, or derived by scanning the asset transactions on the Blockchain from the base issuance transaction generated by the Asset (transaction ID ASSET-S1-T3). For this scenario, it is assumed that Colin (the owner of the asset) will provide the funds to return to the investors; this doesn't have to be the case—in practice the source of those funds can be anything but importantly it is the Asset's responsibility to calculate and pay the return.
The generation of returns by the asset is illustrated in the transaction set out in
In order to spend the return from the first output, Colin will need to provide a signed hash of the redeem script:
OP_1 AssetMetaDataA AssetMetadataB InvestmentMetadataA InvestmentMetadataB PubK-Colin OP_5 OP_CHECKMULTISIG
In order to spend the return from the second output, Bob will need to provide a signed hash of the redeem script:
OP_1 AssetMetaDataA AssetMetadataB InvestmentMetadataA InvestmentMetadataB PubK-Bob OP_5 OP_CHECKMULTISIG
In order to spend the return from the third output, Mary will need to provide a signed hash of the redeem script:
OP_1 AssetMetaDataA AssetMetadataB InvestmentMetadataA InvestmentMetadataB PubK-Mary OP_5 OP_CHECKMULTISIG
In order to spend the return from the fourth output, Frank will need to provide a signed hash of the redeem script:
OP_1 AssetMetaDataA AssetMetadataB InvestmentMetadataA InvestmentMetadataB PubK-Frank OP_5 OP_CHECKMULTISIG
In order to spend the return from the fifth output, Jane will need to provide a signed hash of the redeem script:
OP_1 AssetMetaDataA AssetMetadataB InvestmentMetadataA InvestmentMetadataB PubK-Jane OP_5 OP_CHECKMULTISIG
That is to say, the system enables the asset to generate returns automatically using a Blockchain transaction.
The system enables the creation of a second investment against an existing asset. In this situation, the owners collectively decide to arrange for energy efficiency upgrades to be applied to the property. There are two ways of funding this:
It is this second option that would require a second investment on the same asset. (You may implement the first one in a similar manner, but in practice re-issuance of the original investment with the additional units is a more efficient method of achieving the same objective.
In terms of transaction flow, Scenario 3 is a straight repeat of Scenario 1 with different InvestmentMetadata blocks to define the new investment properties.
The system generates asset investment metadata. The asset investment metadata is illustrated in
The scenario is initiated by Colin who has a desire to raise 490 BTC against a house valued at 1000 BTC. A first investor, Bob, wishes to invest 230 BTC. A second investor, Mary, wishes to invest 90 BTC. A third investor, Frank, wishes to invest 170 BTC. The asset needs to issue 100 shares with a nominal value of 10 BTC each.
A company named Blockchain Law Associates Ltd have set up a subsidiary called BLA Registrar Ltd (or, BLAR for short). BLAR are offering a new online Blockchain based service for title deed registrations and guarantee that their processes and documents conform to all relevant laws and regulation in their jurisdiction. Furthermore they are licensed by the official State Registrar to store and manage title deeds on their behalf.
To implement this, Blockchain Law Associated Ltd creates a new sub-key for BLAR. The sub-key generation may be performed substantially in accordance with the method described below in the section entitled “generating a public key for an asset”.
NewTech Developers Ltd (NTDL) build a new housing estate and contract BLAR to store all the title deeds on BLAR's registry. For each house in the estate, BLAR:
At this point, each property on the estate has a UTXO representing it on the Blockchain as shown in transaction BLAR-S4-T1.
BLAR-S4-T1 is the initial transaction to create the contract for each property on the estate. In this example there are only four properties but it is to be understood that this is illustrative and that the description herein could be applied to an estate with any number of properties.
The metadata fields used by the asset are illustrated in
The initial transaction to create the contract for each property on the estate is shown in
BLAR-S4-T1 generates 5 outputs, i.e. one for each of the properties and a miner's fee.
In order for the first output to be spent, the system requires a signed hash of the following redeem script:
OP_2 House1MetadataA House1MetadataB PubK-NTDL PubK-BLAR OP_4 OP_CHECKMULTISIG
In order for the second output to be spent, the system requires a signed hash of the following redeem script:
OP_2 House2MetadataA House2MetadataB PubK-NTDL PubK-BLAR OP_4 OP_CHECKMULTISIG
In order for the third output to be spent, the system requires a signed hash of the following redeem script:
OP_2 House3MetadataA House3MetadataB PubK-NTDL PubK-BLAR OP_4 OP_CHECKMULTISIG
In order for the fourth output to be spent, the system requires a signed hash of the following redeem script:
OP_2 House4MetadataA House4MetadataB PubK-NTDL PubK-BLAR OP_4 OP_CHECKMULTISIG
The system is then operative to update the DHT (in a separate field from the contract) with the unhashed version of the locking script of the transaction (i.e. showing the public keys and the metadata blocks). As a registrar, BLAR will also need to maintain KYC information against their customers (currently NTDL) which will be maintained in an internal database.
Alice buys a newly built house from NTDL and as part of that exchange the title deed is re-registered to Alice, by transferring the token to her nominated public key as well as to BLAR's public key in another P2SH transaction. The Contract (and thus look-up hash) remains unchanged, however, BLAR again update the ‘ownership’ field on the DHT with the unhashed version of the locking script (this time showing Alice's public key instead of NTDL's). BLAR also update any internal KYC database with Alice's details. At this point, the UTXO representing the ownership of the property by NTDL is spent into a new UTXO controlled by Alice. This is shown in transaction NTDL-S4-T1 in
The system is then operative to generate a further transaction which enables the first house (transaction output reference BLAR-S4-T1, that is the first output from the transaction illustrated in
In order for the property rights to be issued to Alice, Alice must provide a signed hash of the following redeem script:
OP_2 House1MetadataA House1MetadataB PubK-Alice PubK-BLAR OP_4 OP_CHECKMULTISIG
The system enables Alice to generate an investment product using service provider SP secured against the rental income for the house. The ownership of the house does not transfer to another party. The initial allocation of the house is back to Alice herself.
The system generates a transaction in respect of the investment product generated by Alice using the system. The transaction is illustrated in
Alice lives in the house but she also gets some rent by letting out the spare rooms. She also wants to raise some capital so she decides to create an investment secured against this rental income with the return to investors being a proportion of the rental received.
Her service provider (SP) issues a limited, divisible contract with 100 shares in the income generated by the house. The contract specifies all the terms and conditions including rental income and upkeep on a pro-rata basis with an escrow service contracted to facilitate the investment.
When the investment is initially created, all 100 shares are issued back to Alice for onward divestment. The locking script associated with this investment includes the metadata associated with the house, the metadata associated with the investment plus the public key of the service provider and the public key for Alice.
At this point, a UTXO representing the ownership of the investment by Alice is created. This is shown in transaction SP-S4-T1 shown in
In order to realise the initial asset allocation back to Alice, Alice must provide a signed hash of the following redeem script:
OP_2 House1MetadataA House1MetadataB InvestMetadata1 InvestMetadata2 PubK-Alice PubK-SP OP_6 OP_CHECKMULTISIG
The product generates returns and the system generates a transaction to enable the returns to be paid out to Alice. The transaction is illustrated in
The transaction (ID SP-S4-T2) illustrated in
The associated automated agent(s) may be set up by the SP in accordance with the contract and the procedures detailed in the section above entitled agent establishment. For a while, as Alice is the only owner of the Investment, she (her nominated public key) is the sole recipient of the accrued rental and also the payer of contractual upkeep payments. Transaction SP-S4-T2 shows the first income distribution for this back to Alice which is assumed to be 2,000 Satoshis/share.
Later Alice offers 49 shares using a P2P Exchange service and manages to sell 29 shares to Bob and 20 shares to Eve in a transaction as set out in
At this point, the issuance UTXO is spent with three outputs: one back to Alice, one to a redeem script with Bob's public key and one to a redeem script with Eve's public key. This is shown in transaction ALICE-S4-T1.
There is also the second investment return transaction shown (SP-S4-T3) which shows the new split of the investment return.
The transaction detailed in
OP_2 House1MetadataA House1MetadataB InvestMetadata1 InvestMetadata2 PubK-Alice PubK-SP OP_6 OP_CHECKMULTISIG
In order for Bob to spend the second output, the system requires a signed hash of the following redeem script:
OP_2 House1MetadataA House1MetadataB InvestMetadata1 InvestMetadata2 PubK-Bob PubK-SP OP_6 OP_CHECKMULTISIG
In order for Eve to spend the third output, the system requires a signed hash of the following redeem script:
OP_2 House1MetadataA House1MetadataB InvestMetadata1 InvestMetadata2 PubK-Eve PubK-SP OP_6 OP_CHECKMULTISIG
The fourth output spends the change from the transaction back to Alice.
The system is operative to generate a transaction enabling a return to be paid by SP to Alice, Bob and Eve. Such a transaction is illustrated in
In summary, the system enables the Asset and the Investment to remain separate both in terms of documentation and processing which means there are separate tokens representing the asset itself (house) and the investment product. There are also separate DHTs that are separately managed: the registry DHT is managed by BLAR while the Investment DHT (and its attendant Automated agents) are managed by Alice's SP.
The system may be configured to enable a contract to be referenced using metadata in a blockchain transaction, using a codification scheme which enables the contract to be formatted a in a variety of ways. Such a suitable codification scheme is now described.
The metadata which is used to reference the contract can be formatted in a variety of ways. However, a suitable codification scheme is described here.
A contract is transferable if the rights it defines are conferred upon the holder or owner of the contract. An example of a non-transferable contract is one in which the participants are named—that is, where the rights are conferred upon a specific named entity rather than the holder of the contract. Only transferable contracts are discussed in this codification scheme.
A token represents a specific contract that details or defines rights conferred by a contract. In accordance with the present invention, the token is a representation of the contract in the form of a bitcoin transaction.
This codification method uses metadata comprising three parameters or data items. This data may be indicative of:
An advantage of this codification scheme is that it can be used to encapsulate or represent contracts as tokens on a blockchain using only the three parameters described above. In effect, the contract can be specified using a minimum of these three data items. As this codification scheme can be used for any type of transferable contract, common algorithms can be devised and applied. Further detail of these metadata items is provided as follows.
The system may generate a public key for an asset using a method of sub-key generation as now described.
The first node 3 is associated with a first asymmetric cryptography pair having a first node master private key (V1C) and a first node master public key (P1C). The second node (7) is associated with a second asymmetric cryptography pair having a second node master private key (V1S) and a second node master public key (P1S). In other words, the first and second nodes are each in possession of respective public-private key pairs.
The first and second asymmetric cryptography pairs for the respective first and second nodes 3, 7 may be generated during a registration process, such as registration for a wallet. The public key for each node may be shared publicly, such as over communications network 5.
To determine a common secret (CS) at both the first node 3 and second node 7, the nodes 3, 7 perform steps of respective methods 300, 400 without communicating private keys over the communications network 5.
The method 300 performed by the first node 3 includes determining 330 a first node second private key (V2C) based on at least the first node master private key (V1C) and a Generator Value (GV). The Generator Value may be based on a message (M) that is a shared between the first and second nodes, which may include sharing the message over the communications network 5 as described in further detail below. The method 300 also includes determining 370 a second node second public key (P2S) based on at least the second node master public key (P1S) and the Generator Value (GV). The method 300 includes determining 380 the common secret (CS) based on the first node second private key (V2C) and the second node second public key (P2S).
Importantly, the same common secret (CS) can also be determined at the second node 7 by method 400. The method 400 includes determining 430 a first node second public key (P2C) based on the first node master public key (P1C) and the Generator Value (GV). The method 400 further include determining 470 a second node second private key (V2S) based on the second node master private key (V is) and the Generator Value (GV). The method 400 includes determining 480 the common secret (CS) based on the second node second private key (V2S) and the first node second public key (P2C).
The communications network 5 may include a local area network, a wide area network, cellular networks, radio communication network, the internet, etc. These networks, where data may be transmitted via communications medium such as electrical wire, fibre optic, or wirelessly may be susceptible to eavesdropping, such as by an eavesdropper 11. The method 300, 400 may allow the first node 3 and second node 7 to both independently determine a common secret without transmitting the common secret over the communications network 5.
Thus one advantage is that the common secret (CS) may be determined securely and independently by each node without having to transmit a private key over a potentially unsecure communications network 5. In turn, the common secret may be used as a secret key (or as the basis of a secret key).
The methods 300, 400 may include additional steps. See
Sharing the message (M) between the first and second nodes may be achieved in a variety of ways. In one example, the message may be generated at the first node 3 which is then sent, over the communications network 5, the second node 7. Alternatively, the message may be generated at the second node 7 and then sent, over the communications network 5, to the second node 7. In some examples, the message (M) may be public and therefore may be transmitted over an unsecure network 5. One or more messages (M) may be stored in a data store 13, 17, 19. The skilled person will realise that sharing of the message can be achieved in a variety of ways.
Advantageously, a record to allow recreation of the common secret (CS) may be kept without the record by itself having to be stored privately or transmitted securely.
An example of a method of registration 100, 200 will be described with reference to
The asymmetric cryptography pairs include associated private and public keys, such as those used in public-key encryption. In this example, the asymmetric cryptography pairs are generated using Elliptic Curve Cryptography (ECC) and properties of elliptic curve operations.
In the method 100, 200, this includes the first and second nodes agreeing 110, 210 on a common ECC system and using a base point (G). (Note: the base point could be referred to as a Common Generator, but the term ‘base point’ is used to avoid confusion with the Generator Value GV). In one example, the common ECC system may be based on secp256K1 which is an ECC system used by Bitcoin. The base point (G) may be selected, randomly generated, or assigned.
Turning now to the first node 3, the method 100 includes settling 110 on the common ECC system and base point (G). This may include receiving the common ECC system and base point from the second node 7, or a third node 9. Alternatively, a user interface 15 may be associated with the first node 3, whereby a user may selectively provide the common ECC system and/or base point (G). In yet another alternative one or both of the common ECC system and/or base point (G) may be randomly selected by the first node 3. The first node 3 may send, over the communications network 5, a notice indicative of using the common ECC system with a base point (G) to the second node 7. In turn, the second node 7 may settle 210 by sending a notice indicative of an acknowledgment to using the common ECC system and base point (G).
The method 100 also includes the first node 3 generating 120 a first asymmetric cryptography pair that includes the first node master private key (V1C) and the first node master public key (P1C). This includes generating the first master private key (V1C) based, at least in part, on a random integer in an allowable range specified in the common ECC system. This also includes determining the first node master public key (P1C) based on elliptic curve point multiplication of the first node master private key (P1C) and the base point (G) according to the formula:
P1C=V1C×G (Equation 1)
Thus the first asymmetric cryptography pair includes:
V1C: The first node master private key that is kept secret by the first node.
P1C: The first node master public key that is made publicly known.
The first node 3 may store the first node master private key (V1C) and the first node master public key (P1C) in a first data store 13 associated with the first node 3. For security, the first node master private key (V1C) may be stored in a secure portion of the first data store 13 to ensure the key remains private.
The method 100 further includes sending 130 the first node master public key (P1C), over the communications network 5, to the second node 7, as shown in
Similar to the first node 3, the method 200 of the second 7 includes generating 240 a second asymmetric cryptography pair that includes the second node master private key (V is) and the second node master public key (P1S). The second node master private key (V is) is also a random integer within the allowable range. In turn, the second node master public key (P1S) is determined by the following formula:
P1S=V1S×G (Equation 2)
Thus the second asymmetric cryptography pair includes:
V1S: The second node master private key that is kept secret by the second node.
P1S: The second node master public key that is made publicly known.
The second node 7 may store the second asymmetric cryptography pair in the second data store 17. The method 200 further includes sending 250 the second node master public key (P1S) to the first node 3. In turn, the first node 3 may receive 140 and stores 150 the second node master public key (P1S).
It is to be appreciated that in some alternatives, the respective public master keys may be received and stored at a third data store 19 associated with the third node 9 (such as a trusted third party). This may include a third party that acts as a public directory, such as a certification authority. Thus in some examples, the first node master public key (P1C) may requested and received by the second node 7 only when determining the common secret (CS) is required (and vice versa).
The registration steps may only need to occur once as an initial setup.
An example of determining a common secret (CS) will now be described with reference to
The following is provided for illustration of the secure transmission technique which has been described above.
In this example, the method 300 performed by the first node 3 includes generating 310 a message (M). The message (M) may be random, pseudo random, or user defined. In one example, the message (M) is based on Unix time and a nonce (and arbitrary value). For example, the message (M) may be provided as:
Message (M)=UnixTime+nonce (Equation 3)
In some examples, the message (M) is arbitrary. However it is to be appreciated that the message (M) may have selective values (such as Unix Time, etc) that may be useful in some applications.
The method 300 includes sending 315 the message (M), over the communications network 3, to the second node 7. The message (M) may be sent over an unsecure network as the message (M) does not include information on the private keys.
The method 300 further includes the step of determining 320 a Generator Value (GV) based on the message (M). In this example, this includes determining a cryptographic hash of the message. An example of a cryptographic hash algorithm includes SHA-256 to create a 256-bit Generator Value (GV). That is:
GV=SHA-256(M) (Equation 4)
It is to be appreciated that other hash algorithms may be used. This may include other has algorithms in the Secure Hash Algorithm (SHA) family. Some particular examples include instances in the SHA-3 subset, including SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128, SHAKE256. Other hash algorithms may include those in the RACE Integrity Primitives Evaluation Message Digest (RIPEMD) family. A particular example may include RIPEMD-160. Other hash functions may include families based on Zémor-Tillich hash function and knapsack-based hash functions.
The method 300 then includes the step 330 of determining 330 the first node second private key (V2C) based on the second node master private key (V1C) and the Generator Value (GV). This can be based on a scalar addition of the first node master private key (V1C) and the Generator Value (GV) according to the following formula:
V2C=V1C+GV (Equation 5)
Thus the first node second private key (V2C) is not a random value but is instead deterministically derived from the first node master private key. The corresponding public key in the cryptographic pair, namely the first node second public key (P2C), has the following relationship:
P2C=V2C×G (Equation 6)
Substitution of V2C from Equation 5 into Equation 6 provides:
P2C=(V1C+GV)×G (Equation 7)
where the ‘+’ operator refers to elliptic curve point addition. Noting that elliptic curve cryptography algebra is distributive, Equation 7 may be expressed as:
P2C=V1C×G+GV×G (Equation 8)
Finally, Equation 1 may be substituted into Equation 7 to provide:
P2C=P1C+GV×G (Equation 9.1)
P2C=P1C+SHA-256(M)×G (Equation 9.2)
Thus the corresponding first node second public key (P2C) can be derivable given knowledge of the first node master public key (P1C) and the message (M). The second node 7 may have such knowledge to independently determine the first node second public key (P2C) as will be discussed in further detail below with respect to the method 400.
The method 300 further includes generating 350 a first signed message (SM1) based on the message (M) and the determined first node second private key (V2C). Generating a signed message includes applying a digital signature algorithm to digitally sign the message (M). In one example, this includes applying the first node second private key (V2C) to the message in an Elliptic Curve Digital Signature Algorithm (ECDSA) to obtain the first signed message (SM1). Examples of ECDSA include those based on ECC systems with secp256k1, secp256r1, secp384r1, se3cp521r1.
The first signed message (SM1) can be verified with the corresponding first node second public key (P2C) at the second node 7. This verification of the first signed message (SM1) may be used by the second node 7 to authenticate the first node 3, which will be discussed in the method 400 below.
The first node 3 may then determine 370 a second node second public key (P2S). As discussed above, the second node second public key (P2S) may be based at least on the second node master public key (P1S) and the Generator Value (GV). In this example, since the public key is determined 370′ as the private key with elliptic curve point multiplication with the base point (G), the second node second public key (P2S) can be expressed, in a fashion similar to Equation 6, as:
P2S=V2S×G (Equation 10.1)
P2S=P1S+GV×G (Equation 10.2)
The mathematical proof for Equation 10.2 is the same as described above for deriving Equation 9.1 for the first node second public key (P2C). It is to be appreciated that the first node 3 can determine 370 the second node second public key independently of the second node 7.
The first node 3 may then determine 380 the common secret (CS) based on the determined first node second private key (V2C) and the determined second node second public key (P2S). The common secret (CS) may be determined by the first node 3 by the following formula:
S=V2C×P2S (Equation 11)
The corresponding method 400 performed at the second node 7 will now be described. It is to be appreciated that some of these steps are similar to those discussed above that were performed by the first node 3.
The method 400 includes receiving 410 the message (M), over the communications network 5, from the first node 3. This may include the message (M) sent by the first node 3 at step 315. The second node 7 then determines 420 a Generator Value (GV) based on the message (M). The step of determining 420 the Generator Value (GV) by the second node 7 is similar to the step 320 performed by the first node described above. In this example, the second node 7 performs this determining step 420 independent of the first node 3.
The next step includes determining 430 a first node second public key (P2C) based on the first node master public key (P1C) and the Generator Value (GV). In this example, since the public key is determined 430′ as the private key with elliptic curve point multiplication with the base point (G), the first node second public key (P2C) can be expressed, in a fashion similar to Equation 9, as:
P2C=V2C×G (Equation 12.1)
P2C=P1C+GV×G (Equation 12.2)
The mathematical proof for Equations 12.1 and 12.2 is the same as those discussed above for Equations 10.1 and 10.2.
The method 400 may include steps performed by the second node 7 to authenticate that the alleged first node 3, is the first node 3. As discussed previously, this includes receiving 440 the first signed message (SM1) from the first node 3. The second node 7 may then validate 450 the signature on the first signed message (SM1) with the first node second public key (P2C) that was determined at step 430.
Verifying the digital signature may be done in accordance with an Elliptic Curve Digital Signature Algorithm (ECDSA) as discussed above. Importantly, the first signed message (SM1) that was signed with the first node second private key (V2C) should only be correctly verified with the corresponding first node second public key (P2C), since V2C and P2C form a cryptographic pair. Since these keys are deterministic on the first node master private key (V1C) and the first node master public key (P1C) that were generated at registration of the first node 3, verifying first signed message (SM1) can be used as a basis of authenticating that an alleged first node sending the first signed message (SM1) is the same first node 3 during registration. Thus the second node 7 may further perform the step of authenticating (460) the first node 3 based on the result of validating (450) the first signed message.
The method 400 may further include the second node 7 determining 470 a second node second private key (V2S) based on the second node master private key (V1S) and the Generator Value (GV). Similar to step 330 performed by the first node 3, the second node second private key (V2S) can be based on a scalar addition of the second node master private key (V1S) and the Generator Value (GV) according to the following formulas:
V2S=V1S+GV (Equation 13.1)
V2S=V1S+SHA-256(M) (Equation 13.2)
The second node 7 may then, independent of the first node 3, determine 480 the common secret (CS) based on the second node second private key (V2S) and the first node second public key (P2C) based on the following formula:
S=V2S×P2C (Equation 14)
The common secret (CS) determined by the first node 3 is the same as the common secret (CS) determined at the second node 7. Mathematical proof that Equation 11 and Equation 14 provide the same common secret (CS) will now be described.
Turning to the common secret (CS) determined by the first node 3, Equation 10.1 can be substituted into Equation 11 as follows:
S=V2C×P2S (Equation 11)
S=V2C×(V2S×G)
S=(V2C×V2S)×G (Equation 15)
Turning to the common secret (CS) determined by the second node 7, Equation 12.1 can be substituted into Equation 14 as follows:
S=V2S×P2C (Equation 14)
S=V2S×(V2C×G)
S=(V2S×V2C)×G (Equation 16)
Since ECC algebra is commutative, Equation 15 and Equation 16 are equivalent, since:
S=(V2C×V2S)×G=(V2S×V2C)×G (Equation 17)
The common secret (CS) may now be used as a secret key, or as the basis of a secret key in a symmetric-key algorithm for secure communication between the first node 3 and second node 7.
The common secret (CS) may be in the form of an elliptic curve point (xs, ys). This may be converted into a standard key format using standard publicly known operations agreed by the nodes 3, 7. For example, the xs value may be a 256-bit integer that could be used as a key for AES256 encryption. It could also be converted into a 160-bit integer using RIPEMD160 for any applications requiring this length key.
The common secret (CS) may be determined as required. Importantly, the first node 3 does not need to store the common secret (CS) as this can be re-determined based on the message (M). In some examples, the message(s) (M) used may be stored in data store 13, 17, 19 (or other data store) without the same level of security as required for the master private keys. In some examples, the message (M) may be publicly available.
However depending on some application, the common secret (CS) could be stored in the first data store (X) associated with the first node provided the common secret (CS) is kept as secure as the first node master private key (V1C).
Advantageously, this technique can be used to determine multiple common secrets that may correspond to multiple secure secret keys based on a single master key cryptography pair.
For example, a series of successive Generator Values (GVs) may be determined, where each successive GV may be determined based on the preceding Generator Value (GV). For example, instead of repeating steps 310 to 370 and 410 to 470 to generate successive single-purpose keys, by prior agreement between the nodes, the previously used Generator Value (GV) can be rehashed repeatedly by both parties to establish a hierarchy of Generator Values. In effect, the Generator Value, based on the hash of a message (M), can be a next generation message (M′) for the next generation of Generator Value (GV′). Doing this allows successive generations of shared secrets to be calculated without the need for further protocol-establishment transmissions, in particular transmission of multiple messages for each generation of common secrets. The next generation common secret (CS′) can be computed as follows.
Firstly, both the first node 3 and the second node 7 independently determine the next generation of the Generator Value (GV′). This is similar to steps 320 and 420 but adapted with the following formulas:
M′=SHA-256(M) (Equation 18)
GV′=SHA-256(M′) (Equation 19.1)
GV′=SHA-256(SHA-256(M)) (Equation 19.2)
The first node 3 may then determine the next generation of the second node second public key (P2S′) and the first node second private key (V2C′) similar to steps 370 and 330 described above, but adapted with the following formulas:
P2S′=P1S+GV′×G (Equation 20.1)
V2C′=V1C+GV′ (Equation 20.2)
The second node 7 may then determine the next generation of the first node second public key (P2C′) and the second node second private key (V2S′) similar to steps 430 and 470 described above, but adapted with the following formulas:
P2C′=P1C+GV′×G (Equation 21.1)
V2S′=V1S+GV′ (Equation 21.2)
The first node 3 and the second node 7 may then each determine the next generation common secret (CS′). In particular, the first node 3 determines the next generation common secret (CS′) with the formula:
CS'=V2C°×P2S′ (Equation 22)
The second node 7 determines the next generation common secret (CS′) with the formula:
CS'=V2S′×P2C′ (Equation 23)
Further generations (CS″, CS′″, etc.) can be calculated in the same way to create a chain hierarchy. This technique requires that both the first node 3 and the second node 7 keep track of the original Message (M) or the originally calculated Generator Value (GV), and to which node it relates. As this is publicly known information there are no security issues regarding the retention of this information. Accordingly, this information might be kept on ‘hash tables’ (linking hash values to public keys) and distributed freely across the network 5 (for example using Torrent). Furthermore, if any individual common secret (CS) in the hierarchy is ever compromised, this does not affect the security of any other common secrets in the hierarchy provided the private keys V1C, V1S remain secure.
As well as a chain (linear) hierarchy as described above, a hierarchy in the form of a tree structure can be created. With a tree structure, a variety of keys for different purposes such as authentication keys, encryption keys, signing keys, payment keys, etc. may be determined whereby these keys are all linked to a single securely maintained master key. This is best illustrated in
In the chain hierarchy, each new ‘link’ (Public/Private key pair) is created by adding a multiply rehashed Message to the original master key. For example, (showing only the private key of the first node 3 for clarity):
V2C=V1C+SHA-256(M) (Equation 24)
V2C′=V1CSHA-256(SHA-256(M)) (Equation 25)
V2C″=V1CSHA-256(SHA-256(SHA-256(M))) (Equation 26)
. . . and so on.
To create a branch, any key can be used as a sub-master key. For example V2C′ can be used as a sub-master key (V3C) by adding the hash to it as is done for the regular master key:
V3C=V2C′+SHA-256(M) (Equation 27)
The sub-master key (V3C) may itself have a next generation key (V3C′), for example:
V3C′=V2C′+SHA-256(SHA-256(M)) (Equation 28)
This provides a tree structure 903 using the master key spawning method as shown in
In this method all the nodes in the tree (public/private key pairs) are generated as a chain (or in any other way) and the logical relationships between the nodes in the tree is maintained by a table in which each node in the tree is simply associated with its parent node in the tree using a pointer. Thus the pointer may be used to determine the relevant public/private key pairs for determining the common secret key (CS) for the session.
New private/public key pairs can be generated by introducing a new message at any point in the chain or tree. The message itself may be arbitrary or may carry some meaning or function (e.g. it might be related to a ‘real’ bank account number, etc). It may be desirable that such new messages for forming the new private/public key pairs are securely retained.
The present invention can utilise a computing resource or agent (which may sometimes be referred to as an ‘oracle’) to perform automated aspects of the contract process. An example of a suitable agent is provided below, although other implementations may be used.
The agent may operate in conjunction with the blockchain, using it as the non-erasable tape in the implementation of a Turing machine. This agent runs in parallel with the blockchain network, overseeing and handling the execution of a (looping) process. The looping process is designed to perform a given task such as, for example, the automation of a process or control of a device or system. This parallel resource monitors the state of the blockchain and can cause transactions to be written to the blockchain. In one sense, it utilises the Blockchain as a non-erasable tape of the Turing Machine, with the following definitions and features:
An important function of the agent is to act as an automated entity that monitors the current state of the Blockchain. It can also receive a signal or input from any off-block source. Depending on the Blockchain state and/or a received input, the agent may perform certain actions. The agent decides which action(s) are to be performed. These may or may not involve actions in the ‘real world’ (i.e. off block) and/or actions on the Blockchain (such as creating and broadcasting new transactions). The action that the agent takes may be triggered by the Blockchain state. The agent may also decide on the next set of transactions to be broadcast to the Bitcoin network, and subsequently written to the Blockchain.
The agent's action(s) run in parallel and simultaneously to the Blockchain (eg Bitcoin) network. In a sense, this extends the function of blockchain (eg Bitcoin) script. This continuous monitoring implements the ‘loop’ control-flow constructs making the combined agent and Blockchain system Turing Complete.
The Turing Machine includes two stacks:
The separation of the control stack from the data stack provides the advantage of preventing infinite loops from occurring within the Bitcoin core, mitigating denial-of-service attacks.
The agent manages and runs subroutines that are able to loop via any type of loop construct (e.g. FOR-NEXT; REPEAT UNTIL; etc). An illustrative embodiment described herein includes a process using one example of the ‘repeat’ construct. The user may specify the index (i) and the limit (J). These represent the current iteration number (typically counted starting from 0) and the total number of iterations of the repeat loop respectively.
For each iteration:
The body of the loop includes a code block. Each code block contains a “If condition then action” (ICTA) statement. This monitors the current state of the Blockchain for transactions matching the:
The ICTA statement enables the agent to decide on the next transaction to make, based on the current state of the blockchain. Making the next transaction involves broadcasting the transaction onto the Bitcoin network, and writing the new transaction onto the Blockchain. This acts as a record that this iteration has been executed. Once the transaction has been written onto the Blockchain, the Manager will subsequently find that the previous iteration has been executed and written onto the Blockchain, and will execute the next iteration. The latter continues until the repeat loop exits when the index (i) reaches the limit (J) specified in the code block.
Each transaction is saved in the blockchain in a way that can be reused. In a Bitcoin implementation, each signature in a transaction is appended with a SIGHASH flag. This flag can take on different values, each indicating whether other parts of the transaction can be amended without involvement of the owner of this signature. A reusable transaction has the SIGHASH flag ‘SigHash AnyoneCanPay’ in one of the transaction inputs. This permits anyone to contribute to the inputs of the transaction. This parameter enables the agent's ICTA function to be executed and repeated multiple times and with different inputs. Use of the function can be restricted to authorised parties—for example, via copyright of the reusable transaction.
The ‘If condition’ section of the ICTA code block can monitor any type of condition. This is similar to other programming languages (e.g. C, C++, Java) and not limited to information stored on the Blockchain. For example, it could monitor the date and time (i.e. when a certain date and time are reached) or monitor the weather (i.e. when the temperature is below 10° C. and it is raining), monitor the conditions of a contract or a trust (i.e. when company A buys company B).
The ‘Then action’ section of the ICTA code block can execute a number of actions. The invention is not limited with regard to the number or type of actions that can be taken. The action is not limited to a transaction on the Blockchain, although a transaction containing metadata related to the action may be written on the Blockchain.
The metadata can be of any form. However, in one embodiment, the metadata may store a hyperlink to a file containing more data or instructions relating to the action. The metadata may store both a hyperlink to a hash table containing more data or instructions relating to the action along with a hash of the action that acts as the loop-up key for the hash table.
The agent's control stack can be implemented in a number of ways that are specific to the needs of each user. For example, the repeat loop of the control stack can be based on any Turing Complete language. One possible choice of language is the Forth style stack-based language. An advantage of using this language is that it keeps the control stack consistent in programming style with the Bitcoin scripts which are already known and in wide usage.
The Bitcoin script contains commands, also called op codes, which enable users to move data onto an alternative stack, known as the ‘alt stack’.
The op codes are:
This enables data from intermediate steps of calculations to be stored in the alt stack, similar to the ‘memory’ function which allows data to be stored on the calculator. In one embodiment, the alt stack is used for configuring bitcoin scripts to solve small computation tasks and returning the results in the computation.
The agent also manages a registry of all the codes that it owns and runs. This registry is structured like a lookup table or dictionary that maps a specific key to a specific value. The key and value pair is represented by the hash of the code block (H1) and the IPv6 address of where the code is stored respectively. To retrieve the code block using the key H1, the lookup table is used to retrieve the associated value (this is the location where the code is stored) and retrieves the source code accordingly. The implementation of the code registry can vary.
Information required to respawn the agent's loop at a particular iteration is stored as metadata in the transaction recorded on the Blockchain.
In this way, a transaction on the blockchain stores or provides access to information about a given iteration of the loop which is being executed on the agent. This information can include the values of any variables associated with the loop, such as index i, and any other necessary information such as values for parameters used in the code block or location-related data specifying where further required information can be accessed.
The metadata itself is stored as part of a multi-signature pay-to-script-hash script (P2SH) in the transaction. The metadata recorded with the transaction also gives the ability to record an audit trail of how the code has been executed in the past.
There are several ways in which the agent could respawn the repeat loop code block at each iteration. The code block might be hard-coded into the agent itself, or could be stored in a private or publicly available file, or stored as an entry on a private or public hash table file, or a combination of the above. The code block could be static with hard-coded variables or could be static but contain parameter(s) that can be populated. The parameters could be single values of any data format, or could be small chunks of code, or be combinations of the above. The parameters could be populated by retrieving them directly from metadata in a transaction (e.g. bitcoin transaction) or from an external source such as an internal database or a private/public file or hash table or any combination of the above. Pointers to the external source of parameter values might be stored in metadata in a transaction.
The following steps provide one example of how the agent can respawn a repeat loop code block at the ith iteration. In this example, the code registry is a hash table whereby the hash values act as look-up keys for the table and are stored in metadata on transactions.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be capable of designing many alternative embodiments without departing from the scope of the invention as defined by the appended claims. In the claims, any reference signs placed in parentheses shall not be construed as limiting the claims. The word “comprising” and “comprises”, and the like, does not exclude the presence of elements or steps other than those listed in any claim or the specification as a whole. In the present specification, “comprises” means “includes or consists of” and “comprising” means “including or consisting of”. The singular reference of an element does not exclude the plural reference of such elements and vice-versa. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In a device claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
Number | Date | Country | Kind |
---|---|---|---|
1603114 | Feb 2016 | GB | national |
1603117 | Feb 2016 | GB | national |
1603123 | Feb 2016 | GB | national |
1603125 | Feb 2016 | GB | national |
1604225 | Mar 2016 | GB | national |
1605571 | Apr 2016 | GB | national |
1606630 | Apr 2016 | GB | national |
1607249 | Apr 2016 | GB | national |
1619301 | Nov 2016 | GB | national |
Number | Name | Date | Kind |
---|---|---|---|
5535276 | Ganesan | Jul 1996 | A |
5600725 | Rueppel et al. | Feb 1997 | A |
5761305 | Vanstone et al. | Jun 1998 | A |
5867578 | Brickell et al. | Feb 1999 | A |
5889865 | Vanstone et al. | Mar 1999 | A |
5896455 | Vanstone et al. | Apr 1999 | A |
5920630 | Wertheimer et al. | Jul 1999 | A |
5933504 | Vanstone et al. | Aug 1999 | A |
6061449 | Candelore et al. | May 2000 | A |
6078667 | Johnson | Jun 2000 | A |
6118874 | Okamoto et al. | Sep 2000 | A |
6122736 | Vanstone et al. | Sep 2000 | A |
6141420 | Vanstone et al. | Oct 2000 | A |
6286098 | Wenig et al. | Sep 2001 | B1 |
6487660 | Vanstone et al. | Nov 2002 | B1 |
6490352 | Schroeppel | Dec 2002 | B1 |
6618483 | Vanstone et al. | Sep 2003 | B1 |
6662299 | Price, III | Dec 2003 | B1 |
6704870 | Vanstone et al. | Mar 2004 | B2 |
6785813 | Vanstone et al. | Aug 2004 | B1 |
6792530 | Qu et al. | Sep 2004 | B1 |
6819766 | Weidong | Nov 2004 | B1 |
6876745 | Kurumatani | Apr 2005 | B1 |
7003665 | Dultz et al. | Feb 2006 | B1 |
7006633 | Reece | Feb 2006 | B1 |
7095851 | Scheidt | Aug 2006 | B1 |
7181017 | Nagel et al. | Feb 2007 | B1 |
7912747 | Sachedina | Mar 2011 | B2 |
7929702 | Brown et al. | Apr 2011 | B2 |
7970135 | Schwenk | Jun 2011 | B1 |
8166481 | Dadiomov et al. | Apr 2012 | B2 |
8401185 | Telang | Mar 2013 | B1 |
8520855 | Kohno et al. | Aug 2013 | B1 |
8522011 | Spalka et al. | Aug 2013 | B2 |
8855318 | Patnala et al. | Oct 2014 | B1 |
9209980 | Bowman et al. | Dec 2015 | B2 |
9251531 | Sarkissian | Feb 2016 | B2 |
9258130 | Hwang et al. | Feb 2016 | B2 |
9298806 | Vessenes et al. | Mar 2016 | B1 |
9350549 | Lumb | May 2016 | B2 |
9436923 | Sriram et al. | Sep 2016 | B1 |
9641338 | Sriram et al. | May 2017 | B2 |
9673975 | Machani | Jun 2017 | B1 |
9961030 | Murphy et al. | May 2018 | B2 |
10050779 | Alness et al. | Aug 2018 | B2 |
10068228 | Winklevoss et al. | Sep 2018 | B1 |
10354325 | Skala et al. | Jul 2019 | B1 |
10510053 | Armstrong | Dec 2019 | B2 |
10516527 | Machani et al. | Dec 2019 | B1 |
10659223 | Wright et al. | May 2020 | B2 |
10719816 | Kurani | Jul 2020 | B1 |
11115196 | Triandopoulos et al. | Sep 2021 | B1 |
11188907 | Vijayvergia et al. | Nov 2021 | B1 |
11210663 | Voorhees | Dec 2021 | B2 |
11372455 | Gauthier, Jr. | Jun 2022 | B2 |
11455378 | Wright et al. | Sep 2022 | B2 |
11663609 | Christidis et al. | May 2023 | B2 |
11727501 | Wright | Aug 2023 | B2 |
20010002486 | Kocher et al. | May 2001 | A1 |
20010050990 | Sudia | Dec 2001 | A1 |
20020112171 | Ginter et al. | Aug 2002 | A1 |
20020198791 | Perkowski | Dec 2002 | A1 |
20030026432 | Woodward | Feb 2003 | A1 |
20030046202 | Knapp | Mar 2003 | A1 |
20030048906 | Vora et al. | Mar 2003 | A1 |
20030081785 | Boneh et al. | May 2003 | A1 |
20030188153 | Demoff et al. | Oct 2003 | A1 |
20040030932 | Juels et al. | Feb 2004 | A1 |
20040049687 | Orsini et al. | Mar 2004 | A1 |
20040078775 | Chow et al. | Apr 2004 | A1 |
20040111484 | Young et al. | Jun 2004 | A1 |
20040190181 | Tikosaka et al. | Sep 2004 | A1 |
20040193890 | Girault | Sep 2004 | A1 |
20040252831 | Jehara | Dec 2004 | A1 |
20050071283 | Randle et al. | Mar 2005 | A1 |
20050094806 | Jao et al. | May 2005 | A1 |
20050138374 | Zheng et al. | Jun 2005 | A1 |
20060023887 | Agrawal et al. | Feb 2006 | A1 |
20060034494 | Holloran | Feb 2006 | A1 |
20060153365 | Beeson | Jul 2006 | A1 |
20060153366 | Beeson | Jul 2006 | A1 |
20060153367 | Beeson | Jul 2006 | A1 |
20060153368 | Beeson | Jul 2006 | A1 |
20060153370 | Beeson | Jul 2006 | A1 |
20060156012 | Beeson | Jul 2006 | A1 |
20060156013 | Beeson | Jul 2006 | A1 |
20060161485 | Meldahl | Jul 2006 | A1 |
20060173788 | Nath Pandya et al. | Aug 2006 | A1 |
20060179319 | Krawczyk | Aug 2006 | A1 |
20060242038 | Giudilli | Oct 2006 | A1 |
20060248114 | Anderson et al. | Nov 2006 | A1 |
20070055880 | Lauter et al. | Mar 2007 | A1 |
20070165843 | Lauter et al. | Jul 2007 | A1 |
20070192842 | Beaulieu et al. | Aug 2007 | A1 |
20070223706 | Gantman et al. | Sep 2007 | A1 |
20070265978 | Kahn et al. | Nov 2007 | A1 |
20070269040 | Yuval et al. | Nov 2007 | A1 |
20070276836 | Chatterjee et al. | Nov 2007 | A1 |
20070288320 | Cooper et al. | Dec 2007 | A1 |
20080048022 | Vawter | Feb 2008 | A1 |
20080082817 | Takahashi et al. | Apr 2008 | A1 |
20080101596 | Cerruti et al. | May 2008 | A1 |
20080137857 | Bellare et al. | Jun 2008 | A1 |
20080144836 | Sanders et al. | Jun 2008 | A1 |
20080165955 | Ibrahim | Jul 2008 | A1 |
20080195499 | Meredith et al. | Aug 2008 | A1 |
20080260143 | Ibrahim | Oct 2008 | A1 |
20080263357 | Boyen | Oct 2008 | A1 |
20080285759 | Shaw | Nov 2008 | A1 |
20080288773 | Nguyen et al. | Nov 2008 | A1 |
20090022311 | Vanstone et al. | Jan 2009 | A1 |
20090048979 | Al-Herz et al. | Feb 2009 | A1 |
20090074179 | Futa et al. | Mar 2009 | A1 |
20090161876 | Sherkin | Jun 2009 | A1 |
20090282243 | Rose et al. | Nov 2009 | A1 |
20100005302 | Vishnu et al. | Jan 2010 | A1 |
20100023771 | Struik | Jan 2010 | A1 |
20100031369 | Grummt | Feb 2010 | A1 |
20100037055 | Fazio et al. | Feb 2010 | A1 |
20100042839 | Ho | Feb 2010 | A1 |
20100054458 | Schneider | Mar 2010 | A1 |
20100054480 | Schneider | Mar 2010 | A1 |
20100131752 | Flegel | May 2010 | A1 |
20100131755 | Zhu et al. | May 2010 | A1 |
20100134848 | Lynggaard et al. | Jun 2010 | A1 |
20100146292 | Shi et al. | Jun 2010 | A1 |
20100150341 | Dodgson et al. | Jun 2010 | A1 |
20100172501 | Tian et al. | Jul 2010 | A1 |
20100199095 | Ho | Aug 2010 | A1 |
20100217986 | Schneider | Aug 2010 | A1 |
20100228973 | Dancer et al. | Sep 2010 | A1 |
20100241848 | Smith et al. | Sep 2010 | A1 |
20100268778 | Kim et al. | Oct 2010 | A1 |
20110016510 | Matsuda et al. | Jan 2011 | A1 |
20110022854 | Macchetti et al. | Jan 2011 | A1 |
20110058672 | Sannino et al. | Mar 2011 | A1 |
20110202773 | Ghouti et al. | Aug 2011 | A1 |
20110208790 | Brown et al. | Aug 2011 | A1 |
20110208970 | Brown et al. | Aug 2011 | A1 |
20110246766 | Orsini et al. | Oct 2011 | A1 |
20110307698 | Vanstone | Dec 2011 | A1 |
20110311051 | Resch et al. | Dec 2011 | A1 |
20120011362 | Lambert | Jan 2012 | A1 |
20120039474 | Ho | Feb 2012 | A1 |
20120090026 | Andrews et al. | Apr 2012 | A1 |
20120100833 | Gao | Apr 2012 | A1 |
20120198228 | Oberheide et al. | Aug 2012 | A1 |
20120214441 | Raleigh | Aug 2012 | A1 |
20120233674 | Gladstone et al. | Sep 2012 | A1 |
20120243687 | Li et al. | Sep 2012 | A1 |
20120284794 | Trent et al. | Nov 2012 | A1 |
20120290830 | Resch et al. | Nov 2012 | A1 |
20120331287 | Bowman et al. | Dec 2012 | A1 |
20130030941 | Meredith et al. | Jan 2013 | A1 |
20130034642 | Eckstrom | Feb 2013 | A1 |
20130051552 | Handschuh et al. | Feb 2013 | A1 |
20130061049 | Irvine | Mar 2013 | A1 |
20130077783 | Anshel et al. | Mar 2013 | A1 |
20130103945 | Cannon et al. | Apr 2013 | A1 |
20130159413 | Davis et al. | Jun 2013 | A1 |
20130177157 | Li et al. | Jul 2013 | A1 |
20130191632 | Spector et al. | Jul 2013 | A1 |
20130198104 | Parker | Aug 2013 | A1 |
20130287210 | Matsuda et al. | Oct 2013 | A1 |
20130304642 | Campos | Nov 2013 | A1 |
20130305057 | Greco et al. | Nov 2013 | A1 |
20130305333 | Katzer et al. | Nov 2013 | A1 |
20130318578 | Palagummi | Nov 2013 | A1 |
20130318588 | Metzger | Nov 2013 | A1 |
20140012751 | Kuhn et al. | Jan 2014 | A1 |
20140046792 | Ganesan | Feb 2014 | A1 |
20140068246 | Hartley et al. | Mar 2014 | A1 |
20140082358 | Nakhjiri et al. | Mar 2014 | A1 |
20140108473 | Nowoczynski et al. | Apr 2014 | A1 |
20140129441 | Blanco et al. | May 2014 | A1 |
20140129844 | Johnson et al. | May 2014 | A1 |
20140132620 | Kim | May 2014 | A1 |
20140188719 | Poornachandran et al. | Jul 2014 | A1 |
20140195425 | Campos et al. | Jul 2014 | A1 |
20140223580 | Neivanov et al. | Aug 2014 | A1 |
20140250006 | Makhotin et al. | Sep 2014 | A1 |
20140270401 | Irwin et al. | Sep 2014 | A1 |
20140330923 | Baptist et al. | Nov 2014 | A1 |
20150006386 | Tebbe | Jan 2015 | A1 |
20150024764 | Dochow et al. | Jan 2015 | A1 |
20150039470 | Crites | Feb 2015 | A1 |
20150052369 | Koning et al. | Feb 2015 | A1 |
20150066748 | Winslow et al. | Mar 2015 | A1 |
20150086020 | Harjula et al. | Mar 2015 | A1 |
20150089616 | Brezinski et al. | Mar 2015 | A1 |
20150095648 | Nix | Apr 2015 | A1 |
20150120567 | Van Rooyen et al. | Apr 2015 | A1 |
20150120569 | Belshe et al. | Apr 2015 | A1 |
20150124961 | Lambert et al. | May 2015 | A1 |
20150154562 | Emmerson | Jun 2015 | A1 |
20150170112 | DeCastro | Jun 2015 | A1 |
20150188698 | Tsai | Jul 2015 | A1 |
20150188700 | Ben Saied et al. | Jul 2015 | A1 |
20150205929 | Brama | Jul 2015 | A1 |
20150206106 | Yago | Jul 2015 | A1 |
20150213433 | Khan | Jul 2015 | A1 |
20150215336 | Navaraj et al. | Jul 2015 | A1 |
20150244690 | Mossbarger | Aug 2015 | A1 |
20150254463 | Ryhorchuk et al. | Sep 2015 | A1 |
20150254639 | Radu | Sep 2015 | A1 |
20150256347 | Tseng et al. | Sep 2015 | A1 |
20150262139 | Shtylman | Sep 2015 | A1 |
20150262140 | Armstrong | Sep 2015 | A1 |
20150269570 | Phan et al. | Sep 2015 | A1 |
20150278780 | Vaidyanathan et al. | Oct 2015 | A1 |
20150294425 | Benson | Oct 2015 | A1 |
20150296570 | Altamura et al. | Oct 2015 | A1 |
20150302401 | Metral | Oct 2015 | A1 |
20150304302 | Zhang | Oct 2015 | A1 |
20150310497 | Valin et al. | Oct 2015 | A1 |
20150324764 | Van Rooyen et al. | Nov 2015 | A1 |
20150324789 | Dvorak et al. | Nov 2015 | A1 |
20150332224 | Melika et al. | Nov 2015 | A1 |
20150332395 | Walker et al. | Nov 2015 | A1 |
20150348017 | Allmen | Dec 2015 | A1 |
20150349958 | Lindell | Dec 2015 | A1 |
20150350171 | Brumley | Dec 2015 | A1 |
20150356523 | Madden | Dec 2015 | A1 |
20150363768 | Melika et al. | Dec 2015 | A1 |
20150363770 | Ronca et al. | Dec 2015 | A1 |
20150363773 | Ronca et al. | Dec 2015 | A1 |
20150363777 | Ronca et al. | Dec 2015 | A1 |
20150371224 | Lingappa | Dec 2015 | A1 |
20150379510 | Smith | Dec 2015 | A1 |
20150381729 | Manohar et al. | Dec 2015 | A1 |
20160012465 | Sharp | Jan 2016 | A1 |
20160026918 | Barbieri et al. | Jan 2016 | A1 |
20160027229 | Spanos et al. | Jan 2016 | A1 |
20160028552 | Spanos et al. | Jan 2016 | A1 |
20160055511 | Chidella et al. | Feb 2016 | A1 |
20160055583 | Liberty et al. | Feb 2016 | A1 |
20160065370 | Le Saint et al. | Mar 2016 | A1 |
20160071108 | Caldera et al. | Mar 2016 | A1 |
20160085955 | Lerner | Mar 2016 | A1 |
20160086175 | Finlow-Bates et al. | Mar 2016 | A1 |
20160092870 | Salama et al. | Mar 2016 | A1 |
20160092988 | Letourneau | Mar 2016 | A1 |
20160098723 | Feeney | Apr 2016 | A1 |
20160132684 | Barbas et al. | May 2016 | A1 |
20160140335 | Proulx et al. | May 2016 | A1 |
20160149878 | Pogorelik et al. | May 2016 | A1 |
20160162897 | Feeney | Jun 2016 | A1 |
20160203522 | Shiffert et al. | Jul 2016 | A1 |
20160203572 | Mcconaghy et al. | Jul 2016 | A1 |
20160210617 | Leger | Jul 2016 | A1 |
20160234026 | Wilkins et al. | Aug 2016 | A1 |
20160260171 | Ford et al. | Sep 2016 | A1 |
20160261408 | Peddada et al. | Sep 2016 | A1 |
20160261565 | Lorenz et al. | Sep 2016 | A1 |
20160261690 | Ford | Sep 2016 | A1 |
20160269182 | Sriram et al. | Sep 2016 | A1 |
20160275294 | Irvine | Sep 2016 | A1 |
20160275492 | Brickell et al. | Sep 2016 | A1 |
20160283941 | Andrade | Sep 2016 | A1 |
20160292672 | Fay et al. | Oct 2016 | A1 |
20160294562 | Oberheide et al. | Oct 2016 | A1 |
20160321434 | McCoy et al. | Nov 2016 | A1 |
20160335533 | Davis et al. | Nov 2016 | A1 |
20160335924 | Ikarashi et al. | Nov 2016 | A1 |
20160337119 | Hosaka et al. | Nov 2016 | A1 |
20160337124 | Rozman | Nov 2016 | A1 |
20160342977 | Lam | Nov 2016 | A1 |
20160342984 | Thomas et al. | Nov 2016 | A1 |
20160342994 | Davis | Nov 2016 | A1 |
20160344543 | Alness et al. | Nov 2016 | A1 |
20160350749 | Wilkins et al. | Dec 2016 | A1 |
20160352518 | Ford et al. | Dec 2016 | A1 |
20160379208 | Deliwala et al. | Dec 2016 | A1 |
20160381010 | Bhandari et al. | Dec 2016 | A1 |
20170005804 | Zinder | Jan 2017 | A1 |
20170011394 | Kumar et al. | Jan 2017 | A1 |
20170012948 | Peeters et al. | Jan 2017 | A1 |
20170017936 | Bisikalo et al. | Jan 2017 | A1 |
20170024817 | Wager et al. | Jan 2017 | A1 |
20170046664 | Haldenby et al. | Feb 2017 | A1 |
20170046668 | Rowley et al. | Feb 2017 | A1 |
20170046693 | Haldenby | Feb 2017 | A1 |
20170046698 | Haldenby et al. | Feb 2017 | A1 |
20170046792 | Haldenby et al. | Feb 2017 | A1 |
20170046806 | Haldenby et al. | Feb 2017 | A1 |
20170061138 | Lambert | Mar 2017 | A1 |
20170061833 | Joye et al. | Mar 2017 | A1 |
20170075877 | Lepeltier | Mar 2017 | A1 |
20170083907 | McDonough et al. | Mar 2017 | A1 |
20170083910 | Kraemer et al. | Mar 2017 | A1 |
20170091148 | Takahashi | Mar 2017 | A1 |
20170091750 | Maim | Mar 2017 | A1 |
20170091764 | Lloyd et al. | Mar 2017 | A1 |
20170103385 | Wilson, Jr. et al. | Apr 2017 | A1 |
20170109540 | Heiman et al. | Apr 2017 | A1 |
20170116608 | Forzley et al. | Apr 2017 | A1 |
20170124348 | Pourzandi et al. | May 2017 | A1 |
20170132620 | Miller et al. | May 2017 | A1 |
20170132621 | Miller et al. | May 2017 | A1 |
20170148016 | Davis | May 2017 | A1 |
20170154331 | Voorhees | Jun 2017 | A1 |
20170154391 | Watkins et al. | Jun 2017 | A1 |
20170169403 | Zhang | Jun 2017 | A1 |
20170178237 | Wong | Jun 2017 | A1 |
20170178263 | Kraemer et al. | Jun 2017 | A1 |
20170185527 | Ueda | Jun 2017 | A1 |
20170187535 | Middleton et al. | Jun 2017 | A1 |
20170200137 | Vilmont | Jul 2017 | A1 |
20170228547 | Smith et al. | Aug 2017 | A1 |
20170243193 | Manian et al. | Aug 2017 | A1 |
20170243214 | Johnsrud | Aug 2017 | A1 |
20170250801 | Chen et al. | Aug 2017 | A1 |
20170300877 | Mann et al. | Oct 2017 | A1 |
20170308580 | Naganuma et al. | Oct 2017 | A1 |
20170316390 | Smith et al. | Nov 2017 | A1 |
20170324663 | Menase | Nov 2017 | A1 |
20170324715 | Frincu et al. | Nov 2017 | A1 |
20180025670 | Karashi et al. | Jan 2018 | A1 |
20180034810 | Pe'Er et al. | Feb 2018 | A1 |
20180109377 | Fu | Apr 2018 | A1 |
20180123780 | Ikarashi | May 2018 | A1 |
20180131512 | Gajek | May 2018 | A1 |
20180146367 | Altin et al. | May 2018 | A1 |
20180176017 | Rodriguez et al. | Jun 2018 | A1 |
20180176222 | Bhaskar et al. | Jun 2018 | A1 |
20180225431 | Ikarashi et al. | Aug 2018 | A1 |
20180240107 | Andrade | Aug 2018 | A1 |
20180247191 | Katz et al. | Aug 2018 | A1 |
20180276663 | Arora | Sep 2018 | A1 |
20180285840 | Hasan | Oct 2018 | A1 |
20180341648 | Kakavand et al. | Nov 2018 | A1 |
20180349572 | Chen et al. | Dec 2018 | A1 |
20180367298 | Wright et al. | Dec 2018 | A1 |
20180376318 | Wang et al. | Dec 2018 | A1 |
20190014094 | Le Saint | Jan 2019 | A1 |
20190034936 | Nolan et al. | Jan 2019 | A1 |
20190080321 | Mundis et al. | Mar 2019 | A1 |
20190080404 | Molinari et al. | Mar 2019 | A1 |
20190080406 | Molinari et al. | Mar 2019 | A1 |
20190130368 | Li et al. | May 2019 | A1 |
20190149337 | Savanah et al. | May 2019 | A1 |
20190158470 | Wright et al. | May 2019 | A1 |
20190188793 | Molinari et al. | Jun 2019 | A1 |
20190199531 | Staples et al. | Jun 2019 | A1 |
20190220859 | Weight et al. | Jul 2019 | A1 |
20190229911 | Allen | Jul 2019 | A1 |
20190238334 | Nakamura | Aug 2019 | A1 |
20190244186 | Guo et al. | Aug 2019 | A1 |
20190266132 | Rubenstein | Aug 2019 | A1 |
20190305863 | Fayyad | Oct 2019 | A1 |
20190340352 | Peeters et al. | Nov 2019 | A1 |
20190349733 | Nolan et al. | Nov 2019 | A1 |
20190378139 | Stribady et al. | Dec 2019 | A1 |
20190392118 | Elden et al. | Dec 2019 | A1 |
20190392536 | Rice | Dec 2019 | A1 |
20200026785 | Patangia et al. | Jan 2020 | A1 |
20200250176 | Padmanabhan | Aug 2020 | A1 |
20200285935 | Song et al. | Sep 2020 | A1 |
20210056070 | Kakavand et al. | Feb 2021 | A1 |
20210194677 | Pourzandi et al. | Jun 2021 | A1 |
20210304198 | Lingappa | Sep 2021 | A1 |
20210409489 | Speasl et al. | Dec 2021 | A1 |
Number | Date | Country |
---|---|---|
2016100059 | Mar 2016 | AU |
2867765 | Apr 2016 | CA |
1262007 | Aug 2000 | CN |
101447980 | Jun 2009 | CN |
101477669 | Jul 2009 | CN |
102144371 | Aug 2011 | CN |
102938036 | Feb 2013 | CN |
103440209 | Dec 2013 | CN |
103795529 | May 2014 | CN |
103927656 | Jul 2014 | CN |
104320262 | Jan 2015 | CN |
104331516 | Feb 2015 | CN |
104392354 | Mar 2015 | CN |
104463001 | Mar 2015 | CN |
104620535 | May 2015 | CN |
104704504 | Jun 2015 | CN |
105204802 | Dec 2015 | CN |
105306194 | Feb 2016 | CN |
105323064 | Feb 2016 | CN |
106022917 | Oct 2016 | CN |
106411503 | Feb 2017 | CN |
102010002241 | Mar 2012 | DE |
1477882 | Nov 2004 | EP |
2237473 | Oct 2010 | EP |
2538606 | Dec 2012 | EP |
2975570 | Jan 2016 | EP |
3010176 | Apr 2016 | EP |
3018370 | Sep 2015 | FR |
3018377 | Sep 2015 | FR |
3018378 | Sep 2015 | FR |
3018379 | Sep 2015 | FR |
H11239124 | Aug 1999 | JP |
H11289324 | Oct 1999 | JP |
2000502553 | Feb 2000 | JP |
2001069566 | Mar 2001 | JP |
2001195479 | Jul 2001 | JP |
2002026895 | Jan 2002 | JP |
2004192587 | Jul 2004 | JP |
2004246882 | Sep 2004 | JP |
2004341152 | Dec 2004 | JP |
2006293764 | Oct 2006 | JP |
2007036910 | Feb 2007 | JP |
2007067631 | Mar 2007 | JP |
2007242221 | Sep 2007 | JP |
2008136063 | Jun 2008 | JP |
2008146601 | Jun 2008 | JP |
2009105824 | May 2009 | JP |
2009171292 | Jul 2009 | JP |
2009526411 | Jul 2009 | JP |
2010503320 | Jan 2010 | JP |
2010219912 | Sep 2010 | JP |
2011082662 | Apr 2011 | JP |
2011211461 | Oct 2011 | JP |
2012515393 | Jul 2012 | JP |
2014068140 | Apr 2014 | JP |
2014153583 | Aug 2014 | JP |
2015536617 | Dec 2015 | JP |
5858506 | Feb 2016 | JP |
5858507 | Feb 2016 | JP |
2019512909 | May 2019 | JP |
20110012085 | Feb 2011 | KR |
101544722 | Aug 2015 | KR |
101579232 | Jan 2016 | KR |
20160009716 | Jan 2016 | KR |
2015108134 | Oct 2016 | RU |
2015109271 | Oct 2016 | RU |
201202975 | Jan 2012 | TW |
2005096542 | Oct 2005 | WO |
2005107141 | Nov 2005 | WO |
2007113040 | Oct 2007 | WO |
2012039474 | Mar 2012 | WO |
2012054785 | Apr 2012 | WO |
2013034278 | Mar 2013 | WO |
2013053058 | Apr 2013 | WO |
2015127789 | Sep 2015 | WO |
2015142765 | Sep 2015 | WO |
2015171580 | Nov 2015 | WO |
2015175854 | Nov 2015 | WO |
2015188151 | Dec 2015 | WO |
2015194798 | Dec 2015 | WO |
2016022864 | Feb 2016 | WO |
2016137360 | Sep 2016 | WO |
2016137499 | Sep 2016 | WO |
2016161073 | Oct 2016 | WO |
2017006134 | Jan 2017 | WO |
2017112664 | Jun 2017 | WO |
Entry |
---|
Smart Contracts Copyright (c) 1994 by Nick Szabo (Year: 1994). |
Abeikverdi et al., “Generating interactive, secure multiple ECC key pairs deterministically,” StackExchange, http://crypto.stackexchange.com/questions/25191/generating-interactivesecure-multiple-ecc-key-pairs-deterministically, Apr. 23, 2015 [retrieved Dec. 26, 2016], 2 pages. |
Akutsu et al., “Taking on the challenge of creating epoch-making services that impress users. For services that can share the excitement of competitions around the world,” NTT Technical Journal 27(5):10-14, May 1, 2015. |
Allison, “Symbiont's Adam Krellenstein: There's really only two smart contract systems—Ethereum's and ours,” International Business Times, https://www.ibtimes.co.uk/symbionts-adam-krellenstein-theres-really-only-two-smart-contract-systems-ethereums-ours-1530490, Nov. 25, 2015 [retrieved Dec. 12, 2018], 4 pages. |
Alonso et al., “Digital Economy Outlook,” BBVA Research, Oct. 2015, https://www.bbvaresearch.com/wpcontent/uploads/2015/10/Digital_Economy_Outlook_Oct15_Cap1.pdf, 16 pages. |
Andersen, “Blockchain Technology: A game-changer in accounting?,” Deloitte & Touche GmbH Wirtschaftsprüfungsgesellschaft, Mar. 2016, 5 pages. |
Andresen et al., “Relay OP_RETURN data TxOut as standard transaction type. #2738,” Github, Jun. 4, 2013, https://github.com/bitcoin/bitcoin/pull/2738, 12 pages. |
Anonymous, “Bitcoin Core 0.11 (ch 2): Data Storage—Bitcoin Wiki,” retrieved from https://en.bitcoin.it/w/index/php?title=Bitcoin_core-0.11_(ch_2):_Data_Storage, Jan. 16, 2016, 10 pages. |
Anonymous, “Bitcoin Developer Guide,” Bitcoin Project, https://web.archive.org/web/20160515171209/https:// bitcoin.org/en/developer-guide, May 15, 2016 [retrieved Mar. 13, 2019], 55 pages. |
Anonymous, “Bitcoin Stats,” retrieved from http://bitcoinstats.com/irc/bitcoin-dev/logs/2015/03/27, Mar. 27, 2015, 11 pages. |
Anonymous, “Bitsquare—The decentralised bitcoin exchange,” Bitsquare.io, Jan. 3, 2016 , 14 pages. |
Anonymous, “Homepage,” website operational as of 2017 [retrieved Nov. 30, 2020], https://www.coinffeine.com/, 2 pages. |
Antonopoulos et al., “Bitcoin Book,” GitHub, retrieved from https://github.com/bitcoinbook/bitcoinbook, Jun. 8, 2017, 4 pages. |
Antonopoulos, “Mastering Bitcoin—Unlocking Digital Cryptocurrencies,” O'Reilly Media, Inc., Dec. 20, 2014, 282 pages. |
Australian Office Action for Application No. 2017223158, mailed Jun. 22, 2021, 7 pages. |
Bitcoin Forum, “Counterparty—Pioneering Peer-to-Peer Finance”, https://bitcointalk.org/index.php?topic=395761.0, Feb. 1, 2014, 7 pages. |
bitcoininvestor.com, “All-Star Panel: Ed Moy, Joseph VaughnPerling, Trace Mayer, Nick Szabo, Dr. Craig Wright,” YouTube, https://youtu.be/LdvQTwjVmrE, Bitcoin Investor Conference, Oct. 29, 2015 [retrieved Dec. 12, 2018], 1 page. |
Bitfreaki et al, “Understanding Stealth Addresses/Payments,” Bitcoin Forum, Jun. 10, 2015 (retrieved Jun. 16, 2020), https://bitcointalk.org/index.php?topic=1086498.0, 8 pages. |
Bitfury Group, “Smart Contracts on Bitcoin Blockchain,” BitFury Group Limited, Aug. 13, 2015 (updated Sep. 4, 2015), http://bitfury.com/content/5-white-papers-research/contracts-1.1.1.pdf, 20 pages. |
Block_Chan, “Tweet dated Nov. 7, 2018,” Twitter, Nov. 7, 2018, https://twitter.com/block_chan/status/1060336404163584000, 1 page. |
Bluematt, http://bitcoinstats.com/irc/bitcoin-dev/logs/2015/03/16. |
Bradbury, “Developers Battle Over Bitcoin Block Chain,” Coindesk, http://www.coindesk.com/developers-battle-bitcoin-block-chain/, Mar. 25, 2014, 3 pages. |
Brown et al., “Standards for Efficient Cryptography 1: Elliptic Curve Cryptography Version 2.0,” Certicom Research, May 21, 2009, 144 pages. |
Brown et al., “Standards for Efficient Cryptography 2: Recommended Elliptic Curve Domain Parameters Version 2.0,” Certicom Research, Jan. 27, 2010, 37 pages. |
Brown, “On Distributed Satabases and Distributed Ledgers”, Thoughts on the Future of Finance, Nov. 8, 2016, https://gendal.me/page/3/, 44 pages. |
Burgess et al., “The Promise of Bitcoin and the Blockchain,” Consumers' Research, Jul. 13, 2015, 97 pages. |
Buterin et al., “Ethereum Development Tutorial,” GitHub, Jul. 1, 2014 [retrieved Jul. 20, 2021], https://github.com/ethereum/wiki/wiki/ethereum-development-tutorial/0c1f501ea03a787910049b03723f1bfd7a14c9c6, 13 pages. |
Buterin, “Bitcoin Multisig Wallet: The Future of Bitcoin,” Bitcoin Magazine, Mar. 13, 2014 [retrieved May 12, 2020], https://bitcoinmagazine.com/articles/multisig-future-bitcoin-1394686504, 7 pages. |
Buterin, “Introducing Ethereum Script 2.0”, Ethereum Foundation Blog, Feb. 3, 2014, 9 pages. |
Buterin, “Secret Sharing DAOs: The Other Crypto 2.0,” Ethereum Blog, Dec. 26, 2014 [retrieved Nov. 21, 2019], https:/ethereum.github.io/blog/2014/12/26/secret-sharing-daos-crypto-2-0/, 10 pages. |
Campagna et al., “Standards for Efficient Cryptography 4: Elliptic Curve Qu-Vanstone Implicit Certificate Scheme (ECQV) Version 1.0,” Certicom Research, Jan. 24, 2013, 32 pages. |
Charlon et al., “Open-Assests-Protocol,” Github.com, Nov. 17, 2015 [retrieved Jan. 30, 2017], https://github.com/OpenAssets/open-assets-protocol/blob/master/specification.mediawiki, 5 pages. |
Christidis et al., “Blockchains and Smart Contracts for the Internet of Things,” IEEE Access 4(1):2292-2303, May 10, 2016. |
Coinprism, “80 bytes Op_Return explained,” Coinprism Blog, http://blog.coinprism.com/2015/02/11/80-bytes-op-return/, Feb. 11, 2015 [retrieved Dec. 21, 2018], 8 pages. |
Corallo, “[Bitcoin-development] Relative Checklocktimeverify (was CLTV proposal),” Linux Foundation, https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-May/007858.html, May 4, 2015 [retrieved Dec. 12, 2018], 3 pages. |
Counterparty, “Home Page,” Counterparty, copyright 2018 [retrieved Jan. 13, 2020], counterparty.io, 3 pages. |
Countyparty, “The Counterparty Protocol,” retrieved from https://github.com/jsimnz/Counterparty/blob/master/README.md, Jan. 8, 2014, 6 pages. |
crpit.com, FYJC Mumbai 11th Online Admission 2021-Part-1, 2 Admission Form (mumbai.11thadmission.Org.in), https://crpit.com, Jul. 6, 2021 8 pages. |
Danda et al., “hd-wallet-addrs,” GitHub, https://github.com/dan-da/hd-wallet-addrs, Dec. 30, 2015 [retrieved Mar. 11, 2016], 7 pages. |
Danda et al., “Is there any service/api for deriving HD wallet addresses from a master public key?,” StackExchange, http://bitcoin.stackexchange.com/questions/38887/is-there-any-service-api-for-deriving-hdwallet-addresses-from-a-master-public-k, Jul. 30, 2015, 2 pages. |
Danda, “Help / FAQ,” MyBitPrices, https://mybitprices.info/hd-wallet-addrs.html, Jan. 1, 2016 [retrieved Mar. 11, 2016], 4 pages. |
Das, “As Exchanges Pause Withdrawals, Chinese Bitcoin Investors Switch to P2P Trading,” CCN, Feb. 13, 2017 [retrieved May 12, 2020], https://www.ccn.com/chinese-bitcoin-investors-switch-p2p-trading-exchanges-pause-withdrawals/, 4 pages. |
Dash et al., “bips/bip-0047.mediawiki,” Github, Feb. 24, 2016 (retrieved Jun. 16, 2020), https://github.com/bitcoin/bips/blob/15c0b250cb5b77eba3ea709b082d7da6a310d991/bip-0047.mediawiki, 16 pages. |
Decker, “[BIP] Normalized transaction IDs,” Bitcoin-Dev, https://bitcoin-development.narkive.com/DjOYjEig/bip-normalized-transaction-ids, Oct. 19, 2015 [retrieved Dec. 12, 2018], 16 pages. |
Dixon, “True peer-to-peer currency exchange?,” DGC Magazine, Jul. 2, 2013 [retrieved May 12, 2020], http://dgcmagazine.com/true-peer-to-peer-currency-exchange/, 6 pages. |
Dorier, “Colored Coins and Ricardian Contracts,” Coinprism Blog, Dec. 10, 2014 [retrieved Jan. 30, 2017], http://blog.coinprism.com/2014/12/10/colored-coins-and-ricardian-contracts/, 9 pages. |
Drcode, “New Kid on the Blockchain,” Hacker News, https://news.ycombinator.com/item?id=11372455, Mar. 28, 2016 [Dec. 12, 2018], 32 pages. |
Durback, “Standard BIP Draft: Turing Pseudo-Completeness,” Bitcoin-Dev, Dec. 10, 2015, https://bitcoin-development.narkive.com/uRciVtAQ/standard-bip-draft-turing-pseudo-completeness, 11 pages. |
Eragmus et al., “Time to lobby Bitcoin's core devs: “SF Bitcoin Devs Seminar—Scalability to billions of transactions per day, satoshi-level Micropayments, near-zero risk of custodial theft, & Instant transactions” . . . but only w/ a malleability-fixing soft fork,” Reddit r/bitcoin, https://www.reddit.com/r/Bitcoin/comments/2z2I91/time_to_lobby_bitcoins_core_devs_sf_bitcoin_devs/, Mar. 14, 2015 [Dec. 12, 2018], 21 pages. |
Ethereum, “EIP-20: Token Standard,” retrieved from https://eips.ethereum.org/EIPS/eip-20, Nov. 19, 2015, 5 pages. |
European Communication pursuant to Article 94(3) EPC mailed Jan. 2, 2020, Patent Application No. 18166910.2-1218, filed Feb. 16, 2017, 4 pages. |
European Communication pursuant to Article 94(3) EPC mailed Jul. 1, 2019, Application No. 17707121.4-1218, filed Feb. 14, 2017, 6 pages. |
Extended European Search Report mailed Jul. 18, 2018, Patent Application No. 18166910.2-1218, filed Feb. 16, 2017, 8 pages. |
Familiar et al., “Transcript for #bitcoin-dev 2015/03/27,” BitcoinStats, http://bitcoinstats.com/irc/bitcoin-dev/logs/2015/03/27, Mar. 27, 2015 [archived version Jun. 27, 2016], 11 pages. |
Fimkrypto, “FIMK 0.6.4 Released,” Github.com, Feb. 11, 2016 [retrieved Jan. 30, 2017], https://github.com/fimkrypto/fimk/releases, 17 pages. |
Flood et al., “Contract as Automaton: The Computational Representation of Financial Agreements,” Office of Financial Research Working Paper No. 15-04, Mar. 26, 2015, 25 pages. |
Fotiou et al., “Decentralized Name-based Security for Content Distribution using Blockchains,” retrieved from, Mobile Multimedia Laboratory, Department of Informatics, Apr. 14, 2016, 6 pages. |
Franco, “Understanding Bitcoin: Cryptography, Engineering and Economics,” Wiley, ISBN: 978-1-119-01916-9, Oct. 2014, 144 pages. |
Friedenbach et al., “Freimarkets: extending bitcoin protocol with user-specified bearer instruments, peer-to-peer exchange, off-chain accounting, auctions, derivatives and transitive transactions,” Version v0.01, http://freico.in/docs/freimarkets-v0.0.1.pdf, Aug. 24, 2013 [retrieved Dec. 12, 2018], 25 pages. |
Friedenbach, “[Bitcoin-development] New Output Script Type,” Linux Foundation, Sep. 14, 2013, https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2013-September/003256.html, 2 pages. |
Fuchita, “Special Topic: Innovation and Finance, Blockchain and Financial Transaction Innovation,” Nomura Capital Market Quarterly 19-2(74):11-35, Nov. 1, 2015. |
Fujimura et al., “Bright: A Concept for a Decentralized Rights Management System Based on Blockchain,” 2015 IEEE 5th International Conference on Consumer Electronics-Berlin (ICCE-Berlin), Sep. 6, 2015, 2 pages. |
Gautham, “Bitwage Makes Bitcoin Payroll Easier with New Features,” NewsBTC, Mar. 9, 2016 (retrieved Jun. 16, 2020), https://www.newsbtc.com/2016/03/09/bitwage-makes-bitcoin-payroll-easier-new-features/, 4 pages. |
Gennaro et al., “Threshold-Optimal DSA/ECDSA Signatures and an Application to Bitcoin Wallet Security,” International Conference on Applied Cryptography and Network Security, Jun. 9, 2016, 42 pages. |
Gitbook, “Ethereum Frontier Guide,” Gitbook (Legacy), Feb. 4, 2016, 293 pages. |
Github, “Bitcoin/Bips,” retrieved from http://web.archive.org/web/20150307191218/https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki, Apr. 5, 2014, 4 pages. |
github.com, “Dual Key Stealth Address”, About Shadow, https://github.com/shadowproject/Shadow-Docs/blob/88501b5ba019780ef9a62d26678932c54a434e08/source/index.md, Mar. 10, 2016, 27 pages. |
Goldfeder et al., “Securing Bitcoin Wallets via a New DSA/ECDSA threshold signature scheme,” manuscript, https://www.cs.princeton.edu/˜stevenag/threshold_sigs.pdf, 2015 [retrieved Jun. 21, 2018], 26 pages. |
Goldfeder et al., “Securing Bitcoin wallets via threshold signatures” Princeton's Center for Information Technology Policy, Mar. 28, 2014, 11 pages. |
Goldfeder et al., “Threshold signatures and Bitcoin wallet security: A menu of options,” Freedom to Tinker, May 23, 2014 [retrieved Nov. 16, 2020], https://freedom-to-tinker.com/2014/05/23/threshold-signatures-and-bitcoin-wallet-security-a-menu-of-options/, 3 pages. |
Gutoski et al., “Hierarchical deterministic Bitcoin wallets that tolerate key leakage (Short paper),” Financial Cryptography and Data Security: 19th International Conference, FC 2015, Revised Selected Papers, Jan. 26, 2015, 9 pages. |
Hacker News, “Cryptocontracts Will Turn Contract Law into a Programming Language,” retrieved from https://news.ycombinator.com/item?id=7287155, Feb. 23, 2014, 12 pages. |
Hao, “On Robust Key Agreement Based on Public Key Authentication,” International Conference on Financial Cryptography and Data Security, Jan. 25, 2010, 12 pages. |
Harayama et al., “Key escrow method of personal decryptographic key by using elliptic curve calculation,” Institute of Electronics, Information and Communication Engineers (IEICE) Technical Report 109(85):91-96, Jun. 11, 2009. |
Hearn, “Distributed markets,” Bitcoin Wiki, https://en.bitcoin.it/wiki/Distributed_markets, Jul. 11, 2015 [retrieved Sep. 20, 2016], 5 pages. |
Herbert et al., “A Novel Method for Decentralised Peer-to-Peer Software License Validation Using Cryptocurrency Blockchain Technology,” Proceedings of the 38th Australasian Computer Science Conference, Jan. 27, 2015, 9 pages. |
International Search Report and Written Opinion mailed Apr. 10, 2017, Patent Application No. PCT/IB2017/050861, 11 bages. |
International Search Report and Written Opinion mailed Apr. 12, 2017, Patent Application No. PCT/IB2017/050818, 10 bages. |
International Search Report and Written Opinion mailed Apr. 12, 2017, Patent Application No. PCT/IB2017/050829, 9 pages. |
International Search Report and Written Opinion mailed Apr. 12, 2017, Patent Application No. PCT/IB2017/050866, 10 pages. |
International Search Report and Written Opinion mailed Apr. 21, 2017, Patent Application No. PCT/IB2017/050820, 12 pages. |
International Search Report and Written Opinion mailed Apr. 26, 2017, International Patent Application No. PCT/IB2017/050865, filed Feb. 16, 2017, 9 pages. |
International Search Report and Written Opinion mailed Apr. 3, 2017, Patent Application No. PCT/IB2017/050824, filed Feb. 14, 2017, 13 pages. |
International Search Report and Written Opinion mailed Apr. 3, 2017, Patent Application No. PCT/IB2017/050827, 10 pages. |
International Search Report and Written Opinion mailed Apr. 3, 2017, Patent Application No. PCT/IB2017/050827, 13 pages. |
International Search Report and Written Opinion mailed Mar. 29, 2017, Patent Application No. PCT/IB2017/050821, 10 pages. |
International Search Report and Written Opinion mailed Mar. 29, 2017, Patent Application No. PCT/IB2017/050821, 13 pages. |
International Search Report and Written Opinion mailed Mar. 30, 2017, Patent Application No. PCT/IB2017/050819, 13 pages. |
International Search Report and Written Opinion mailed Mar. 30, 2017, Patent Application No. PCT/IB2017/050825, 9 pages. |
International Search Report and Written Opinion mailed May 29, 2017, International Patent Application No. PCT/IB2017/050815, filed Feb. 14, 2017, 10 pages. |
International Search Report and Written Opinion mailed May 31, 2017, Patent Application No. PCT/IB2017/050856, filed Feb. 16, 2017, 11 pages. |
International Search Report and Written Opinion mailed May 31, 2017, Patent Application No. PCT/IB2017/050867, 11 pages. |
International Search Report and Written Opinion mailed May 31, 2017, Patent Application No. PCT/IB2017/050979, filed Feb. 21, 2017, 11 pages. |
International Search Report and Written Opinion mailed May 31, 2017, Patent Application No. PCT/IB2017/050980, 12 pages. |
Japanese Notice of Reason(s) for Rejection mailed Mar. 30, 2021, Patent Application No. 2018-539890, 8 pages. |
Japanese Notice of Reason(s) for Rejection mailed Mar. 30, 2021, Patent Application No. 2018-539893, 6 pages. |
Japanese Office Action mailed Feb. 16, 2021, Patent Application No. 2018-539331, 7 pages. |
Japanese Office Action mailed Jan. 22, 2019, Patent Application No. 2018-516682, filed Feb. 16, 2017, 14 pages. |
Japanese Office Action mailed Oct. 6, 2020, Patent Application No. 2018-539865, 14 pages. |
Japanese Office Action mailed Oct. 8, 2019, Patent Application No. 2018-539895, 9 pages. |
Jesionek et al., “BIP0032: Hierarchical Deterministic Wallets,” GitHub, https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki, Jan. 2014, 9 pages. |
Walport et al., “Distributed Ledger Technology: beyond block chain—A report by the UK Government Chief Scientific Adviser,” United Kingdom Government Office for Science, Dec. 2015, 88 pages. |
Watanabe et al., “Blockchain contract: A complete consensus using blockchain,” IEEE 4th Global Conference on Consumer Electronics, Oct. 27, 2015, 3 pages. |
Weller et al., “CounterpartyXCP/Documentation: Protocol Specification,” Github.com, Jan. 25, 2015 (last edited Jun. 17, 2019) [retrieved Jan. 13, 2020], https://github.com/CounterpartyXCP/Documentation/blob/master/Developers/protocol_specification.md, 10 pages. |
White, “How Computers Work,” Que Publishing 7th Edition, Oct. 15, 2003, 44 pages. |
Whitequark, “#bitcoin-wizards on Jul. 30, 2015—irc logs at whitequark.org,” whitequark.org, https://irclog.whitequark.org/bitcoin-wizards/2015-07-30, Jul. 30, 2015 [retrieved Dec. 12, 2018], 8 pages. |
Wikipedia, “Counterparty (platform),” Wikipedia, the Free Encyclopedia, last edited Dec. 6, 2019 [retrieved Jan. 13, 2020], https://en.wikipedia.org/wiki/Counterparty_(platform), 2 pages. |
Wikipedia, “Shamir's Secret Sharing,” Wikipedia the Free Encyclopedia, Jan. 20, 2017 version [retrieved on Jan. 9, 2019], https://en.wikipedia.org/w/index.php?title=Shamir's_Secret_Sharing&oldid=761082071, 6 pages. |
Wikipedia, “Shamir's Secret Sharing,” Wikipedia the Free Encyclopedia, Mar. 6, 2016 version [retrieved on Jun. 24, 2019], https://en.wikipedia.org/w/index.php?title=Shamir's_Secret_Sharing&oldid=708636892, 6 pages. |
Willet et al., “Omni Protocol Specification (formerly Mastercoin),” Github, Nov. 5, 2013 [retrieved May 12, 2020], https://github.com/OmniLayer/spec/blob/9978cc3984ae0b6e51216c4ae74042fc4097b993/README.md, 69 pages. |
Willoms et al., “Using blockchain to save and verify software licensing,” Bitcoin Forum, https://bitcointalk.org/index.php?topic=671435.0, Jun. 30, 2014 [retrieved Dec. 13, 2018], 3 pages. |
Wood, “Ethereum: A Secure Decentralised Generalised Transaction Ledger: Final Draft—Under Review,” Etereum Project Yellow Paper, http://tech.lab.carl.pro/kb/ethereum/yellowpaper, Apr. 2014, 32 pages. |
Wright, “Registry and Automated Management Method for Blockchain Enforced Smart Contracts,” U.S. Appl. No. 15/138,717, filed Apr. 26, 2016. |
Wuille, “Hierarchical Deterministic Wallets,” Github, https://github.com/bitcoin/bips/blob/ab90b5289f0356282397fa9b8aa47d2238a7b380/bip-0032.mediawiki, Feb. 12, 2016 (retrieved Mar. 23, 2017), 9 pages. |
Yaokai et al., “Experimental evaluation of the next-generation cryptocurrency platform Ethereum,” CSS2015 Computer Security Symposium 2015 Proceedings 2015(3):1151-1158, Oct. 14, 2015. |
Zhang et al., “AntShare Trading Platform,” Github.com, Jun. 3, 2016 (last edited Aug. 21, 2016) [retrieved Jan. 30, 2017], https://github.com/AntShares/AntShares/wiki/Whitepaper-1.1, 9 pages. |
Zyskind et al., “Decentralizing Privacy: Using a Blockchain to Protect Personal Data,” 2015 IEEE CS Security and Privacy Workshops, May 21, 2015, 5 pages. |
Zyskind et al., “Enigma: Decentralized Computation Platform with Guaranteed Privacy,” arXiv preprint arXiv:1506, Jun. 10, 2015, 14 pages. |
I2012 et al., “MinAddress : Now remember your addresses easily,” BitCoinTalk, Sep. 16, 2014 (retrieved Jun. 16, 2020), https://bitcointalk.org/index.php?topic=774741.150;wap2, 3 pages. |
Ken K., “Tutorial 1: Your first contract,” Ethereum.org, Dec. 2014, https://web.archive.org/save/_embed/https://forum.ethereum.org/discussion/1634/tutorial-1-your-first-contract/p1, 22 pages. |
Kens et al., “Cryptocontracts Will Turn Contract Law Into a Programming Language ,” Hacker News, Feb. 23, 2014, https://news.ycombinator.com/item?id=7287155, 12 pages. |
Killerstorm et al., “Transcript for #bitcoin-dev Sep. 3, 2012,” BitcoinStats, http://www.bitcoinstats.com/irc/bitcoin-dev/logs/2012/09/03, Sep. 3, 2012 [retrieved Dec. 21, 2018], 14 pages. |
Koblitz et al., “Cryptocash, Cryptocurrencies, and Cryptocontracts,” Designs, Codes and Cryptography 78 (1):87-102, publication available online Oct. 1, 2015, print publication Jan. 2016. |
Kosba et al., “Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts,” IEEE Symposium on Security and Privacy, May 22, 2016, 31 pages. |
Kravchenko, “Distributed multi-ledger model for financial industry,” Github.com, Oct. 21, 2015 [retrieved Jan. 30, 2017], https://github.com/WebOfTrustInfo/rebooting-the-web-of-trust/blob/master/topics-andadvance-readings/DistributedMulti-ledgerModelForFinancialIndustry.md, 2 pages. |
Krawczyk, “HMQV: A High-Performance Secure Diffie-Hellman Protocol,” Annual International Cryptology Conference 2005, Aug. 14, 2005, first disclosed online Jul. 5, 2005, 66 pages. |
Krellenstein, “The Counterparty Protocol,” GitHub, https://github.com/jsimnz/Counterparty/blob/master/README.md, Jan. 8, 2014 [Dec. 12, 2018], 4 pages. |
Lebeau, “An Ethereum Journey to Decentralize All Things,” retrieved from https://medium.com/@SingularDTV/an-ethereum-journey-to-decentralize-all-things- 8d62b02e232b#.r6n9w8kqh, Jul. 11, 2016, 10 pages. |
Luu et al., “Demystifying Incentives in the Consensus Computer,” ISBN, Oct. 2015, 14 pages. |
Mainelli, “Blockchain: why smart contracts need shrewder people,” Banking Technology, Apr. 4, 2016 [retrieved Jan. 30, 2017], http://www.bankingtech.com/461572/blockchain-why-smart-contracts-need-shrewderpeople/, 3 pages. |
Maxwell et al., “Deterministic wallets,” Bitcoin Forum, https://bitcointalk.org/index.php?topic=19137.0; all, Jun. 18, 2011 [retrieved Dec. 10, 2018], 104 pages. |
Mccorry et al., “Authenticated Key Exchange over Bitcoin, ” International Conference on Research in Security Standardisation 2015, Dec. 15, 2015, 18 pages. |
Menezes et al., “Handbook of Applied Cryptography: pp. 33, 38,” CRC Press, Oct. 16, 1996, 3 pages. |
Mezzomix et al., “Angebot: BTC (2-aus-3) Multisig Escrow (Treuhandabwicklung),” Bitcoin Forum, Feb. 9, 2014, https://bitcointalk.org/index.php?topic=456563.0, 7 pages. |
Michalko et al., “Decent Whitepaper,” retrieved from http://forklog.net/decent-finalizes-its-decentralized-content-distribution-platform/, Nov. 2015, 20 pages. |
Michalko, “Decent Finalizes its Decentralized Content Distribution Platform,” retrieved from http://forklog.net/decent-finalizes-its-decentralized-content-distribution-platform/, Dec. 14, 2016, 2 pages. |
Mike et al., “Contract,” Bitcoin Wiki, Oct. 22, 2015 version (first disclosed May 22, 2011) [retrieved May 12, 2020], https://en.bitcoin.it/w/index.php?title=Contract&oldid=59172, 11 pages. |
Minsky et al., “Computation: Finite and Infinite Machines Chapter 14: Very Simple Bases for Computability,” Prentice Hall, Inc, 1967, 29 pages. |
Mrbandrews, “Bitcoin Core 0.11 (ch 2): Data Storage,” Bitcoin Wiki, Jan. 13, 2016 (last revision Jan. 21, 2016) [retrieved May 8, 2020], https://en.bitcoin.it/w/index.php?title=Bitcoin_Core_0.11_(ch_2):_Data_storage&oldid=60024, 10 pages. |
Mülli, “A Decentralized Bitcoin Exchange with Bitsquare—Attack Scenarios and Countermeasures,” University of Zurich Department of Informatics Communication Systems Group Master Thesis, Jul. 30, 2015, 61 pages. |
Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” Bitcoin, Oct. 31, 2008, https://bitcoin.org/bitcoin.pdf, 9 pages. |
Noizat et al., “Blockchain Electronic Vote,” retrieved from https://www.weusecoins.com/assets/pdf/library/blockchain-electronic-vote.pdf, Apr. 29, 2015, 9 pages. |
Noizat, “Handbook of Digital Currency Chapter 22: Blockchain Electronic Vote,” Elsevier Inc., David Lee Kuo Chuen (ed.), May 2015, 9 pages. |
NXT, “Voting,” nxt.org, website archived on Feb. 18, 2016 [retrieved May 31, 2022], https://web.archive.org/web/20160218021746/https://nxt.org/what-is-nxt/voting/, 3 pages. |
Openchain, “Home Page,” openchain.org, Dec. 22, 2015 [retrieved May 8, 2020], https://web.archive.org/web/20151222083734/https://www.openchain.org/, 18 pages. |
Openssl Wiki, “Elliptic Curve Diffie Hellman,” OpenSSL, https://wiki.openssl.org/index.php/Elliptic_Curve_Diffie_Hellman, Mar. 10, 2014 [retrieved Dec. 10, 2018], 5 pages. |
Openssl Wiki, “EVP Key Agreement,” OpenSSL, https://wiki.openssl.org/index.php/EVP_Key_Agreement, Apr. 28, 2017 [retrieved Dec. 10, 2018], 2 pages. |
Perry, “Tapeke: Bitcoin Accounting for Non-Accountants,” http://codinginmysleep.com/tapeke-bitcoin-accounting-for-non-accountants/, Jan. 21, 2015, 1 page. |
Poon et al., “The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments,” https://www.bitcoinlightning.com/wp-content/uploads/2018/03/lightning-network-paper.pdf, Jan. 14, 2016 [retrieved Dec. 10, 2018], 59 pages. |
Pornin, “Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA),” Request for Comments: 6979, Independent Submission, Aug. 2013, 79 pages. |
Pour, “Bitcoin multisig the hard way: Understanding raw P2SH multisig transactions,” Dec. 20, 2014, https://www.soroushjp.com/2014/12/20/bitcoin-multisig-the-hard-way-understanding-raw-multisignature-bitcoin-transactions/, 19 pages. |
Reddit, “Could Microsoft use the blockchain as a license key for it's software?,” r/Bitcoin, Sep. 7, 2015 [retrieved May 8, 2020], https://www.reddit.com/r/Bitcoin/comments/3jz09c/could_microsoft_use_the_blockchain_as_a_license/?st=iw26pndq&sh=b862bf7d, 2 pages. |
Reiner et al., “Bitcoin Wallet Identity Verification Specification,” diyhpluswiki, http://diyhpl.us/-bryan/papers2/bitcoin/armory-verisign -bitcoin-wallet-identityspecification.pdf, Feb. 27, 2015 (retrieved Jan. 27, 2016), 24 pages. |
Rockwell, “BitCongress—Process for Blockchain Voting & Law,” retrieved from http://generalbitcoin.com/BitCongress_Whitepaper.pdf, Feb. 12, 2016, 8 pages. |
Ryepdx et al., “Answer to ‘What is the Global Registrar?’,” Ethereum Stack Exchange, Feb. 26, 2016 [retrieved Jan. 30, 2017], http://ethereum.stackexchange.com/questions/1610/what-is-the-global-registrar, 3 pages. |
Sams, “Ethereum: Turing-complete, programmable money,” Cryptonomics, Feb. 1, 2014, https://cryptonomics.org/2014/02/01/ethereum-turing-complete-programmable-money, 4 pages. |
Sanchez, “Marketplaces,” GitHub, Jun. 10, 2015 [retrieved May 12, 2020], https://github.com/drwasho/openbazaar-documentation/blob/master/04%20Marketplaces.md, 37 pages. |
Sanchez, “Protocol,” Github, https://github.com/drwasho/openbazaar-documentation/blob/master/03%20Protocol.md, Jun. 15, 2015, 53 pages. |
Sanchez, “Ricardian Contracts in OpenBazaar,” Github, https://gist.github.com/drwasho/a5380544c170bdbbbad8, Jan. 2016, 12 pages. |
Sardesai, “Coinffeine: A P2P Alternative to Centralised Bitcoin Exchanges,” Cryptocoins News, Mar. 2, 2014 [retrieved Feb. 14, 2017], https://www.cryptocoinsnews.com/coinffeine-p2p-alternative-centralised-bitcoin-exchanges/, 5 pages. |
Satoshi et al., “Connection Limits,” Bitcoin Forum, Aug. 9, 2010, https://bitcointalk.org/index.php?topic=741.0;prev_next=prev, 2 pages. |
Scott, “Counterparty to Create First Peer-to-Peer Digital Asset Exchange Platform,” Cointelegraph, https:// cointelegraph.com/news/counterparty_to_create_first_peer_to_peer_digital_asset_exchange_platform, Apr. 10, 2014 [retrieved Dec. 12, 2018], 2 pages. |
Sevareid et al., “Use Case Asset Depository,” Github.com, Jan. 11, 2016 version (last edited May 5, 2016) [retrieved Jan. 30, 2017], https://github.com/hyperledger/hyperledger/wiki/Use-Case-Asset-Depository, 4 pages. |
Snow et al., “Factom: Business Processes Secured by Immutable Audit Trails on the Blockchain Version 1.2,” factom.com, Apr. 25, 2018, 38 pages. |
Stampery, “Features: Blockchain-based data certification at your fingertips,” Stampery.com, https://stampery.com/features/, archived Mar. 5, 2016 [retrieved Nov. 3, 2016], 4 pages. |
Sullivan et al., “Peer-to-peer Affine Commitment using Bitcoin,” Carnegie Mellon University, Jun. 17, 2015, 54 pages. |
Swan, “Blockchain: Blueprint for a New Economy,” O'Reilly, Feb. 2015, 149 pages. |
Swanson, “Great Chain of Numbers: Chapter 3: Next Generation Platforms,” Great Wall of Numbers, Mar. 4, 2014 [retrieved Jan. 30, 2017], http://www.ofnumbers.com/2014/03/04/chapter-3-next-generation-platforms/, 25 pages. |
Taiwanese Office Action mailed Apr. 12, 2021, Patent Application No. 109142412, 5 pages. |
Taiwanese Office Action mailed Jul. 28, 2020, Patent Application No. 106105709, 9 pages. |
Taiwanese Office Action mailed Oct. 7, 2020, Patent Application No. 106105713, 4 pages. |
Tasca et al., “Digital Currencies: Principles, Trends, Opportunities, and Risks,” ECUREX Research Working Paper, Sep. 7, 2015 (Oct. 2015 version), 110 pages. |
Third-Party Submission Under 37 CFR 1.290 mailed Jun. 12, 2019, U.S. Appl. No. 16/078,605, filed Aug. 21, 2018, 31 pages. |
Third-Party Submission Under 37 CFR 1.290 mailed Jun. 12, 2019, U.S. Appl. No. 16/079,089, filed Aug. 22, 2018, 19 pages. |
Timeisnow77724 et al., “Help understanding counterparty, thanks in advance!,” Reddit r/counterparty_xcp, https://www.reddit.com/r/counterparty_xcp/comments/2qntze/help_understanding_counterparty_thanks_in_advance/, Dec. 28, 2014 [retrieved Dec. 11, 2018], 4 pages. |
Toomim, “P2pool as prior art for nChain's Turing Complete Transactions patent—or, how to patent all blockchain apps without anybody noticing,” Medium, Sep. 3, 2018, https://medium.com/@j_73307/p2pool-as-prior-art-for-nchains-turing-complete-transactions-patent-or-how-to-patent-all-40f3d429eaa4, 13 pages. |
Tuesta et al., “Smart contracts: the ultimate automation of trust?,” BBVA Research Financial Inclusion Unit, Oct. 2015, 5 pages. |
UK Commercial Search Report mailed Apr. 25, 2016, Patent Application No. 11603117.1, filed Feb. 23, 2016, 11 pages. |
UK Commercial Search Report mailed Feb. 17, 2017, Patent Application No. 1604493.5, 8 pages. |
UK Commercial Search Report mailed Jan. 13, 2017, Patent Application No. 1604498.4, 8 pages. |
UK Commercial Search Report mailed Jun. 14, 2016, Patent Application No. 1607249.8, 4 pages. |
UK Commercial Search Report mailed Jun. 27, 2016, Patent Application No. GB1603123.9, filed Feb. 23, 2016, 11 pages. |
UK Commercial Search Report mailed Jun. 27, 2016, Patent Application No. GB1603125.4, filed Feb. 23, 2016, 11 pages. |
UK Commercial Search Report mailed Jun. 28, 2016, Patent Application No. GB1603122.1, filed Feb. 23, 2016, 12 pages. |
UK Commercial Search Report mailed Jun. 6, 2016, Patent Application No. 1604497.6, filed Mar. 16, 2016, 6 pages. |
UK Commercial Search Report mailed Jun. 9, 2016, Patent Application No. GB1603114.8 , 4 pages. |
UK Commercial Search Report mailed Jun. 9, 2016, Patent Application No. GB1603117.1, filed Feb. 23, 2016, 12 pages. |
UK Commercial Search Report mailed May 16, 2016, Patent Application No. GB1603125.4, 8 pages. |
UK Commercial Search Report mailed May 20, 2016, Patent Application No. 1605026.2, 4 pages. |
UK Commercial Search Report mailed May 24, 2016, Patent Application No. GB1605571.7, filed Apr. 1, 2016, 3 pages. |
UK Commercial Search Report mailed May 9, 2016, Patent Application No. GB1603112.2, 6 pages. |
UK Commercial Search Report mailed May 9, 2016, Patent Application No. GB1603114.8, filed Feb. 23, 2016, 2 pages. |
UK Commercial Search Report mailed Nov. 14, 2016, Patent Application No. GB1607063.3, 8 pages. |
UK Commercial Search Report mailed Nov. 30, 2016, Patent Application No. 1607058.3, filed Apr. 22, 2016, 7 pages. |
UK Commercial Search Report mailed Oct. 10, 2016, Patent Application No. GB1607484.1, filed Apr. 29, 2016, 5 pages. |
UK Commercial Search Report mailed Sep. 30, 2016, Patent Application No. 1606630.0, filed Apr. 15, 2016, 7 pages. |
UK Expanded Commercial Search Report mailed Jun. 15, 2016, Patent Application No. 1605026.2, 5 pages. |
UK IPO Search Report mailed Dec. 12, 2016, Patent Application No. GB1606630.0, filed Apr. 15, 2016, 4 pages. |
UK IPO Search Report mailed Dec. 15, 2016, Patent Application No. GB1607063.3, 6 pages. |
UK IPO Search Report mailed Dec. 21, 2016, Patent Application No. GB1607058.3, 3 pages. |
UK IPO Search Report mailed Dec. 21, 2016, Patent Application No. GB1607058.3, filed Apr. 22, 2016, 3 pages. |
UK IPO Search Report mailed Dec. 23, 2016, Patent Application No. GB1604495.0, 5 pages. |
UK IPO Search Report mailed Dec. 28, 2016, Patent Application No. GB1604497.6, filed Mar. 16, 2016, 4 pages. |
UK IPO Search Report mailed Dec. 5, 2016, Patent Application No. 1607249.8, 4 pages. |
UK IPO Search Report mailed Dec. 6, 2016, Patent Application No. 1604493.5, 6 pages. |
UK IPO Search Report mailed Dec. 6, 2016, Patent Application No. 1607482.5, 5 pages. |
UK IPO Search Report mailed Jan. 25, 2017, Patent Application No. 1605026.2, 3 pages. |
UK IPO Search Report mailed Jan. 3, 2017, Patent Application No. 1604498.4, 4 pages. |
UK IPO Search Report mailed Jul. 26, 2016, Patent Application No. GB1603114.8, filed Feb. 23, 2016, 5 pages. |
UK IPO Search Report mailed Jul. 4, 2016, Patent Application No. GB1603125.4, filed Feb. 23, 2016, 6 pages. |
UK IPO Search Report mailed Jul. 5, 2016, Patent Application No. GB1603123.9, filed Feb. 23, 2016, 5 pages. |
UK IPO Search Report mailed Oct. 17, 2016, Patent Application No. GB1603117.1, filed Feb. 23, 2016, 5 pages. |
UK IPO Search Report mailed Oct. 21, 2016, Patent Application No. GB1603112.2, 4 pages. |
UK IPO Search Report mailed Oct. 26, 2016, Patent Application No. GB1603122.1, filed Feb. 23, 2016, 4 pages. |
UK IPO Search Report mailed Sep. 9, 2016, Patent Application No. GB1605571.7, filed Apr. 1, 2016, 5 pages. |
Vayngrib, “DHT hardening,” GitHub, https://github.com/tradle/about/wiki/DHT-hardening, Feb. 2, 2015 (last updated May 21, 2015) [retrieved Dec. 13, 2018], 5 pages. |
Vayngrib, “Future, operating business on chain,” Github.com, May 4, 2015 [retrieved Jan. 30, 2017], https://github.com/tradle/about/wiki/Future,-operating-business-on-chain, 9 pages. |
Vietnamese Office Action mailed Sep. 27, 2018, Patent Application No. 1-2018-03358, filed Feb. 16, 2017, 2 pages. |
Goldfeder et al., “Escrow Protocols for Cryptocurrencies: How to Buy Physical Goods Using Bitcoin,” retrieved from http://stevengoldfeder.com/papers/escrow.pdf, Jul. 26, 2018, 27 pages. |
International Search Report and Written Opinion mailed Aug. 3, 2018, Patent Application No. PCT/IB2018/053289, 10 pages. |
UK Commercial Search Report mailed Jun. 12, 2017, Patent Application No. GB510912, 6 pages. |
UK IPO Search Report mailed Oct. 9, 2017, Patent Application No. GB1707788.4, 6 pages. |
Drwasho, “Openbazaar Documentation”, Github, Jun. 2015, 53 pages. |
Bluematt, “Contract”, Bitcoin Wiki, Oct. 22, 2015, 12 pages. |
UK IPO Search Report mailed Dec. 21, 2016, Patent Application No. GB1607484.1, 4 pages. |
Gutoski et al., “Hierarchical Deterministic Bitcoin Wallets That Tolerate Key Leakage”, Lecture Notes in Computer Science book series (LNSC, vol. 8975), Jan. 1, 2015, 9 pages. |
Mirzadeh et al., “CPFP: An Efficient Key Management Scheme for Large Scale Personal Networks”, IEEE, 2008, 6 pages. |
Menezes et al., “Handbook of Applied Cryptography,” CRC Press, Oct. 16, 1996, 811 pages. |
Deloitte, “Blockchain Technology A Game-changer in Accounting”, Mar. 2016, 5 pages. |
Lazarovich, Amir, “Invisible Ink: Blockchain for Data Privacy”, May 8, 2015, 85 pages. |
Zindros, Dionysis, “A Pseudonymous Trust System for a Decentralized Anonymous Marketplace”, web-of-trust.md, https://gist.github.com/dionyziz/e3b296861175e0ebea4b, Jul. 2, 2014, 30 pages. |
Subramanian, et al., “The State of Cryptocurrencies, Their Issues and Policy Interactions”, International Information Management Association, vol. 24, No. 24, No. 3, 2015, pp. 25-40. |
Greenspan, Dr. Gideon, “MultiChain Private Blcokchain”, White Paper, Jun. 2015, 17 pages. |
Swanson, Tim, “Watermarked Tokens and Pseudonymity on Public Blockchains”, Nov. 4, 2015, 78 pages. |
Manabu Takata et al., “Nikkei BP Mook, FinTech Revolution, Financial Common Sense Dissolved by Technology”, Nikkei Business Publications, Inc., Jan. 27, 2016, ISBN: 978-4-8222-7188-6, pp. 44-47. |
Atsushi Takeda et al., “System Architecture for Decentralized Authentication in P2P Network”, IPSJ SIG technical Reports, Information Processing Society of Japan, Jun. 12, 2008, vol. 2008 No. 54, [ISSN] 0919-6072, pp. 63-68. |
Bitfury Group, “Public Versus Private Blockchains”, Part 2: Permissionless Blackchains, in collaboration with Jeff Garzik, Version 1.0, Oct. 20, 2015, 20 pages. |
Gauthierdickey, et al. “Secure Peer-to-Peer Trading in Small and Large Scale Multiplayer Games”, Multimedia Systems, Apr. 29, 2014, 13 pages. |
Feng et al., “A Next Generation Cryptocurrency Platform Ethereum and Its Evaluation”, Oct. 14, 2015, 12 pages. |
Ramaswami, U., et al., “Genotype and Phenotype in Hypochondroplasia”, 1998, Mosby, Inc., 5 pages. |
UK Commercial Search Report mailed Jan. 18, 2017, Patent Application No. GB510135, filed Mar. 16, 2016, 5 pages. |
Wikipedia, “Public-key Cryptography”, Zosterops (talk contribs), Jul. 5, 2015, Retrieved from https://en.wikipedia.org/w/index.php?title=Public-key_cryptography$oldid=670016308, 14 pages. |
The Institute of Electrical and Electronics Engineers, Inc., “IEEE P1363, D1-pre Draft Standard for Public Key Cryptography”, Prepared by the 1363 Working Gorup of the C/MSC Committee, Jun. 2009, 362 pages. |
Antonopoulos, “Mastering Bitcoin, Chapter 4, Keys, Addresses, Wallets”, O'Reilly, Dec. 20, 2014, 34 pages. |
Omnilayer, Omni Protocol Specification (formerly Mastercoin), retrieved from https://github.com/OmniLayer/spec/blob/9978cc3984ae0b6e51216c4ae74042fc4097b993/README.md on Apr. 19, 2024, 58 pages. |
Vroblefski et al., “Managing User Relationships in Hierarchies for Information System Security”, Science Direct, Decision Support System 43, 2007, 12 pages. |
Wikipedia, “Diffie-Hellman Key Exchange,” retrieved from https://en.wikipedia.org/w/index.php?title=Diffie%E2%80%93Hellman_key_exchange&oldid=759611604, Jan. 2017, 10 pages. |
Nikkei Business Publications, Inc., “Blockchain & Bitcoin”, 2016, 4 pages. |
Bitcoin Wiki, “Contract,” Bitcoin Wiki, https://en.bitcoin.it/w/index.php?title=Contract&oldid=59172, May 22, 2011 (updated dated Oct. 22, 2015) [retrieved Jan. 8, 2024], 2 pages. |
The Institute of Electrical and Electronics Engineers, Inc., “IEEE P1363, D1-pre Draft Standard for Public Key Cryptography”, Prepared by the 1363 Working Gorup of the C/MSC Committee, Jun. 2009, 362 p. |
Fromknecht Conner, et al., “A Decentralized Public Key Infrastructure with Identity Retention” Nov. 11, 2024, 16 pages. |
Buterin, “Ethereum White Paper”, A Next Generation Smart Contract & Decentralized Application Platform, 2014, 36 pages. |
Number | Date | Country | |
---|---|---|---|
20220156737 A1 | May 2022 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16078625 | US | |
Child | 17531695 | US |