Blockchain-enabled method and system
The blockchain-enabled system addresses the inefficiencies in controlling access to IoT devices by using blockchain transactions and smart contracts for secure, automated, and decentralized management of resource access, enhancing convenience and efficiency.
Patent Information
- Application Number
- JP2024017645
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2016-07-29
- Filing Date
- 2024-02-08
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2037-07-21
AI Technical Summary
Existing systems for controlling access to Internet-enabled resources, such as IoT devices, lack convenience and efficiency, particularly in scenarios requiring temporary access, like rentals, and often require physical interaction for initiation or termination.
A blockchain-enabled method and system that utilizes blockchain transactions, smart contracts, and cryptographic keys to grant, manage, and revoke access to resources remotely through IoT devices, enabling secure and automated control of resource access and usage.
Provides secure, convenient, and automated control of resource access without physical interaction, leveraging blockchain's immutability and cryptographic security to ensure transparency and decentralized management.
Smart Images

Figure 0007725633000006 
Figure 0007725633000007 
Figure 0007725633000008
Abstract
Description
[Technical Field]
[0001] The present invention relates generally to distributed ledger technology (including blockchain-related technologies), and particularly to the use of blockchain in controlling access to resources, such as devices, systems, services, or electronic / digital resources. The present invention is particularly suitable for use in providing and / or prohibiting access to Internet-enabled devices. It is also suitable for use in situations where temporary access to resources is desired, such as, for example, rental situations. Aspects of the present 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, this document will use the term "blockchain" as it is the most widely known term currently in this context. The term is used herein to include all forms of electronic, computer-based distributed ledgers, including consensus-based blockchains, altchains, sidechains, and transaction chain technologies, permissioned and non-permissioned ledgers, shared ledgers, and variations thereof.
[0003] A blockchain is an electronic ledger implemented as a computer-based, decentralized, distributed system composed of blocks, each of which consists of transactions. Each transaction contains at least one input and at least one output. Each block contains a hash of its previous block, which are chained together to create a permanent, immutable record of all transactions that have been written to the blockchain since its inception. Transactions contain small programs, known as scripts, embedded in the inputs and outputs that specify how the transaction's outputs can be accessed and by whom. On 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 it, and if the transaction is verified, the node relays it 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] 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 referenced herein for convenience and purposes of explanation, it should be noted that the present invention is not limited to use with the Bitcoin blockchain, and other blockchain implementations are within the scope of the present invention.
[0006] Blockchain technology is most widely known for its use in enabling cryptocurrencies, but more recently, digital entrepreneurs have begun to enable new systems that take advantage of both the cryptographic security system that Bitcoin is based on and the data that can be stored on the blockchain.
[0007] One area of current interest and research is the use of blockchain for the implementation of "smart contracts." These are computer programs designed to automate the execution of the terms of a contract or agreement. Unlike traditional contracts, which are written in natural language, smart contracts are machine-executable programs that contain rules that can process inputs to produce results, and can perform actions in response to those results.
[0008] Another area of blockchain-related interest is the use of "tokens" (or "colored tokens") to represent and transfer real-world entities through the blockchain. Potentially sensitive or secret items can be represented by tokens that have no distinguishable meaning or value. Thus, tokens act as identifiers that allow real-world items to be referenced.
[0009] The present invention also relates to the use of blockchain-enabled mechanisms for controlling access to resources, which may be "Internet of Things (IoT)" devices. IoT is described by Wikipedia as "a network of physical devices, vehicles, buildings, and other items embedded with electronics, software, sensors, and network connections that enable these objects to collect and exchange data...IoT allows objects to be sensed and controlled remotely over existing network infrastructure."
[0010] The invention is defined in the appended claims.
[0011] The present invention may provide a method and / or system. It may be a control method / system. It may be a computer-implemented method / system. It may be a blockchain-implemented method / system. It may be configured to utilize blockchain transactions. It may be configured to utilize blockchain protocols. The present invention may be configured to provide control of access to or usage of resources. Thus, the present invention may be configured to provide temporal control of resources. It may be configured to grant and / or deny access / usage to resources.
[0012] A resource may be an Internet-enabled resource. It may be an Internet of Things (IoT) resource. It may be one or more devices. It may be a vehicle, a building, or a machine. An Internet-enabled resource may be provided, owned, or managed by a resource provider.
[0013] The present invention may provide a verification or authentication method / system. The present invention may involve the use of at least one cryptographic key, which may be a public / private key pair. The cryptographic key may be generated using a shared secret.
[0014] The invention may be configured to lock / unlock, enable / disable, run / shut down, or otherwise manipulate the state or functionality of a resource. The invention may be configured to control the temporary access / usage of a resource by a user. The invention may be configured to implement a rental or lending process, at least part of which may be implemented, specified, and / or described in a contract, which may be a computer-executable smart contract.
[0015] The present invention may include a method for controlling access to and / or usage of an internet-enabled resource, the method including generating a first blockchain transaction (TxB). The step may be performed by a controller of the resource. The TxB may be generated in an incomplete form with output including a redeem script that includes a token representing a public key associated with a user of the resource. (The user of the resource may have the public key previously provided to the controller.) The controller may send the incomplete transaction TxB to the user of the resource for modification and / or completion.
[0016] The resource may modify or post the first transaction (TxB) in response to receiving it from the controller.
[0017] The first transaction (TxB) is i) tokens representing smart contracts for accessing and / or using internet-enabled resources; and / or ii) at least one output for transferring value from a user of the Internet-enabled resource to a controller of the resource and / or a third party.
[0018] It may also include communicating to the Internet-enabled resource a public key associated with the user of the resource. The public key may be a cryptographic key, which may form part of a public / private key pair.
[0019] It may also include communicating a message or other form of data to the resource that has been encrypted using a private key, which may be an encryption key, which may form part of a public / private key pair.
[0020] It may also include allowing or preventing access to and / or utilization of Internet-enabled resources depending on the successful decryption of the message using the public key.
[0021] The third party may be an escrow agent. The smart contract may include details or terms regarding an agreement for access to or use of a resource. The transfer of value may be a payment of funds, such as a currency amount. The currency may be, for example, a virtual currency such as Bitcoin.
[0022] The first blockchain transaction may include an output having a redeem script that includes a token representing a public key associated with a user of the resource.
[0023] The method may further include accessing or obtaining the public key from the token and storing it in memory, which may be performed by an internet-enabled resource. The key may be stored in or connected to the IoT device.
[0024] A user of a resource may receive a first transaction from a source, which may be received in a partially filled-in form, or which may be received from a resource controller. The user of a resource may modify the first transaction by inserting one or more inputs and / or one or more outputs.
[0025] The first transaction may be generated by a controller of the resource and sent by either a user of the resource for modification. The user of the resource may modify the first blockchain transaction by adding at least one output to the first transaction. The user of the resource may modify the first blockchain transaction by adding at least one output to the first transaction. Inputs that spend a portion of cryptocurrency from other (previous) transactions on the blockchain, and / or an output that transfers a portion of the cryptocurrency to a third party, preferably the output also transfers a tokenized contract (i.e., a token representing the contract); and / or Transferring a portion of the virtual currency to the controller of the resource; and / or - Output that returns a portion of the virtual currency to the resource user as change The first transaction may be modified to include:
[0026] The method may include transmitting a first transaction to a blockchain network.
[0027] The encrypted message may be sent to an Internet-enabled resource by a user of the resource. It may be sent by the user using a mobile or portable computing device, such as a smartphone. An app may be installed on the user's (client) device for this purpose.
[0028] The method may also include sending a second transaction to a blockchain network, the second transaction including an output that sends a token to a resource, the token representing or including a public key or a hash of a public key associated with a user of the resource. The method may also include deleting a previously stored version of the user's public key from memory based on the public key represented by the token of the second transaction. This may be accomplished by retrieving a stored version of the key provided by the token. The method may also include detokenizing the token of the second transaction by creating a third transaction including an input that uses the output of the second transaction.
[0029] The transmission of the first, second, and / or third transactions to the blockchain network may be automated. The time of transmission may depend on instructions or settings included within each transaction, which may be CLTV instructions or mechanisms, or other mechanisms that are substantially equivalent in function.
[0030] The first blockchain transaction may include an output for transferring the deposit payment to the controller of the resource. Additionally or alternatively, it may include an output for transferring the payment to the escrow agent.
[0031] The method may also include storing the public key or a reference to its location in a storage resource, which may be a distributed hash table or memory accessible by or associated with the resource.
[0032] The method may also include preventing further access to and / or use of the internet-enabled resource by removing the public key from the resource in memory and / or using a redeem script for the blockchain transaction to use the tokenized output of another blockchain transaction.
[0033] The present invention may provide a method for controlling access to and / or use of an Internet-enabled resource. The method may include granting access to and / or use of the Internet-enabled resource by provision of a private key corresponding to a public key stored in a memory. The public key may be stored in, on, or in a memory connected to the resource. Additionally or alternatively, it may be stored remotely or at another location from the Internet-enabled resource.
[0034] Additionally or alternatively, the method may include preventing access to and / or use of the Internet-enabled resource by deleting the public key from memory.
[0035] Additionally or alternatively, the step of preventing access and / or usage may include using a tokenized output of the first blockchain transaction using a redeem script of the second blockchain transaction.
[0036] The present invention also provides a computer-implemented system configured to perform any of the above-described method embodiments.
[0037] The present invention may include using instructions, flags, codes, opcodes, or portions of computer code (for convenience, referred to as a "time-lock mechanism") to broadcast a transaction to a blockchain network and / or specify a date and / or time when the output of the transaction is available. This may be implemented, for example, using the Bitcoin CheckLockTimeVerify (CLTV) process or a functionally similar or equivalent mechanism. Additionally and / or alternatively, the time-lock mechanism may be implemented using an appropriately configured computational agent. The transaction may be a first, second, and / or third transaction. The time-lock mechanism may be used to broadcast a transaction to a blockchain network or to use an output at a specific time, such as when access to or control of a resource is granted, denied, modified, or revoked. The time-lock mechanism may be specified by a resource user, a resource provider, or a third party. The system according to the present invention comprises: an internet-enabled resource, which may preferably be an IoT device or apparatus; Blockchain, and / or It may include an internet-enabled device associated with a user and configured to store an encryption key associated with the user. The (client) device may be a portable or handheld computing device.
[0038] The client device may be a smartphone, tablet computer, or laptop. The client device may be configured to generate public and / or private encryption keys. It may do so using a secret value. The client device may be configured to run software such as an “app.” The app may be configured to communicate with resources. It may be configured to store encryption keys in a secure manner. It may be configured to encrypt messages using the keys. It may be configured to communicate encrypted messages to the resources. This may be achieved over a wireless communication channel and / or protocol. The app may be configured to communicate with other software resources hosted on a server. The server may be operated by or for a resource provider. The server may host a website. The website may allow users to register an interest in controlling, accessing, and / or using the internet-enabled resource. The server-side software may be configured to generate a smart contract. The smart contract may include terms and / or conditions for accessing / using the internet-enabled resource.
[0039] The internet-enabled resource may be configured to generate blockchain transactions and submit the transactions to a blockchain network.
[0040] Any feature described with respect to one aspect or embodiment of the invention may be equally applicable to any other aspect or embodiment of the invention, and any feature described with respect to the method may also apply to the system, and vice versa.
[0041] The present invention may provide a method and / or system substantially as described in the following illustrative example for a rental scenario.
[0042] These and other aspects of the invention will be apparent from and elucidated with reference to the embodiment(s) described hereinafter, by way of example only, with reference to the accompanying drawings, in which: [Brief explanation of the drawings]
[0043] [Figure 1a] 1 illustrates a system according to an exemplary embodiment of the present invention. [Figure 1b] 1 provides a flowchart illustrating steps involved in renting a car using a system according to an embodiment. [Figure 2] 1 illustrates several transactions and their respective inputs / outputs that may be used to implement an embodiment of the present invention. [Figure 3a] 1 shows a first blockchain transaction utilized to enable access to an internet-enabled vehicle. [Figure 3b] 1 shows a first blockchain transaction utilized to enable access to an internet-enabled vehicle. [Figure 4] 10 shows a second blockchain transaction used to remove access to the vehicle. [Figure 5] Shown is a third blockchain transaction used to control access to the vehicle. [Figure 6] 10 illustrates a fourth blockchain transaction used to detokenize the amount of cryptocurrency used in an example car loan transaction. DETAILED DESCRIPTION OF THE INVENTION
[0044] The present invention provides a mechanism for providing, terminating, and controlling temporary access to resources. Effectively, it utilizes a blockchain protocol to allow users with access to the internet to interact with the resource. This could be any type of resource, but in this example, the resource is an internet-enabled rental car. The method utilizes the full range of transaction possibilities available with the blockchain protocol: regular (e.g., Bitcoin) transactions, smart contracts, and "colored coin" (tokenized) transactions.
[0045] For illustrative purposes only, a specific example is provided in which the present invention is utilized in a vehicle rental service. Car rental services encompass a wide range of services related to renting vehicles for specific periods of time, ranging from a few hours to several months. These services are often provided via websites, online reservations, and smartphone applications. Changing customer preferences due to the rapid adoption of smartphone technology coupled with high-speed internet access is one of the key factors driving the growth of the industry. However, it should be noted that this example of a car rental transaction is not intended to be limiting. The present invention is equally beneficial in other contexts and applications in which temporary access to certain types of resources needs to be controlled. The underlying infrastructure described herein can be used for a variety of transactions in which a permanent record is desired and two or more parties wish to effectuate any type of access-related agreement, such as a contract for the rental of residential property.
[0046] The present invention provides an improved access solution that is extremely convenient for users to interact with. It does not require the user (e.g., renter) to physically go to a predetermined location to initiate or terminate access. For example, in a traditional rental situation, the renter would need to go to a rental office to collect car or property keys, sign a contract, etc. The present invention circumvents this problem by allowing a computing device, such as a smartphone, to act as the access mechanism for the car / house key, etc. Furthermore, the present invention's incorporation of a software application provides search capabilities and allows the user to register details.
[0047] One important aspect of the present invention is that it can utilize mechanisms for broadcasting blockchain transactions to a blockchain network and / or making outputs available at specified times. For example, the Bitcoin CheckLockTimeVerify (CLTV) mechanism can be utilized in transactions. With respect to the present invention, this can be advantageous because it can be used to automate the execution of contracts. For example, it can be used to control when access or utilization of resources can be granted, modified, or denied.
[0048] It is important to note that resources utilize Internet of Things (IoT) devices to perform a range of possible functions, including resource-related functions. A user's encryption key (PubKey) is communicated to the resource for storage to grant access. This key is subsequently deleted from the resource's memory to prohibit further access. The IoT device is a programmable "Blockchain IoT Device (BID)," i.e., an Internet-enabled device capable of monitoring, interacting with, and publishing to the blockchain network. The present invention also includes a communication protocol. In a preferred embodiment, this allows communication with the resource via a software application (app).
[0049] 1a illustrates a system 100 that may be utilized to implement system 100 in accordance with an exemplary embodiment of the present invention. However, those skilled in the art will appreciate that variations to system 100 are possible while still falling within the scope of the present invention.
[0050] The system 100 is A server 102 that operates a website used by customers to rent cars. A vehicle 110 having an IoT device 104 including a blockchain IoT device (BID) 106 A smartphone or other computing device 108, such as a tablet, laptop, or the like, configured to send messages to the automobile 110 via the IoT device 104 using near-field communication, Bluetooth, or any other suitable, preferably wireless, transmission protocol. It has.
[0051] In this example, a "Blockchain IoT Device (BID)" is a computational agent set up to execute predetermined instructions that are securely stored off-BID and accessed via cryptographic keys. By "off-BID," it is meant that the instructions are not contained within the BID itself, but are stored elsewhere and accessed as needed. These instructions are selected and configured to perform one or more selected tasks. When executed, the instructions can control and influence the operation of the IoT device. The BID may be located on the IoT device itself, meaning that the BID is installed in memory contained on the IoT device. However, in other embodiments, the BID may be located off-device and have an internet connection to the device.
[0052] An IOT device has its own encryption keys (along with an IP address) so that it can securely communicate and interact with other devices or DHTs etc. Its "operating system" is (at least without limitation) ·Encryption calculation Extracting instructions from external sources (such as DHT) Performing simple actions such as switching a toggle (i.e., as on a physical IOT device) It is a simple and general-purpose system with embedded functionality for
[0053] Thus, neither the IOT device nor its associated BID contains its own built-in instructions and "knows" nothing about what it does or how it does it. The BID only has a mechanism for securely extracting instructions from one another. The BID (the following is illustrative and not limiting): Access to its own master private and public key pair; it also has its own (derivable) BTC address Ability to send data to or receive data from an IP address Secret sharing protocol computations - in the preferred embodiment, these may be embedded in machine code · Search and interpret blockchain events · Run and control the physical devices attached to it (through a standard API that is essentially just a set of switches) Only a simple set of actions can be performed.
[0054] Communications to and from the BID can be encrypted using a security mechanism that allows keys to be created using a shared secret. (i) Greater security from "hacking" (ii) A simple and general software upgrade protocol (iii) Device agnosticism This makes it possible.
[0055] The various phases of a car rental transaction using the system 100 will now be described with reference to a (Bitcoin) transaction chain as shown in Figure 2. The rental transaction involves: 1. Phase 1: A rental agreement is established between the participating parties. 2. Phase 2: Access to the resource is granted, i.e., the customer uses the resource. 3. Phase 3: The contract is terminated for some reason, e.g., the contract expires due to time constraints or a termination event occurs, such as returning a rental car, and access to certain resources is removed. It is explained using three "phases":
[0056] Phase 1: Contract Setup See Figures 1b and 2. In this example, the resource provider is a car rental company and the resource is a vehicle with an internet-enabled computer on board. The customer (who in this example may be referred to as the "user" or "renter") enters her order details via the provider's website to notify her desire to enter into a rental agreement with the rental company. The customer provides the rental company with his / her public key, which has a corresponding private key that together constitute a cryptographic key pair as known in the art. See step S100 of Figure 1b.
[0057] In response, the car rental company generates a new contract, which is a machine-executable “smart contract” (hereinafter simply referred to as the “contract”). Smart contracts are known in the art. The car rental company shares the contract by publishing it in a publicly available distributed hash table (DHT) in step S102 of FIG. 1b. The contract includes the terms of the car rental, such as pick-up and return times, details of the model vehicle, etc. The customer is notified of the location of the contract (or is sent a copy of it) so that the customer can view the terms and conditions and decide whether he / she wants to proceed. In this example, assume the cost of car rental is 10 Bitcoin (BTC).
[0058] Advantageously, registration of a contract on the DHT also allows third parties to access the document and verify its terms in the event of a dispute. However, in some embodiments, security mechanisms may be used to limit access to the contract to authorized individuals or groups, for example, a password or other form of authentication may be required.
[0059] Generation of proposed transactions TxB by car lending companies The company also generates a blockchain transaction (TxB) that is sent to the customer (not the blockchain network). See the proposed transaction TxB in Figure 3a. For the rental agreement to be fulfilled, the renter must complete the transaction TxB prepared by the lending company. The proposed transaction includes a token (or "colored coin"). The terms "token" and "colored coin" are used interchangeably herein. As known in the art, a token can be used to carry data via a "normal" blockchain transaction by including some metadata. This is accomplished by providing a unique value (e.g., Bitcoin) and including an output containing the token within the metadata of the output's locking script. In this case, the Output 0 script includes metadata containing the hash of the customer's public key; the tokenized coin can be spent using the blockchain address belonging to the rental car. Thus, the car can access the customer's public key via the token once the agreement is fulfilled. This is shown in step 102 of Figure 1b.
[0060] Thus, the proposed TxB serves as a confirmation of the rental company's intent to enter into a rental agreement with the renter, and also provides a way for the vehicle to learn about the renter's public key. The proposed TxB also allows the renter to view transactions that include an output (Output 1) addressed to the vehicle and a hash of her public key.
[0061] When proposed transaction TxB is sent to the borrower, it has one input (I0) and one output (O0). The input uses the output of the previous transaction (as shown in the dashed box in Figure 2) and is signed by the car rental company's digital signature.
[0062] The first input (I0) of the proposed blockchain transaction TxB includes the SIGHASH flag SIGHASH_NONE|SIGHASH_ANYONECAMPANY, which allows the input and output to be added to TxB. The use of SIGHASH_NONE protects the input in that no one can modify it. However, the borrower can modify the output.
[0063] The locking script of this output O0 contains the hash of the borrower's public key. The locking script contains:
[0064] [Table 1]
[0065] [Table 2] This metadata in the script includes a "colored coin" that allows the car to access the renter's public key when the setup process is complete.
[0066] Transaction TxB' is generated by the car lending company When the car lending company sends the contract document to the DHT, it also generates a new document containing the hash of the borrower's public key and shares it with the DHT. TxB' is a blockchain transaction that contains an output with colored coins attached to it. See Figure 5. The colored coins are used to inform the escrow agent of the location of the borrower's public key, which is needed for the closing phase of the rental process, as described below. The redeem script for TxB' is:
[0067] [Table 3] is given as:
[0068] Therefore, the escrow's public key is needed to unlock TxB' and gain access to the borrower's public key.
[0069] TxB completed by customer If the customer wishes to proceed with car rental, he will spend the Bitcoin (or other digital currency) he owns from the previous transaction (TxA). See Figure 1b and step 104 in Figure 2. Assume the coin value of the previous output is 15 BTC and the cost of car rental is 10 BTC.
[0070] At this time, the borrower fills out the proposed TxB by adding an input (I1) signed by the borrower. Input 1 uses 15 BTC from TxA (see step 104 in Figure 1b). The borrower also: (i) One tokenized coin with a unique value of 9 BTC to a multi-signature address - Output 1 (ii) 1 BTC as a deposit to the company - Output 2 (iii) Returning 5 BTC to her – Output 3 Add three outputs to transaction TxB that pay
[0071] A filled-in version of TxB is shown in Figure 3b. Note that if TxA had an output with the same value as the cost of the car rental, there would be no need for change returned to the customer.
[0072] Once a contract is registered in the DHT, its associated URI and hash number can be expressed using colored coins in metadata in scripts. This allows transactions to be associated with the contract, and allows the contract to be referenced and accessed if security permissions allow it.
[0073] The redeem script for Output 1 of TxB is:
[0074] [Table 4] is.
[0075] In FIG. 3b, which provides an annotated example of transaction TxB, two different redeem scripts are shown for outputs O0 and O1 of TxB.
[0076] The "borrower public key" is the public key of the customer renting the car. The "car public key" is the public key of the car being rented out. The "company public key" is the public key of the company renting the car. The "escrow public key" is the public key of the escrow agent.
[0077] The token representing the contract is a 2-of-3 multi-signature address containing the borrower's signature, the company's signature, and the escrow agent's signature. A multi-signature transaction requires multiple signatures for funds to be transferred. In this scenario, the 2-of-3 multi-signature mechanism is useful because it allows the borrower to fund the transaction with a third-party intermediary (the escrow agent) and the rental company designated as potential signers. If the transaction proceeds smoothly, both the customer and the rental company sign the transaction, and the funds are transferred to the rental company. If anything goes wrong, they can sign a transaction to refund the customer. If they disagree, the escrow agent provides a second signature to the intended recipient.
[0078] Once the TxB is filled out by the customer, it is sent to the blockchain network, indicating that the customer agrees to the terms in the contract and wishes to proceed with the car rental. A CLTV mechanism can be used to specify the time of broadcast of the transaction and / or the time the output is available.
[0079] Phase 2: Access is granted In step 106 of FIG. 1b, the IoT device 104 uses the colored coins from Output 0 of TxB to access the borrower's public key from the DHT. The location of the public key may be made available to the vehicle via a message. The message may include a hash indicating where the public key is located in the DHT. The IoT device 104 can then add the public key to its database of public keys corresponding to individuals authorized to access the vehicle. Thus, the vehicle now knows the customer's public key. Depending on the targeted implementation, the key may be stored in memory on the IoT device or may be stored off-device in another location and then accessed by the device as needed. See step 106 of FIG. 1b.
[0080] However, in other embodiments of the present invention, the borrower's public key may be communicated to the IoT device in any other suitable manner, and not necessarily via the method described in this example.
[0081] The customer has a smartphone 108 that contains a private key corresponding to a public key previously provided to the car rental company. The smartphone may be configured to run an application (app) downloaded and installed from the car rental company's server. The app may provide functionality that allows the customer to interact with the car rental company and / or the car. The smartphone 108 communicates a message ("unlock door") to the IoT device 104. The message is encrypted using the private key and can only be decrypted with the corresponding public key. See step S108 of FIG. 1b.
[0082] The automobile 104 receives the encrypted message from the smartphone and attempts to decrypt it using the public key stored in step 106. If the message cannot be decrypted to provide a predetermined value or code, the verification fails and the automobile remains locked. Alternatively, if the message is successfully decrypted using the previously stored public key, the verification is deemed successful and the vehicle is unlocked. In this manner, access to resources is granted or denied based on the use of the encryption key.
[0083] During use, the smartphone app may be used to send various messages to the vehicle, such as "lock," "unlock," "turn on lights," etc. Each of these messages is encrypted using the customer's private key, and the specified task is performed after successful decryption with the stored public key.
[0084] Phase 3: Access is denied In the final phase, the rental period ends. This may be because the time period specified in the contract has elapsed, or the customer no longer needs the vehicle, or for other reasons. Therefore, the borrower's temporary access to the car should now be revoked. Once the vehicle is returned (or the end of the rental period is recognized by the company in some other way), the escrow agent generates a new blockchain transaction (TxC) that includes the company's signature and the borrower's signature. See step S112 in Figure 1b. The purpose of the TxC is to "release" the colored coins so that the 9 BTC funds can be paid to the car rental company. The transaction (TxC) is shown in Figure 4.
[0085] TxC includes two inputs as shown in Figure 2. The first input (I0) uses the output O1 from TxB. The second input (I1) is the output from TxB' shown in Figure 5. TxB' was generated by the car lending company as described above.
[0086] After broadcasting the TxC to the blockchain network, the car lending company sends a message to the IoT device 104 in step S114. The message notifies the IoT device 104 that the lending process is complete. The message includes the redemption script and a hash of the borrower's public key.
[0087] Then, in step S116, the IoT device 104 deletes the renter's public key from the vehicle's memory (or anywhere else it is stored), which means that the vehicle can no longer decrypt messages from the smartphone 108.
[0088] BID106 then creates a new blockchain transaction TxD in step S118, detokenizing or converting the colored coins created by TxC into "regular" Bitcoin value.
[0089] Detokenization is performed by creating a new transaction TxD with inputs containing the token and outputs without the token. To perform detokenization, the required signatures are presented to the lock script along with the redeem script containing the token. This is
[0090] [Table 5] It can be expressed as:
[0091] Therefore, the token was deleted by TxD.
[0092] The effects of the present invention include (but are not limited to): It is inherently secure by design - the blockchain (e.g., Bitcoin) protocol does not require a trusted entity When an embodiment is based on a blockchain protocol, it utilizes ECDSA to prove ownership, which plays a key role in blockchain transactions. The present invention utilizes the CheckLockTimeVerify (CLTV) option / setting to broadcast transactions when access to a resource should be granted. Decentralized, which avoids large-scale single points of failure and is not vulnerable to attacks It is easy to manage and maintain, and directly utilizes the Bitcoin network. Low and small transaction costs are typically expected under the Bitcoin protocol The blockchain is global and public, available at all times to anyone with access to the internet. It is transparent, and once data is written to the blockchain, anyone can see it. Records are immutable; once data is written to the blockchain, no one can change it. Privacy and anonymity are maintained and no information is available to identify individuals or entities. This includes: It should be noted that the above-described embodiments illustrate rather than limit the present invention, and that those skilled in the art can design numerous other embodiments without departing from the scope of the present invention as defined by the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The use of words such as "comprises" and "comprises" does not exclude the presence of elements or steps other than those listed in any claim or the specification as a whole. In this specification, "comprises" means "comprises or consists of" and "comprising" means "comprising or consisting of." A reference to an element in its singular form does not exclude a reference to a plural form of such element, and vice versa. The invention may also 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 a single piece 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. [Explanation of symbols]
[0093] 100 systems 102 Server 104 IoT devices 106 BID 108 Smartphones 110 Automobiles
Claims
1. A method for controlling access to and / or usage of an Internet-enabled resource controlled by a resource controller, comprising: generating, by the resource controller, a first blockchain transaction, the first blockchain transaction comprising: i) a token representing a smart contract associated with access to and / or use of said internet-enabled resource; and ii) at least one output for transferring value from a resource user of said Internet-enabled resource to a third party; iii) an output having a redeem script including a token representing a public key associated with the resource user; wherein the first blockchain transaction is sent to the resource user for modification, and the resource user modifies the first blockchain transaction by adding at least one output to the first blockchain transaction; communicating the public key associated with the resource user from the resource controller to the internet-enabled resource; communicating a message or other data encrypted using a private key from an Internet-enabled client device to the Internet-enabled resource; manipulating the state and / or functionality of the Internet-enabled resource in response to successful decryption of the message or other data using the public key; A method comprising:
2. The third party is an escrow agent; and / or The smart contract contains details or terms regarding the agreement for access to or use of the internet-enabled resource; and / or The transfer of value is a payment of funds, such as a currency amount; The method of claim 1.
3. The method of claim 2, further comprising the step of: accessing or retrieving, by the internet-enabled resource, the public key from the token and storing it in a memory.
3. The method according to claim 1 or 2.
4. submitting, by the resource controller, the first blockchain transaction to a blockchain network; The method of any one of claims 1 to 3, comprising:
5. the encrypted message is transmitted by the resource user, preferably using a handheld or portable computing device, to the internet-enabled resource; 5. The method according to any one of claims 1 to 4.
6. The method includes submitting, by the third party, a second blockchain transaction to a blockchain network, the second blockchain transaction including an output that transmits a token to the internet-enabled resource, the token representing or including the public key or a hash of the public key associated with the resource user.
6. The method according to any one of claims 1 to 5.
7. The internet-enabled resource deleting from memory a previously stored version of the resource user's public key based on the public key represented by the token of the second blockchain transaction. The method of claim 6, comprising:
8. Detokenizing the token of the second blockchain transaction by generating a third blockchain transaction that includes an input that uses the output of the second blockchain transaction; 8. The method of claim 6 or 7, comprising:
9. The submission of the first blockchain transaction, the second blockchain transaction, and / or the third blockchain transaction to a blockchain network is automated, and preferably the time of submission depends on instructions or settings provided in each blockchain transaction. The method of claim 8.
10. The first blockchain transaction is an output for transferring a deposit payment to said resource controller; and / or Output for transferring payment to escrow agent, 10. The method of claim 1, comprising:
11. The method of claim 10, further comprising: storing, by said internet-enabled resource, said public key or a reference to its location in a storage resource, preferably said storage resource being a distributed hash table or memory provided in association with or accessible by said internet-enabled resource; and / or removing, by the internet-enabled resource, the public key from a memory resource; Use the redeem script of a blockchain transaction to use the tokenized output of another blockchain transaction; preventing further access to and / or use of said Internet-enabled resource by The method of claim 1 , further comprising:
12. the internet-enabled resource is an IoT device; 12. The method according to any one of claims 1 to 11.
13. the step of allowing or preventing access to and / or use of the Internet-enabled resource is dependent on a verification performed by the Internet-enabled resource, in which the Internet-enabled resource attempts to use a stored version of the resource user's public key to read the encrypted message; 13. The method according to any one of claims 1 to 12.
14. A computer-implemented system configured to perform the method of any of claims 1 to 13.
15. The system is an internet-enabled resource, preferably an internet-enabled resource being an IoT device or appliance; Blockchain and an Internet-enabled client device associated with a resource user and configured to store an encryption key associated with said resource user, preferably said Internet-enabled client device being a portable or handheld computing device; The system of claim 14 , comprising:
16. the internet-enabled resource is configured to generate blockchain transactions and provide the blockchain transactions to a blockchain network; 16. A system according to claim 14 or 15.
Citation Information
Patent Citations
Contract construction and execution methods and apparatuses
CN105809062A
Peer-to-peer transaction system
US20160086175A1
Devices, systems, and methods for facilitating low trust and zero trust value transfers
WO2015171580A1