docs.sigit.io/approach.md

116 lines
2.2 KiB
Markdown
Raw Permalink Normal View History

2025-03-06 18:32:24 +00:00
# SIGit
## Flow
- Create Event
- Sign Event
- COMPLETE EVENT
---
sigit is made up of:
- pointers, notifications, components (events)
- files (encrypted blobs)
- all events are private (giftwrapped)
## Create Event Component - kind X1
Signer should display:
```
You are signing an Agreement template for the following npubs:
- npub1
- npub2
Ensure this event is sourced from a trusted SIGit instance.
```
- Signed by Creator
- NOT published by default
- fileData{}
- counterpartyData{}
- markData{}
This data is all stored inside the X1 blob
Verifications take place on all the elements in X2 (todo: list them)
---
## File pointer
Signer should say: "You are verifying that the following files exist:"
And list the full urls (blossom url + hash)
- signed by sender
- NOT PUBLISHED by default
- points to encrypted blossom blob (BB)
```json
{"content":"",
"kind": XX, --tbd
"tags"[
["filehash","$(hash)"],
["blossomUrls","url1","blossom2"], --optional
["engine": "SIGIT"]
]
}
```
---
## Encrypted Blob from XX
Contains:
- Create Event
- Files
- OTS?
## Creation flow
```mermaid
sequenceDiagram
autoNumber
actor u as Creator
participant s as SIGit Website
participant b as Blossom Server
participant r as Relay
u->>s: Signs NIP-98 <br> AUTH event
Note over s: Prepare SIGit <br> pack (docs, marks,<br>counterparties)
u->>s: Signs <br>CREATE event
Note over s: ZIP and ENCRYPT <br> SIGit pack
s->>b: Upload to Blossom
u->>s: Signs POINTER event
Note over s: Gift wrap pointer <br>+ decryption key
s->>r: <br>DM each counterparty
```
## Sign flow
```mermaid
sequenceDiagram
autoNumber
actor u as Signer
participant s as SIGit Website
participant b as Blossom Server
participant r as Relay
u->>s: Signs NIP-98 <br> AUTH event
r->>s: Fetch NIP-17 DMs
Note over s: Prepare SIGit <br> pack (docs, marks,<br>counterparties)
u->>s: Signs <br>CREATE event
Note over s: ZIP and ENCRYPT <br> SIGit pack
s->>b: Upload to Blossom
u->>s: Signs POINTER event
Note over s: Gift wrap pointer <br>+ decryption key
s->>r: <br>DM each counterparty
```