Anonymity on Locutus: two distinct possibilities #813
Destroyinator69420
started this conversation in
General
Replies: 1 comment
-
I've been thinking a bit about this problem for my project as well, you can take a look at the ideas I've come up with here: 0chroma/InductionDB#1 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Anonymity is necessary for free speech, but in order to keep locutus fast, we need to anonymize the internet connection locutus uses, not locutus itself. I see two distinct programs that can help with this. py-IPv8 and Reticulum.
py-IPv8 is the p2p onion router used very successfully in the tribler network. The reference implementation is written in python and can be translated into rust. It uses a blockchain based tit for tat system to allocate bandwidth. The blockchain is not anonymous on its own, but we could add Ring signatures, Ring Confidential transactions and stealth address to our implementation to fix this. It is also missing a hybrid verifiable shuffle like the one used in riffle. To implement a hybrid verifiable shuffle, we would form the circuit with a classic verifiable shuffle using strong public key cryptography. Then we use AES-256 and and authenticated encryption to verify the message is authentic. Each node is required to submit proof that the message is authentic to the next node on the circuit, if the node finds the proof is false, then the node will tattle to the rest of the network. If it forwards the compromised message anyway, then it will be treated like the previous node that tampered with the message. Another advancement in onion routing that our implementation might want to implement is where then the node decrypts one layer, it adds its own layer as a replacement, then the intended recipient will decrypt all three layers as if nothing has happened. We should also add a random padding up to 1 kilobyte to each message to throw off passive surveillance.
Reticulum: the other method
Reticulum is a mesh network similar to yggdrasil that is fully decentralized and features no source addresses for messages. This means that it is anonymous to send messages over the network. It is also impossible to send unencrypted messages over the network by default since unencrypted messages are dropped. Reticulum is also written in python just like py-IPv8, but I do not understand reticulum as much as I do py-ipv8. The advantage of reticulum is that it does not use a blockchain and it supports wifi + packet radio mesh networks. We would also have to write a rust implementation for locutus, but it can be done.
Beta Was this translation helpful? Give feedback.
All reactions