IP Library Granted Patent US 12,120,246
Granted Patent B1
US 12,120,246 · App. 18/615,932 · Granted Oct 15, 2024

Authenticated cross-subnet communication

Inventors: Michael Edmond Kaplan (New York, NY); Stephen Buttolph (Brooklyn, NY); Daniel Laine (Jersey City, NY); Alexander Dunn (New York, NY); Cameron John Schultz (New Haven, CT); Aaron Buchwald (New York, NY); Patrick Robert O'Grady (Palo Alto, CA); Bernard Wong (Waterloo, CA)
Assignee: Ava Labs, Inc.
H04L9/3247H04L9/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,120,246
App. No.
18/615,932
Granted
Oct 15, 2024
Kind
B1
Abstract

Various aspects of the subject technology relate to systems, methods, and machine-readable media for cross-chain communication in a blockchain platform. Various aspects may include accepting, at a first blockchain, a first transaction including a message and a message payload. Aspects may also include validating, at the first blockchain, the message by signing the message using signature keys of one or more validators in a first set of validators of the first blockchain. Aspects may also include generating an aggregate signature based on the signature keys of the one or more validators in a first set of validators. Aspects may also include submitting a second transaction on to a second blockchain, the second transaction including the message and the aggregate signature. Aspects may include validating, at the second blockchain, the second transaction based on a shared registry.

Claims (56)

1. A computer-implemented method for cross-chain communication in a blockchain platform, the method comprising:

accepting, at a first blockchain, a first transaction including a message and a message payload;

validating, at the first blockchain, the message by signing the message using signature keys of one or more validators in a first set of validators of the first blockchain;

generating an aggregate signature based on the signature keys of the one or more validators in the first set of validators;

submitting a second transaction on to a second blockchain, the second transaction including the message and the aggregate signature;

identifying, at the second blockchain, the one or more validators in the first set of validators based on the aggregate signature;

verifying that a stake threshold percentage of the first set of validators are included in the aggregate signature by referencing a shared registry; and

validating, at the second blockchain, the second transaction based on the verifying.

2. The computer-implemented method of claim 1 , further comprising generating the message at the first blockchain, wherein the message payload identifies the second blockchain as a destination for the message.

3. The computer-implemented method of claim 1 , wherein the one or more validators in the first set of validators meet at least a threshold stake percentage of the first set of validators.

4. The computer-implemented method of claim 1 , wherein the signature keys of the first set of validators are stored on a distributed ledger known to both the first blockchain and the second blockchain.

5. The computer-implemented method of claim 1 , further comprising:

querying the first set of validators; and

identifying, based on the querying, the one or more validators in the first set of validators that signed the message from the first transaction.

6. The computer-implemented method of claim 1 , wherein the aggregate signature is of a same length as a signature generated using any individual signature key.

7. The computer-implemented method of claim 1 , wherein generating an aggregate signature further comprises:

generating a bit vector with canonical ordering of the first set of validators, wherein elements corresponding to indices of validators that signed the message is set to one (1) and elements corresponding to indices of validators that did not sign the message is set to zero (0).

8. The computer-implemented method of claim 1 , further comprising:

emitting an event based on the first blockchain accepting the first transaction;

scanning, by an entity of the blockchain platform, for events emitted in the blockchain platform, the event containing messages to be relayed to corresponding destinations; and

selecting, by the entity, the first transaction based at least on the message payload.

9. The computer-implemented method of claim 8 , wherein the entity is incentivized to relay the messages in using a fee paid in the first transaction on the first blockchain.

10. The computer-implemented method of claim 1 , further comprising delivering the message to a destination, wherein the message is delivered to the destination no more than one time, the destination including the second blockchain or an application on the second blockchain.

11. The computer-implemented method of claim 1 , wherein the message on the first blockchain specifies a fee required to successfully deliver the message to a corresponding destination on the second blockchain.

12. A system for cross-chain communication in a blockchain platform, comprising:

one or more processors; and

a memory comprising instructions stored thereon, which when executed by the one or more processors, causes the one or more processors to perform:

accepting, at a first blockchain, a first transaction including a message and a message payload;

validating, at the first blockchain, the message by signing the message using signature keys of one or more validators in a first set of validators of the first blockchain;

generating an aggregate signature based on the signature keys of the one or more validators in the first set of validators;

submitting a second transaction on to a second blockchain, the second transaction including the message and the aggregate signature;

identifying, at the second blockchain, the one or more validators in the first set of validators based on the aggregate signature;

verifying that a stake threshold percentage of the first set of validators are included in the aggregate signature by referencing a shared registry; and

validating, at the second blockchain, the second transaction based on the verifying.

13. The system of claim 12 , wherein the instructions, when executed by the one or more processors, cause the one or more processors to perform generating the message at the first blockchain, wherein the message payload identifies the second blockchain as a destination for the message.

14. The system of claim 12 , wherein the one or more validators in the first set of validators meet at least a threshold stake percentage of the first set of validators.

15. The system of claim 12 , wherein the signature keys of the first set of validators are stored on a distributed ledger known to both the first blockchain and the second blockchain.

16. The system of claim 12 , wherein the instructions, when executed by the one or more processors, cause the one or more processors to perform:

querying the first set of validators; and

identifying, based on the querying, the one or more validators in the first set of validators that signed the message from the first transaction.

17. The system of claim 12 , wherein the aggregate signature is of a same length as a signature generated using any individual signature key.

18. The system of claim 12 , wherein the instructions, when executed by the one or more processors, cause the one or more processors to perform:

generating a bit vector with canonical ordering of the first set of validators, wherein elements corresponding to indices of validators that signed the message is set to one (1) and elements corresponding to indices of validators that did not sign the message is set to zero (0).

19. The system of claim 12 , further comprising stored sequences of instructions, which when executed by the one or more processors, cause the one or more processors to perform:

emitting an event based on the first blockchain accepting the first transaction;

scanning, by an entity of the blockchain platform, for events emitted in the blockchain platform, the events containing messages to be relayed to corresponding destinations; and

selecting, by the entity, the first transaction based at least on the message payload, wherein the entity is incentivized to relay the messages using a fee paid in the first transaction on the first blockchain.

20. A non-transitory computer-readable storage medium comprising instructions stored thereon, which when executed by one or more processors, cause the one or more processors to perform operations for cross-chain communication in a blockchain platform, comprising:

accepting, at a first blockchain, a first transaction including a message and a message payload;

validating, at the first blockchain, the message by signing the message using signature keys of one or more validators in a first set of validators of the first blockchain;

generating an aggregate signature based on the signature keys of the one or more validators in the first set of validators;

submitting a second transaction on to a second blockchain, the second transaction including the message and the aggregate signature based on the message payload;

accepting, at the second blockchain, the second transaction;

identifying, at the second blockchain, the one or more validators in the first set of validators based on the aggregate signature;

verifying that a stake threshold percentage of the first set of validators are included in the aggregate signature by referencing a shared registry; and

validating the second transaction based on the verifying.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: KAPLAN, MICHAEL EDMOND; LAINE, DANIEL; DUNN, ALEXANDER; SCHULTZ, CAMERON JOHN; BUTTOLPH, STEPHEN; BUCHWALD, AARON; O'GRADY, PATRICK ROBERT; WONG, BERNARD
To: AVA LABS INC.
Reel/Frame 069819/0650 →
Continuity (1)
Provisional Application 63455919 · Mar 30, 2023
Cited By (2)
US 12,373,241 US 12,591,450