# US 12,603,770 B2 · Salted bloom filters for peer-to-peer data dissemination

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,603,770 B2
- Document ID: US12603770B2
- Status: Granted
- Kind: B2
- Application number: 19/301,013
- Filed: 2025-08-15
- Published: 2026-03-05
- Granted: 2026-04-14
- Earliest claimed: 2024-09-05
- Assignees: Ava Labs, Inc.
- Applicants: Ava Labs, Inc.
- Inventors: Stephen John Buttolph
- Web page: https://patentgrep.com/patent/US12603770B2

## CPC

- H04L 9/0869: {involving random numbers or seeds}
- G06F 21/602: {Providing cryptographic facilities or services}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/3236: {using cryptographic hash functions}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 63/126: {the source of the received data}
- H04L 63/1466: {Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks}
- H04L 67/104: Peer-to-peer [P2P] networks
- H04L 63/0869: {for achieving mutual authentication (cryptographic mechanisms or cryptographic arrangements for mutual authentication H04L9/3273)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Disclosed herein are systems, methods, and technology for secure data dissemination in a network that reduces false positives. A method can include: initializing a bloom filter, generating a cryptographic seed value, generating salted data based on combinations of the cryptographic seed value and each data value in a set of local data values, injecting the salted data into the bloom filter to generate a salted bloom filter, selecting a random peer node in a network, transmitting the salted bloom filter and the cryptographic seed value to the selected random peer node, receiving, from the selected random peer node, at least one other data value that was identified by the selected random peer node as not being included in the salted bloom filter, and adding the at least one other data value to the set of local data values.

## Claims

### Claim 1

A method for secure data dissemination in a network that reduces false positives, the method comprising:
initializing a bloom filter;
generating a cryptographic seed value;
generating salted data based on combinations of the cryptographic seed value and each data value in a set of local data values, wherein generating the salted data comprises padding each data value in the set of local data values with the cryptographic seed value;
injecting the salted data into the bloom filter to generate a salted bloom filter;
selecting a random peer node in a network;
transmitting the salted bloom filter and the cryptographic seed value to the selected random peer node;
receiving, from the selected random peer node, at least one other data value that was identified by the selected random peer node as not being included in the salted bloom filter; and
adding the at least one other data value to the set of local data values.

### Claim 2 (depends on 1)

The method of claim 1, wherein the method further comprises:
padding the at least one other data value with the cryptographic seed value; and
iteratively performing the injecting, the periodically selecting, the transmitting, the receiving, and the adding.

### Claim 3 (depends on 1)

The method of claim 1, wherein injecting the salted data into the bloom filter comprises injecting the salted data into a hash array of the bloom filter, wherein each data of the salted data is associated with a different index in the hash array.

### Claim 4 (depends on 1)

The method of claim 1, wherein the padding comprises adding the cryptographic seed value to a beginning of the data value.

### Claim 5 (depends on 1)

The method of claim 1, wherein the padding comprises adding the cryptographic seed value to an end of the data value.

### Claim 6 (depends on 1)

The method of claim 1, wherein the set of local data values comprises IP addresses.

### Claim 7 (depends on 1)

The method of claim 1, wherein the set of local data values comprises IP address and transaction validators.

### Claim 8 (depends on 1)

The method of claim 1, wherein the network comprises a blockchain.

### Claim 9 (depends on 1)

The method of claim 1, wherein the transmitting comprises transmitting, to the selected random peer node, the salted bloom filter and the cryptographic seed value without the set of local data values.

### Claim 10

A method for secure data dissemination in a network that reduces false positives, the method comprising:
initializing a bloom filter;
generating a cryptographic seed value;
generating salted data based on combinations of the cryptographic seed value and each data value in a set of local data values;
injecting the salted data into the bloom filter to generate a salted bloom filter;
selecting a random peer node in a network;
transmitting the salted bloom filter and the cryptographic seed value to the selected random peer node;
receiving, from the selected random peer node, at least one other data value that was identified by the selected random peer node as not being included in the salted bloom filter;
adding the at least one other data value to the set of local data values;
determining whether one or more criteria are met for regeneration;
based on a determination that the one or more criteria are met for regeneration, initializing a second bloom filter;
generating a second cryptographic seed value;
generating second salted data based on combinations of the second cryptographic seed value and each data value in the set of local data values that includes the at least one other data value; and
inserting the second salted data into the second bloom filter.

### Claim 11 (depends on 10)

The method of claim 10, wherein the method further comprises iteratively performing the periodically selecting, the transmitting, the receiving, and the adding.

### Claim 12 (depends on 10)

The method of claim 10, wherein the one or more criteria for regeneration comprises a predetermined period of time.

### Claim 13 (depends on 10)

The method of claim 10, wherein the one or more criteria for regeneration comprises generation of a new query or a new transaction in the network.

### Claim 14

A method for generating a salted bloom filter at a node in a network, the method comprising:
initializing a bloom filter;
generating a cryptographic seed value;
generating salted data based on combinations of the cryptographic seed value with each data value in a set of local data values;
injecting the salted data into the bloom filter to generate a salted bloom filter, wherein the salted bloom filter comprises a hash array, wherein each data of the salted data is associated with a different index in the hash array;
returning the salted bloom filter;
determining whether one or more criteria are met for regeneration; and
based on a determination that the one or more criteria are met for regeneration, initializing a second bloom filter.

### Claim 15 (depends on 14)

The method of claim 14, wherein, based on a determination that the one or more criteria are met for regeneration, the method further comprises: generating a second cryptographic seed value.

### Claim 16 (depends on 15)

The method of claim 15, wherein generating the salted data comprises:
padding each data value in the set of local data values with the second cryptographic seed value to generate second salted data; and
inserting the second salted data into the second bloom filter.

### Claim 17 (depends on 16)

The method of claim 16, wherein the second bloom filter comprises a second hash array, wherein each data of the second salted data is associated with a different index in the second hash array.

### Claim 18 (depends on 15)

The method of claim 15, wherein the one or more criteria for regeneration comprises a predetermined period of time.

### Claim 19 (depends on 14)

The method of claim 14, wherein returning the salted bloom filter comprises:
transmitting the salted bloom filter and the cryptographic seed value to a random peer node in a network; and
receiving, from the random peer node, at least one other data value that was identified by the random peer node as not being included in the salted bloom filter.

### Claim 20 (depends on 19)

The method of claim 19, wherein the method further comprises: adding the at least one other data value to the set of local data values.

### Claim 21 (depends on 20)

The method of claim 20, wherein the method further comprises:
appending the cryptographic seed value to the at least one other data value that was added to the set of local data values.

### Claim 22

A system for secure data dissemination in a network that reduces false positives, the system comprising:
a first node;
a second node in network communication with the first node in a network,
wherein the first node is configured to perform operations comprising:
generating a cryptographic seed value;
generating salted data for the first node based on combinations of the cryptographic seed value with each data value in a set of local data values for the first node, wherein generating the salted data for the first node comprises padding each data value in the set of local data values for the first node with the cryptographic seed value;
injecting the salted data for the first node into a bloom filter to generate a salted bloom filter;
selecting the second node in the network; and
transmitting the salted bloom filter and the cryptographic seed value to the second node;
wherein the second node is configured to perform operations comprising:
receiving the salted bloom filter and the cryptographic seed value from the first node;
combining each data value in a set of local data values for the second node with the cryptographic seed value from the first node to generate salted data for the second node by padding each data value in the set of local data values for the second node with the cryptographic seed value;
comparing the salted data for the second node to the salted data for the first node in the salted bloom filter; and
returning, based on the comparing, comparison results.

### Claim 23 (depends on 22)

The system of claim 22, wherein the second node is configured to perform operations further comprising: flagging at least one data value of the salted data for the second node that, based on the comparing, is not included amongst the salted data for the first node in the salted bloom filter.

### Claim 24 (depends on 23)

The system of claim 23, wherein the comparison results comprise the flagged at least one data value of the salted data for the second node.

### Claim 25 (depends on 23)

The system of claim 23, wherein returning, based on the comparing, the comparison results comprises transmitting the flagged at least one data value of the salted data for the second node to the first node.

### Claim 26 (depends on 25)

The system of claim 25, wherein the first node is configured to perform operations further comprising:
receiving, from the second node, the flagged at least one data value; and
adding the at least one data value to the set of local data values for the first node.

### Claim 27 (depends on 22)

The system of claim 22, wherein the second node is configured to perform operations further comprising:
generating a second cryptographic seed value that is different than the cryptographic seed value that was generated by the first node;
generating salted data for the second node based on combinations of the second cryptographic seed value with each data value in the set of local data values for the second node; and
injecting the salted data for the second node into a second bloom filter to generate a salted bloom filter for the second node, wherein the second bloom filter is different than the bloom filter of the first node.

### Claim 28 (depends on 27)

The system of claim 27, wherein the second node is configured to perform operations further comprising:
selecting the first node in the network; and
transmitting the salted bloom filter for the second node and the second cryptographic seed value to the first node.

### Claim 29 (depends on 27)

The system of claim 27, wherein the second node is configured to perform operations further comprising:
randomly selecting a peer node in the network; and
transmitting the salted bloom filter for the second node and the second cryptographic seed value to the randomly selected peer node.
