US 12,137,178 B2
Blockchain transactions including portions of code in different languages for complex validation
Brock Doiron, London (GB); and Craig Steven Wright, London (GB)
Assigned to nChain Licensing AG, Zug (CH)
Appl. No. 17/642,147
Filed by nChain Licensing AG, Zug (CH)
PCT Filed Aug. 19, 2020, PCT No. PCT/IB2020/057796
§ 371(c)(1), (2) Date Mar. 10, 2022,
PCT Pub. No. WO2021/048661, PCT Pub. Date Mar. 18, 2021.
Claims priority of application No. 1913143 (GB), filed on Sep. 12, 2019.
Prior Publication US 2022/0337437 A1, Oct. 20, 2022
Int. Cl. H04L 9/00 (2022.01); G06F 8/20 (2018.01); G06F 8/30 (2018.01)
CPC H04L 9/50 (2022.05) [G06F 8/20 (2013.01); G06F 8/31 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method performed by a node of a plurality of nodes of a blockchain network, wherein copies of a blockchain are maintained across at least some of the nodes of the blockchain network, the blockchain comprising a chain of blocks each comprising one or more transactions, each transaction comprising one or more outputs, and each output comprising a locking script formulated in a first language, the method comprising:
accessing the locking script from at least a first output of a first of said transactions, the locking script of the first output specifying, in the first language, one or more conditions for unlocking said first output;
receiving a second transaction not yet recorded on the blockchain, wherein the second transaction comprises an input comprising an unlocking script formulated in the first language;
extracting, from the first transaction or another of the transactions on the blockchain, a portion of code formulated in a second language other than the first language;
running the extracted portion of code in the second language, wherein as a result thereof the code generates a first value;
writing the first value to a storage location readable by the locking script in the first language; and
running, in the first language, the locking script from the first output of the first transaction together with the unlocking script from the second transaction, thereby evaluating the one or more conditions, the method comprising validating the second transaction on condition of said one or more conditions being met;
wherein the unlocking script is configured to read the first value from said storage location, and the one or more conditions comprise a condition dependent on the first value.