Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Do we need fully decentralized systems?
71 points by fastdev on April 15, 2018 | hide | past | favorite | 87 comments
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.

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.

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?




"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.


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


Git's consensus model is not weak or non-existant it's just not like Bitcoins.

Rather, in Git's version a single person or group decides what the truth is and everyone follows that (or forks). It's human/social consensus. It can be as strong or stronger than bitcoin since any issues or conflicts are resolved to satisfaction in meatspace.

Bitcoin Core and Bitcoin Cash are two forks of Bitcoin and nobody seems to be able to decide which is the proper one, people argue back and forth.

Meanwhile in the repositories of both chains, people happily submit changes and commit them under the watch of the lead developers who control and check what goes in, rejecting harmful or bad merge requests, etc.


There is kind of a consensus model: the fork with the most good work on it is the real one.

If you come across a forest of different forks of Ruby On Rails, you can identify the project's main master by looking for the longest sequence of commits by known project participants...


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.


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).


This has been driving me up the wall for the last few months.

I'm building a P2P project and everyone keeps asking me when I'm going to integrate blockchain into it. To what end?!

Blockchain is a way of solving the double-spend problem with distributed consensus. That's all. It's not even necessarily the best way to do that. But because someone built a Ponzi scheme on top of it, it's entered the public consciousness and now anything without a server is a ~blockchain~ app.


Regarding the OP. Distributed systems can have much, much higher performance than centralized ones. BitTorrent is a good example: on a torrent with thousands of peers, it will literally eat up as much upstream and downstream bandwidth as you throw at it. If you had a big enough torrent it could take on a botnet for lunch.

More computers. More processing power. More bandwidth and storage. You just need to organize it effectively.

The reason Bitcoin and such are so slow is not because they're distributed systems. It's because transactions are propagated throughout the network in a flood fill, and there's a proof of work for each one. Bitcoin is inherently slow because of its design.

It's a first-generation product. There are serious academic efforts to build blockchains that can rival credit card processors in performance: https://www.businessinsider.com.au/australian-scientist-have...

There are a lot of problems with these efforts, but there's the possibility they'll work them out.

I don't think blockchain is revolutionary or fundamentally new technology. But it's launching distributed systems into the public space and that can only be a good thing.


True, Decentralized systems != Cryptocurrencies, but email, BitTorrent, and Git are different from what Bitcoin, Ethereum, and other blockchain system provide.

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).

This is very different comparing to existing technologies that usually store state in a centralized place that is owned by a single company.

A benefit of full decentralization that is commonly mentioned is that this system is hard or even impossible to censor since even if a nation-state decides to stop transactions from a single actor, mining nodes in other countries will process these transactions fine.

Another benefit is that since all state changes are verified by every other node, it is impossible to perform invalid transaction changes. For example, a bank can reduce everyone's accounts by 5%, but Bitcoin network won't do this.

My questions are: how important these benefits are for practical purposes (mind that we are talking about public, permissionless blockchains here), and can we go away with faster but less centralized systems like NEO?


You are mixing things up. While it's true that Cryptocurrencies try to solve a different problem than BitTorrent, Git and Email neither of those applications rely on a single centralized server owned by a single company.

As for your question regarding practical purposes I think that a blockchain run by multiple banks or states can provide the same benefit for people as a fully decentralized system. I get that this is where censorship and control comes in but do you really want to live in a world where value can be moved around arbitrarily without regulation?

Also, while the blockchain itself is run decentralized the development is still somewhat centralized and most folks do not have the understanding or interest to investigate changes being made to the source that powers such blockchains.


> You are mixing things up. While it's true that Cryptocurrencies try to solve a different problem than BitTorrent, Git and Email neither of those applications rely on a single centralized server owned by a single company.

I don't thing we disagree here. I am just pointing out that blockchain/Bitcoin/Ethereum is different because it allows to main a shared, verifiable state, something that BitTorrent, Git and Email do not provide. An ability to have this shared state is the main selling point of blockhain based systems.


I would argue that git at its core solves the problem of handling a shared verifiable state. The history of a git repository is build on the same hashing principles as a blockchain to ensure that history cannot be changed. The main difference to a blockchain is that in order to change the state you have to convince other humans that your change is valid.

In my understanding the main selling point of blockchains is to outsource the accepting of state changes to a consensus protocol which does not involve human interaction/interference. And just as git a blockchain still works if only one or few actors are involved.


> In my understanding the main selling point of blockchains is to outsource the accepting of state changes to a consensus protocol which does not involve human interaction/interference. And just as git a blockchain still works if only one or few actors are involved.

Agree. git works for vaguely defined rules like "is this README readable, up to date, and useful" where human input is necessary.

Blockchains can be used to enforce clearly defined rules like rules of a smart contract or rules of spending virtual money.

So roughly speaking: git = blockchain - distributed_consensus + fork_merges


>This is very different comparing to existing technologies that usually store state in a centralized place that is owned by a single company.

That wouldn't be the case for Git though. With git every repository is authoritative. Github is merely were most people put their repos to be discovered and use it as a central source of truth (which is totally fine for what most people do)

You can also use a USB stick (did that in Uni when wifi was failing, it's quite fun)

You also don't need full decentralization as Mastodon shows. You only need enough that it becomes hard to single out a user and block only them or a group of users. In the fediverse there is basically no universally blocked instance, every instance federate with atleast some others.


Git is somewhat similar to blockchains, but the similarity is very loose. Bitcoin has a shared state and enforces strict rules of how it can updated. For example I can't spend non-existing funds in Bitcoin. Also all state transitions are checked by all full nodes in Bitcoin.

This is different to Git that allows to perform any changes to text files without imposing any restrictions or checks on what changes can be performed. The ability to have a shared, verifiable state that can only be changed according to predefined rules, can be checked by anyone, and, theoretically, cannot be censored is the main selling point of public blockchain based systems like Bitcoin and Ethereum.

The main question is how much of that do we really need in practice to solve actual, real-world problems.


Well, git has a lot of that too, atleast internally. Objects need to conform to git's internal format, otherwise the remote will reject it, similar to how Bitcoin only allows transactions if signed. (Git can sign too and with a hook it's enforceable)

The rest is fairly easy since you can enforce restriction with hooks that can do arbitrary edits and checks on the repository.

I imagine you can make git behave exactly like bitcoin with only a few simply hooks.

The main selling point of bitcoin is really only the "cannot be censored" part and that is a bit meh, tbh. The moment you need to use real cash to obtain it, the government can come, kick down your door and threaten you. Such things have happened in ISIS-controlled regions when people tried to buy bitcoin or otherwise get cash out of country.


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.


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) 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?


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.


With regard to stuff such as decentralisation of electricity I find it an interesting topic to try and formalise a method of determining how to support all the necessary infrastructure.

For example, a flat tax on transactions would likely not work well. Alternatively could you base the tax on the regions or even the specific routes taken to transmit the power.

With that, if you were basing fees on the routing, obviously rural and long distance routing would be penalised. How does one compensate for that and guarantee that low value infrastructure(rural) is properly maintained? Additionally, how would such a system address determining new infrastructure additions?


this might be a too complex topic to discuss properly here

imo you address two things here very well

- who pays for infrastructure

- how do you do governance

imo the second one could be solved if you decided how you want to do the first one.


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

It seems that we already have similar marketplaces implemented in a centralized fashion, e.g., Nasdaq. It allows to perform price discovery and does not force you to see to a specific party.

Do we really need to build a decentralized marketplace?


Centralized marketplaces / price comparison services / middle men etc exist and do a good job

But very often they can't do the optimal prices or all the inventory - eg stock not listed on nasdaq - so it comes down to "are you able to move quickly/cheaply" (and/or is the inventory able to move quickly/cheaply)


> But very often they can't do the optimal prices

Are there any reasons why a centralized marketplace are worth in price discovery?

> eg stock not listed on nasdaq

I guess if a stock is not listed on Nasdaq it either listed somewhere else or there are some (probably reasonable) legal restrictions that prevent it from being listed.


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.


> 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?


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.


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.


RE: decentralized network security

The 51% attack, or control over the network by a state or group of actors, basically destroys the integrity of the blockchain, as this group can now decide to move money from any account, restrict transactions, etc.

The more likely a 51% attack can occur (via centralized systems) then the less secure we can call that network.


> as this group can now decide to move money from any account

That's not accurate. They can double-spend, which can have equally bad effects, but without a way to forge transaction signatures (which is only possible with a broken cryptohash function), they can't just drain accounts.


> They seem to be as susceptible to hacks as non-decentralized systems

Actually far more so.

Banks can afford to spend whatever it takes to secure their infrastructure. Open source projects can't. Likewise banks and other financial services are subject to (at least in most countries) stringent regulations. Open source projects aren't.

And in countries in Australia we have consumer protections which protect the consumer in the event of fraud, theft or security beach (irrespective of who is at fault). Unlike say Bitcoin where we have seen staggering amounts of money, "go missing".


Banks can afford to spend whatever it takes to secure their infrastructure. Open source projects can't.

Isn't that a benefit of the blockchain? Since its inception in 2008, Bitcoin's database has never been hacked. They don't need to spend money on security, because mathematics is the security. The chain's integrity is powered by decentralized nodes and proof of work. At scale, while Proof of Work is increasing in cost, it is still probably cheaper and more secure than the aggregate cost of securing money at banks, servers, overhead, etc. And there are opportunities to make it cheaper through concepts like Proof of Stake.


It was hacked atleast once and the hacker assigned themselves a couple million coins.

Last time I worked out the numbers, Proof of Work runs about the same cost as the average US state's bureaucracy. All of it. And the US state's paperwar machinery does a lot more than bitcoin.

Centralized systems have much better options at running efficiently, decentralization is necessarily inefficient.

>They don't need to spend money on security, because mathematics is the security

Everyone working on quantum computers disagrees. The security of current wallets hinges on QC not existing since the ciphers aren't QC-secure.

And until we find something that is provably NP-complete in QC and normal computers while also being easy to use for cryptography, there will always be the hovering Damocles Blade of "your crypto has been cracked".


It seems like Bitcoin network has never been hacked, but distributed applications were hacked with spectacular monetary losses, for example, "The DAO": https://www.coindesk.com/understanding-dao-hack-journalists/

Blockchain technology has different attack vectors like:

* Bugs in smart contracts/DApps

* Bugs in a client software

* Incorrect handling of private keys by users/admins

All these vulnerabilities were exploited numerous times.


You are comparing apples to oranges.

Plenty (all?) bitcoin exchanges have been hacked and their coins never recovered. You do not need to 'hack' the blockchain to steal bitcoins.


A bitcoin exchange is not a decentralized system. It is a centralized one.

We are discussing the security of decentralized systems, aka the blockchain.


If only such decentralized systems could exist in vacuum!

The thing about security is that you just need to exploit one weak link in the chain.


Isn't that the exciting thing about Bitcoin/blockchain? In the future, it is theoretically possible to live life and to conduct all commerce through cryptocurrencies.

The thing about security is that you just need to exploit one weak link in the chain.

Again, we're talking about decentralized systems as a whole. Individuals can be targetted/phished/scammed in any system. What is the weak systematic link in Bitcoin that can be exploited?


Hacking a crypto exchange is not the only way to steal coins. Decentralized applications/smart contracts on a blockchain can be attacked as well.


Do we know for sure Bitcoin's blockchain has never been hacked? How do we know that some mysterious organization doesn't own a majority of nodes? (honest question)


I suppose we don't. But if word ever got out that it could be under attack, the value of BTC would crash, and an emergency hard fork would occur. It would take a large investment to try and control/manipulate the hash power to do that, and so to throw away all that money to kill a blockchain that can be simply forked with a new hashing algorithm seems low probability?


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

Blockchain is worse for theft because someone can't arbitrarily pull money from a bad account and put it back. The amount of security you also need to take on to protect your private key is a vast increase from what you need to currently do for banks.


Well, depends on the context of "theft". A government could freeze your bank account and seize your assets quite easily, with no recourse. They can't do that with crypto.

But yeah, the immutability of the blockchain has its tradeoffs.


Sure but most people aren't getting their assets seized. And in that situation even if you had your assets in Bitcoins the government can still seize them if you've kept a record or wallet somewhere.

Likewise if you're a person who is in the business of getting your assets seized then money is probably the least of your worries i.e. you're quite likely to be facing jail time.


PayPal is one of the few centralized ways to receive money over the internet, and the web overflows with stories of people who have had large sums frozen for a very long time.


Most people aren't getting their assets seized, that is until a national crisis occurs, ex. Greece:

https://www.youtube.com/watch?v=9gW2UnmVuwI


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.


> 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.


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.


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?


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


trust can be done in a decentralized fashion...see OpenBazzar.


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.


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.


Take it from someone who has been studying distributed systems while architecting his own for a year — 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.


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.


AFAIK, you can make offline transactions with parties you trust to not double spend, but it seems impossible by definition to have a distributed digital currency that can prevent offline double spends.


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.


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


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


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/


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/

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...


> 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?


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

A bug in the protocol.


Ethereum was a target of DDoS attacks few years ago and the community has made several updates to improve the protocol since.


Ethereum never went offline. The NEO network actually went offline.


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.


I'm pro-decentralization for a lot of things, but one big benefit of centralization is speed. It's a lot easier for one "node" to change something than a whole system.

A real-world analog would be like a dictatorship vs a democracy. The dictatorship can make faster decisions but the democracy often makes better decisions.


I think one of the reasons decentralisation makes better decisions, is that every node has equal say in the decision.

Whereas a centralised system may not ignore a lot of the nodes when making a decision.


Isn't this also its biggest drawback? If every node has equal say we need to have additional complicated logic to ensure consensus, while in a centralized system we do not need to this, since a centralized system is a source of truth and the only writer?

The same logic applies to less decentralized systems like NEO that have a predefined set of voting nodes. Less nodes, means that we need less effort to achieve consensus, hence higher performance.

So the question is: in what use cases truly decentralized systems cannot be replaced with not so decentralized systems?


Precisely, centralization provides a simple architecture for the system.

However, since all the power is concentrated to one "source of truth", it can lead to unfair decisions for the rest of the network.

Decentralized systems are ideal went you want to ensure there's fair decisions for the whole network. It's much more complicated to build, but worth it in some cases eg; crypto currencies, governments etc.

Also it's not strictly a black and white categorization, systems can have levels of decentralization; eg: the internet


> Can some of you give me the run down on the benefits of centralization?

At the moment the benefits are pretty clear. Centralized systems like YouTube, Google, Airbnb, Uber, Spotify, Amazon.com, and many others simply work. They scale fantastically, have low latency, provide good service and satisfy actual customers needs. Yes, they are not perfect, but nothing in the world is perfect.

I think it is not a crazy assumption that a centralized system will always have a higher performance than a decentralized one. It also may be a fair assumption that developing a centralized application is easier than a decentralized one.

On the other hand, fully decentralized applications do not work at the moment. I don't know a single decentralized work that can work on anything close to Amazon or Airbnb scale. While blockchain implementations can theoretically scale, do we need to stampede to have all our apps decentralized? If Booking.com works in a centralized fashion will a decentralized version be significantly better from a customer's perspective? Will decentralized system address some actual significant pain points?

Also, we have somewhat decentralized systems like Ripple and NEO that at least theoretically should give both the benefits of decentralization and high performance. Why are these systems not sufficient for practical purposes?


- Speed, Visa can (and does) process more TPS than any decentralized system - Simplicity, centralized system are simple to manage and well understood - Cheaper, owning a centralized db is a lot cheaper than paying gas/fees on decentralized platforms. - More human, forget your password? made an error? it's reversible. - Reputation, centralized systems have built up reputation for being trustworthy and reliable for consumers (ex. the fed), the scandals that plague ICOs/exchanges and volatility are obviously bad.

There's plenty of theoretical arguments to be made against the above points, but in practice today, I think they're valid.


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.


> 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.


No, Bitcoin is having a hell of a time trying to scale it even split into 2 coins.

Under decentralized system they have to have quite a duplication of data even each nodes are much weaker than the one in a centralized system, they can't simply say, double the disk and be done with it.


I think for any system with user generated content, abusive usage will be an enormous (possibly intractable) problem for completely decentralized systems. It is an enormous problem for centralized systems as well, but it is a bit more tractable because there is a controlling entity that can set and enforce policies. Advocates of decentralization largely seem to see this as a feature rather than a bug. I think that's short-sighted.


Efficiency.


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.


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.


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


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.


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.


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.


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?


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.


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




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: