talaia-labs / rust-teos

The Eye of Satoshi - Lightning Watchtower
https://talaia-labs.github.io/talaia.watch/
MIT License
134 stars 63 forks source link

Generalize the codebase to run in accountable and non-accountable modes #33

Open sr-gi opened 2 years ago

sr-gi commented 2 years ago

Currently, the tower runs only in accountable mode, meaning that signatures of agreement are sent by the tower to the users so it can be held accountable in case of misbehaviour.

While this may make sense for towers run by third parties, it may not if the same person is running the tower and the client. Running in accountable mode means having to store the signed receipts by the client, which may not be desirable in this case.

Generalize the tower so it can be run in both modes. This should be configurable via compilation flags so the tower is run in one of the two modes (and advertised to the users during registration).

Further info: https://www.summerofbitcoin.org/project-ideas-details?recordId=recYp3MeVaI79Jocg

DISCLAIMER

This is a Summer Of Bitcoin (SOB) project. If you're considering tackling this but you are not part of SOB, please leave it until SOB is over. After that, feel free to jump in.

1010adigupta commented 1 year ago

I will be working on this for my SOB project, I am asking my doubts on discord as Aditya Gupta. I have few questions..

1010adigupta commented 1 year ago

So customizing rust-teos to run in non-accountable mode would need me to modify public APIs so that they do not exchange signatures when called and make it such that the client does not store any receipts?? Also what other things need to be modified when running in non-accountable mode??

sr-gi commented 6 months ago

This is up for grabs, an attempt was made in #222 but never completed