4 ms·
FWIW, as much as people love to rag on cryptocurrencies, I feel like this is where they shine. (Of course--as someone like me always shows up--I work on Orchid,
by saurik 5y ago
FWIW, as much as people love to rag on cryptocurrencies, I feel like this is where they shine. (Of course--as someone like me always shows up--I work on Orchid, a cryptocurrency market for bandwidth that is intended to support various use cases including those similar to Tor.)
The issue is that no one entity should be able to just sit around and dominate the directory of nodes by claiming "I'm a million nodes, wheee!!!", and so that needs to be "expensive". However, for it to be expensive, they also need a way to make money running the nodes.
In our case, people have to lock some money up in a shared pile in order to gain control over percentages of the directory, and what you get in return is that you randomly will get people using you to relay their traffic, for which they will pay you fees (likely close to cost).
(Essentially, instead of Tor's mechanism where, when you want to find a relay node, you randomly select between all entries with equal weight, you would select between market participants linearly weighted by the amount of money they have locked up in the directory.)
And that's really what most of these cryptocurrencies are doing in this generation of new decentralized protocols (which I've seen people hate on): dealing with the reality that there are bad actors and not everyone is going to run the software without evil changes.
This is also the core of Ethereum: you want a decentralized database capable of transactions? OK, well, the order of operations matters (as transactions can preclude the ability for later incompatible ones) and so we need to limit the influence that any one operator has...
...so you build a system where nodes have to spend something--either doing some silly math constantly (proof of work) or locking some money up in a pile (proof of stake)--to gain control over percentages of the directory, and in return they get to charge fees to commit transactions.
(There is additionally often an inflation-based "rewards" component, in the case where not enough people are yet paying fees. I'm honestly not for these and have a way-too-complex-for-here argument for why they might even be "evil" in most cases, but that's kind of irrelevant anyway.)
The reality is that, if you want to build a decentralized system, and you want to figure out how to make it hard for bad people to do bad things, you have to raise the cost of doing said bad things; but, to do that will require programmable money... leading you to crypto.
- NikolaNovak 5y ago>>"The issue is that no one entity should be able to just sit around and dominate the directory of nodes by claiming "I'm a million nodes, wheee!!!", and so that needs to be "expensive". However, for it to be expensive, they also need a way to make money running the nodes. " I always feel either I'm stupid or I'm missing something when it comes to crypto, Because I understand words and I feel I understand concepts but I don't understand linkages others take for granted, as it pertains to problem at hand of anonymous communication. If nodes are expensive, doesn't nsa have more money than any given privacy focused individual or organizing? If they make money how is it expensive in a useful way I genuinely don't understand how that solution solves a problem, unless they problem is "we need another way to transfer money (ideally to ourselves and early adopters from late adopters)."
- saurik 5y ago> If nodes are expensive, doesn't nsa have more money than any given privacy focused individual or organizing? So, two things are going on in this question. The first is that I doubt KAX17 is the NSA... they might not even be a government! Most systems people build that rely on altruism are so easily attacked that a grad student can take control of them using resources at a University. I appreciate that the bar to prevent the NSA (or the CCP, or whatever other government surveillance network you are most concerned about) taking over your network is high, but the bar right now is just so low for most of these protocols that it should be embarrassing. If the NSA were really the only problem for Tor, I'd call that "a wild success". The second, though, is that the goal should be to get big enough that the NSA would actually have a hard time dominating the resources of the pool. This requires being pretty large, but isn't insanely impossible. Let's look at Bitcoin for a moment: I am one of the first people to agree that "proof of work is probably an immoral way to solve this problem" (due to the externalized environmental effects of electricity usage and the such), but damn if it isn't effective, right? Bitcoin uses 0.5% of the world's electricity. That means to take control of half the Bitcoin network, the NSA would have to build out the infrastructure for buying (and using) an equivalent amount of the world's electricity... I bet that's hard, even for them.
- theamk 5y agoSorry, you are not going to get big enough . Take a look at https://www.crypto51.app/ https://www.crypto51.app/ - you basically need to be top 5 to be too expensive for NSA to attack. And if your network is not in the top 20, it will cost single dollars per hour to attack, putting it within regular team's reach.
- saurik 5y agoFWIW, my personal belief is that when the dust settles in another decade there will only be a metaphorical oligopoly of distributed systems, each of which having generalized in their purposes in order to have "shared security" across a number of different use cases. Regardless, I maintain that Tor doesn't protect against the NSA today (and for even more reasons than come from this article today: the NSA can do attacks that don't even require running nodes, involving stuff like timing analysis attacks that Tor does nothing to prevent), so focusing on the NSA seems like a pointless exercise.
- AlexanderTheGr8 5y ago> The reality is that, if you want to build a decentralized system, and you want to figure out how to make it hard for bad people to do bad things, you have to raise the cost of doing said bad things; but, to do that will require programmable money... leading you to crypto. So to create a decentralized system like crypto, you need crypto (as programmable money)? Also, can you elaborate on locking money in a pile? Do people lock money as the currency? How does it demotivate people (whose money is locked) to do bad things?
- saurik 5y ago> So to create a decentralized system like crypto, you need crypto (as programmable money)? I was saying to create a decentralized system like Ethereum (a database) or Orchid (a bandwidth market) you need crypto. FWIW, yes: to build crypto you also need crypto, but I would imagine programmers like us are used to bootstrapping issues as we deal with them daily. > Also, can you elaborate on locking money in a pile? Do people lock money as the currency? How does it demotivate people (whose money is locked) to do bad things? FWIW, in my descriptions here, I wasn't looking exactly at "demotivation" (which is extremely complex and works better in some places than in others... in the case of the decentralized databases often it is "you lose all of that money if anyone ever manages to catch you telling two people you voted on the order in which to commit transactions in different ways") but just the "it needs to be expensive to be bad" aspect (which involves defending against what people often call a "sybil attack", after the first patient to be diagnosed with multiple personality disorder): if you want to run a Tor node, maybe it should require tens of thousands of dollars per node locked up somewhere (which is proof of stake) or maybe it should require you to constantly burn electricity doing some arguably-"useless" math (aka, proof of work). The issue is that it shouldn't be easy for me to just claim "I suddenly have a million nodes". The main defenses Tor has for this are "it is hard to get IP addresses"--which is honestly totally fair, and we may as well call it "proof of IPv4" ;P--and "maybe, if we get lucky enough, the cabal that runs their directory will manually notice somehow that you are evil (which I will note the article here claims is increasingly unlikely) and remove you from the list". This already does not seem to be sufficient even in the current world of IPv4, and implies that Tor will kind of need to continue to require all nodes to be IPv4 (they can let you access IPv6 content, of course, but the idea is that to talk to them would require IPv4, to make the IP addresses scarce) even in a potential future world where IPv6 becomes dominant (which would probably crash the market for IPv4 addresses, breaking this mechanism anyway!!). (A note on that second one, btw: Tor has like 9 people who run the directory servers. Your client talks to them and attempts to get consensus on the state of the directory. If you were to go to 5 of those people with a crowbar and demand that they redirect all traffic to you, you win... and, when I asked Roger Dingledine what he'd do in such a situation when someone threatened his family over it, it was amazing that he somehow had never really considered the scenario. Meanwhile, those are just computers running somewhere which can be targeted for physical and remote intrusion, and there have been serious scares of such in the past! I'd argue that, instead of people whose job is to run the directory servers that you have to trust, the directory should be code running on a shared distributed database protocol--aka, Ethereum--which, of course, is what we are working on with Orchid ;P.)
- hnarn 5y agoThe adversaries mentioned in the article are highly sophisticated and seem to have access to a great amount of resources. They may be, and some would probably say they likely are, working for nation states. Given a situation where your adversary is a nation state, how does crypto fix anything? How is crypto not in the end just “proof-of-resources”? Nation state wins. The article touches on trust models and personally I think it would be a better solution to introduce some kind of manual trust into the routing. If there’s one thing Tor does not need, it’s crypto-“currencies”.
- saurik 5y agoI just-about-concurrently to you asking this question answered a similar question someone else had posed already (using the NSA as their specific example) here: https://news.ycombinator.com/item?id=29466855 https://news.ycombinator.com/item?id=29466855 .
- hnarn 5y agoI just question the value of using 0,5% of the worlds electricity to keep the NSA out if there are other options. For example, like the article suggests, if I could decide what nodes I trust as entry guards and so forth, any malicious actor could throw as much money as they want at the network.
- saurik 5y agoYeah: as noted there, I agree that proof of work is probably immoral, but it happens to be a network that has already gotten big so we can start to analyze its ability to defend against "nation-state actors"; instead of that, what if it were 0.5% of the world's economy "locked up"? That's "proof of stake" instead of "proof of work", and is where all of these systems are going (including Ethereum for their next major version they might someday finish, or existing networks that I'm personally way more excited about, such as Avalanche).
- hnarn 5y ago