IP Library Granted Patent US 12,238,118
Granted Patent B2
US 12,238,118 · App. 18/153,788 · Granted Feb 25, 2025

Privacy preserving validation and commit architecture

Inventors: Sören Gerhard Bleikertz (Zurich, CH); James Benton Litsios (New York, NY); Andreas Lochbihler (Zurich, CH); Ognjen Maric (Zurich, CH); Matthias Schmalz (Zurich, CH); Ratko Goran Veprek (Zurich, CH); Shaul Kfir (New York, NY); Tsering Shrestha (Zurich, CH)
Assignee: Digital Asset (Switzerland) GmbH
H04L63/123H04L63/0421H04L63/0428H04L2463/121
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,238,118
App. No.
18/153,788
Granted
Feb 25, 2025
Kind
B2
Abstract

A method of scheduling and validating a multiple-participant process, the method including: submitting, by a submitting node associated with a participant in the multiple-participant process, a proposed transaction by sending a cryptographically-protected message to one or more recipient nodes, wherein the cryptographically-protected message includes at least an unencrypted submessage readable by an external node and a cryptographically-protected submessage to preserve privacy from at least the external node; determining, by the external node, an order of the proposed transaction relative to other transactions; by way of at least some of the recipient nodes, validating the cryptographically-protected message; receiving a confirmation of validity of the cryptographically-protected message from at least some of the recipient nodes; finalizing the proposed transaction, as a confirmed transaction, based on receiving one or more confirmations from at least some of the recipient nodes that satisfy a confirmation condition; and writing the confirmed transaction to a distributed ledger according to the order determined by the external node.

Claims (67)

1. A method for a multi-domain transaction process, the method comprising:

splitting, by an initiator node connected to a first domain and a second domain, a transaction into sub-transactions including a first sub-transaction and a second sub-transaction, wherein:

the first sub-transaction includes a first resource request and a first payload for a first participant, and

the second sub-transaction includes a second resource request and a second payload for a second participant;

submitting, by the initiator node, the first resource request to a first external node of the first domain, wherein the first resource request specifies a first amount of resources required by the first participant for a first time period;

submitting, by the initiator node, the second resource request to a second external node of the second domain, wherein the second resource request specifies a second amount of resources required by the second participant for a second time period;

determining, by the initiator node after a third time period, whether the first resource request was accepted or rejected by the first participant and whether the second resource request was accepted or rejected by the second participant; and

based upon determining whether the first resource request and the second resource request were accepted or rejected by the first participant and the second participant respectively, (i) transmitting, by the initiator node, the first payload to the first external node and the second payload to the second external node, or (ii) aborting the multi-domain transaction process.

2. The method of claim 1 , further comprising aborting the multi-domain process upon determining:

the first resource request was rejected by the first participant within the third time period, or

the second resource request was rejected by the second participant within the third time period.

3. The method of claim 1 , further comprising:

aborting the multi-domain transaction process upon determining no responses to the first resource request and/or second resource request were received within the third time period.

4. The method of claim 1 , further comprising:

receiving, prior to determining whether the first resource request was accepted or rejected, a first response to the first resource request from the first external node; and

receiving, prior to determining whether the second resource request was accepted or rejected, a second response to the second resource request from the second external node.

5. The method of claim 4 , wherein determining whether the first resource request was accepted or rejected includes determining whether the first response to the first resource request was received within the third time period, and

wherein determining whether the second resource request was accepted or rejected includes determining whether the second response to the second resource request was received within the third time period.

6. The method of claim 5 , further comprising aborting the multi-domain transaction process upon determining the first response and/or the second response was received after the third time period.

7. The method of claim 4 , further comprising aborting the multi-domain transaction process upon determining the first response rejects the first resource request and/or the second response rejects the second resource request.

8. The method of claim 4 , further comprising determining:

the first response accepts the first resource request; and

the second response accepts the second resource request.

9. The method of claim 8 , further comprising:

transmitting the first payload to the first external node; and

transmitting the second payload to the second external node.

10. A system connected to a first domain and a second domain comprising:

one or more processors; and

one or more memory devices storing instructions that when executed by the one or more processors, cause the one or more processors to perform operations directed to a multi-domain transaction comprising:

splitting a transaction into sub-transactions including a first sub-transaction and a second sub transaction, wherein:

the first sub-transaction includes a first resource request and a first payload for a first participant, and

the second sub-transaction includes a second resource request and a second payload for a second participant;

submitting, by the initiator node, the first resource request to a first external node of the first domain, wherein the first resource request specifies a first amount of resources required by the first participant for a first time period;

submitting, by the initiator node, the second resource request to a second external node of the second domain, wherein the second resource request specifies a second amount of resources required by the second participant for a second time period;

determining, after a third time period, whether the first resource request was accepted or rejected by the first participant and whether the second resource request was accepted or rejected by the second participant; and

based upon determining whether the first resource request and the second resource request were accepted or rejected by the first participant and the second participant respectively, transmitting the first payload to the first external node and the second payload to the second external node or aborting the multi-domain transaction.

11. The system of claim 10 , wherein the operations further comprise aborting the multi-domain transaction upon determining:

the first resource request was rejected by the first participant within the third time period, or

the second resource request was rejected by the second participant within the third time period.

12. The system of claim 10 , wherein the operations further comprise:

aborting the multi-domain transaction upon determining no responses to the first resource request and/or the second resource request were received within the third time period.

13. The system of claim 10 , wherein the operations further comprise:

receiving, prior to determining whether the first resource request was accepted or rejected, a first response to the first resource request from the first external node; and

receiving, prior to determining whether the second resource request was accepted or rejected, a second response to the second resource request from the second external node.

14. The system of claim 13 , wherein determining whether the first resource request was accepted or rejected includes determining whether the first response to the first resource request was received within the third time period, and

wherein determining whether the second resource request was accepted or rejected includes determining whether the second response to the second resource request was received within the third time period.

15. The system of claim 14 , further comprising aborting the multi-domain transaction upon determining the first response and/or the second response was received after the third time period.

16. The system of claim 13 , wherein the operations further comprise aborting the multi-domain transaction process upon determining the first response rejects the first resource request and/or the second response rejects the second resource request.

17. The system of claim 13 , wherein the operations further comprise:

the first response accepts the first resource request; and

the second response accepts the second resource request.

18. The system of claim 17 , wherein the operations further comprise:

transmitting the first payload to the first external node; and

transmitting the second payload to the second external node.

19. A non-transitory computer-readable medium storing instructions for performing a multi-domain transaction process, the instructions, when executed by one or more processors, cause the one or more processors to:

split a transaction into sub-transactions including a first sub-transaction and a second sub-transaction, wherein:

the first sub-transaction includes a first resource request and a first payload for a first participant, and

the second sub-transaction includes a second resource request and a second payload for a second participant;

submit the first resource request to a first external node of the first domain, wherein the first resource request specifies a first amount of resources required by the first participant for a first time period;

submit the second resource request to a second external node of the second domain, wherein the second resource request specifies a second amount of resources required by the second participant for a second time period;

determine, after a third time period, whether the first resource request was accepted or rejected by the first participant and whether the second resource request was accepted or rejected by the second participant; and

based upon determining whether the first resource request and the second resource request were accepted or rejected by the first participant and the second participant respectively, transmit the first payload to the first external node and the second payload to the second external node or abort a multi-domain transaction process.

20. The non-transitory computer-readable medium of claim 19 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

abort the multi-domain process upon determining:

a first response to the first resource request is not received within the third time period, or

a second response to the second resource request is not received within the third time period; or

transmitting the first payload to the first external node; and transmitting thea second payload to the second external node.

Assignments (4)
SECURITY INTEREST Recorded May 2, 2023
From: DIGITAL ASSET (US) CORP.; DIGITAL ASSET HOLDINGS, LLC; DIGITAL ASSET (SWITZERLAND) GMBH
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 063509/0835 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2023
From: DIGITAL ASSET HOLDINGS, LLC
To: DIGITAL ASSET (SWITZERLAND) GMBH
Reel/Frame 062480/0874 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2023
From: LITSIOS, JAMES BENTON; KFIR, SHAUL
To: DIGITAL ASSET HOLDINGS, LLC
Reel/Frame 062464/0089 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2023
From: BLEIKERTZ, SÖREN GERHARD; LOCHBIHLER, ANDREAS; MARIC, OGNJEN; SCHMALZ, MATTHIAS; VEPREK, RATKO GORAN; SHRESTHA, TSERING
To: DIGITAL ASSET (SWITZERLAND) GMBH
Reel/Frame 062468/0320 →
Continuity (4)
Continuation 16658920 · Oct 21, 2019
Provisional Application 62748327 · Oct 19, 2018
Provisional Application 62748315 · Oct 19, 2018
Related Publication 20230231855A1 · Jul 20, 2023
References Cited (29)
US 8307031B1 · Grieve · 2012 [cited by examiner]
US 10333902B1 · Druker et al. · 2019 [cited by applicant]
US 10552829B2 · Wilkins · 2020 [cited by examiner]
US 10708070B2 · Fallah et al. · 2020 [cited by applicant]
US 20040168064A1 · Shimizu et al. · 2004 [cited by applicant]
US 20050081039A1 · Lee et al. · 2005 [cited by applicant]
US 20160350749A1 · Wilkins et al. · 2016 [cited by applicant]
US 20170155515A1 · Androulaki et al. · 2017 [cited by applicant]
US 20170250972A1 · Ronda et al. · 2017 [cited by applicant]
US 20170255917A1 · Singh et al. · 2017 [cited by applicant]
US 20170301047A1 · Brown et al. · 2017 [cited by applicant]
US 20170316391A1 · Peikert et al. · 2017 [cited by applicant]
US 20180096360A1 · Christidis et al. · 2018 [cited by applicant]
AU 2019200933B1 · 2019 [cited by applicant]
JP 2004260366A · 2004 [cited by applicant]
JP 2006164018A · 2006 [cited by applicant]
KR 1020180036916A · 2018 [cited by applicant]
WO 2015143068A1 · 2015 [cited by applicant]
WO 2017187394A1 · 2017 [cited by applicant]
WO 2017189027A1 · 2017 [cited by applicant]
WO 2019082142A1 · 2019 [cited by applicant]
International Search Report for Application No. PCT/US2019/057248, mailed Feb. 12, 2019, pp. 1-3. [cited by applicant]
Peikert, Vincent et al., U.S. Appl. No. 62/329,888, filed Apr. 29, 2016, titled “Digital Asset Modelling Language Simulator”. [cited by applicant]
Yoshihama Sachiko et al: “Study on Integrity and Privacy Requirements of Distributed Ledger Technologies,” 2018 IEEE International Conference on Internet of Things (IThings) and IEEE Green Computing and Communications (… [cited by applicant]
Xavier Défago et al: “Total Order Broadcast And Multicase Algorithms,” ACM Computing Surveys, ACM, New York, NY, US US, vol. 36, No. 5, Dec. 1, 2004 (Dec. 1, 2004), pp. 372-421, XP058270101, ISSN: 0360-0300, DOI: 10.114… [cited by applicant]
Extended European Search issued in EP Appln. No. 19873365.1 mailed May 6, 2022 (9 pages). [cited by applicant]
Susumu Sanaka, Hyperledger Fabric v1.0 New Consensus Building And Management Methods, iMagazine, [online], Mar. 26, 2018, Internet <URL:https://www.imagazine.co.jp/hyperledger-fabric-v1-0%EF%BD%9C%E5%90%88%E6%84%8F%E5%B… [cited by applicant]
Roth, U. and Djoua, T. N., Message exchange on base of a blockchain-based layered architecture, it—Information Technology, [online], Oct. 6, 2018, vol. 60 No. 5-6, pp. 253-261, Internet <URL:https://www.degruyter.com/do… [cited by applicant]
Yasuhiro Okui, Getting XML “Now”, Java World, (IDG Japan, Inc.), Jun. 1, 2003, vol. 7, Issue 6, pp. 154-166 (Publication showing well-known technology). [cited by applicant]