Skip to content

Commit

Permalink
docs: update galois architecture docs (#745)
Browse files Browse the repository at this point in the history
* docs: correct galois architecture diagram

* docs: move proof caching to future work

* chore: spelling

* docs: specify for val set drift

* docs: specify that voyager requests multiple blocks

* chore: spelling and formatting
  • Loading branch information
PoisonPhang authored Sep 27, 2023
1 parent 327236d commit 874f95a
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 5 deletions.
1 change: 1 addition & 0 deletions dictionary.txt
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ ctypes
dasel
dataconnector
datadir
datagram
datetime
delegators
dels
Expand Down
23 changes: 18 additions & 5 deletions docs/docs/02_architecture/galois.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,23 @@ Galois is the umbrella term of Union's ZK efforts. It currently has one purpose:

Transactions through Union to other layers are composed of three steps:

1. Emit a send-packet event
2. Generate a ZKP of the Union state
3. Update Counterparty with Union state

```mermaid
sequenceDiagram
Union->>Galois: Generate a zkp of Union consensus
Galois->>Voyager: Forward zkp for to HA relaying service
Galois->>Union: Submit zkp for proof caching
Voyager->>Counterparty: Submit zkp for packet processing
Union->>+Voyager: Emits IBC datagram at block N
Voyager->>+Galois: Proof Request for block M..N+1
Galois-->>-Voyager: Sends Generated Proofs for blocks
Voyager->>-Counterparty: Updates counterparty with Union state
```

[Proof caching](https://github.com/unionlabs/union/discussions/41) is currently in the pre-RFC stage. It ensures that the network does not perform redundant work and incentivizes decentralized proving, effectively using Union as a decentralized sequencers orchestration layer.
:::note

Depending on validator set drift, Galois may need to generate multiple proofs. This results in $M$ being the last trusted height and $N+1$ being the height to update to.

:::

### Technologies

Expand All @@ -36,6 +44,11 @@ Galois is built using

The current focus for Galois is production-readiness. We're mainly maintaining the current implementation and making performance improvements. After mainnet, the major roadmap items include:

- Proof caching
- Verkle tree support (CometBLS v2).
- Formal verification with [Lean](https://leanprover.github.io/).
- Groth16 proof aggregation.

### Proof Caching

[Proof caching](https://github.com/unionlabs/union/discussions/41) is currently in the pre-RFC stage. It ensures that the network does not perform redundant work and incentivizes decentralized proving, effectively using Union as a decentralized sequencers orchestration layer.

0 comments on commit 874f95a

Please sign in to comment.