5 ms·
> 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
by 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.)
- refulgentis 5y ago> I was saying to create a decentralized system like Ethereum (a database) or Orchid (a bandwidth market) you need crypto. Git uses crypto? Alternatively: Git has an opportunity to improve its implementation via crypto? Alternatively^2: Is system being used loosely here? What are characteristics that can help distinguish decentralized-system-type-A, which does need crypto, from decentralized-system-type-B that doesn't need crypto?
- saurik 5y agoI mean, git is, at best, federated: I host my content, and while you can host a copy of my content (and it can be verified to be accurate), there is no way to find that content. This is why it sucks so much that GitHub refuses to support custom hostname mapping, as it means that people get "trapped" in their hosting as these not-very-decentralized hyperlinks end up scattered around hard-coding the name of the hosting provider not only in peoples' websites and working copies but build scripts and .gitmodules files. You take the premise of git, though, and you add discovery of copies, and you essentially get IPFS. They use a distributed hash table to let you look up "where can I find a file with this hash?"... but distributed hash tables are protocols designed around altruistic nodes collaborating according to protocol and require complex anti-spam mechanisms that end up failing constantly leading to sybil and eclipse attacks. To protect against all of these attacks on our decentralized "help me find a place that is hosting code with this hash service" I contend you will end up with consensus techniques with incentive structures that force you down the path of cryptocurrencies. This is, in truth, why Bitcoin is so cool: "nakamoto consensus" is probabilistic technique to build a shared database where you don't have to assume a ton of nodes are honest: the nodes are being monetarily incentivized to be honest.
- trevyn 5y ago> build a shared database where you don't have to assume a ton of nodes are honest: the nodes are being monetarily incentivized to be honest. Monetary incentives are certainly one way to do that, but I don’t see any evidence that they’re the only way. In particular, you should only need to assume that some nodes will be honest, and have a cheap way to verify honesty. Long-lived reputation and cryptographic “proofs of dishonesty” seem promising. Make it hard to build reputation, but easy to lose it, and easy to detect dishonest actions.