
Ask HN: Do we need fully decentralized systems? - fastdev
Proponents of cryptocurrencies like Bitcoin and Ethereum argue that we need to have fully decentralized systems. While these systems are operational and decentralized, they have an abysmally low performance. At the moment Bitcoin can only process 3 transactions per second, and Ethereum can only handle 15 transactions per second globally for all applications.<p>At the same time, we already have less decentralized systems like Ripple (for payments) and NEO (for decentralized applications and smart contracts). The performance of these protocols is orders of magnitude higher than the performance of fully decentralized systems. For example, NEO at its current state can process around 10,000 transactions per second.<p>It is hard to speculate if Ethereum and similar systems will ever outperform other blockchains, but it can be reasonable to assume that fully decentralized systems will always have lower performance since they need to provide stronger guarantees. In this case, if less decentralized systems will have higher performance, are there any practical reasons to strive for full decentralization?
======
mychael
"Decentralized systems" != Cryptocurrencies.

Email, BitTorrent, Git are all "decentralized systems" and they have nothing
to do with finance and do not use blockchain tech.

I realize crypto is hot right now, but lets try to have some perspective.

~~~
subway
Arguably, git _is_ a blockchain, albeit one with a very weak (non-existant?)
consensus model.

~~~
lowry
Looking at the name... blockchain or chain of blocks... or a queue in CompSci
speak... is less complex than git. Git is a directed acyclic graph.

~~~
subway
That kind of breaks down if you consider existing chains have forked. See
Ethereum vs Ethereum Classic or Bitcoin vs Bitcoin Cash as examples.

Git, Bitcoin, Ethereum, and Certificate Transparency logs are all examples of
merkle trees (and argubly blockchains).

------
andreasklinger
Decentralized systems allow you to formalize market dynamics. Eg how
selling/providing works. Through this you can create marketplaces to which
everyone can connect to but nobody can leverage their own position to change
the rules.

A (naive [in details] weak) example i regularly use is electricity:

Imagine you own solar roof panels and produce more electricity than you need.
You want to sell it back. But you want to sell it at the highest possible
price to the best payer.

The centralized concept is that you sell it to your main provider and hope
they pay the best price (or that your are able to move cheaply/quickly
enough). Or that you sell it to a intermediary (or price-comparison service)
that hopefully has the lowest rate (or that your are able to move
cheaply/quickly enough).

The decentralized approach to this is to announce the sale on the
network/market and pick the best offer.

~~~
fastdev
Electricity marketplace is a good example and is commonly mentioned as a
killer-app for blockchain technologies. But what technology would you use to
implement this marketplace?

Would you use a public, permissionless blockchain like Ethereum or should we
use a private blockchain? There are private blockchains like JP Morgan Quorum
([https://github.com/jpmorganchase/quorum](https://github.com/jpmorganchase/quorum))
that is based on Ethereum software and allows to have >10K transactions per
second. These private blockchains use different consensus methods that are
much less decentralized than public Ethereum, all participants are known, and
access to the network is restricted.

Would a private blockchain be a better fit in this case? If you would a public
blockchain, could you elaborate why?

~~~
andreasklinger
for anything that aims to be the definitive market for an asset it would try
to make it (as) public (as possible/useful).

the technical details (eg performance) is almost it's own discussion imo -
there are people who are better experienced/educated to answer it fully
qualified.

------
coralreef
Society doesn't really "need" blockchain technologies...

That is, until the government screws up the economy and something like
hyperinflation occurs.

Or some system gets hacked, and information or money gets leaked/lost.

The appeal in Bitcoin/crypto isn't capacity or speed, its security (from the
state, from bad actors, etc.) That has a very high-value proposition and is
worth investing in. In time, I think scaling solutions will make crypto much
more practical.

~~~
fastdev
> Or some system gets hacked, and information or money gets leaked/lost.

I am not sure how blockchain/decentralized technologies allow protecting from
hacks or money loss. They seem to be as susceptible to hacks as non-
decentralized systems (e.g. the DAO) and lots of crypto money was lost in many
different ways.

> its security (from the state, from bad actors, etc.)

This is right. Decentralized systems should give more security, but what about
a cryptocurrency like NEO? It is significantly faster, but many criticize it
because it is somewhat centralized (selected nodes voting for transactions
instead of mining). Does it provide less security than Ethereum? If yes, in
what cases is this difference critical?

> I think scaling solutions will make crypto much more practical.

This is true as well. But it seems that no-so-decentralized crypto (NEO,
Ripple) can give practical benefits and provide higher performance. If
Ethereum can scale, cryptocurrencies like NEO can scale as well. Are there any
practical cases when using these solutions would be not enough, and developers
would have to resort to a potentially slower but fully decentralized network?

~~~
ploxiln
The security situation is inverted.

For a typical bank account, the security is up to the Bank and the Government,
and there's nothing you can do about it.

For a crypto-currency wallet, the security is up to you.

Some people are dismayed that the common person is enabled to fuck it up -
gamble, invest in ponzi schemes, leave control of their wallet to a sketchy
third-party. Some people are very excited that they're finally able to take
control of their own accounts and make their own security guarantees, and not
worry about identity theft, paypal policies, FBI or IRS freezing accounts due
to a bureaucratic mix-up, etc.

~~~
zaarn
In a cryptocurrency wallet the security is up to you and the developers of the
wallet and the developers of the blockchain.

If you run some chain like IOTA then chances are you get hacked despite doing
the best security possible under the circumstances because the underlying
chain sucks.

------
anfilt
Dencentralized does not equate to block chains or crypto currency...

I would agree current and popular crypto currencies are not that efficient.

However, look at bit-torrent and it can exceed what centralized hosting can
provide.

Email is decentralized, heck even http is decentralized.

Dencetralization is quite common. Even the US government is dencetralized to a
degree. You have state, county and city governments. Its just a property that
things may have.

~~~
fastdev
> Email is decentralized, heck even http is decentralized.

I'll quote my answer to the similar from this thread: "Blockchain-based
systems allow storing a shared, verifiable state. Anybody has a chance
(depending on mining resources) to make a decision regarding the next state
change in the system by mining the next block, but this block will be rejected
if the state change is invalid (e.g., in case of Bitcoin a transaction spends
non-existing funds)."

I think that HTTP is not a good example. While no one controls all HTTP
endpoint, organizations that use HTTP are centralized. E.g., when you want to
book a taxi using Uber, the company that provides a service store all the
data, facilitates transactions, and the state of the system. This is different
from decentralized apps on Ethereum network where a state change can be
performed by any mining node.

The question here is: do we need to have an "Uber on a blockchain" and if we
need it, do we need it to be on a public fully decentralized blockchain?

> However, look at bit-torrent and it can exceed what centralized hosting can
> provide.

Agree, but I don't know any commercial organization that is using bit-torrent
to serve files. Most companies use S3-like services and to my knowledge bit-
torrent is only used to share content by non-profit organizations (e.g., Linux
distro on a bit-torrent) or pirates.

------
chubot
I'm predisposed toward decentralization and personal control, but I have to
admit centralization has benefits. It depends on the situation / market.

A concrete example is AirBNB vs. craigslist for apartment bookings. I'm going
on a trip to the east coast for a few months (from SF).

Now craigslist has existed for a long time, and in theory I could book an
apartment I found on craigslist for a month. Indeed, I looked on craigslist.

But I've been advised not to do that, for reasons of trust. But I'm
comfortable doing it with AirBNB, since I've used them before and had more or
less good experiences. They do provide some service in case things go south
(last minute cancellations, etc.)

(And the AirBNB I booked is a legal one where the person owns the place, since
I don't want to risk being kicked out during my trip.)

Craigslist is more decentralized than AirBNB -- anybody can post a listing and
anyone can contact you and try to book your apartment. But the
decentralization doesn't mean it's a better system.

I think it boils down to the details of a particular market, and decentralized
vs. centralized is not always a helpful way to think about it.

With regard to currency, I imagine BitCoin is better than the currencies of
some governments. I don't think it's better than US currency, by a long shot.
US currency has flaws, but I don't see that BitCoin actually addresses them.
It's morphed into something else. Maybe a different system could address those
problems.

~~~
fastdev
Great example!

> With regard to currency, I imagine BitCoin is better than the currencies of
> some governments. I don't think it's better than US currency, by a long
> shot. US currency has flaws, but I don't see that BitCoin actually addresses
> them

Out of curiosity why do you think Bitcoin won't replace USD? What flaws should
a new system address?

~~~
sliken
Bitcoin isn't fast enough for a large city, let alone the planet.

------
arca_vorago
Yes and No. Look, I think that decentralization has a lot to offer and has
many applications where it makes sense, but lately I've heard a bit too much
_decentralization-for-decentralizations-sake_ talk going on. The internet
still goes through backbone nodes (which are the important interconnects of
ISP's deep in datacenters). We are still transversing a physical medium
limited by the laws of physics. That said, this is why meshnets for example
are a great proper project for decentralization to overcome that sort of
physical layout root issue (taking it to p2p radio comms of some sort).

Everybody talks about the cloud likes it's a new magic. It's fucking not. It's
just servers in datacenters like it always was, but with nicer interfaces for
remote customers. Except the cloud providers lock you in, by design. The ISP
connects the servers of the cloud providers in datacenters to the public
internet, but those servers reside in datacenters.

Servers which run in prime conditions, with good hardware, and have the proper
infrastructure and people to support them and give them uptimes in the four
9's depending on datacenter tier. Decentralization might be able to approach
this though due to the strength of it's topology.

Another issue is privacy. The ISP and the state level actors have your data
and you know it... and are entities you at least theoretically have legal
options for recourse against. Everyone knows your IP when you start running
p2p decentralized platforms. That's why for example you should not be running
a tor exit node from your home network. In this day of easy data on people,
your IP is a hop skip and a jump away from you being doxed. Or ddossed, or
various other things.

I could go on, but the point is decentralization has a place. Use the right
tool for the right job, and stop trying to make a multi-tool that does
everything cause it always fucks something up.

------
wellboy
That's why Bitcoin has just implemented the Lightning Network and Ethereum is
implementing Sharding and Plasma. Lightning is projected to be able to
maintain 50,000 TPS in practice and billions of TPS in theory.

Furthermore, PoS systems such as Nano and IOTA aren't really more centralized
than PoW systems such as Bitcoin and Ethereum, since only 6 entities possess
more than 51% of the hashing power in Bitcoin. That's definitely more
centralized than Nano or IOTA.

That's also the reason why Ethereum is moving to a PoS/PoW hybrid.

In a nutshell, near instant transactions with very high scalability and a very
high degree of decentralization are already here(Bitcoin, Nano, IOTA).
However, these technologies have not yet proven themselves and need to show
their resilience against black swan events and hacks of all kinds.

We will see the results within the next year.

------
EGreg
Take it from someone who has been studying distributed systems while
architecting his own for a year —
[https://intercoin.org](https://intercoin.org)

You can have both.

The SAFE network uses Kademlia to select a group of computers based on a
content address. It achieves security by not allowing computers to set their
own IDs in the system but having them be kicked around sections from time to
time.

The XRP consensus algorithm is essentially what you would want when
implementing crypto currency. It is also pretty good for storing files.

The trick to scalability is always one thing: horizontal partitioning, also
known as sharding.

As long as you can partition your data, you can scale up the wazoo.

The tough part with crypto-currencies is verifying the history because coins
can mix, whether it’s UTXOs or account based systems. So the coin you hold may
be the product of transactions among millions of other coins.

So I think the only way to really do sharding is to emulate how cash has $100,
$20, $10 etc. in other words have tokens that never get subdivided but only
exchanged in an operation to “get change”.

Instead of subdividing tokens, you first check with a given address whether it
has enough change, borrow the change, do the transaction, and then the
recipient will send the change back to that address and get back a larger
denomination.

All this happens behind the scenes but reduces the growth of UTXOs which is a
huge problem for Bitcoin and others.

What I talked about here is a FULLY distributed system, that is nevertheless
super fast.

------
jchrisa
Bitcoin / Blockchain are not distributed in one important regard. A truly
distributed currency would allow one to transact while offline, and allow
merging subgraphs of transactions, etc etc. Bitcoin chooses consistency over
availability. Real world commodities can always be transacted, regardless of
network connection.

~~~
return1
i think nano/raiblocks currency can do that. and there may be others too

however what you are asking is not a requirement - all online transactions
will wait for an internet connection before actions can be taken, and this is
true even today for physical goods - the paperwork must match before products
can be moved.

~~~
saryant
Things have changed in recent years, but for _decades_ retailers have sold
goods without knowing if payment would clear—they accepted checks.

~~~
return1
that is not a responsibility of the currency however. you can build a trust
system on top of the 'transactions layer'

------
paraschopra
Decentralisation is oversold. I have a couple of arguments against it: a) the
more users who compete in decentralisation, the more commodity like returns
they will get for their time and resources; b) there is a real cost of making
decisions, so decision fatigue is a real thing and you can’t expect all users
to be completely engaged in decision making that’s expected for
decentralisation projects; c) the history of how platforms like YouTube
evolved shows us that there is tendency to move from individual users having
meaningful contributions to groups dedicated to those platforms outcompeting
users in their contributions.

I blogged about it last month [https://invertedpassion.com/decentralization-
continuum/](https://invertedpassion.com/decentralization-continuum/)

------
CryptoPunk
NEO can't do 10,000 tps. The entire network has gone offline, multiple times,
when handling a single token sale:

[http://storeofvalueblog.com/posts/a-definitive-guide-to-
neo/](http://storeofvalueblog.com/posts/a-definitive-guide-to-neo/)

It's easy to benchmark massive tps rates on a closed testnet, as in this case
of removing all safeguards from an Ethereum private network to get it to 1.5
million tps:

[https://medium.com/@suchi.blackwing/cryptocurrency-
scaling-e...](https://medium.com/@suchi.blackwing/cryptocurrency-scaling-
ethereum-to-1-5-million-tps-cd10f5e3f7cc)

~~~
fastdev
> NEO can't do 10,000 tps.

It seems that the article is just referring to the same 10K transactions per
second number mentioned in the NEO documentation.

>> The entire network has gone offline, multiple times, when handling a single
token sale

Is this a bug in the protocol or is it a fundamental issue with the approach?

~~~
CryptoPunk
>>Is this a bug in the protocol or is it a fundamental issue with the
approach?

A bug in the protocol.

------
CryoLogic
I've read dozens if not hundreds of threads (on HN) about the benefits of
decentralization. Can some of you give me the run down on the benefits of
centralization?

I think that discussion needs to happen as well for both discussions to be
valid.

~~~
gitgud
To me it's obvious that centralisation benefits from having a simpler master-
slave architecture. This makes centralised systems easier to control, update,
etc. As only one part of the system controls the rest.

Conversely, decentralised systems have no master, so decisions are relatively
harder to make in the system.

However, in reality centralisation is harder to scale, due to the bottle necks
on the central parts of the system. Decentralisation can be theoretical easier
to scale, as bottlenecks don't occur as easily.

~~~
fastdev
> However, in reality centralisation is harder to scale, due to the bottle
> necks on the central parts of the system. Decentralisation can be
> theoretical easier to scale, as bottlenecks don't occur as easily.

There is a difference between "distributed" and "decentralized". Uber,
Amazon.com, Booking.com are distributed applications that can process a
tremendous amount of transactions per second. At the same time, Amazon.com is
owned by a single organization that controls data, hardware and makes all the
decisions.

On the other hand, Bitcoin/Ethereum are decentralized: there is no single
actor that is performing all state changes.

------
arisAlexis
NEO will be fully decentralised at some point according to roadmap with voting
for node operators. It will still be faster by design and its somewhat current
centralised state is not the reason of its speed.

~~~
CryptoPunk
NEO will not be fully decentralized. First of all, it is transitioning to
Delegated Proof of Stake, which by design relies on a set of trusted third
parties to establish consensus. For reference, the entire purpose of the
original Bitcoin blockchain design was to obviate the need to rely on trusted
third parties.

Second, its implementation of DPOS will have a centralized gatekeeper which
approves who can run for the position of delegate, after verifying their
identity and that they are a legal entity.

~~~
arisAlexis
yes it has gatekeepers. All POS systems have them but true Delegated is more
controlled but since NEO holders can vote no single person/entity can take the
sysyem downor alter transactions which is the whole idea

------
return1
Torrents were fast - they still are if you can use something like popcorn
time.

What about upload speeds? They are universally awful - that's an impediment to
decentralization and something that should change.

~~~
megaman22
The erosion of the torrent ecosystem over the past decade is a little sad.
Although it's mostly because the legitimate services have been slowly taking
the pants off their heads and making it more convenient to actually pay them
for their content.

~~~
return1
i think it's because isps etc became way more aggressive on piracy. still the
system is there, waiting for something like a youtube failure to pick up the
speed.

------
paulsutter
We’re just learning how to build decentralized systems. It’s a difficult
challenge and most of the current attempts will fail, but some will succeed.

Meanwhile centralized systems can solve many practical problems. The two
approaches are not in opposition to each other. Are you trying to solve a
practical problem today, or are you trying to build a very challenging zero-
trust system of tomorrow?

------
Geee
I don't think there's middle ground. Either there's someone in control or
there isn't. If you want to trust the system it must be fully decentralized by
design. You can't trust people in the long run.

------
dustingetz
it’s possible to be both. society is structured in layers, some centralized
some not. same with the human body.

