-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document Sphinx replay DB (Decayed Log Db) #6584
Comments
@AbelLykens I'm willing to take a look at this issue. I see some comments and references to |
@adam2k Did you find out more about this? Made any progress? |
@angeria I didn't push this ahead any further if you have time to take a look. The only thing I'm not sure about where is the correct location is to add this content. |
Sphinx is a protocol that allows for the creation of anonymous and untraceable messages in a network. It is often used in conjunction with a replay database, which is a database that stores copies of previously sent messages in order to prevent them from being replayed. The exact implementation of a Sphinx replay database will vary depending on the specific needs of the network and the application that it is being used for. However, in general, a replay database for Sphinx will likely store copies of previously sent messages using a hash of the message as the key, along with metadata such as the time the message was sent and the sender's identity. When a new message is received, the replay database can be checked to see if it has been previously sent. If the message has been sent before, it can be discarded as a replay attack. If the message is new, it can be added to the replay database and processed as a legitimate message. Overall, the purpose of a Sphinx replay database is to prevent replay attacks, which are a type of attack where an attacker resends a previously sent message in order to try and trick the recipient into thinking it is a new message. By storing copies of previously sent messages and comparing incoming messages against the replay database, it is possible to prevent these types of attacks and ensure the integrity of the network. |
That sounds like something ChatGPT would say... anyway, thanks :) |
Source-based onion routing (SPHINX) is the onion routing protocol used in Lightning. " Lightning's onion routing SPHINX Mix Format is only similar to the Tor network routing in concept, but both the protocol and the implementation is entirely different from those used in the Tor network." For detailed Knowledge about SPHINX and onion routing in the Lightning network, please refer to Chapter 10 of Mastering the Lightning Network . |
I would like to take up this issue. Please assign me this issue. I would be glad if you could alongwith let me know where do I need to write about "sphinxreplay.db" as I could not find appropriate place to put it up. |
We don't currently assign issues to external contributors. But you can show you're working on it by submitting a (draft) PR. |
@guggero I have created a new set of documentation for the databases as it is more convenient for the users to understand the working. |
Background
It's unclear to many people what
sphinxreplay.db
is for.Context
Replying to the question: "What is sphinxreplay.db for", on Slack:
@Roasbeef : "Security: it prevents replays of onion packets, w/o this ppl can collect onion packetrs then re-inject them and see where they travel to attempt to de-annon"
@Roasbeef : "I think we might be the only impl that handles them properly, have been meaning to add more details to the spec on this front."
Request
Adding more docs / more info in specs would be good 💯
The text was updated successfully, but these errors were encountered: