
Ask HN: When is federation a better solution than decentralization? - chatmasta
The past couple years have been dominated by the hype cycle of cryptocurrencies as an incentive mechanism for decentralization. Hundreds of “N sided marketplace” problems have been reframed to fit within decentralized solutions. And yet, none of them have really succeeded. There is no “killer app” representing the decentralized marketplace du-jour.<p>I can’t help but wonder if many of these projects are approaching the solution the wrong way. The fundamental problem underpinning decentralization is one of governance and direction. Too many cooks in the kitchen means solutions can become diluted with unnecessarily indirect incentive mechanisms.<p>Decentralization is a spectrum. There is a middle ground between a decentralized solution and a centralized solution. That middle ground is federation.<p>To me, federation has always seemed a better solution for decentralized marketplaces than full decentralization, because it decouples economic incentives from those of technology suppliers. As long as we live in a world where fiat currency and nation states dominate transactional and regulatory environments, it is unavoidable that any large enterprise pursuing legitimacy will need to interact within the bounds of laws and regulations. Given that, it seems that federation offers a better solution than decentralization because it allows service operators to define their own economic processes according to their own jurisdictions and regulations, whereas decentralization is more of a free-for-all that can meet only the lowest common denominator of regulatory and economic restrictions.<p>What does HN think? Is decentralization overhyped? Would many projects be better suited to a hybrid model of decentralized infrastructure and federated transactions?
======
endymi0n
Here's the core of the problem and also why most of crypto / blockchain
technology will go down the drain soon:

Decentralization isn't a business model. The opposite is.

That's it. How you get to any competitive edge in a market is: 1) Be better
than your competitors in a field. 2) Own that field and displace everyone
else. 3) Extract value.

The Crypto hype happened because a super elegant technical solution (->
Blockchain) that nobody really understands was (and IMHO still is) waiting for
a problem met a visionary hippie fantasy of a world of inefficient, evil
companies that somehow will be made better by some form of decentralization.

The problem is: There wasn't ever an inefficiency and none of those "huge"
competitors has any incentive to leave their market share to someone else. So
exactly nothing will happen.

Crypto is nothing more than modern white knight fantasy - in reality all the
purpopoted benefits of a blockchain are serious shortcomings. Do you _really_
want a payment that can't be rolled back by a centralized authority because
you were defrauded or someone hacked your account? Do you want any kind of
accounts for a whole tech-afraid populace that they can't access anymore once
they've lost their key?

Most people haven't realized that the current centralization and trust in some
large companies and institutions is actually a pretty deep local optimum that
will be incredibly hard to displace with something better.

~~~
purvis
Your argument against crypto is one of the more compelling I've read. I like
the "deep local optimum" visual you painted. I definitely agree if you're
comparing "crypto" directly to centralized companies doing traditional things
-- they're not going anywhere.

However, I think it solves a different problem. It's a geopolitical problem.
Blockchain technology provide a bulletproof (so far) way of exchanging value
across borders without having to trust any middlemen.

There's a quote, I believe by Erik Voorhees, saying roughly: "Bitcoin is
separation of money and state".

~~~
smilesnd
But currently this only works in third world countries where the government
lacks resources or care to combat it. Plus their is still a middleman if you
don't mine the cryptocurrency yourself. I still have to pay a exchange if I
cannot find someone willing to take cash/check from me. You also have the
opposite effect where you need the exchange and a bank account to turn that
coin I sent into usable cash.

~~~
whiskers08xmt
Most of the world's population lives in third and second world countries.
You're absolutely right that the centralized fiat gateways are the obvious,
censurable bottlenecks of crypto-currency, and there's no good way around
that, but crypto-currency itself is still an attractive way for many people,
to move their money out of very restrictive regimes. The centralized exchange
problem is mainly a problem of creating a black/grey market economy, with
crypto-currency as it's main unit of value transfer, which of course is a
whole other can of worms.

------
skaul
About federation in particular: Moxie wrote about why Signal is unfederated a
little while back: [https://signal.org/blog/the-ecosystem-is-
moving/](https://signal.org/blog/the-ecosystem-is-moving/)

It has some interesting insights into when federation works and when it
doesn’t.

“Nothing about any of the protocols we’ve developed requires centralization;
it’s entirely possible to build a federated Signal Protocol-based messenger,
but I no longer believe that it is possible to build a competitive federated
messenger at all.”

~~~
kuschku
Yeah, but moxie is mostly wrong. He's only seen worst-case scenarios and
assumes everything is lile that, so he builds his centralized stuff instead.

You can easily move forward with a federated protocol as well if you've got
cooperating people, guarantee only 6 months of support for a protocol version,
and have a versioning and feature flag system.

Hell in one project I contribute to we've kept protocol compatibility since
2009, we've got mamy third party clients, everyone hosts their own server —
and still we can introduce new features without breakage in a matter of days
(at least into beta, QA and translation take a while).

~~~
toomuchtodo
If he's wrong and it's easy, why can no one do it? Why did Slack overrun IRC?
XMPP left by the wayside by Google and Facebook? Because it isn't easy, and
users will always value the experience over compatibility and principal.

~~~
rqs
One thing I think some people got it wrong: Decentralization is not a feature,
it's a method.

(Most) Users won't care whether or not they are using something decentralized,
they only care what they can achievement with that software/service. Is it
doing better than others on the market?

Back to the topic, about why Slack defeated IRC & XMPP: A product -- whether
or not it's a online service or a hardware -- needs to keep up with the world.
For example: If one day, people started to sharing photos and videos and
voices during their online chat session, and your software can't keep up with
that, then you will likely loose those people soon enough.

Currently, centralized software made upgrading very easy. You have all the
control you need to force users to upgrade to your newer and richer client.
While in the decentralized world, you may need to beg somebody to upgrade
their server to support the newer version of your client (Due to that, you may
not dare to upgrade your product that often).

Also, decentralized software usually hard to develop, while harder to generate
enough revenue to be commercialized or be profitable. When clever people needs
to survive, they will save the trouble and feed themselves (make money) first.

I'm not saying work on something decentralized is a bad idea though, we need
decentralized service in today's very centralized world for sure. But make
sure you can deliver the same level of experience (or be better) of your
centralized competitors, then maybe people will start to use it.

~~~
drablyechoes
> Users won't care whether or not they are using something decentralized

This is a good point, and it is demonstrably the case even among
cryptocurrency users who have a coinbase wallet. Coinbase is not
decentralized, and for a lot of users this is actually a nice feature because
you can transfer BTC balance from one coinbase user to another without
incurring any miner fee or waiting a long time for confirmations.

If most people who wanted to use bitcoin actually cared about
decentralization, coinbase (and other similar services) would have virtually
no users.

~~~
TomMarius
> If most people who wanted to use bitcoin actually cared about
> decentralization, coinbase (and other similar services) would have virtually
> no users.

Or maybe Bitcoin isn't good enough just _yet_ (e.g. Lightning)?

------
Taek
Most decentralized projects are approaching the problem in the wrong way.
Blockchains are a new, early technology, and most of the developers building
blockchains don't understand them very well and aren't using them correctly. I
think the dotcom bubble was much the same way - suddenly everyone had a
website, but almost nobody had a useful website, because people didn't really
understand how a website was best able to serve a business.

Federation over decentralization makes sense in any context where there is
pre-existing trust. Federation is faster, more scalable, more easily upgraded,
if something goes wrong it's easier to pause things and make a surgical change
to the system. But federations are also easier to subvert, and users more or
less end up controlling the maintainers of the system entirely. If you are a
group of international banks, that's not a problem. But if you a single human
being that expects corporations, banks, and governments to more or less always
behave sociopathically, then it doesn't make sense.

Blockchain core infrastructure needs more time. The hype train took off way
too early. I think we're looking at 5 to 10 more years of heavy improvements
to things like the wallets, custody process, governance models, scripting
systems / dapp languages, the cryptography itself, the peer to peer network,
cross-chain exchanges, and other big developer and interoperability features,
and just general education / common sense about what blockchains can and can't
do.

We'll get there. Blockchain technology is absolutely revolutionary, and it's
going to change a lot of things about our global infrastructure. But 2018 or
even 2020 isn't the year that we see blockchains really start to get traction.
There's a lot of groundwork that we still need to put in place.

~~~
sanderjd
It's been a pretty long time since the Bitcoin paper. About the same or longer
than the time between the definition of HTTP and the emergence of the web as a
useful mainstream technology. Why does this seem to be developing more slowly
than the web? Maybe a better analogy is the time it took arpanet to develop
into the modern web? Perhaps analogies like this are not worth looking at?

I'm not sure about any of this, but I feel like lots of people recently have
been making the argument that it's really early, hasn't had time to develop,
etc., when I've been waiting for it to turn into something for a long time now
and becoming increasingly skeptical as the goal posts have continued to move.

~~~
lostctown
I believe this has to do with the level of fuck you money made by early devs
of these systems and the nature of liquidity in crypto. I'm sitting here
working on my non-blockchain product, exhausted after a long weekend of work
and mentally preparing for another week of it. I can assure you if there were
10 million plus in my bank account I would have taken the weekend off and
explored some of my less profitable interests. I would have written code, read
papers, and all of that, just in a more relaxed way. Instead I focused solely
on making the product of my business better. Unlike a tokenized system, I can
only liquidate the value I have created once I have taken it to the finish
line. Myself and my team won't be fat and happy until we get there.

I've had a few people hand wave this explanation, but I've been involved with
Ethereum for about 2 1/2 years and this absolutely happens. Productive work is
rarely the work that makes us happiest in the moment. That's why we must force
founders to hold out for liquidity.

------
cjslep
Decentralized infrastructure with federated transactions describes many
successful technologies such as email.

I think federation is just a design tool meant to solve a specific problem,
much like decentralization, programming language choice, data structures, etc
are more concrete software engineering ones.

~~~
mabbo
Certificate authorities seems to follow the same pattern.

I wonder if we might see a crytocurrency someday follow that same pattern: the
chain is decentralized and public, but the miners are each replaced by
authorities that a user can choose to accept (or not). The downside to this
would be disagreements over who actually owns what. You'd only be able to make
a transaction if both the buyer and seller agree on who owns the currency
being exchanged.

At least then we wouldn't have the insanity of "whoever uses the most
electricity is right".

~~~
woah
There are many chains like this

~~~
mabbo
Really? Do tell, I'm quite interested!

~~~
coconutrandom
Look up [Delegated] Proof of Stake

------
hxchen
I agree with you on that hybrid would be a more sustainable solution.

I want to highlight a technical perspective. That’s the scalability issue of
Blockchain. Fully decentralization cannot afford scalability, just as we
cannot afford referendum on every polical proposal.

In fact, many technical solutions to scale the Blockchain are using the same
principle of your idea of federation.

~~~
dmichulke
> just as we cannot afford referendum on every polical proposal

OT: I think it's about time to end this myth. We have the internetz for a few
decades and voting machines (supposedly to make it all simpler) yet somehow
direct democracy is impossible and we "need" the democracy as done in the 19th
century just because ... well, because no single government is willing to give
power back.

Is it possible to have a referendum on every political proposal? Yes.

Is it done? No.

~~~
dmichulke
Just to be clear:

We don't need a referendum on every issue, we just need a way to

\- change your representative every week or so

\- override your representative's vote within a given time window

------
imbokodo
The US Treasury department says trading in Petro cryptocoins would violate US
sanctions against Venezuela. So Bitfinex will not trade in it.
Coinmarketcap.com lists over 1500 cryptocoins, but not the Petro.

This sort of things shows up the myth of decentralization. Only one cryptocoin
with elements of decentralization has been truly challenged, and has basically
collapsed under US government pressure. It shows "decentralization" only
exists until one powerful country challenges it. Which effectively means all
cryptocoins may as well be directed by the US Federal Reserve. Which means you
might as well buy dollars if that is the case.

While this is all the case, it can not be proved, so can be dismissed. What it
does portend - the complete collapse of Bitcoin at some point - can not be
dismissed though.

~~~
smilesnd
Their is a difference when a hacker/coder creates a cryptocurrency and a
government creates one. I do agree with you the weakness of cryptocurrency now
a days is it relies on exchanges that need approval from banks/governments to
do business. Gone the days when crypto fans would meet in dark alley ways to
exchange cash for coin.

------
paulsutter
Blockchains were designed to prevent double-spending, and not to solve other
problems. Most blockchain enthusiasm is misplaced.

One subjective (but powerful) reason for blockchain implementations, is that
we're all human, and our egos want to avoid making someone else's database The
Big Platform. Or maybe that's our rational sense (looking at GOOG/FB), we
don't want our application controlled by someone else.

This article spells out a few reasons why new categories of securities make
sense to implement on a blockchain:

[https://hackernoon.com/the-security-token-
thesis-4c590476106...](https://hackernoon.com/the-security-token-
thesis-4c5904761063)

> “Do we need a blockchain for this? Couldn’t this be done with a database?”
> The answer is yes, some of it could be done with a centralized database, but
> it begs the question “why hasn’t it already been done?” The answer is that
> the current centralized solutions for electronic value transfer lack
> compatibility — they don’t talk to each other. I can’t send value from
> PayPal to Venmo, or from E*Trade to RealtyShares. These layers aren’t
> interoperable.

~~~
TomK32
We have seen a 51% double spending attack on Bitcoin Gold just a few days ago.
Can we stop claiming that blockchains prevent that?

~~~
paulsutter
The attacks on the smaller blockchains are good news. Blockchains have the
biggest bug bounties in history, and in time we'll all learn what works.

I've never heard anyone claim blockchains are immune to double spending.
There's evolutionary value behind all the experiments. And they're all
experiments, including Bitcoin.

------
woah
The problem with a lot of federated platforms (I’m thinking of diaspora,
secure scuttlebutt, mastodon etc) is that whole they do provide a way for data
to be easily synchronized and replicated, they never answer the question of
who is ultimately going to store the data and why. So you end up with a
“temporary” list of servers for new users to sign up with, which become
centralized in their own right.

~~~
gregknicholson
SSB is distinct from Diaspora and Mastodon in this respect. It's decentralised
rather than federated (pub servers are just peers with a public address).

SSB's answer to this question is: your friends are going to store your data,
because they want to read it themselves. You are going to store your friends'
data, because you want to pass it on to your other friends.

~~~
woah
Actually, I'm mostly basing this on SSB, since it is the only one of these
three I've used seriously, and I've followed its development since when it was
just Dominic Tarr and Paul Frazee in an IRC chat.

The system has gotten a lot more complex since the early days, and although I
no longer know all the internals, it seems that the pub servers are pretty
integral to its operation, and you can't get someone onto the system without
one. I agree that an SSB-like system with pub servers removed and replaced by
STUN/TURN servers which would only facilitate WebRTC would not have this
problem.

Just to be clear, the reason for this is that STUN/TURN servers are so
lightweight and have very little to do with the actual operation of the
system, so they could be put on a list on the main website and supported by
very small donations.

Then again, like you said, one could describe such a system as
"decentralized", not "federated". I also suspect it would have performance
characteristics that many users would not like.

------
bitxbitxbitcoin
I will say it: Decentralization has definitely been overhyped by certain
fringes - that doesn't mean throw the baby out with the bath water, though.

The cry to “decentralize all the things” does include moving things
incrementally from single choke point to multiple choke points to multiple
choke points working together with a byzantium consensus mechanism to a truly
decentralized model without a single point of failure. Many projects are
better suited to a hybrid model at this point in time by virtue of what is
technologically feasible, as well. Example problem people still butt heads
with in "decentralization": nothing at stake for PoS.

Lots of food for thought when tackling this - thanks for raising the important
question in this hype cycle.

~~~
smilesnd
If everything started to use blockchains then we could all be decentralized by
2035.

~~~
bitxbitxbitcoin
What do you feel about this statement/observation: If everyone started to use
hybrids then we could all be in electric cars by 2035.

~~~
smilesnd
Truth just for the fact most people buy a new vehicle every 10 years or so
mattering different things. Plus I hear in certain places they getting rid of
the gasoline so people will be more in a rush to purchase something running
electricity sooner then later.

------
bitCromwell
"As long as we live in a world where fiat currency and nation states dominate
transactional and regulatory environments"

Do you think that world will ever end? What will that look like? Will the
very, very early stages look something like this?

Cryptocurrencies were not developed as a get rich scheme, nor as a tool for
energy efficiency, corporate profits nor so many of the rubrics we use to
judge them today.

The idealists that authored the crypto world imagined replacing the fiats of
current rulers. Considering how rare a thing that is in history their early,
chaotic form of decentralization isn't doing so badly judged on its own
merits.

------
smilesnd
Decentralize does work when state doesn't matter. Look at tor for a example.
When state matters federation is a better match such as emails. The real
problem with executing decentralize/federate is it runs on the backbones of a
centralized design network. IPv6 helps with that problem, but still at the end
of the day dealing with all the complexity, headaches, and unknowns it is more
simple to build a centralize solution then spend the extra time and effort for
a federated/decentralize solution.

~~~
ryanlol
>Look at tor for a example

Is tor not a federation of onion routers?

------
pjc50
I think you're looking in the right direction - governance.

The problems of governance are real. There's a libertarian tendency to just
try to define them away, but this underestimates the extent to which abuse
questions are important and how a few bad actors can overwhelm a distributed
system, requiring considerable dedicated _central_ effort to fight. USENET had
its cancels (
[http://wiki.killfile.org/projects/usenet/faqs/cancel/](http://wiki.killfile.org/projects/usenet/faqs/cancel/)
, mostly sent by a small group of spam fighters), email had to build
centralised DNS blocklists to remain usable.

And as you say, there needs to be a legitimate front organisation to interact
with the regulators. Perhaps more than one, to cope with geographically
distinct regulations. Or offer people an escape from their local systems of
control (until you're blocked at the national level).

To me it seems that the nonprofit/co-operative model is under-explored for
this.

A lot of the old Internet that people look back on fondly relied on what I
call "Postel decentralisation": people think it was decentralised, but in fact
it was managed by hand by John Postel back when he _was_ IANA.

Similarly Linux has "Linus decentralisation": there's an elaborate
decentralised version control system, but nonetheless Linus has effective
final veto in practice. And Etherum has "Vitalik decentralisation": disasters
such as the DAO can be reversed by code changes, because even if the
blockchain is immutable the code required to interpret it isn't.

~~~
moviuro
> Similarly Linux has "Linus decentralisation": there's an elaborate
> decentralised version control system, but nonetheless Linus has effective
> final veto in practice. And Etherum has "Vitalik decentralisation":
> disasters such as the DAO can be reversed by code changes, because even if
> the blockchain is immutable the code required to interpret it isn't.

There is nothing but "sheep mentality" preventing most people from (hard)
forking.

Don't like what Ethereum did with the DAO incident? Don't patch. See
[https://ethereumclassic.github.io/](https://ethereumclassic.github.io/)

Don't like what Linus did (not) merge? Fork the project, and patch it like you
want. See
[https://grsecurity.net/features.php](https://grsecurity.net/features.php)

~~~
abakker
Well, yes, except that unless you get a critical mass of people that agree
with you, you lose all compatibility. Nobody will buy your Ether-fork and
while your Linux fork might work, it’s all yours to maintain from that moment
on. There is value in standardization, even if the standards aren’t perfect.

------
celso
Agreed. Federation makes a lot of sense to me in many cases, especially those
that relate to the enterprise use cases where performance over extreme
theoretical security is much more critical. I think some newer consensus
algorithms are experimenting with similar concepts as well. For instance, with
delegated proof of stake, you can use your funds to elect a federation or a
government (a list of nodes), which in turn will stake their funds and
resources to validate blocks.

------
thisisit
Is decentralization overhyped? Yes. It is more due to people just scratching
the surface of a problem. For example governance is not only about a
democratic process - everyone having a say. It is also about public
perception. If you need an example, a rather obtuse one is the current US
Presidency race. People who hype decentralization go by the book and forget
(or don't have) practical knowledge.

On the federation side, ethereum's oracle contracts are meant to be federated
feeds. For example you can create a stock price publishing contract which
federates feeds from NASDAQ, BATS, NYSE etc. but the end point is a
blockchain. I don't know if that is a good idea.

------
kruhft
Check out Curtis Yarvin's work on this, he problably solved it in an
interesting way with how he's configured the current Urbit node system.

~~~
Presquare
Urbit is interesting for me in how I first couldn't understand its purpose at
all. Since then, I have had several cases of pondering on some difficult
problem, only to find myself thinking, "...isn't this what Urbit is attempting
to be a (partial) solution to?"

------
EGreg
As someone who has _worked exactly with these issues_ for the past 7 years,
let me share what I have learned.

Just a bit of background. My first startup,
[https://qbix.com](https://qbix.com) focused on letting each community host
its own social network, the same way Wordpress powers blogs. Wordpress powers
30% of the Web so it seemed to be a good business model (and it is). Here is a
video explaining that:
[https://www.youtube.com/watch?v=pZ1O_gmPneI](https://www.youtube.com/watch?v=pZ1O_gmPneI)

Last year we started a new company at
[https://intercoin.org](https://intercoin.org) focused on letting each
community manage its own _currency_. We saw that crypto wasn't solving
payments as well as WeChat and all the other centralized social networks, so
we figured we could fix that. Here is a video explaining that:
[https://www.youtube.com/watch?v=HIbAz29L-FA](https://www.youtube.com/watch?v=HIbAz29L-FA)

OK, so what have I learned?

First of all, federated is much easier. You simply have one source of truth
for each stream of data. It's why it's more prevalent. It also creates
"landlords" that you have to trust to host your data, and often their agendas
clash with your own. Two months ago I asked why have "communities" at all:
[https://news.ycombinator.com/item?id=16741913](https://news.ycombinator.com/item?id=16741913)

We are familiar with "landlords" all the time, and their inordinate power
within their ecosystems. Consider Amazon's bookstore, Apple's app store,
Google's search engine, Facebook's social network, and so on. Federating this
would be a very good way of introducing _choice_ , and competition among
landlords. You still have to choose a landlord, but now the market can improve
everyone's experience through competition.

But it turns out that you can do even better than the market, if you build
technology that facilitates _collaboration_ instead of _competition_.
Collaboration has entirely different economics, but ultimately wins in the
end. Think about Wikipedia vs Britannica, Linux vs Windows, WebKit vs old IE,
and so on.

With Collaboration, the infrastructure gets paid for, but not by extracting
rents through closed source software. Instead, you distribute the work across
many different actors and _none_ of them own their own little fiefdom but they
are all intermixed in a grand tapestry. So why would any actor do anything?
One answer is that, if they don't do it, someone else will, so they get a
little bit of control / money in the beginning, which fades with time. That
part is similar to capitalism. But another part is simply because "the main
software is designed to facilitate that mode of collaboration by default".

Also the landlord can be a single point of failure for your data. Consider,
for instance, how we store files. Imagine you have no backups in the cloud,
and all files are stored in your apartment. Now there's a fire. What happened
to all your files? They are gone.

But if your'e going to have backups in the cloud, you want to make sure they
are encrypted, and only you can access them. Even better would be to blur the
distinction between servers run by "the landlord" (even if it's your own
apartment) and "the cloud" and just make protocols that find the best server,
have it be in a consensus group, encrypt everything end-to-end, and allow
reading _and_ writing by multiple parties.

This is _very hard_ to get right. But any such platform would allow people to
build communities _on top of_ a reliable foundation, where only members in the
communities would be able to access information, and they could have
validators who vouch for what actions (e.g. in a game) are valid. Clients that
don't agree with a validator can ignore it, and thus the consensus may
sometimes split (e.g. a hard fork), with each client choosing which validator
to listen to.

This is a strict improvement in terms of resilience and control, removing
arbitrary landlord relations, and capable of reducing back to them as a
special case. It's just harder to implement.

Consider, for example, why we have domains and DNS. I have files, why do I
have to "choose Google Drive" to store my data, and then trust that they will
store it, encrypt it, and so on? Why do we have to choose a domain at all?
There is a technique called Kademlia, invented in 2002, which was used to
power DHTs including BitTorrent and now used in SAFENetwork. SAFENetwork is
probably the ultimate example of a benign "landlord" \- a network which
encrypts and stores your files redundantly, and prevents them being taken
down. (Qbix is moving towards the same thing
([https://qbix.com/blog](https://qbix.com/blog)) except with dynamic data
instead of static files.

[https://maidsafe.net/docs/Safe%20Network%20Primer.pdf](https://maidsafe.net/docs/Safe%20Network%20Primer.pdf)

I would say the future is:

    
    
      End-to-end encryption
      Kademlia (or similar) for routing
      Consensus groups for each data stream
      Churn (backend groups constantly change to prevent collusion)
      Proof of resource (every so often, within groups)
    

On top of this, people can build apps that can spread phone-to-phone, taking
advantage of a dynamic data layer that lets anyone start their own "stream"
and not worry about the arbitrary decision of "which domain hosts it". The
participants get determine the rules of each stream (democracy? dictatorship?)
and the landlord is just someone they give access to as well. A search engine
would just be a guest in many streams.

Do I think Federated systems and market mechanisms are great? Yes. Do I think
Distributed systems acting as totally benign landlords are better? Oh yes!

They are more resilient, too. For a crypto-currency, that is a must, or you
can have this:
[https://www.youtube.com/watch?v=E1d5VvCa8Fo](https://www.youtube.com/watch?v=E1d5VvCa8Fo)
(they who know this movie know what happened there.)

But they are way harder to do. It took us over 1 year at Intercoin just to
come up with the right design. If you want to know more about this topic, you
can read about our design decisions (and economics etc) here:

[https://forum.intercoin.org/](https://forum.intercoin.org/)

Also feel free to email me (greg is the username, intercoin.org is the domain)
if you have more questions or want to discuss this topic, I geek out on it.
Here is a video I made about decentralizing more than just software:

[https://www.youtube.com/watch?v=WzMm7-j7yIY](https://www.youtube.com/watch?v=WzMm7-j7yIY)

~~~
dnomad
I got to say... that looks pretty hopeless. Complementary currencies [0] are
not new and they have limited utility -- especially since the currency takers
still have to pay taxes in fiat.

It's very _easy_ to design systems where a single node captures the majority
of the value in return for doing the majority of the coordination work. This
goes deeper than politics. Look at the design of biological organisms and you
find big brains capturing 20 percent of the energy. Look at the design of
nation states and you find sovereigns capturing 20-30 percent of GDP. Central
coordinators seem to inevitably capture 20-50% of the value. One might even
argue that they "earn" it too. Distributed coordination is costly and in a
world of scarce resources it's silly to entertain additional coordination
costs if you can avoid them. Central coordination has _a lot_ going for it --
in terms of speed, efficiency, economies of scale, and even reliability they
are very hard to beat.

Decentralization isn't hopeless though. There exists a class of problems where
distribution pays off. Problems that can be truly paralellized, indeed ones
that when you examine them you realize they are in fact embarassingly parallel
[1]. For these problems it's _expensive_ to introduce a central coordinator.
Rather than costs being decreased, the central coordinator now _introduces_
costs intothe system. The central coordinator in fact must hire _enforcers_ to
go out and impose its will because there is a natural tendency to parallelize
and devise local solutions.

Here's the tragedy of cryptocurrencies: currencies are _not_ in this class of
"embarassingly parallel" problems. It's just the opposite: currencies
absolutely require a single coordinator with currency power. In the absence of
a single coordinator the currency (which can be anything from gold to stones)
is reduced to a commodity and is subject to mere supply and demand. And demand
can always go to zero. This is what ultimately makes a real currency a real
currency -- there exists an undying and infinite "demand" for the currency
[2].

Playing games with decentralization and federation will not alter these
dynamics. You can solve the double spend problem but you cannot generate
infinite demand.

It's unfortunate because there are problems that the blockchain could solve
that really are "embarrassingly parallel." The hope here is that all of the
innovation going into blockchains will live on long after all the
cryptocurrencies have gone to zero or been centralized behind trusted
gateways. These innovations will be used to solve big problems that aren't
currencies. Big problems like journalism (in fact all content generation a la
Wikipedia, Youtube), transportation (Uber), lodging and logistics (ie Amazon
and Walmart), resource overuse (this includes everything from overfishing to
carbon credits) that are embarassingly parallel and are begging for
blockchain-based solutions. These problems are truly _global_ problems and
it's quite likely no single central coordinator can solve them. The solution
to these problems don't require a new currency and indeed if there's any hope
for adoption the users will need to be able to transact in fiat. But these
problems do require exactly the sort of real-time global coordination and
consensus that blockchains can provide.

[0]
[https://en.wikipedia.org/wiki/Complementary_currency](https://en.wikipedia.org/wiki/Complementary_currency)

[1]
[https://en.wikipedia.org/wiki/Embarrassingly_parallel](https://en.wikipedia.org/wiki/Embarrassingly_parallel)

[2] [http://neweconomicperspectives.org/2011/07/mmp-
blog-8-taxes-...](http://neweconomicperspectives.org/2011/07/mmp-blog-8-taxes-
drive-money.html)

~~~
EGreg
If you're talking about Intercoin, then no, it's extremely far from hopeless.
(Plus, even "hopeless" projects have been heavily funded in the last 2 years
to solve e.g. stablecoins.)

Complementary Currencies aren't new, in fact many of them have been around for
a while. Bristol Pounds [1] and Berkshares [2] are just two examples of many.
And yes you can pay local taxes with them.

In fact, before the Greenback (the paper dollar) was fiat currency, there was
the Free Banking Era [3]. Money was actually federated: banks would keep gold
reserves, and issue banknotes. That's what circulated, not the gold. The gold
and silver _coins_ were fiat currency, and only Congress could mint them.
However, people traded in local community currencies. The Greenback started as
a way to finance the Civil War, and was good for paying tarriffs land taxes of
the Federal government (the only kind of taxes they had). It became so popular
that Congress made it legal tender after the war. That's what you have come to
take for granted and think it's the majority of the money. But it's not.

Today, community currencies exist, but it's not as visible. They are federated
with "landlords" who can confiscate your money, but no longer location-based.
A casino or Disneyland bucks are probably the most visible examples. But
actually, Facebook/GMail/iMessage Payments, PayPal, WeChat, and your local
bank, are all examples of internal currencies. And you can't pay taxes with
them either. Yet we all use them.

The problem is, until now, they've been pretty "dumb" money. Paper currency,
or a centralized bank. Not an open platform. For payments, currently,
centralized wins. WeChat, PayPal, Facebook, Venmo, as well as all the banks.
They know how the money is being spent, you don't. Mint.com was a play for
just the data, that's how valuable it is. What if there was a free and open
source network for communities to have their own currencies? That would lower
the barrier to having your own currency, run your own monetary policy and
generally do all the cool things you can do when you are in control.

You know, it's less than 100 years that anyone can print anything without a
gatekeeper. In most countries, even in the 80s, you could only typewrite some
document on 4 carbon papers, and if you wanted a 5th paper you needed to type
it all again. Then XEROX invented the copier and it spread to other countries.
Then Steve Jobs and Apple led the way in desktop publishing. Then we got the
Internet, and blogs. And then we got cellphones. Now we take it all for
granted.

So in the same way, new technologies allow people who previously needed
gatekeepers (the post office, print shops, etc.) to do it all themselves
(email, blogs). Dangerous stuff for entrenched institutions? Perhaps! Or
perhaps they can adapt with the times.

 _It 's just the opposite: currencies absolutely require a single coordinator
with currency power._

I think this is the source of most of your confusion. No, you just think they
require it because you haven't seen an alternative. At the very least, there
is no reason why two people buying coffee in NYC and in Paris should be on the
same ledger. But even more to the point, look at what SAFE Network is doing,
read the primer I linked to above. It _is_ massively parallel, _and_ it's
secure!

I would respond to the rest, but this message is getting pretty long already.

[1]
[https://www.youtube.com/watch?v=QtGEby4ORGM](https://www.youtube.com/watch?v=QtGEby4ORGM)

[2]
[https://www.youtube.com/watch?v=bzzkDRIjW30](https://www.youtube.com/watch?v=bzzkDRIjW30)

[3]
[https://en.wikipedia.org/wiki/History_of_central_banking_in_...](https://en.wikipedia.org/wiki/History_of_central_banking_in_the_United_States#1837%E2%80%931862:_%22Free_Banking%22_Era)

------
niahmiah
When you need to bridge to any real-world asset

------
rhlala
If governance and concensus between the diferent actors is your thing, take a
look at the Decred cryptocurrency.

------
openfuture
I've thought a lot about this recently so I'll share my 2c

First some semantics; I use decentralization as a term that applies to both
distributed and federated systems. That way the aggregate term
'decentralization' contrasts centralisation properly.

Centralized systems usually work quite well until they reach a certain scale.
At what scale centralized systems start breaking down is an interesting
question that depends on some variables like the underlying information
technology and the cultural assumptions of actors.

Federation is a pretty simple way of solving this problem if you can somehow
figure out when and how to split up the centralized system and an interface
for the various central nodes to communicate.

Distribution is like anarchism, a laudable goal, but each participant must be
capable of independence which may be unrealistically optimistic. Having
hierarchies as actors in a network seems more realistic if we can just figure
out a way to keep those hierarchies bounded.

For example I think the world would be a better place if we had put into place
laws early on in capitalism that would limit how many employees a company
could have to some smallish amount like 25 - 100, that way the emphasis would
have been on the cooperation of small hierarchies ( = individuals in our
current system). Many large companies look like this internally but the teams
are not autonomous to the extent of being allowed to move across company
borders.

A couple of other observations with the max employee idea: nepotism wouldn't
happen (wasting a whole slot in the company on someone useless would breed
resentment) and tribes would form (loyalty to your tribe and learning to work
together would be paramount).

What I'm leading up to here is that ideally the issue of federation vs
distribution would be handled culturally. We could have a network like
maidsafe or some ethereum based idea to reach distribution automagically but I
tend to think something like a activitypub based social network with lots of
different social interfaces (tinder, couchsurfing, instagram, language
exchange, facebook groups for different interests, microblogging - only one
already implemented, second hand shopping/selling and others) then you'd
subscribe to a server that'd fit your niche and someone would be able to make
a job out of serving a certain community. Basically letting people decide
where they outsource their server needs to instead of trying to make the jump
to personal servers in one go (a la urbit). Over generations server hosting
would become a family thing probably? It seems natural, we'd essentially be
back to square one where your family is your social bedrock.

I'm just flow-of-consciousnessing here so a massive grain of salt please but
the overarching point is that distribution vs federation is more political
than technical in my opinion.

~~~
gozrik
Not much to add, but wanted to say you've given me a lot to think about —
thanks.

