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