An open API service indexing awesome lists of open source software.

https://github.com/nickfarrow/frostr

the word's first multisignature social media account
https://github.com/nickfarrow/frostr

Last synced: about 1 month ago
JSON representation

the word's first multisignature social media account

Awesome Lists containing this project

README

          

![image](https://user-images.githubusercontent.com/24557779/209822817-277b1cc8-1208-4362-b5b2-54bfc5a3417a.png)

# FROSTR

use `Flexible Round Optimized Schnorr Threshold` (FROST) signatures to create a joint nostr account with your friends.

FROST is a threshold multisignature (`t-of-n`), so to make a post/event you require `t` parties to individually sign and contribute signature shares. These signature shares are then combined into a single schnorr signature which is valid under the joint public key.

**Extremely unsafe and violently untested**

Please do not add this to any nostr client list.

## Usage
```
git clone https://github.com/nickfarrow/frostr
```
then `cargo run` or
```
cargo install --path .
frostr
```
Choose menu options 0-1, copy-paste and share things between participants. Take care to only share "secrets" with the intended recipient!

## More about FROST
[FROST Paper](https://eprint.iacr.org/2020/852.pdf)

[Docs for our implementation & some important notes](https://docs.rs/schnorr_fun/latest/schnorr_fun/frost/index.html)

## todo (you?)
- [x] Sign a valid nostr event using FROST
- [ ] Refactor requests for input, buffers, and whitespace
- [ ] Proper CLI
- [ ] Colorful terminal
- [ ] Allow users to sign more arbitrary events (e.g. change profile)
- [ ] Allow users to sign non-nostr related messages
- [ ] Remove unwraps everywhere
- [ ] Show list of available frost keys