Blockchain-enabled method and system
Patent Information
- Application Number
- JP2024067158
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2016-07-29
- Filing Date
- 2024-04-18
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2037-07-21
Smart Images

Figure 0007644289000001 
Figure 0007644289000002 
Figure 0007644289000003
Abstract
Description
[Technical field]
[0001] The present invention relates generally to distributed ledger technology (DLT), and more particularly to the use of blockchain to control the use of resources. Aspects of the invention also relate to the Internet of Things (IoT). The present invention may be suitable for controlling IoT devices. [Background technology]
[0002] For convenience and ease of reference in this document, the term "blockchain" is used as it is the currently most widely known term in this context. In this disclosure, this term is used to include all forms of electronic, computer-based distributed ledgers, including consensus-based blockchains, alternative chains, sidechains and transaction chain technologies, private and public ledgers, permissioned and permissionless ledgers, shared ledgers, and variations thereof.
[0003] A blockchain is a computer-based, decentralized, distributed system of electronic ledgers that are made up of blocks, which are made up of transactions. Each transaction contains at least one input and at least one output. Each block contains a hash of the previous block, and blocks are chained together to create a permanent, immutable record of all transactions written to the blockchain from its beginning. Transactions contain small programs, known as scripts, embedded in their inputs and outputs that specify how the transaction's outputs can be accessed and by whom. In the Bitcoin platform, these scripts are written using a stack-based scripting language.
[0004] For a transaction to be written to the blockchain, it must i) be verified by the first node that receives the transaction – which, if the transaction is verified, will relay the transaction to other nodes in the network – ii) be added to a new block constructed by miners, and iii) be mined, i.e., added to the public ledger of past transactions.
[0005] Although other blockchain implementations have been proposed and developed, the most widely known application of blockchain technology is the Bitcoin ledger. In this disclosure, Bitcoin may be referenced for convenience and illustrative purposes, but it should be noted that the present invention is not limited to use with the Bitcoin blockchain, and alternative blockchain implementations are within the scope of the present invention.
[0006] Blockchain technology is most widely known for its use in implementing cryptocurrencies, however, more recently, digital entrepreneurs have begun to explore the use of both the cryptographic security system that Bitcoin is based on, and the data that can be stored on the blockchain, to implement new systems.
[0007] One area of current interest and research is the use of blockchain to implement "smart contracts." A smart contract is a computer program designed to automate the execution of the terms of a contract or agreement. Unlike traditional contracts, which may be written in natural language, a smart contract is a machine-executable program that contains rules that can process inputs to generate outcomes and then cause actions to be taken depending on those outcomes. Another area of interest related to blockchain is the use of "tokens" (or "colored coins") to represent and transfer real-world entities via the blockchain. Potentially sensitive or secret items may be represented by tokens that have no discernible meaning or value. Thus, the tokens act as identifiers that allow real-world items to be referenced. Summary of the Invention
[0008] The present invention also relates to the use of blockchain-enabled mechanisms to control access to resources. The resources can be physical resources, such as "Internet of Things" (IoT) devices. The IoT is described in Wikipedia as "a network of physical devices, vehicles, buildings, and other items embedded with electronics, software, sensors, and network connections that allow them to collect and exchange data.... The IoT allows objects to be sensed and controlled remotely over existing network infrastructures." In other embodiments, the resource can be a non-physical resource, such as a network or software, a piece of cryptocurrency, or any other form of asset.
[0009] The invention is defined in the claims.
[0010] The present invention provides a computer-implemented method and corresponding system. The present invention may provide a blockchain-enabled control method. The method may be configured to authorize, affect, manage, or control the use and / or access to a resource. The resource may be an Internet-enabled resource. The resource may be an Internet of Things (IoT) resource. The resource may be a physical resource, such as a device or equipment, or a process. The resource may be a computer-based resource, such as a network or software.
[0011] This method is Generating a blockchain transaction (TxA) indicating the terms and conditions for the use of the resource, where the blockchain transaction may include a multi-signature script that requires multiple (digital) signatures for the completion of the blockchain transaction; and / or providing a first subset of the plurality of signatures to the blockchain transaction to generate a partially signed signature script and partially complete the blockchain transaction; and / or In response to the condition regarding the use of the resource being satisfied, providing a second subset of the plurality of signatures to the blockchain transaction to fully complete the blockchain transaction (TxA). may include.
[0012] Providing such a method has the advantage that resource usage / access can be performed securely and immutably recorded. For ease of reading, in the following the words "and / or resource access" will not be repeated and may simply be referred to as "resource usage".
[0013] The conditions on the usage of the resource may be the usage of a discrete amount of the resource, and a second subset of the plurality of signatures may be provided in response to the resource being used in a discrete amount. The conditions on the usage of the resource may be specified or prescribed in a smart contract. The smart contract may be stored outside the blockchain, but may be referenced from the blockchain, for example, using metadata provided in the transaction.
[0014] This has the advantage that resources can be used or consumed incrementally.
[0015] If the conditions for the use / access of a resource are not met: access to and / or use of the resource may be prohibited or modified or restricted; and / or an alert or notification may be sent to the destination.
[0016] A plurality of transactions may be generated. These may be partially signed transactions. These may be multi-signature transactions. The final step of providing a second subset of the plurality of signatures to the blockchain transaction (TxA) to complete the blockchain transaction (TxA) may include selecting the blockchain transaction (TxA) from the plurality of transactions. Each of the plurality of transactions may be configured to use the same output of a previous transaction (Tx1) (where "previous" means that the transaction including the output precedes the plurality of transactions in the blockchain). Thus, when it is determined that the condition is satisfied, the blockchain transaction (TxA) may be selected from the plurality of partially signed transactions and completed. The selection and / or completion of the transaction may include providing an agent's cryptographic key and may be performed by an agent. The agent may be a suitably programmed automated resource. The agent may send the selected blockchain transaction (TxA) to the blockchain network. Validation of the transaction on the blockchain may transfer an asset, such as a portion of cryptocurrency, from one party to another party by using the transaction output on the blockchain (TX1 output).
[0017] Each of the multiple transactions may indicate a different condition regarding the use of the resource. Thus, the multiple transactions may realize multiple conditions (or scenarios) regarding the use of the resource. By selecting which transaction to complete and send, the present invention controls how the output of the transaction (Tx1) is used and how the cryptocurrency associated with the output is transferred.
[0018] Satisfaction of one or more conditions may be determined by the agent using an input or signal to evaluate the condition. This input or signal may be generated by the agent or may be received from another source. This input or signal may be, for example, the detection of a physical or electronic condition, a time point, or any other input.
[0019] Generating blockchain transactions indicating conditions regarding use of the resource may include generating blockchain transactions corresponding to each integer multiple of the discrete amount of the resource, and a second subset of the plurality of signatures may be provided for use of each increased integer multiple of the resource. This has the advantage of providing different usage options, thereby increasing the versatility of the method, for example portions or amounts of network usage, length of time resources such as parking spaces, devices, etc. are used.
[0020] The maximum limit of the integer multiple may be predefined. This has the advantage of allowing consequences due to over-utilization of resources to be implied and enforced.
[0021] In response to exceeding the maximum limits, off-block actions may be triggered. The term "off-block" may be interpreted to mean "not through the blockchain." This has the advantage of providing that consequences resulting from over-utilization of resources are enforced.
[0022] The first subset of the plurality of signatures may include a signature from an agent, which may be a computing-based resource. This has the advantage of increasing the security of the method.
[0023] A first subset of the plurality of signatures may include signatures from issuers or owners or administrators of the resource. A second subset of the plurality of signatures may include a signature from the agent. A second subset of the plurality of signatures may include signatures from users of the resource. This has the advantage of preventing issuers or users from misusing the method.
[0024] A condition on the use of a resource may be that the resource is not in use. This has the advantage of defining the conditions under which a refund will be made.
[0025] Blockchain transactions may have a non-zero lock time. This has the advantage of preventing users from misusing this method.
[0026] The present invention may also provide a system including a computer-based resource configured to perform a method according to any embodiment of the method disclosed herein. Any one or more features mentioned in relation to one aspect or embodiment of the present invention may also apply to any other aspect or embodiment. Any one or more features mentioned in relation to the method may also apply to the system of the present invention, and vice versa. An embodiment of the present invention may be configured substantially as described below.
[0027] These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described in this disclosure. [Brief description of the drawings]
[0028] Embodiments of the present invention will now be described, by way of example only, with reference to the drawings, in which: [Figure 1a] 1 is a schematic diagram of a system according to an embodiment. [Figure 1b] 1 is a flow chart showing how a customer may use the system to set up a series of blockchain transactions to pay for parking. [Diagram 2] Diagram of a transaction in which Alice pays for parking for an initial period. [Diagram 3] A diagram of a transaction generated by an agent and sent to Bob for his signature before being signed by the agent when a parking space is used for a period of 10 minutes. [Figure 4a] FIG. 1 shows a schematic scenario for the use of parking spaces. [Figure 4b] Schematically illustrating different scenarios regarding the use of parking spaces. [Diagram 5] Diagram of an agent-generated transaction that is signed by the agent and sent to Alice when overtime is not used. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0029] overview The present invention provides novel techniques for authorizing use of and / or access to a controlled resource or for managing access / usage of the resource. This is achieved by using multiple blockchain transactions that realize different use / access scenarios regarding the use of or access to the resource. For example, one transaction is for use of the resource for a specified time period and another transaction is for use of the resource for a different time period.
[0030] A user (i.e., a person accessing or using a resource) makes an intentional "double-spend" attempt on the blockchain. As known in the art, a "double-spend" occurs when a user attempts to spend the same cryptocurrency portion, e.g., Bitcoin, twice. Clearly, a double-spend is undesirable in a traditional context, since at least one party is disadvantaged by not receiving funds that were expected or legitimately due. The Bitcoin protocol protects against double-spend through its validation mechanisms. Thus, the present invention takes a traditionally undesirable process and effectively uses it for authorization purposes.
[0031] According to the invention, a resource user provides assets to a resource manager. The assets may be a portion of a cryptocurrency called Bitcoin for convenience, although other cryptocurrencies may be used. The amount of Bitcoin is determined by a set of condition rules, typically specified in a smart contract. A smart contract is a machine-executable document realized by a blockchain, which may be stored off-chain, but may be referenced via a blockchain transaction (Tx). The condition rules may include various rules, criteria, parameters, etc. that govern or define the permitted legitimate use / access of / to the resources. In a preferred embodiment, these condition rules are evaluated by an independent party, i.e., a party other than the resource user or manager.
[0032] Thus, advantageously, the resource manager has confidence that the conditions will be satisfied without needing to know the details of the satisfied conditions, since they will be determined and enforced by an independent party. This may be an automated agent that may be called an oracle. The oracle determines the satisfaction of the conditions based on an evaluation made. This may be when use / release / access of / to the resource is permitted, at a predefined time, or when a trigger event is detected, etc. This evaluation allows the oracle to select one of the proposed blockchain transactions to proceed to completion. This is achieved by providing the oracle's cryptographic signature to the selected transaction. Thus, there is an external oracle that evaluates one or more conditions provided by the smart contract and determines which of multiple proposed transactions (Txs) will be completed based on parameters related to the use / access, such as how long the resource has been used. This then automatically invalidates one or more other proposed transactions.
[0033] If the oracle or agent determines that one or more conditions have not been met, response steps may be taken by the oracle and / or resource administrator, e.g., use of / access to the resource may be denied, a locking mechanism may be applied or configured, or a communication such as an alert may be sent to the recipient and / or a refund transaction may be sent to the blockchain network.
[0034] Example Use Cases A system according to an exemplary embodiment is described using the example of a parking space where a fee is charged for parking in the parking space. The involved parking space owner (a parking space operator or small business, or an individual with available and desirable parking space) installs an IoT device 104 at the parking location. However, the invention is not limited to use with parking meters. Other types of controlled Internet-enabled resources may instead be the subject of the invention.
[0035] An IoT device 104 can detect the presence of a parked car (as is already commonly done). The device can be part of or be a blockchain IoT device 106. A programmable "Blockchain IoT Device (BID)" is an internet-enabled device that can monitor, interact with, and even publish to the blockchain network.
[0036] The vehicle operator downloads a smartphone application (or a "smart car" application - i.e., an application designed to run on the vehicle computer) that corresponds to the parking BID 106. The application allows the operator to pay for the vehicle space via the blockchain using cryptocurrency or tokenized cryptocurrency.
[0037] The parking service may be expressed using a smart contract, which is a machine-readable and executable document. The terms in the smart contract are referenced using metadata in transactions (Txs) that point to the location of the smart contract file on the DHT. In other embodiments, the smart contract may be stored in any other form of database or storage. The terms set out in the smart contract may include: Vehicle ID (e.g. license plate) Parking start time Expiration time Vehicle space identifier (e.g., precise GPS location or residential address or address + sequence number (this can be painted on the actual space or otherwise indicated at the physical location of the space) Rate (which can be expressed, for example, in satoshis / minute or $ / minute) Other complex conditions such as: -The first 2 hours (or any other period) are free -Costs are per partial period (e.g. "0.01 BTC per hour or fraction thereof")
[0038] In some embodiments, the BID 106 can identify the vehicle through one of several methods. For example, the BID 106 can include a built-in camera that is pointed at the general area of the vehicle license plate. In another example, the BID 106 detects a unique signal ID emitted by the vehicle. In another example, a dedicated vehicle tag RFID is attached to the vehicle. In some embodiments, the BID 106 cannot identify the vehicle (e.g., for privacy purposes) and instead the parking attendant can verify that the correct vehicle has been parked by visually checking the vehicle license plate against the license plate registered in the payment transaction.
[0039] The application may enable various functions, such as, for example: Drivers can reserve parking spaces for future periods -Reservations may (or may not) require upfront payment in Bitcoin Drivers can set up the application to automatically pay when the payment time expires and defer for another period (adjustable) The application may allow for scheduled parking (e.g., reservations for weekdays)
[0040] As shown in FIG. 1a, the system 100 includes a parking space 102, an internet-enabled (Internet of Things or "IoT") device 104, a blockchain Internet of Things Device (BID) 106, a blockchain server 108 that operates to provide access to the peer-to-peer network that supports the blockchain, and an agent 110 that operates to monitor the blockchain and communicates with the IoT device 104 and the BID 106.
[0041] The use of a parking space using system 100 is described with reference to the flow chart in Fig. 1b. Alice has a smartphone application that shows the location of available vehicle spaces by querying the blockchain. In step S100, Alice finds a convenient location and parks her car. The application shows the conditions for this space, which may be in the driveway of a residence in a dense urban area such as London or Los Angeles.
[0042] In step S102, Alice uses the application to pay for the space in Bitcoin for the required time after accepting the terms and selecting the given options. Since Alice is not 100% sure that she will return in time, she also selects the option offered by the application to automatically extend the parking period by 10 minutes up to three times and pay for each 10 minutes that passes (Alice considers the premium for this service to be a bit high, but she is willing to pay it to avoid fines and reputation damage if she returns after the expiration).
[0043] Of course, Alice knows that the smartphone application provides the ability to simply extend the period remotely if the expiration time is imminent, but she cannot be sure that she will get that opportunity since she will be attending a meeting. Then, Alice returns before the expiration time. The smartphone application allows Alice to cancel the unnecessary procrastination, but Alice knows that in this case she does not need to do so, because the operator of this BID 106 has a setting that allows Alice to simply launch, and the BID 106 will detect that Alice is not taking advantage of the procrastination, and therefore will automatically cancel the procrastination for Alice (as per the contract).
[0044] So, suppose Alice rents a parking space for 1 hour by paying 5 BTC, and the cost of additional time is 1 BTC / 10 min.
[0045] The first transaction crediting Bob with 5 BTC is a P2PKH payment for the first hour. This is a standard Bitcoin transaction.
[0046] T extra is defined as the time that Alice's car remains in the parking space after the standard time period, i.e., after the first hour that has already been paid for. T extra is a multiple of 10 and takes on values 0, 10, 20, 30. At times T=60, 70, 80, and 90 minutes, the BID 106 checks whether the car is still parked in the parking space. If not, the BID 106 sends a message to Alice, Bob, the parking space owner, and a third party or "agent." The message is generated based on the value T extra For example, if Alice returns to the parking space at time 65 minutes, T extra= 10, Bob should request 1 BTC from Alice. However, Alice does not trust Bob, so she wants to transfer the funds using an independent service, and this transfer should be conditional on the signature of the agent server. The agent can then send a message, e.g. "is T extra The agent receives such information from the IoT device 104.
[0047] Alice and Bob agree on a rule script and send it to the agent server (O1). The rule script might look like this: If (T extra ==10) return Sign TxA else if (T extra ==20) return Sign TxB else if (T extra ==30) return Sign TxC else return False
[0048] If O1 judges the rule script positively, i.e., if one of the above conditions regarding the use of the parking space is satisfied, O1 signs and broadcasts either TxA, TxB, or TxC (but not all of them).
[0049] In step S104, the agent generates a new public key. In step S106, the agent obtains the public keys from Alice and Bob. Then, in step S108, the agent generates a 2-of-3 multi-signature address.
[0050] In step S110, Alice creates a new transaction Tx1 that sends 3 BTC to the multi-signature address, signs Tx1, and broadcasts it over the Bitcoin network. This transaction is shown in Figure 2.
[0051] In step S112, the agent validates Tx1 and generates three transactions that spend the UTXO of Tx1. The three transactions may be denoted as TxA, TxB, and TxC. In step S112, the agent also generates a fourth transaction, TxR. TxA is shown in Figure 3. TxB and TxC are similar but have different amounts of Bitcoin, as shown below.
[0052] As can be seen from Figure 3, TxA sends 1 BTC to Bob and 2 BTC to Alice. extra = 10. TxB sends 2 BTC to Bob and 1 BTC to Alice, and T extra = 20. TxC sends 3 BTC to Bob, and T extra =30.
[0053] Each of TxA, TxB, and TxC requires two signatures, one in the form of Bob's signature and one in the form of the agent's signature. In step S114, the agent sends TxA, TxB, and TxC to Bob. Then, in step S116, Bob signs each of TxA, TxB, and TxC and returns them to the agent as pending blockchain transactions.
[0054] TxR is a refund transaction that sends 3 BTC back to Alice. It has a non-zero lock time that corresponds to a given moment in the future. TxR requires two signatures, in the form of Alice's signature and the agent's signature. That is, if Alice does not use the parking space beyond the period paid for in Tx1, a refund will be automatically issued. TxR is signed by the agent upon its creation in step S112. TxR is shown in FIG. 5.
[0055] Now consider the example where Alice parks in the parking space for up to 10 minutes beyond the hour she paid for with Tx1. extra = 10. This is illustrated with reference to Figure 4a.
[0056] In step S200, the IoT device 104 detects that Alice's car has been parked in the parking space for 10 minutes beyond the one hour paid for in Tx1. Then, in step S202, the BID 106 detects that the car has been parked in the parking space for an additional 10 minutes, i.e., T extra = 10, i.e. one of the conditions in the script above was evaluated as true by the agent.
[0057] The agent then signs TxA to complete the transaction in step S204. TxA can then be broadcast to the blockchain in step S206. Completion of TxA results in 1 BTC being paid to Bob and 2 BTC being paid to Alice. TxB and TxC can be completed in a similar manner.
[0058] Then, Alice leaves the parking space on time and T extraConsider an example where .times. ...
[0059] It should be noted that the above-described embodiments are illustrative rather than limiting of the invention, and that a person skilled in the art could design many alternative embodiments without departing from the scope of the invention as defined by the claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claims. The use of words such as "comprises" does not exclude the presence of elements or steps other than those listed in a claim or the specification as a whole. In this specification, "comprises" means "including or consisting of". The singular form of an element does not exclude the plural form of such elements and vice versa. The invention can be realized 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 means are recited in mutually different dependent claims does not indicate that a combination of these means cannot be used to advantage.
[0060] The above embodiment can be expressed as follows. (1) A blockchain-enabled method of controlling use of and / or access to a resource, comprising: generating a blockchain transaction indicating conditions regarding use of and / or access to the resource, the blockchain transaction including a multi-signature script that requires multiple signatures for completion of the blockchain transaction; providing a first subset of the plurality of signatures to the blockchain transaction to generate a partially signed signature script and partially complete the blockchain transaction; In response to the condition regarding the use of and / or access to the resource being satisfied, providing a second subset of the plurality of signatures to the blockchain transaction to fully complete the blockchain transaction; A method comprising: (2) The method of (1), wherein providing a second subset of the plurality of signatures to the blockchain transaction includes selecting the blockchain transaction from a plurality of partially signed multi-signature transactions. (3) The method of (1) or (2), wherein the condition regarding the use of the resource is the use of a discrete amount of the resource, and the second subset of the plurality of signatures is provided in response to the resource being used in the discrete amount. (4) The method of (3), wherein generating a blockchain transaction indicating conditions regarding use of and / or access to the resource includes generating a blockchain transaction corresponding to each integer multiple of the discrete amount of the resource, and the second subset of the plurality of signatures is provided for use of each increased integer multiple of the resource. (5) The method according to (4), wherein the maximum limit of the integer multiple is predefined. (6) The method of (5), wherein an off-block action is triggered in response to exceeding the maximum limit. (7) The method of any one of (1) to (6), wherein the first subset of the plurality of signatures includes a signature from an agent. (8) The method of any one of (1) to (6), wherein the first subset of the plurality of signatures includes a signature from a publisher of the resource. (9) The method of (8), wherein the second subset of the plurality of signatures includes a signature from an agent. (10) The method of (7), wherein the second subset of the plurality of signatures includes signatures from users of the resource. (11) A method according to any one of (1) to (10), wherein the condition regarding the use of the resource is that the resource is not in use. (12) The method of any one of (1) to (11), wherein the blockchain transaction has a non-zero lock time. (13) sending said fully completed blockchain transaction to the blockchain to use the output associated with the previous transaction; The method according to any one of (1) to (12), comprising: (14) A system including computer resources configured to execute the method according to any one of (1) to (13).
Claims
1. 1. A blockchain-enabled method for controlling use of and / or access to a resource, the method being performed by an agent, the method comprising: receiving information regarding terms of use of the resource by the first party including at least a selected duration of use of the resource by the first party; generating a new public key; obtaining public keys from the first party and a second party; generating a 2-of-3 multi-signature address; verifying a transaction Tx1 addressed to the multi-signature address and signed by the first party; The additional time of use of the resource added to the selected period (T extra generating multi-signature transactions TxA, TxB, and TxC, each associated with a unique identifier; sending the transactions TxA, TxB, and TxC to the second party, which signs and returns the transactions TxA, TxB, and TxC; A method comprising:
2. The additional time (T extra ) signing appropriate transactions from said transactions TxA, TxB, and TxC; broadcasting the signed transaction to the blockchain; The method of claim 1 , further comprising:
3. 3. The method of claim 1, further comprising the step of generating a refund transaction TxR having a non-zero lock time.
4. The method of claim 3 , wherein the refund transaction requires a signature from the agent and a signature from the first party.
5. 5. The method of claim 3 or 4, further comprising the step of signing and broadcasting the refund transaction TxR if the resource is not used for an additional time beyond the selected period.
6. The method of claim 1 , wherein the condition of the usage of the resource is the usage of the resource for a discrete amount of time.
7. Generating the transactions TxA, TxB, and TxC takes a discrete amount of time (T extra 7. The method of claim 1 , further comprising generating blockchain transactions corresponding to integer multiples of the number of shards.
8. The method of claim 7 , wherein the maximum limit of the integer multiple is predefined.
9. The method of claim 8 , wherein an off-block action is triggered in response to exceeding the maximum limit.
10. The method of claim 1 , wherein the second party is an owner of the resource.
11. The method of claim 1 , wherein the transactions TxA, TxB, and TxC require a signature from the agent.
12. The method of claim 1 , wherein the resource is a parking space.
13. A system including a resource configured to perform the method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Method and system for managing parking lot use
JP2008204215A
System and method for conducting wireless monetary transactions
JP2011513839A
Parking lot management method
JP2013127756A
Prepayment type parking-lot ticket dispenser
JP2015148885A
System and method for rendering virtual currency related services
US20150332224A1