-
Notifications
You must be signed in to change notification settings - Fork 4
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
Initial comparison: Tor vs Waku #69
Comments
Below is the summary of my findings up until now. Probelm DefinitionThis document is going to provide a comparison between Tor and Waku. The "What is Tor" section presents a quick overview of the Tor and can be skipped for those that are already familiar. What is TorAs stated in the Tor specifications, Tor is a distributed overlay network designed to anonymize low-latency TCP-based applications such as web browsing, secure shell, and instant messaging. Clients choose a path through the network and build a Workflow
Side Notes:
Security considerationTor is all about Transport Security and there is no anonymity guarantee about the data that is sent by the user over Tor e.g., an attacker may eavesdrop on the last connection in the Tor circuit to the destination server, and sees someone's username and password in clear. It is up to the user to use TLS or HTTPS for the connection. What is transported is exactly an HTTPS request and reply that goes through Tor instead of the ISP router. security featuresBelow is the list of the security features that Tor provides, however, the essence of all these features is two things:
To make a fair comparison with waku, we need to know whether we can achieve these two major features or not and how. Further on the features of the Tor:
Security Vulnerabilities
Performance ConcernsTor routers may be distant and you may get delay till your message gets to the destination.
Anonymity levelsAnonymity can be analyzed at various levels. Below is a broad classification of such:
In the following, the focus will be providing anonymity against a third party as the baseline.
WakuIn waku, the relay protocol constitutes the transport layer hence the end goal would be to preserve anonymity in this layer isolated from other available protocols.
In the following, we consider that the relay protocol consists of only full nodes i.e., those who act as a relayer and as a publisher.
Transported Data
No Sign PolicyTo preserve anonymity, the relay protocol follows a strict no sign policy which means the
Payload EncryptionThe payload field contains the content of the message either in clear or encrypted. Having it encrypted has two benefits, one is data confidentiality and the other is that it prevents unintentional disclosure of personally identifiable information e.g., the payload may contain the sender's email address. Topic anonymityThe use of Currently, the The general rule is that when a node is part of a topic mesh then he is the (potential) receiver of messages of that topic. Hence if a topic indicates a group of communicating nodes, then breaking the anonymity can be done by identifying the nodes within the same mesh. This info is not secret and is somewhat publicly available. Topic shardingTopic sharding is to blend multiple groups of communicating participants into one i.e., mixing multiple meshes into one. As such, instead of having one shard for each topic let's say K1 ... KN, all of them will be in the same shard hence relayed within one single mesh. then the relay nodes in K1 are indistinguishable from K2 and... KN. This is also known as K-anonymity when a group of k users looks identical w.r.t. some attributes.
Potential solution: Growing the topic mesh with random volunteered relay nodes (server donation)One way to preserve anonymity is to encourage more nodes to participate in relaying random pubsub topics i.e., topics that might not be of their interest. This way the true participants of the mesh will get mixed with the volunteer ones and will enable a higher level of anonymity. However, it comes with the cost of bandwidth for the volunteered relay nodes. Single global pubsub topicThe ultimate and maximum anonymity level that can be achieved by topic sharding is when all the topics are shared into one single topic i.e., all the nodes relay all the topics. As the result, being a relay node of that single topic conveys no useful information about the true interest of the relayer. However, this approach might be inefficient and costly for all the relayers. Potential Solution: The use of Content Topic for group managementIn the case of using one single pubsub topic, we can distinguish different communication groups e.g., 1:1 and group chats through waku content topics.
Asymmetric content topicsNow, to provide anonymity we need to find a way to hide the link between a publisher and his content topic.
Waku security issuesTiming attack on publisher-topic unlinkability: The act of publishing to a topic is theoretically protected and is anonymous, That is by hijacking a link and getting to see message m is set from node A to B, cannot judge the author of the message (A can be a relayer or can be the original publisher). However, a more powerful adversary can monitor multiple network links and analyze the delay by which the message arrives at other nodes of the network. The one with minimum delay is potentially closer to the owner of the message or even is the message's owner. Waku advantages over the TorOne potential advantage of using waku is that it is computationally lighter than Tor and does not require multiple encryption and decryption. This would also lower the message transmission delay. Another advantage is the lighter key management where the sender does not have to establish shared keys with all the intermediate routers (as opposed to the Tor). |
Summary of my takes from zcash/zcash#4902 What ZCash needs from a secure transport layer or an Anonymous Communication Network
Considered and suggested approaches
Security requirementsIt seems zcash project is seeking the following security objectives in their messaging network:
GeneralProviding an ACN is to achieve a trade-off between bandwidth, latency, and anonymity. How Waku can help w.r.t. the Zcash requirements
|
Thanks for this summary! Good start |
Sharing some relevant resources for the record:
|
More on the use-cases of secure and anonymous transport layer: In a project like zcash, the security of the transport layer is vital to deliver full node services to a light node in a privacy-preserving manner. And privacy and anonymity are defined around the unlinkability of a light node's Eth address to its IP.
Tor has been deployed to obfuscate the mapping between the IP and Eth account, however,
What can waku do? |
Having an issue to track it make sense, but I'd put this meat of the text in the research repo itself too. Reason being is that it is actually in the git repo, easier to refer to and build on etc, as opposed to GH comments. Feel free to push directly to master in a folder in this repo, or if you prefer can also do lightweight PRs, up to you! |
Sure @oskarth! I was thinking to keep it as a GH issue to have an easy way to communicate and comment as opposed to an already committed doc in the research repo. But, will move it to the repo as a consolidated doc! :) |
Maybe can move specific questions to GH repos? Like we did for zksnark blockers https://github.com/vacp2p/research/milestone/2 |
Can we break this problem apart please? Doesn't need to be very thorough, just splitting it out into a few orthogonal issues. If the issues are kept concise this should be possible to do in a short time box |
@oskarth Certainly! I am on it. |
Going to close the current issue because a more clear and structural problem breakdown is provided in https://github.com/vacp2p/research/milestone/9. |
Tor is a distributed overlay network that provides transport security and anonymity for its participants. Its objective wrt anonymity is similar to waku. However, its advantage and disadvantages compared to Waku are not clear and studied. This is to conduct the initial research on this matter. The comparison shall contain both the security aspects and the performance. The result will identify the decision criteria as why should one choose or not choose waku over Tor.
The text was updated successfully, but these errors were encountered: