US 12,407,693 B2
System for securing verification key from alteration and verifying validity of a proof of correctness
Alexandra Covaci, Canterbury (GB); Simone Madeo, London (GB); Patrick Motylinski, London (GB); and Stephane Vincent, Luxembourg (LU)
Assigned to NCHAIN LICENSING AG, Zug (CH)
Filed by nChain Licensing AG, Zug (CH)
Filed on May 17, 2024, as Appl. No. 18/667,910.
Application 18/667,910 is a continuation of application No. 18/134,276, filed on Apr. 13, 2023, granted, now 12,219,044.
Application 18/134,276 is a continuation of application No. 16/762,471, granted, now 11,658,801, issued on May 23, 2023, previously published as PCT/IB2018/058433, filed on Oct. 29, 2018.
Claims priority of application No. 1718505 (GB), filed on Nov. 9, 2017; application No. 1719998 (GB), filed on Nov. 30, 2017; application No. 1720768 (GB), filed on Dec. 13, 2017; application No. 1801753 (GB), filed on Feb. 2, 2018; application No. 1805948 (GB), filed on Apr. 10, 2018; and application No. 1806444 (GB), filed on Apr. 20, 2018.
Prior Publication US 2024/0313947 A1, Sep. 19, 2024
Int. Cl. H04L 29/06 (2006.01); G06F 8/41 (2018.01); G06F 9/445 (2018.01); G06F 16/27 (2019.01); G06Q 20/06 (2012.01); G06Q 20/40 (2012.01); H04L 9/00 (2022.01); H04L 9/06 (2006.01); H04L 9/30 (2006.01); H04L 9/32 (2006.01); H04L 9/40 (2022.01)
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
OG exemplary drawing
 
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.