US 11,989,725 B2
Blockchain-implemented systems and methods for secure access control
Silvia Bartolucci, London (GB); Pauline Bernat, London (GB); and Daniel Joseph, London (GB)
Assigned to nChain Licensing AG, Zug (CH)
Appl. No. 16/968,538
Filed by nChain Licensing AG, Zug (CH)
PCT Filed Feb. 1, 2019, PCT No. PCT/IB2019/050815
§ 371(c)(1), (2) Date Aug. 7, 2020,
PCT Pub. No. WO2019/155333, PCT Pub. Date Aug. 15, 2019.
Claims priority of application No. 1802148 (GB), filed on Feb. 9, 2018.
Prior Publication US 2021/0042745 A1, Feb. 11, 2021
Int. Cl. G06Q 20/38 (2012.01); G06Q 20/06 (2012.01); G06Q 20/40 (2012.01); H04L 9/32 (2006.01); H04L 9/00 (2022.01)
CPC G06Q 20/3825 (2013.01) [G06Q 20/065 (2013.01); G06Q 20/401 (2013.01); H04L 9/3247 (2013.01); G06Q 2220/00 (2013.01); H04L 9/50 (2022.05)] 13 Claims
OG exemplary drawing
 
1. A computer-implemented method for controlling access to a resource performed by a first party (A) computer system having a first memory and processor, said access being conditional upon a task being performed by a second party (B) computer system having a second memory and processor, wherein the task includes broadcasting a transaction (TxA) on a blockchain, the method including:
collaborating, by the first party (A) computer system, with the second party (B) computer system to create a first multi-signature address (αB) and second multi-signature address (βA);
broadcasting, by the first party (A) computer system, a deposit mechanism (Dx) that allocates a resource (x) to the first multi-signature address (αB);
building, by the first party (A) computer system, a task, said task including the broadcast of a transaction (TxA), and sending said task to the second party (B) computer system for broadcast on the blockchain, said transaction having a locking-output (d) allocated to the second multi-signature address (βA);
creating and sending, by the first party (A) computer system, a locking mechanism (RxB) to the second party (B) computer system, or receiving a locking mechanism (RxB) from the second party (B) computer system, wherein an input to said locking mechanism is the resource (x) and the locking-output (d), which are locked by their respective multi-signatures, and an output (d+x) is the resource and the locking-output;
signing, by the first party (A) computer system, the first multi-signature address (αB) and second multi-signature address (βA), enabling the second party (B) computer system to sign the first multi-signature address (αB) and second multi-signature address (βA), thus unlocking the input to the locking mechanism (RxB) enabling the output (d+x) to be allocated to an address (γB) accessible by the second party (B) computer system, wherein said output is conditional upon both the resource and the locking-output being allocated to their multi-signature addresses on the blockchain;
confirming, by the first party (A) computer system, the broadcast of the transaction (TxA); and
in response to confirming the broadcast of the transaction (TxA), broadcasting, by the first party (A) computer system, the locking mechanism (RxB) on the blockchain causing allocation of the locking-output (d) to the second multi-signature address (βA) and enabling the second party (B) computer system to access the resource and the locking-output (d+x).