4 ms·
As much as I love the idea of true peer-to-peer decentralized marketplace, it's a pipe-dream and I'll explain why. - Every node is potentially untrustworthy th
by adamjs 12y ago
As much as I love the idea of true peer-to-peer decentralized marketplace, it's a pipe-dream and I'll explain why.
- Every node is potentially untrustworthy therefore additional verification must be performed on the results of any query. To verify a piece of information, a "paper trail" must be transmitted as well (who created what when).
- This overhead causes information to move much more slowly in a system (if at all, if the threshold is set too high it's possible for all queries to fail).
- To counter this cost, each node can build its own map of trusted nodes based on the validity of previous information. This "network of trust" can be used to throttle the amount of verification performed.
- To illustrate, let's take what happens if you're totally new to a fully decentralized ridesharing platform. You start off not knowing any of the other users (nodes) and so you select a few at random (trusting all mutually), perform a query on all nodes and select the driver with the best rating (according to popular rating from those few users). You take a ride from that driver, have an awful experience, and therefore don't trust the ratings shared by those users anymore. You're back to square one. Building trust takes a lot of time and first-hand validation.
- There's potential for trusted nodes to turn "bad" (untrustworthy) therefore each node must continuously "police" neighboring nodes and relay any changes in behavior to mutually-trusted nodes.
- What's more, there is a certain "cost of competition" that comes with truly decentralized systems. You cannot roll out "system-wide" changes as easily as a centralized one since a majority of the system must first agree (and many times that majority is too small to even consider it a consensus, which ends in grid-lock).
- These five costs (paper-trail, verification, building network of trust, policing network of trust, cost of competition) makes the overall performance of a distributed platform very inferior to that of a centralized platform like Uber.
- Of course there are downsides to centralized platforms like Uber. The quality of ratings is less trustworthy since all users use separate criteria (and could be untrustworthy Lyft proponents). Also, Uber (as a system) does not make decisions in the best interest of its users and is only kept in check by its competition (which is diminishing each day).
- You can look to human civilization as a way to illustrate some of the challenges and solutions of purely decentralized systems. It would be pretty hard to survive if everyone didn't trust anyone outside of himself. We built our own networks of trust via our family and friends (our tribe). As human populations grew, so too did competition between tribes. Centralized governments and services were then built to offset some of our individual responsibilities and promote unimpeded, fair flow of certain resources while still preserving those aspects that benefit the most from decentralization.
- These hybrid systems (platforms with both decentralized AND centralized aspects) work the best in the real world as long as those centralized parts keep working for the majority of nodes and a healthy balance of decentralized/centralized is maintained. (You'll notice we struggle with both of those caveats today in modern civilization).
Whoo! Sorry for the long-winded post, I have a lot more to say on the subject but I'll save the rest for a blog post :). (I'm working on decentralized authority and identification in my spare time so this is a hot area of research for me!).
- lxmorj 12y agoLet's say you require each user to use a valid credit card that matches their name and billing address to verify their unique identity. Then you implement the same star rating system as Uber for both drivers and riders. Then you let driver's set their mile and time rates. When I request a ride, the system gives me a list of time-to-arrival, mileage, and wait time charges. I pick the one I want. It does seem like that would not require an overseers anymore than Bitcoin does. What am I missing?
- toast0 12y agoAssuming name and billing address is a unique identity (seems dubious), how do you verify name and billing address? Credit card verification doesn't include the name, and only includes street number and zip code of the billing address.
- adamjs 12y agoWhen I request a ride, the _system_ gives me... To explain what you're missing, I have to talk about how decentralized networks are actually implemented. Think of the "system" as a large crowd of people in a room. Only certain people in the room have the information you want. It is totally unfeasible to ask every person in the room, you can only ask the three guys closest to you. What do you do? The best strategy to maximize query performance mimics the real-world— each person occasionally gossips information to each other, which replicates data across a network and increases the chance that someone nearby will have the answer you seek. The problem then comes down to trust-- say you ask three guys nearby a question: "Do you know if there are any cabs nearby?" Let's say those three guys did happen to know of a cab nearby but wanted it for themselves (they just got an invite to this AWESOME party in the Haight), so they lie to you and take the cab for themselves. Or, in an alternative case— they are all three sons of a rather horrible cab driver and tell you that he is the ONLY one available. If we had a global view of the system, the chances of this abuse might be minimized but this is just not feasible in real-world implementations. There's also other implications for privacy (nodes in the middle might log your queries) which might also introduce new vectors for abuse.
- 12y ago