IP Library › Granted Patent US 12,748,825
Granted Patent B2
US 12,748,825 · App. 18/026,562 · Granted Sep 29, 2026

Blockchain-based system and method for publishing an operating system

Inventor: Alessio Pagani (London, GB)
Assignee: nChain Licensing AG
G06F21/12G06F21/57
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,748,825
App. No.
18/026,562
Granted
Sep 29, 2026
Kind
B2
Abstract

A method comprising, by a client device: identifying one or more target transactions, recorded on a blockchain, that contain operating system software stored in a payload of the one or more target transactions, the operating system software comprising at least part of an operating system, at least including some executable code of the operating system; accessing the operating system software from the payload of the one or more target transactions as stored on the blockchain; and running, on the client device, the operating system software as accessed from the one or more target transactions, the running comprising executing the executable code of the operating system.

Claims (41)

1 . A method comprising, by a client device:

identifying one or more target transactions, recorded on a blockchain, that contain operating system software stored in a payload of the one or more target transactions, the operating system software comprising at least part of an operating system, at least including some executable code of the operating system, wherein a copy of the blockchain is maintained at each of a plurality of blockchain nodes in a blockchain network, and wherein the client device is not one of the blockchain nodes;

by interacting with the blockchain network, accessing the operating system software from the payload of the one or more target transactions as stored on the blockchain; and

running, on the client device, the operating system software as accessed in said accessing from the payload of the one or more target transactions, said running comprising executing the executable code of the operating system;

wherein a tree structure is overlaid on the blockchain, the tree structure comprising a plurality of nodes and edges between nodes, wherein each node is a different transaction recorded on the blockchain, and each edge connects from a respective child node to a respective parent node, the edges being formed by each child node specifying a transaction ID of its respective parent node in a payload of the respective child node, and wherein one of the parent nodes is a root node of the tree structure; and

wherein the one or more target transactions storing said operating system software are child nodes of said tree structure.

2 . The method of claim 1 , wherein said running comprises running said operating system software live from the blockchain by streaming it via random access memory of the client device without installing on the client device.

3 . The method of claim 1 , wherein the accessing and running of said operating system software are performed upon booting the client device.

4 . The method of claim 1 , further comprising, by the client device: sending to be published on the blockchain an acknowledgement that the client device has accessed the operating system software.

5 . The method of claim 1 , further comprising, by the client device: sending to be published on the blockchain an acknowledgement that the client device has run the operating system software.

6 . The method of claim 1 , wherein the tree structure comprises a Metanet tree.

7 . The method of claim 1 , wherein said operating system software comprise a plurality of files in different folders arranged in a hierarchical file-and-folder structure, wherein each of the target transactions stores at least a respective one of the files and one or more parent nodes of the target transactions are tagged so as to represent folders, such that at least part of the tree structure of the nodes follows at least part of the file-and-folder structure of the operating system software.

8 . The method of claim 1 , wherein said identifying comprises, based on the transaction ID of the root node, following paths of the edges from the root node down the tree structure to find leaf nodes, the leaf nodes being child nodes that are not parent nodes of other child nodes, wherein each of the one or more target transactions is a leaf node.

9 . The method of claim 8 , wherein the client device checks that each of the target transactions, and any intermediate parent node on a path between a target transaction and the root node, meets one or more rules of a tree protocol associated with the tree structure; wherein said execution is conditional on the meeting of said one or more rules.

10 . The method of claim 9 , wherein the one or more rules comprises at least: for each child along a path from root node to target transaction, the child is signed by key of the respective parent node.

11 . The method of claim 9 , wherein the one or more rules comprise: that only leaf nodes can form a valid part of the operating system.

12 . The method of claim 11 , further comprising, by the client device: at a subsequent time following said execution, checking for any new leaf node that has been subsequently appended to a respective one of the target transactions, such that the respective target transaction is no longer a leaf; wherein the new leaf nodes represent updates or deletion of the respective target transaction.

13 . The method of claim 12 , wherein one of the respective target transactions comprises an update, the method further comprises the client device running the update.

14 . The method of claim 1 , further comprising, by the client device:

identifying a further transaction on the blockchain, containing a remote command or script recorded in a payload of the further transaction by a remote administrator system remote from the client device; and

carrying out the command or script as accessed from the further transaction.

15 . The method of claim 14 , further comprising, by the client device, sending to be published on the blockchain one or both of:

an acknowledgement that the client device has accessed the command or script, or an acknowledgement that the client device has carried out the command or script.

16 . The method of claim 1 , wherein the client device is connected with one or more other devices in a network, and shares the operating system software with at least one of the other devices via said network.

17 . The method of claim 16 , wherein the network is a mesh network.

18 . The method of claim 16 , wherein not all of the one or more other devices have access to the blockchain.

19 . A client device comprising:

processing apparatus comprising one or more processing units, and

memory comprising one or more memory 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 performs a method comprising:

identifying one or more target transactions, recorded on a blockchain, that contain operating system software stored in a payload of the one or more target transactions, the operating system software comprising at least part of an operating system, at least including some executable code of the operating system, wherein a copy of the blockchain is maintained at each of a plurality of blockchain nodes in a blockchain network, and wherein the client device is not one of the blockchain nodes;

by interacting with the blockchain network, accessing the operating system software from the payload of the one or more target transactions as stored on the blockchain; and

running, on the client device, the operating system software as accessed in said accessing from the payload of the one or more target transactions stored on the blockchain, said running comprising executing the executable code of the operating system;

wherein a tree structure is overlaid on the blockchain, the tree structure comprising a plurality of nodes and edges between nodes, wherein each node is a different transaction recorded on the blockchain, and each edge connects from a respective child node to a respective parent node, the edges being formed by each child node specifying a transaction ID of its respective parent node in a payload of the respective child node, and wherein one of the parent nodes is a root node of the tree structure; and

wherein the one or more target transactions storing said operating system software are child nodes of said tree structure.

20 . A computer program embodied on non-transitory computer-readable storage media, the computer program comprising code configured so as when run on a client device, the client device performs a method comprising:

identifying one or more target transactions, recorded on a blockchain, that contain operating system software stored in a payload of the one or more target transactions, the operating system software comprising at least part of an operating system, at least including some executable code of the operating system;

by interacting with the blockchain, accessing the operating system software from the payload of the one or more target transactions as stored on the blockchain; and

running, on the client device, the operating system software as accessed in said accessing from the payload of the one or more target transactions stored on the blockchain, said running comprising executing the executable code of the operating system;

wherein a tree structure is overlaid on the blockchain, the tree structure comprising a plurality of nodes and edges between nodes, wherein each node is a different transaction recorded on the blockchain, and each edge connects from a respective child node to a respective parent node, the edges being formed by each child node specifying a transaction ID of its respective parent node in a payload of the respective child node, and wherein one of the parent nodes is a root node of the tree structure; and

wherein the one or more target transactions storing said operating system software are child nodes of said tree structure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2023
From: PAGANI, ALESSIO
To: NCHAIN LICENSING AG
Reel/Frame 062995/0572 →
Priority Claims (1)
GB 2014825 · Sep 21, 2020 · national
Continuity (1)
Related Publication 20230342437A1 · Oct 26, 2023
References Cited (17)
US 10901732B1 · Nelson · 2021 [cited by examiner]
US 20170031676A1 · Cecchetti · 2017 [cited by examiner]
US 20190057115A1 · Liu · 2019 [cited by examiner]
US 20200014531A1 · Falco · 2020 [cited by examiner]
US 20200042305A1 · Su · 2020 [cited by examiner]
US 20200073657A1 · Robison · 2020 [cited by examiner]
US 20220358189A1 · Doiron · 2022 [cited by examiner]
EP 3404891A1 · 2018 [cited by applicant]
PCT/EP2021/073219 International Search Report and Written Opinion dated Jan. 24, 2022, 21 pages. [cited by applicant]
GB2014825.0 Combined Search and Examination Report dated Feb. 2, 2021, 9 pages. [cited by applicant]
Jack Davies, Edge Cases: The Metanet Blog, Medium, Aug. 12, 2019, retrieved from https://medium.com/nchain/edge-cases-the-metanet-blog-41b608c8fe67. [cited by applicant]
Wikipedia contributors, “Light-weight Linux distribution,” Wikipedia, The Free Encyclopedia, https://en.wikipedia.org/w/index.php?title=Light-weight_Linux_distribution, accessed Sep. 13, 2020. [cited by applicant]
Zigbee Alliance, https://zigbeealliance.org/solution/zigbee/, accessed Sep. 13, 2020. [cited by applicant]
U.S. Appl. No. 18/009,317, filed Dec. 8, 2022. [cited by applicant]
Akira S., et al., “GitHub Textbook for Web Designers,” First Edition, Impress Corporation, Nov. 1, 2014, p. 22. [cited by applicant]
Yoshiharu I., et al., “Inter-organizational Sharing of Software Information Using Blockchain,” Lecture Notes/Software Studies 44, Fundamentals of Software Engineering XXV, Nov. 30, 2018, pp. 69-74. [cited by applicant]
Office Action of Korean application No. 10-2023-7013369 dated Apr. 7, 2026, 15 pages. [cited by applicant]