Computer-implemented systems and methods to enable complex functionality on a blockchain while preserving security-based restrictions on script size and opcode limits
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-modified1 - 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.