IP Library Granted Patent US 12,712,750
Granted Patent B2
US 12,712,750 · App. 17/796,620 · Granted Aug 18, 2026

Smart contracts

Inventors: Craig Steven Wright (London, GB); Chloe Tartan (London, GB)
Assignee: nChain Licensing AG
H04L9/50G06F21/64
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,712,750
App. No.
17/796,620
Filed
Jul 29, 2022
Granted
Aug 18, 2026
Kind
B2
Art Unit
2433
USPC
713/153
Abstract

A method performed in a layered network. The layered network comprises a core layer comprising one or more core nodes, one or more intermediate layers each comprising one or more intermediate layer nodes, and one or more outer layers each comprising one or more outer layer nodes. Each of the core nodes is a node of a blockchain network. One or more intermediate layer nodes are smart contracts nodes providing a smart contract service for maintaining the state of a smart contract. One or more outer layer nodes are client nodes of the smart contract service. The method included, by a smart contract node: recording a state of the smart contract in a record of the state maintained at the first smart contract node. In addition, at least a first transaction also recording the state is recorded on a blockchain of the blockchain network.

Claims (45)

1 . A method of maintaining a state of a smart contract in a layered network, the layered network comprising a core layer comprising one or more core nodes, one or more intermediate layers each comprising intermediate layer nodes, and one or more outer layers each comprising one or more outer layer nodes; wherein each of the core nodes is a node of a blockchain network, a plurality of the intermediate layer nodes are smart contracts nodes providing a smart contract service for maintaining the state of the smart contract, and one or more of the outer layer nodes are client nodes of the smart contract service; the method comprising, by a first one of the plurality of smart contract nodes:

recording a state of the smart contract in a record of the state maintained at the first smart contract node;

wherein at least a first transaction also recording the state is recorded on a blockchain of the blockchain network;

wherein the method further comprises making available to at least one of the client nodes, from the first smart contract node, the record of the state maintained at the first smart contract node, said making available enabling the at least one client node to determine the state without needing to query the record on the blockchain; and

wherein the method further comprises, by the first smart contract node: propagating the state to a record of the state of the smart contract maintained at another smart contract node of the plurality of smart contract nodes, the propagating being performed over one or more connections between smart contract nodes within the one or more intermediate layers of the layered network.

2 . The method of claim 1 , wherein:

the first transaction is transmitted by one of the client nodes to at least one of the core nodes to be recorded in the blockchain; and

wherein the first transaction is transmitted directly to the at least one core node over at least one connection within the layered network between said one of the client nodes and the core layer.

3 . The method of claim 1 , wherein the method comprises, by the first smart contract node:

transmitting the first transaction from the first smart contract node to at least one of the core nodes to be recorded on the blockchain; and

receiving the first transaction from said one of the client nodes at the first smart contract node;

wherein said transmitting by the first smart contract nodes comprises forwarding the first transaction on to the at least one core node; and

wherein one or both of:

said receiving is performed directly over a connection within the layered network between the first smart contract node and said one of the client nodes, and/or

said forwarding is performed directly over at least one connection within the layered network between the first smart contract node and the core layer.

4 . The method of claim 1 , wherein the first transaction is initiated by the first smart contract node.

5 . The method of claim 1 , wherein the record is made available directly over a connection within the layered network between the first smart contract node and the at least one client node.

6 . The method of claim 1 , wherein the method comprises:

the first smart contract node performing said making available, by the first smart contract node making the record of the state maintained at the first smart contract node available to the at least one client node.

7 . The method of claim 1 , wherein

the record maintained at the other smart contract node, to which the state is propagated, is made available to the at least one client node.

8 . The method of claim 1 , wherein at least one of the smart contract nodes is arranged to inspect the record on the blockchain, or in a mempool of a miner, to confirm the state of the smart contract.

9 . The method of claim 1 , wherein at least one of the client nodes inspects the blockchain, or a mempool of a miner, to confirm the state of the smart contract.

10 . The method of claim 1 , wherein said recording of the state in the record maintained at the first smart contract node comprises:

recording a first state of the smart contract, and recording a change to the state of the smart contract, being a change compared to the first state;

wherein the first state is recorded in a first transaction on the blockchain and the change in state is recorded in a second transaction on the blockchain.

11 . The method of claim 1 , wherein the first transaction is negotiated between at least two of the client nodes over at least one connection within one or more outer layers of the layered network.

12 . The method of claim 8 , wherein the first smart contract node is arranged to perform said inspecting directly over a connection within the layered network between the first smart contract node and at least one of the core nodes.

13 . The method of claim 9 , wherein said inspecting by the at least one client node is performed over a direct connection within the layered network between the client node and the core layer.

14 . The method of claim 10 , wherein the first transaction comprises an output comprising a respective locking script that comprises a state puzzle requiring a solution to the state puzzle to unlock the respective locking script; and wherein the method comprises, by the first smart contract node:

using a set of rules stored at the first smart contract node to formulate the state puzzle based on said set of rules, and including the state puzzle in the first transaction prior to recordal on the blockchain; and

recording the change in the state of the smart contract in the record maintained at the first smart contract node, on condition that the second transaction comprises an input that points to the respective output comprising the state puzzle and that said input provides a solution to the state puzzle.

15 . Computer equipment for maintaining a state of a smart contract in a layered network, the layered network comprising a core layer comprising one or more core nodes, one or more intermediate layers each comprising intermediate layer nodes, and one or more outer layers each comprising one or more outer layer nodes; wherein each of the core nodes is a node of a blockchain network, a plurality of the intermediate layer nodes are smart contracts nodes providing a smart contract service for maintaining the state of the smart contract, and one or more of the outer layer nodes are client nodes of the smart contract service; the computer equipment comprising, at a first one of the plurality of smart contract nodes:

memory comprising one or more memory units, and

processing apparatus comprising one or more processing units;

wherein the memory stores code arranged to run on the processing apparatus, the code being configured so as when run on the processing apparatus, the processing apparatus operates the computer equipment as said first smart contract node by performing a method comprising:

recording a state of the smart contract in a record of the state maintained at the first smart contract node;

wherein at least a first transaction also recording the state is recorded on a blockchain of the blockchain network;

wherein the method further comprises making available to at least one of the client nodes, from the first smart contract node, the record of the state maintained at the first smart contract nodes, said making available enabling the at least one client node to determine the state without needing to query the record on the blockchain; and

wherein the method further comprises, by the first smart contract node: propagating the state to a record of the state of the smart contract maintained at another smart contract node of the plurality of smart contract nodes, the propagating being performed over one or more connections between smart contract nodes within the one or more intermediate layers of the layered network.

16 . A computer program product for maintaining a state of a smart contract in a layered network, the layered network comprising a core layer comprising one or more core nodes, one or more intermediate layers each comprising intermediate layer nodes, and one or more outer layers each comprising one or more outer layer nodes; wherein each of the core nodes is a node of a blockchain network, a plurality of the intermediate layer nodes are smart contracts nodes providing a smart contract service for maintaining the state of the smart contract, and one or more of the outer layer nodes are client nodes of the smart contract service; the computer program being embodied on a non-transitory computer readable storage medium and configured so as when run on one or more processors, at a first one of the plurality of smart contract nodes, the one or more processors performs a method comprising:

recording a state of the smart contract in a record of the state maintained at the first smart contract node;

wherein at least a first transaction also recording the state is recorded on a blockchain of the blockchain network;

wherein method further comprises making available to at least one of the client nodes, from the first smart contract node, the record of the state maintained at the first smart contract nodes, said making available enabling the at least one client node to determine the state without needing to query the record on the blockchain; and

wherein the method further comprises, by the first smart contract node: propagating the state to a record of the state of the smart contract maintained at another smart contract node of the plurality of smart contract nodes, the propagating being performed over one or more connections between smart contract nodes within the one or more intermediate layers of the layered network.

Assignments (2)
CHANGE OF NAME Recorded Aug 8, 2022
From: NCHAIN HOLDINGS LIMITED
To: NCHAIN LICENSING AG
Reel/Frame 061118/0671 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2022
From: WRIGHT, CRAIG STEVEN; TARTAN, CHLOE
To: NCHAIN HOLDINGS LIMITED
Reel/Frame 060677/0634 →
Priority Claims (1)
GB 2002305 · Feb 19, 2020 · national
Continuity (1)
Related Publication 20230060559A1 · Mar 2, 2023
References Cited (50)
US 20190199516A1 · Carver et al. · 2019 [cited by applicant]
US 20190279197A1 · Wright · 2019 [cited by examiner]
US 20190317934A1 · Jentzsch et al. · 2019 [cited by applicant]
US 20220222245A1 · Pezeshki · 2022 [cited by examiner]
US 20230014140A1 · Haney · 2023 [cited by examiner]
US 20230136805A1 · Morais · 2023 [cited by examiner]
JP 2019522264A · 2019 [cited by applicant]
WO 2018078584A1 · 2018 [cited by applicant]
Rui Oliveira et al: “Hyperledger fabric : a distributed operating system for permissioned blockchains”, EuroSys '18: Proceedings of the Thirteenth EuroSys Conference; DI Apr. 23-26, 2018; Porto, Potugal, Apr. 23, 2018 (… [cited by examiner]
Is “Wust K., et al., “ACE: Asynchronous and Concurrent Execution of Complex Smart Contracts,” 2019, Retrieved from the Internet: URL:https://eprint.iacr.org/2019/835.pd on Sep. 25, 2019, 14 pages”. (Year: 2019). [cited by examiner]
“Wust K., et al., “ACE: Asynchronous and Concurrent Execution of Complex Smart Contracts,” 2019, Retrieved from the Internet: URL:https:/eprint.iacr.org/2019/835.po on Sep. 25, 2019, 14 pages”. (Year: 2019) (Year: 2019). [cited by examiner]
Adams C., et al., “Internet X.509 Public Key Infrastructure,” Time-Stamp Protocol (TSP), Network Working Group, Aug. 2001, pp. 1-26. [cited by applicant]
“ADSS TSA Server System Requirements,” Key Points, Ascertia, 2020, 3 pages, Retrieved from the Internet: URL: https://www.ascertia.com/products/adss-tsa-server/key-points/, on Feb. 18, 2020. [cited by applicant]
Androulaki E., et al., “Hyperledger Fabric : A Distributed Operating System for Permissioned Blockchains,” EuroSys'18: Proceedings of the Thirteenth EuroSys Conference, Apr. 23, 2018, pp. 1-15. [cited by applicant]
Banton C., “Underwriter,” Investopedia, Retrieved from the Internet: URL:https://www.investopedia.com/terms/u/underwriter.asp, on Feb. 18, 2020, 10 pages. [cited by applicant]
Chen J., “Bond Purchase Agreement,” Investopedia, Retrieved from the Internet: URL:https://www.investopedia.com/terms/b/bond-purchase-agreement.asp, on Feb. 18, 2020, 9 pages. [cited by applicant]
Chen J., “Bond Trustee,” Investopedia, Retrieved from the Internet: URL:https://www.investopedia.com/terms/b/bond-trustee.asp, on Feb. 18, 2020, 7 pages. [cited by applicant]
Chen J., “Discount Bond,” Investopedia, Retrieved from the Internet: URL:https://www.investopedia.com/terms/d/discountbond.asp, on Feb. 18, 2020, 13 pages. [cited by applicant]
Chen J., “Primary Market,” Investopedia, Retrieved from the Internet: URL:https://www.investopedia.com/terms/p/primarymarket.asp, on Feb. 18, 2020, 10 pages. [cited by applicant]
Chen J., “Trust Indenture,” Investopedia, Retrieved from the Internet: URL:https://www.investopedia.com/terms/t/trust_indenture.asp, on Feb. 18, 2020, 7 pages. [cited by applicant]
Combined Search and Examination Report under Sections 17 and 18(3) for Application No. GB2002305.7, mailed on Jul. 23, 2020, 6 pages. [cited by applicant]
Datastax., “About Repair,” DSE 5.1 Architecture Guide, Retrieved from the Internet: URL:https://docs.datastax.com/en/dse/5.1/dse-arch/datastax_enterprise/dbArch/archAboutRepair.html , on Feb. 18, 2020, 1 page. [cited by applicant]
Datastax., “Architecture in Brief,” Apache Cassandra 3.X, Retrieved from the Internet: URL: https://docs.datastax.com/en/cassandra-oss/3.x/cassandra/dml/dmlClientRequestsWrite.html, on Feb. 18, 2020, 4 pages. [cited by applicant]
Datastax., “Hinted Handoff: Repair During Write Path,” Apache Cassandra 3.0 for DSE 5.0, Retrieved from the Internet: URL: https://docs.datastax.com/en/archived/cassandra/3.0/cassandra/operations/opsRepairNodesHintedHan… [cited by applicant]
Datastax., “How are Read Requests Accomplished?” Apache Cassandra 3.X, Retrieved from the Internet: URL: https://docs.datastax.com/en/cassandra-oss/3.x/cassandra/dml/dmlClientRequestsRead.html, on Feb. 18, 2020, 7 pages. [cited by applicant]
Datastax., “How are Write Requests Accomplished?” Apache Cassandra 3.X, Retrieved from the Internet: URL: https://docs.datastax.com/en/cassandra-oss/3.x/cassandra/dml/dmlClientRequestsWrite.html, on Feb. 18, 2020, 2 pag… [cited by applicant]
Datastax., “How is Data Deleted?,” Apache Cassandra 3.0 for DSE 5.0, Retrieved from the Internet: URL: https://docs.datastax.com/en/archived/cassandra/3.0/cassandra/dml/dmlAboutDeletes.html?hl=delete, on Feb. 18, 2020, … [cited by applicant]
Datastax., “How is Data Maintained?,” Apache Cassandra 3.X, Retrieved from the Internet: URL: https://docs.datastax.com/en/cassandra-oss/3.x/cassandra/dml/dmlHowDataMaintain.html, on Feb. 18, 2020, 10 pages. [cited by applicant]
Datastax., “How is Data Written?” Apache Cassandra 3.X, Retrieved from the Internet: URL: https://docs.datastax.com/en/cassandra-oss/3.x/cassandra/dml/dmlHowDataWritten.html, on Feb. 18, 2020, 3 pages. [cited by applicant]
Downey L., “Fiscal Agent,” Investopedia, Retrieved from the Internet: URL:https://www.investopedia.com/terms/f/fiscalagent.asp, on Feb. 18, 2020, 8 pages. [cited by applicant]
Dr Wright C.S., et al., “R-PUZZLEs, The METANET, and ATTESTATION,” nChain, May 2019, 17 pages. [cited by applicant]
Filho C.I.N.S., et al., “Mandala Networks: Ultra-Small-World and Highly Sparse Graphs,” Scientific Reports, Mar. 13, 2015, vol. 5, No. 9082, pp. 1-6. [cited by applicant]
Financial Pipeline, “How are bonds traded?,” Financial Pipeline, Dec. 1, 2004, 11 pages, Retrieved from the Internet: URL: https://staging-finpipev4.kinsta.cloud/trading-bonds/, on Feb. 18, 2020. [cited by applicant]
Hayes A., “Bond,” Investopedia, Retrieved from the Internet: URL:https://www.investopedia.com/terms/b/bond.asp, on Feb. 18, 2020, 23 pages. [cited by applicant]
Hoogstraaten H., “Black Tulip Report of the Investigation into the DigiNotar Certificate Authority Breach,” FOX IT, Aug. 13, 2012, 102 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/IB2021/050363, mailed on May 11, 2021, 18 pages. [cited by applicant]
Kenton W., “Secondary Market,” Investopedia, Retrieved from the Internet: URL:https://www.investopedia.com/terms/s/secondarymarket.asp, on Feb. 18, 2020, 8 pages. [cited by applicant]
Krawczyk H., et al., “HMAC: Keyed-Hashing for Message Authentication,” Feb. 1997, 11 pages. [cited by applicant]
Massias H., et al., “Design of a Secure Timestamping Service with Minimal Trust Requirement,” UCL Crypto Group, 1999, 8 pages. [cited by applicant]
Morah C., “Why Are Most Bonds Traded on the Secondary Market “Over the Counter”?,” Investopedia, Retrieved from the Internet: URL:https://www.investopedia.com/ask/answers/09/bond-over-the-counter.asp, on Feb. 18, 2020, … [cited by applicant]
Murphy C. B., “Over-The-Counter (OTC),” Investopedia, Retrieved from the Internet: URL:https://www.investopedia.com/terms/o/otc.asp, on Feb. 18, 2020, 12 pages. [cited by applicant]
Nakamoto S, “Bitcoin: A Peer-to-Peer Electronic Cash System,” Oct. 31, 2008, 6 pages, Retrieved from the Internet: URL: https://nakamotoinstitute.org/bitcoin/, on Feb. 18, 2020. [cited by applicant]
“Storage Engine,” Cassandra Documentation, 2020, 5 pages, Retrieved from the Internet: URL: https://cassandra.apache.org/doc/latest/architecture/storage_engine.html, on Feb. 18, 2020. [cited by applicant]
Strlen, “Hacker News,” Mar. 14, 2010, 1 page, Retrieved from the Internet: URL: https://news.ycombinator.com/item?id=1191314, on Feb. 18, 2020. [cited by applicant]
“The Pros and Cons of Zero-Coupon Bonds,” Financial Web, 2 pages, Retrieved from the Internet: URL: https://www.finweb.com/investing/the-pros-and-cons-of-zero-coupon-bonds.html, on Feb. 18, 2020. [cited by applicant]
Wikipedia, “Deterministic Finite Automaton,” 2020, 8 pages. [cited by applicant]
Wikipedia, “Eventual Consistency,” 2019, 3 pages. [cited by applicant]
Wust K., et al.,“ACE: Asynchronous and Concurrent Execution of Complex Smart Contracts,” 2019, Retrieved from the Internet: URL:https://eprint.iacr.org/2019/835.pdf on Sep. 25, 2019, 14 pages. [cited by applicant]
Karl W., et al., “ACE: Asynchronous and Concurrent Execution of Complex Smart Contracts,” Cryptology ePrint Archive, 2019, 15 pages, Retrieved from Internet: URL: https://eprint.iacr.org/2019/835. [cited by applicant]
EP Application No. 21701178.2 Supplementary Search Report dated Jan. 23, 2026, 15 pages. [cited by applicant]