| CPC H04L 63/12 (2013.01) [G06F 8/44 (2013.01); G06F 8/447 (2013.01); G06F 8/451 (2013.01); G06F 9/44521 (2013.01); G06F 16/27 (2019.01); G06Q 20/065 (2013.01); G06Q 20/401 (2013.01); G06Q 20/405 (2013.01); H04L 9/0637 (2013.01); H04L 9/0643 (2013.01); H04L 9/30 (2013.01); H04L 9/3218 (2013.01); H04L 9/3236 (2013.01); H04L 9/3239 (2013.01); H04L 9/3247 (2013.01); H04L 9/3263 (2013.01); H04L 9/50 (2022.05); H04L 9/0618 (2013.01); H04L 9/3066 (2013.01); H04L 2209/34 (2013.01); H04L 2209/56 (2013.01)] | 15 Claims | 

| 
               1. A computer-implemented method of controlling transfer of a digital asset via a blockchain, the method comprising: 
            generating a transaction output of a transaction comprising an indication of a digital asset and a locking script that encodes a set of conditions for transferring control of the digital asset, satisfaction of the set of conditions to be determined based at least in part on a verification key and a proof; 
                generating a transaction input of the transaction, the transaction input comprising: 
                an identifier associated with the transaction output; and 
                an unlocking script comprising the proof and a redeem script; and 
                verifying the set of conditions are satisfied based at least in part on the locking script and the unlocking script; 
                transferring control of the digital asset in response to verifying satisfaction of the set of conditions; 
                determining a size of the redeem script; 
                if the size of the redeem script does not exceed a predetermined threshold, generating the redeem script comprising the verification key and a script to check a set of constraints; and 
                if the size of the redeem script exceeds the predetermined threshold, generating the unlocking script that stores one or more elements of the verification key in the part of the unlocking script preceding the redeem script so that the size of the redeem script is within the predetermined threshold, and generating the redeem script with the remaining elements of the verification key and the script to check a set of constraints. 
               |