Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Deploy Documentation

on:
push:
branches: [ master, main ]
paths:
- 'docs/book/**'
- '.github/workflows/deploy-docs.yml'
pull_request:
branches: [ master, main ]
paths:
- 'docs/book/**'
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable

- name: Install mdBook
run: |
cargo install mdbook --version 0.4.37 --locked

- name: Build Documentation
run: |
cd docs/book
mdbook build

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: docs/book/book

deploy:
if: github.event_name != 'pull_request'
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
13 changes: 11 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ Cargo.lock
*.profraw
*.profdata

# Documentation
docs/book/
# Documentation (only ignore built output)
docs/book/book/

# Temporary files
/tmp/
Expand All @@ -34,3 +34,12 @@ criterion/
.bitcell/
help_output.txt
target/

# Infrastructure data
/infra/docker/prometheus-data/
/infra/docker/grafana-data/
/infra/docker/alertmanager-data/
/backups/

# SDK compiled bytecode
sdk/**/*.bin
2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ members = [
"crates/bitcell-simulation",
"crates/bitcell-wallet",
"crates/bitcell-wallet-gui",
"crates/bitcell-compiler",
"crates/bitcell-light-client",
]
resolver = "2"

Expand Down
83 changes: 83 additions & 0 deletions ceremony/attestations/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Ceremony Attestations

This directory contains signed attestations from ceremony participants.

## Purpose

Each participant signs an attestation confirming:
1. They generated genuine randomness
2. They followed the ceremony process
3. **They destroyed their toxic waste**

These attestations create public accountability and transparency.

## Attestation Format

Each attestation is a text file (optionally PGP-signed) containing:

```
BitCell Trusted Setup Ceremony Attestation

Ceremony: [BattleCircuit | StateCircuit]
Round: N
Date: YYYY-MM-DD
Participant: [Name or Pseudonym]

I hereby attest that:

1. I generated the contribution independently using genuine randomness.
Entropy sources used: [description]

2. I verified the input parameters matched the published hash.
Input hash: abc123...

3. I ran the contribution tool and verified the output.
Output hash: def456...

4. I securely destroyed all files containing toxic waste:
[detailed destruction method]

5. To the best of my knowledge, no copies remain.

6. I acted in good faith to support BitCell security.

Signature: [PGP signature or contact info]
Date: YYYY-MM-DD
```

## Files

After the ceremony completes, this directory will contain:

- `battle_round_01_alice.txt` - Alice's attestation for BattleCircuit round 1
- `battle_round_02_bob.txt.asc` - Bob's PGP-signed attestation
- `state_round_01_alice.txt` - Alice's attestation for StateCircuit round 1
- ... (one file per participant per circuit)

## Verification

To verify a PGP-signed attestation:

```bash
# Import participant's public key (if available)
gpg --import participant_pubkey.asc

# Verify signature
gpg --verify battle_round_01_alice.txt.asc
```

For unsigned attestations, verification relies on:
- Matching to public transcript
- Cross-referencing with coordinator records
- Community recognition of participant identity

## Status

**Current Status:** Awaiting Ceremony (Q1 2026)

This directory will be populated as participants contribute to the ceremony.

---

**Last Updated:** December 2025
**Ceremony Status:** Planning Phase
Loading