3 ms·
I 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 f
by saurik 5y ago
I 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.