A native publish/subscribe communication layer for the Cardano ecosystem: nodes subscribe to topics and receive every message honest publishers send on them, under an adversary model with silent Byzantine participants.
The project is currently in Phase 2 — empirically-driven architecture (#46): candidate dissemination topologies (the M models) are analysed formally and validated experimentally, converging on a design proposal by mid-August 2026.
Important Disclaimer & Acceptance of Risk
This is a proof-of-concept implementation that has not undergone security auditing. This code is provided "as is" for research and educational purposes only. It has not been subjected to a formal security review or audit and may contain vulnerabilities. Do not use this code in production systems or any environment where security is critical without conducting your own thorough security assessment. By using this code, you acknowledge and accept all associated risks, and our company disclaims any liability for damages or losses.
| Path | What it holds |
|---|---|
web/ |
Public GitHub Pages site: workstream overview and progress presentations |
docs/ |
Design documents: technical reviews, gap analyses, design synthesis, extension proposals |
formal_spec/ |
Formal models (Quint, PRISM): peer sampling, hybrid dissemination (the M models), topic registry |
pubsub-node/ |
Rust prototype of the PubSub node — see its README for the spec-driven workflow |
logbook.md |
Running log of technical decisions and progress, most recent first |
biweekly-reports/ |
Biweekly progress reports |
- Website — public overview and the latest progress presentation.
- Logbook — decision-level progress notes, updated weekly.
- Biweekly reports — periodic summaries.
- Phase 2 issue (#46) — goals, outcomes, and the three work tracks: formal analysis (#76), prototype & experiments (#79), design proposal (#91).
The Rust node prototype lives in pubsub-node/:
cd pubsub-node
cargo testProtocol design background lives in docs/ and formal_spec/; the prototype README explains how specs, plans, and implementation connect.
The public site is deployed from web/ on every merge to main. The earlier MkDocs documentation (product vision, use cases, architecture, economics) is retired and preserved on the archive/mkdocs-site branch.
See CONTRIBUTING.md for how to get involved and SECURITY.md for reporting vulnerabilities.
Copyright 2025 Input Output Global
Licensed under the Apache License, Version 2.0 (the "License"). You may not use this repository except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.