explaingit

prof-faustus/overlay-broadcast

18RustAudience · developerComplexity · 5/5LicenseSetup · hard

TLDR

overlay-broadcast is a Rust library implementing two granted patents for encrypted group messaging and key management on the BSV blockchain. It handles structured key trees, group broadcast encryption, and blockchain-anchored session subscriptions, built to aerospace coding standards.

Mindmap

mindmap
  root((repo))
    What It Does
      Encrypted group broadcast
      Key graph management
      Blockchain session anchors
    Two Patent Layers
      EP key graph layer
      GB group broadcast layer
    Key Concepts
      Balanced key tree
      Three rekeying strategies
      Automatic revocation
    Tech Stack
      Rust crates
      BSV blockchain
      HSM KMS support
    Quality Standards
      JPL Power-of-Ten
      Full MC-DC coverage
      Requirements traceability
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a private group messaging system on BSV where a defined set of recipients each decrypt a message using a shared key tree structure.

USE CASE 2

Implement blockchain-anchored access control where a subscription funds on-chain sessions and expired session outputs automatically revoke access.

USE CASE 3

Use the key graph layer to build a data access system where a user's position in the tree determines what they can decrypt, without sending actual keys.

USE CASE 4

Integrate HSM or KMS backends via the provided key storage crates to meet enterprise key management requirements in a BSV application.

Tech stack

RustBSV

Getting it running

Difficulty · hard Time to first run · 1day+

Requires deep Rust systems knowledge, the two-patent architecture adds significant conceptual complexity beyond the code itself.

Use, modify, and distribute freely under MIT or Apache 2.0, note the underlying patents are separate from the code license and may require separate licensing.

In plain English

overlay-broadcast is a Rust library that implements two granted patents related to encrypted data management on the BSV blockchain. BSV (Bitcoin SV) is a variant of Bitcoin focused on large-scale data storage on-chain. The code is written to aerospace-grade standards (JPL Power-of-Ten rules, full MC-DC test coverage) and includes a requirements-traceability matrix linking every feature back to a patent claim. The library has two main layers. The first, based on a European patent (EP 4 046 048 B1), lays a key graph over ordinary BSV data transactions. A key graph is a structured tree of cryptographic keys where each key's position in the tree determines what it unlocks. The design allows a sender to tell a receiver only a position in the graph, rather than transmitting an actual key, because both sides can independently re-derive the key from that position combined with a shared seed. Three distinct key sets at each node handle writing, obfuscation, and application-level access separately. The second layer, from a British patent (GB 2623780 B), handles group broadcast encryption: encrypting a message so that a defined set of users can each decrypt it. A balanced key tree connects all members, and the message key sits at the root. When group membership changes, the system supports three different rekeying strategies that trade off the number of messages sent against how many keys need to be updated. Sessions tie everything to the blockchain: a subscription funds a number of sessions, each of which is anchored to an on-chain transaction. An unspent session output past its expiry acts as automatic revocation. The project is structured as about twenty Rust crates covering cryptographic primitives, key derivation, encryption, key storage (with HSM and KMS support), a command-line interface, fuzz tests, and compliance gates. It is dual-licensed MIT and Apache-2.0, that code license is separate from the underlying patent rights.

Copy-paste prompts

Prompt 1
In the overlay-broadcast Rust library, how do I create a key graph and add a node that lets a user at a specific tree position unlock a document without receiving the raw key?
Prompt 2
Walk me through the three rekeying strategies in overlay-broadcast's group broadcast layer and when I should pick each one based on group size and churn rate.
Prompt 3
How does blockchain session anchoring work in overlay-broadcast? Show me how to fund a session and link it to an on-chain BSV transaction.
Prompt 4
I want to use overlay-broadcast with an HSM for key storage. Which Rust crate in the project handles key storage and how do I configure an HSM backend?
Open on GitHub → Explain another repo

← prof-faustus on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.