US2023410106A1PendingUtilityA1

Computer-implemented systems and methods to enable complex functionality on a blockchain while preserving security-based restrictions on script size and opcode limits

Assignee: NCHAIN LICENSING AGPriority: Dec 21, 2016Filed: May 17, 2023Published: Dec 21, 2023
Est. expiryDec 21, 2036(~10.4 yrs left)· nominal 20-yr term from priority
G06Q 20/401G06F 9/466G06Q 20/065H04L 9/0643H04L 9/3247H04L 9/06G06Q 20/389H04L 9/3239G06F 9/4484H04L 2209/56H04L 9/50
80
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Techniques are presented to decompose the functionality of a blockchain transaction script into several chunks or functional parts, and to use the output of a chunk as the input of the next chunk. Advantageously, this allows the blockchain to be used for ever complex tasks and computations while minimizing script size, and also provides a novel architecture for the distributed execution of computational processes. A presented method obtains data from at least one data storage resource, the data comprising a first unlocking script corresponding to a first blockchain transaction and a second unlocking script corresponding to a second blockchain transaction, and controls a task or computation based on the data obtained as a result of the first and second blockchain transactions.

Claims

exact text as granted — not AI-modified
1 - 19 . (canceled) 
     
     
         20 . A computer-implemented method comprising:
 obtaining data from at least one data storage resource, the data comprising a first unlocking script corresponding to a first blockchain transaction and a second unlocking script corresponding to a second blockchain transaction, wherein the second locking script corresponds to a locking script generated based at least in part on an output of the first unlocking script; and   controlling performance of a task or computation based on the data obtained as a result of validating the first and second blockchain transactions.   
     
     
         21 . The computer-implemented method of  claim 20 , wherein one or more functions included in the locking script are decoupled from one or more arguments contained in the first unlocking script. 
     
     
         22 . The computer-implemented method of  claim 21 , wherein the product is an unspent output of the first blockchain transaction. 
     
     
         23 . The computer-implemented method of  claim 20 , wherein the task or computation is performed by executing a script that exceeds a size limit of the first or second blockchain transaction. 
     
     
         24 . The computer-implemented method of  claim 20 , wherein the task or computation is implemented by a number of op_codes, the number exceeding a limit of a given blockchain transaction. 
     
     
         25 . The computer-implemented method of  claim 20 , wherein the task or computation is implemented by:
 reading a value from the first unlocking script; and   using the value as an input to the second unlocking script.   
     
     
         26 . The computer-implemented method of  claim 25 , wherein the value is read by a computing agent and identified by the computing agent as following an op_return. 
     
     
         27 . The computer-implemented method of  claim 20 , wherein the data is obtained as a result of one or more computing agents reading a state of a stack, the stack receiving a product of executing a locking or unlocking script. 
     
     
         28 . A system comprising:
 one or more processors; and   memory that stores computer-executable instructions that, as a result of execution by the one or more processors, cause the system to:
 obtain data from at least one data storage resource, the data comprising a first unlocking script corresponding to a first blockchain transaction and a second unlocking script corresponding to a second blockchain transaction, wherein the second locking script corresponds to a locking script generated based at least in part on an output of the first unlocking script; and 
 complete a task or computation based on the data obtained as a result of validating the first and second blockchain transactions. 
   
     
     
         29 . The system of  claim 28 , wherein one or more functions included in the locking script are decoupled from one or more arguments contained in the first unlocking script. 
     
     
         30 . The system of  claim 29 , wherein the result is an unspent output of the first blockchain transaction. 
     
     
         31 . The system of  claim 28 , wherein the task or computation is execution of a script that exceeds a threshold number of bytes in size. 
     
     
         32 . The system of  claim 28 , wherein the task or computation is implemented by a plurality of op_codes, the plurality exceeding a threshold number of op_codes. 
     
     
         33 . The system of  claim 28 , wherein the task or computation is implemented by:
 reading a value from the first unlocking script; and   using the value as an input to the second unlocking script.   
     
     
         34 . The system of  claim 33 , wherein the value is read by a computing agent and identified by the computing agent as following an op_return. 
     
     
         35 . The system of  claim 28 , wherein the data is obtained as a result of one or more computing agents reading a state of a stack, the stack receiving a product of executing a locking or unlocking script. 
     
     
         36 . A non-transitory computer-readable storage medium comprising executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least partially implement a first node in a network to:
 obtain data from at least one data storage resource, the data comprising a first unlocking script corresponding to a first blockchain transaction and a second unlocking script corresponding to a second blockchain transaction; and   complete a task or computation based on the data obtained as a result of the first and second blockchain transactions.   
     
     
         37 . The non-transitory computer-readable storage medium of  claim 36 , wherein the product is an unspent output of the first blockchain transaction. 
     
     
         38 . The non-transitory computer-readable storage medium of  claim 37 , wherein the result is an unspent output of the first blockchain transaction. 
     
     
         39 . The non-transitory computer-readable storage medium of  claim 36 , wherein the task or computation is implemented by:
 reading a value from the first unlocking script; and   using the value as an input to the second unlocking script.

Join the waitlist — get patent alerts

Track US2023410106A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.