IP Library Granted Patent US 12,603,793
Granted Patent B2
US 12,603,793 · App. 18/738,388 · Granted Apr 14, 2026

Oracle-driven blockchain

Inventors: Avishay Yanai (Petach Tikva, IL); Meital Levy (Oranit, IL); Asaf Kozovsky (Tel Aviv, IL)
Assignee: Soda Bubble Labs LTD
H04L9/50
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,603,793
App. No.
18/738,388
Granted
Apr 14, 2026
Kind
B2
Abstract

A novel blockchain network architecture and transaction processing workflow, collectively referred to as the oracle-driven blockchain approach, is disclosed. In certain embodiments, this approach enables a blockchain network to efficiently execute and validate transactions that require answers from an oracle by (1) separating block creation from transaction execution (such that each new block to be added to the network's blockchain is first created by one or more sequencing nodes before any of the transactions within the block are actually executed), and (2) ensuring that, as part of transaction execution, any output generated by the oracle which changes state is added to a transcript that is included within the block.

Claims (56)

1 . A method performed by a blockchain network comprising a plurality of nodes, the method comprising:

selecting, by a sequencing node in the plurality of nodes, a set of transactions from a transaction pool, the set of transactions including a first transaction that requires an output from an oracle;

ordering, by the sequencing node, the set of transactions;

executing, by the sequencing node, the ordered set of transactions in order, wherein the executing involves using a predetermined value for the output from the oracle rather than invoking the oracle to obtain the output;

adding, by the sequencing node, the ordered set of transactions and state information pertaining to a result of the executing to a non-canonical block; and

broadcasting, by the sequencing node, the non-canonical block to the plurality of nodes.

2 . The method of claim 1 wherein each node in the plurality of nodes that receives the non-canonical block:

adds the non-canonical block as a head block to a local blockchain copy maintained by the node.

3 . The method of claim 2 wherein the plurality of nodes includes a set of execution nodes, and wherein each execution node in the set of execution nodes that receives the non-canonical block further:

executes the ordered set of transactions in order, the executing comprising invoking the oracle to obtain the output;

adds the ordered set of transactions and a transcript to a canonical block, the transcript including the output obtained from the oracle;

replaces the non-canonical block in the execution node's local blockchain copy with the canonical block; and

broadcasts the canonical block to the plurality of nodes.

4 . The method of claim 3 wherein each node in the plurality of nodes that receives the canonical block:

executes the ordered set of transactions in the canonical block in order, wherein the executing involves retrieving the output from the transcript rather than invoking the oracle to obtain the output; and

replaces the non-canonical block in the node's local blockchain copy with the canonical block.

5 . The method of claim 3 wherein the canonical block further includes a hash of a block header of the non-canonical block and a first signature of the hash of the block header that is signed by the sequencing node.

6 . The method of claim 5 wherein the canonical block further includes a hash of the transcript.

7 . The method of claim 6 wherein the canonical block further includes a second signature of the hash of transcript and the first signature, the second signature being signed by the execution node.

8 . The method of claim 7 wherein the execution node transmits the second signature to other execution nodes in the plurality of execution nodes.

9 . The method of claim 7 wherein the execution node receives third signatures of the hash of the transcript and the first signature that are signed by other execution nodes in the plurality of execution nodes, and adds the third signatures to the canonical block in a predetermined order.

10 . The method of claim 3 wherein the oracle is executed by the set of execution nodes.

11 . The method of claim 10 wherein the oracle implements a secure multi-party computation (MPC) protocol.

12 . The method of claim 11 wherein the MPC protocol is a garbling scheme-based MPC protocol.

13 . The method of claim 11 wherein the first transaction is a transaction that operates on secret data, and wherein the oracle generates the output without revealing the secret data to the set of execution nodes.

14 . The method of claim 1 wherein the oracle is executed by an entity external to the blockchain network.

15 . A non-transitory computer readable storage medium having stored thereon program code executable by a blockchain network comprising a plurality of nodes, the program code embodying a method comprising:

selecting, by a sequencing node in the plurality of nodes, a set of transactions from a transaction pool, the set of transactions including a first transaction that requires an output from an oracle;

ordering, by the sequencing node, the set of transactions;

executing, by the sequencing node, the ordered set of transactions in order, wherein the executing involves using a predetermined value for the output from the oracle rather than invoking the oracle to obtain the output;

adding, by the sequencing node, the ordered set of transactions and state information pertaining to a result of the executing to a non-canonical block; and

broadcasting, by the sequencing node, the non-canonical block to the plurality of nodes, thereby causing each node in the plurality of nodes to add the non-canonical block as a head block to a local blockchain copy maintained by the node.

16 . The non-transitory computer readable storage medium of claim 15 wherein the plurality of nodes includes a set of execution nodes, and wherein each execution node in the set of execution nodes that receives the non-canonical block:

executes the ordered set of transactions in order, the executing comprising invoking the oracle to obtain the output;

adds the ordered set of transactions and a transcript to a canonical block, the transcript including the output obtained from the oracle;

replaces the non-canonical block in the execution node's local blockchain copy with the canonical block; and

broadcasts the canonical block to the plurality of nodes.

17 . The non-transitory computer readable storage medium of claim 16 wherein each node in the plurality of nodes that receives the canonical block:

executes the ordered set of transactions in the canonical block in order, wherein the executing involves retrieving the output from the transcript rather than invoking the oracle to obtain the output; and

replaces the non-canonical block in the node's local blockchain copy with the canonical block.

18 . A computer system acting as a sequencing node in a blockchain network comprising a plurality of nodes, the computer system comprising:

one or more processors; and

a non-transitory computer readable medium having stored thereon program code that, when executed, causes the one or more processors to:

select, by a sequencing node in the plurality of nodes, a set of transactions from a transaction pool, the set of transactions including a first transaction that requires an output from an oracle;

order, by the sequencing node, the set of transactions;

execute, by the sequencing node, the ordered set of transactions in order, wherein the executing involves using a predetermined value for the output from the oracle rather than invoking the oracle to obtain the output;

add, by the sequencing node, the ordered set of transactions and state information pertaining to a result of the executing to a non-canonical block; and

broadcast, by the sequencing node, the non-canonical block to the plurality of nodes, thereby causing each node in the plurality of nodes to add the non-canonical block as a head block to a local blockchain copy maintained by the node.

19 . The computer system of claim 18 wherein the plurality of nodes includes a set of execution nodes, and wherein each execution node in the set of execution nodes that receives the non-canonical block:

executes the ordered set of transactions in order, the executing comprising invoking the oracle to obtain the output;

adds the ordered set of transactions and a transcript to a canonical block, the transcript including the output obtained from the oracle;

replaces the non-canonical block in the execution node's local blockchain copy with the canonical block; and

broadcasts the canonical block to the plurality of nodes.

20 . The computer system of claim 19 wherein each node in the plurality of nodes that receives the canonical block:

executes the ordered set of transactions in the canonical block in order, wherein the executing involves retrieving the output from the transcript rather than invoking the oracle to obtain the output; and

replaces the non-canonical block in the node's local blockchain copy with the canonical block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2024
From: YANAI, AVISHAY; LEVY, MEITAL; KOZOVSKY, ASAF
To: SODA BUBBLE LABS LTD
Reel/Frame 067676/0485 →
Continuity (1)
Related Publication 20250379756A1 · Dec 11, 2025
References Cited (8)
US 11621834B2 · Will et al. · 2023 [cited by applicant]
US 11689371B2 · Yadlin et al. · 2023 [cited by applicant]
US 11874827B2 · Wood et al. · 2024 [cited by applicant]
US 20220417003A1 · Giacomelli et al. · 2022 [cited by applicant]
US 20230106151A1 · Mohassel et al. · 2023 [cited by applicant]
US 20230120202A1 · Yanai · 2023 [cited by applicant]
US 20230412403A1 · Yu et al. · 2023 [cited by applicant]
US 20240202711A1 · Purandare · 2024 [cited by examiner]