mirror of
https://github.com/saymrwulf/crisis.git
synced 2026-05-14 20:37:54 +00:00
Crisis BFT consensus protocol — Go PoC, Python recorder, and CrisisViz: a native macOS scrubbable curriculum visualizer (10 chapters, ~18 minutes at 1×, signed-speed slider with reverse playback).
The repo had no LICENSE file and pyproject.toml claimed CC-BY-4.0 — a license that isn't designed for code and conflicts with the project's actual intent of letting people fork, learn from, and redistribute the implementation. The paper itself remains CC-BY-4.0 as a separately licensed artifact; that fact is now stated in the LICENSE file and in the parent README. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| CrisisViz | ||
| src/crisis | ||
| tests | ||
| .gitignore | ||
| Crisis.mirco-richter-2019.pdf | ||
| crisis_data.json | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
crisis
A proof-of-concept and educational artifact for Mirco Richter's Crisis paper — a DAG-based BFT consensus protocol with a data-availability layer.
This repo contains:
- a small Go PoC of the protocol (
src/,tests/), - a Python recorder that exports a simulation run to JSON (
pyproject.toml), - CrisisViz — a native macOS / SwiftUI curriculum visualizer that walks the protocol end to end across ten chapters: cast intro, gossip mechanics, partition, round derivation, virtual voting, leader election, total order, the data-availability problem, erasure-coded recovery, and Byzantine fork detection.
Everything is in extreme slow motion and serialized for didactic clarity. A signed speed slider scrubs the chapter forward and backward at any rate from −16× to +16×; narration in the overlay is bound to whichever beat the playhead is on.
Build:
cd CrisisViz
swift build # dev binary
./bundle.sh # produce CrisisViz.app + open
swift run CrisisViz --testbed # PNG sweep + invariant + MP4 harness
The viewer is the master of time. Pull the slider.