Skip to content

Commit

Permalink
chore(doc): some work on documenting everything better
Browse files Browse the repository at this point in the history
  • Loading branch information
cfcosta committed Jul 31, 2024
1 parent 5ffff37 commit 0e5966a
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 18 deletions.
68 changes: 67 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,73 @@
</a>
</p>
</p>
<hr />


Mugraph (pronounced *"mew-graph"*) is a Layer 2 Network for the Cardano blockchain for untraceable payments with instant finality.

By **untraceable**, we mean that, inside a given group $A$ of users:

- All transactions between users inside $A$ are untraceable, meaning senders and receivers are not bound in any way.
- All transactions to users outside $A$ come from a single, shared identity for all group participants.

This shared identity comes from **Delegators**, behaving similarly to Payment Networks in the traditional banking system, like Paypal, Venmo or CashApp, but with some crucial distinctions:

- Delegates hold funds in a fully auditable Smart Contract Vault, held in the Layer 1.
- Delegates can not spend user funds without their authorization.
- Delegates are **blind**, meaning they don't know who is transacting.
- Delegates provide **group anonimity** for their users, signing transactions on behalf of them.

An user can, and usually will, hold balance in multiple Delegates at once, and they do not need to have balance in a Delegate to receive payments there.

Essentially, a Delegate has four main roles:

1. **Handle Payments:** invoices are settled by payments, which can be settled by either a Layer 1 transaction or an internal transaction inside the Delegate itself.
1. **Handle Commits:** users can commit the state of the Vault on the blockchain to mint funds inside the delegate.
1. **Sign External Transactions:** delegates can sign external transactions on behalf of users, in order to route payments between them and the outside world.

## Glossary

| Symbol | Description |
|--------|-------------|
| $G$ | A generator point in the Ristreto25519 curve. |
| $n$ | A Note, blindly signed by the Delegate and ready to be used. |
| $n'$ | A Note with a blinded nullifier to be sent to the Delegate for signing. |

## Types

### Notes

TODO.

### Blinded Notes

TODO.

## Operations

### $F$: Fission

Splits a note into two blinded notes. It is defined as:

$F(n, i) \mapsto \{ n'_o, n'_c \}$

Where:

- $n$ is the input note to be slit in two
- $i$ is the output amount requested by the operation
- $n'_o$ is a blinded note for the amount $i$
- $n'_c$ is another blinded note for the amount $n_i - i$, where $n_i$ is the note amount.

### $F'$: Fusion

Joins two notes with the same asset id and server keys into a single one. It is defined as:

$F'(n_0, n_1) \mapsto n'$

Where:

- $n_0$ and $n_1$ are the input notes to be fused
- $n'$ is a blinded node for the amount $n_0i + n_1i$

Mugraph (pronounced *"mew-graph"*) is a Layer 2 Network for the Cardano blockchain for untraceable payments with instant finality. It is very simplified in both operations and architecture, meant to be easy to integrate anywhere.

Expand Down
17 changes: 0 additions & 17 deletions docs/protocol/delegates.md

This file was deleted.

0 comments on commit 0e5966a

Please sign in to comment.