Author Topic: Decentralization is a Means, not an End  (Read 3667 times)

0 Members and 1 Guest are viewing this topic.

Offline luckybit

  • Hero Member
  • *****
  • Posts: 2921
    • View Profile
  • BitShares: Luckybit
This does not take account of costs, which fall into two categories: decision-making costs and outcome costs.

Just as total centralization can result in very low decision-making costs and very high outcome costs, so can a requirement for unanimity result in very high decision-making costs and very low outcome costs. With pure centralization, a tyrant can render decisions at will, regardless of how the new rules affect everyone else. With pure unanimity, no one has to worry about a new rule being passed that one might not like, but only those rule changes that everyone can agree on would pass and holdouts could seek advantages by threatening to be uncooperative.

This is true but the way around this is to have many different chains. If the bottom layer is distributed in such a way that if I don't like the rule change in one chain then there are other chains with slightly different rules. You could say that each chain is the source of centralization so you don't really need a hierarchy other than to have a hierarchy of chains.

If we are talking about something like Bittorrent then each Bittorrent client could have people voting on changes to that specific client but the basis of the protocol itself would still be to be distributed. If you vote on different features and there are hundreds of clients there is a good chance you'll find a client you like. The same could be said about Linux distributions which don't necessarily have to be monolithic and centralizing, but you can have different flavors.

I recognize your point, I do think we need to discuss this more and we need to bring in an expert on this subject before any decision is made. This is not a decision without lasting consequences to the design, so I'm not going to be so quick to agree with this stance.

Pure decentralization is similar to a unanimity rule, in that every participant must be polled on every decision. The degree to which a system fails to be purely unanimous is the degree to which that system is centralized.

Even Bitcoin does not have that. The vast majority of the holders of bitcoins have no say in which version of the blockchain is the correct one. That power is held by relatively few mining pools, and bitcoiners fret approximately twice each year that this or that pool might control 51% of the hashing power and hijack the system.
I agree that it's not like that yet but it doesn't mean it could never or should never attempt to be like that. For example winamp used to collect statistics based on how people configured their interface while using it and passed it to the developers. This information allowed developers to determine how people like to use winamp and what interface was most common.

The users didn't have to take a poll because statistics were collected anonymously and passed to the development team. This resulted in gradual improvements to winamp without the need for consciously polling people. It was subconscious polling.

A purely decentralized blockchain management system would require that all of the wallets that hold bitcoins have access to the network at all times and participate in the confirmation of all transactions, and that an attacker must control 100% of the hashing power, in order to hijack the system. Such a system would grind to a halt.
I agree and I'm not promoting for increased decentralization in that area. I'm promoting it in the areas which wont grind the system to a halt. The chokepoint of Bitshares is that there will be centralization of the access points.

How do people get the Bitshares? You have to buy them? That is going to be centralized and will become a chokepoint. That is why I promoted mining, bounties, and any other way we could give to allow people to access the network because without Bitshares being widely distributed you won't have many users in the first place.

The good thing about Bitshares is there will be many different chains so what that means is you can have some chains which are more decentralized than others. I think it's too soon to say however that we should think of decentralization as the last resort because I still think for information services decentralization should be the first resort. If we can have some information scientists speak at the upcoming conference then perhaps they would have the expertise, maybe someone can help with these sorts of questions.

My approach to a solution and I think it mirrors what someone else said in this thread is that we should seek the opinions of outside experts on this. If they weigh in and they think it's correct then it's correct and backed by the opinion of multiple experts.

The choice between centralization xor decentralization is a red herring. The optimal voting scheme is the one that minimizes the total of both kinds of cost, and generally is some kind of interior solution that defines a quorum as somewhere between one and all.
I'm not saying you're wrong. There does have to be a balance, but this is a delicate balance and it's very hard to get right. This is why the blockchain is such a great invention because at the time no one believed it was possible to do that.

It's not easy to find the right balance. Ripple did not manage to do it.
And yet, we don't. There is no central world government, and if there were there's no guarantee that it would be in control in any but the broadest sense. Throughout most of the world, people go about their days, governed largely by internal senses of fair play rather than 1984-esque surveillance and enforcement. Far from having a watchman on every street corner, a much more common complaint is that you can never find a cop when you need one.
I think this is up for debate. I think views on that will be diverse. So I won't go into the political discussion on what is supposed to be a technical thread. I will just say that while there is no world government on paper, the majority of governments act in a coordinated manner to police, monitor and control their citizens. They don't usually compete against each other unless it's to make weapons or develop better surveillance, the exception is in times of war where they continue to compete to police their citizens while also trying to destabalize each other.
Russians just seized Crimea, while Ukrainians stood impotently by. There is no central authority to stop this sort of thing. Even after US military personnel were involved for more than a decade, Afghanistan and Iraq remain disorderly.

Drugs are widely available in US prisons, which are the epitome of centralization.
The decision making is extremely centralized, the opportunities aren't distributed, that is why so many are in prison, so many are in these dire situations.

As someone above points out tongue-in-cheak, in a finite universe, information is scarce, although on a human scale the quantity of potential information is vast.
Information may be finite if the universe is finite, but we don't seem to have that kind of universe. I'm not a physicist though. So while the amount of atoms in the universe is finite and you can count it, and you might be able to somehow figure out how much information the universe could contain in theory, for people like us with such limited lifespans the scales would be so high that it is practically infinite. So what I should have said is that information is not scarce to us and is practically infinite, as you could store information beyond the life of our species, for potentially millions of years, storage and transmission capability keeps increasing.

Setting aside the finite quantity of energy that makes up the universe, the very abundance of information that makes it seem as if it were infinite makes it very costly to test every scenario and require that every satoshi contribute the same amount of hashing power to the Bitcoin network at all times, in order to ensure that there is absolutely no possible way that any kind of subtle collusion has led to falsified blockchain records.

Decentralization is not cost-free.

I agree that sometimes it is very costly. If we think about it with todays limitations then it might be that the costs prohibit certain design decisions and this is a case you could make in favor of centralization. But this is not the same as saying that as an ideal decentralization is the last resort. I think if we are going for an ideal we should be trying to build intelligent swarms which might not be practical right now due to costs, but if somehow we reach the point where it's cost efficient then if it's an ideal we should do it.

This is just a different philosophical take on it and if other chains care more about the ideal of promoting decentralization then they could test it out. In my opinion we need to experiment to get this right and it might take more than one chain.
« Last Edit: April 01, 2014, 04:17:53 am by luckybit »
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline bitbadger

  • Full Member
  • ***
  • Posts: 95
    • View Profile
So is this a way of saying that you're implementing some sort of previously-undisclosed centralized component to BTS?

Nothing has been kept back and there are no central points of control.

Ok, sorry, I have been away for a couple of days and missed these threads:

https://bitsharestalk.org/index.php?topic=3865.0
https://bitsharestalk.org/index.php?topic=3812.0

These changes will take some time to be digested.  I'm sure that the speed of release will be improved, and probably the implementation security, but still I'm disappointed that the PoS-style mining has been removed completely.
Pei5BrnEUqcCuUdffNZmBPL3rg6duj3vnU

Offline bytemaster

So is this a way of saying that you're implementing some sort of previously-undisclosed centralized component to BTS?

Nothing has been kept back and there are no central points of control.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline bitbadger

  • Full Member
  • ***
  • Posts: 95
    • View Profile
So is this a way of saying that you're implementing some sort of previously-undisclosed centralized component to BTS?
Pei5BrnEUqcCuUdffNZmBPL3rg6duj3vnU

Offline MrJeans

  • Hero Member
  • *****
  • Posts: 599
    • View Profile
  • BitShares: mrjeans
This is a good point of view. I now agree with you that pure decentralization will not always be the optimal solution and trade-offs could aid in creating a better system. However the idea of having a built in need to trust a single entity (or small number of entities) is what makes me queazy.

Offline CWEvans

  • Full Member
  • ***
  • Posts: 183
    • View Profile
1. Centralization should be the last resort, not decentralization. If you can do something decentralized then you should, unless you can't.

This does not take account of costs, which fall into two categories: decision-making costs and outcome costs.

Just as total centralization can result in very low decision-making costs and very high outcome costs, so can a requirement for unanimity result in very high decision-making costs and very low outcome costs. With pure centralization, a tyrant can render decisions at will, regardless of how the new rules affect everyone else. With pure unanimity, no one has to worry about a new rule being passed that one might not like, but only those rule changes that everyone can agree on would pass and holdouts could seek advantages by threatening to be uncooperative.

Pure decentralization is similar to a unanimity rule, in that every participant must be polled on every decision. The degree to which a system fails to be purely unanimous is the degree to which that system is centralized.

Even Bitcoin does not have that. The vast majority of the holders of bitcoins have no say in which version of the blockchain is the correct one. That power is held by relatively few mining pools, and bitcoiners fret approximately twice each year that this or that pool might control 51% of the hashing power and hijack the system.

A purely decentralized blockchain management system would require that all of the wallets that hold bitcoins have access to the network at all times and participate in the confirmation of all transactions, and that an attacker must control 100% of the hashing power, in order to hijack the system. Such a system would grind to a halt.

The choice between centralization xor decentralization is a red herring. The optimal voting scheme is the one that minimizes the total of both kinds of cost, and generally is some kind of interior solution that defines a quorum as somewhere between one and all.

We already have a highly centralized world...

And yet, we don't. There is no central world government, and if there were there's no guarantee that it would be in control in any but the broadest sense. Throughout most of the world, people go about their days, governed largely by internal senses of fair play rather than 1984-esque surveillance and enforcement. Far from having a watchman on every street corner, a much more common complaint is that you can never find a cop when you need one.

Russians just seized Crimea, while Ukrainians stood impotently by. There is no central authority to stop this sort of thing. Even after US military personnel were involved for more than a decade, Afghanistan and Iraq remain disorderly.

Drugs are widely available in US prisons, which are the epitome of centralization.

...and while centralization can be more efficient in situations where a resource is scarce and decision making must be made quickly such as with military hierarchy...

Even in military encampments, a lot of stuff gets lost, and a lot of individuals engage in behavior that is forbidden. The phrase "the fog of war" is a synonym for disorder.

...most of what we are dealing with is information and information is not scarce. We aren't ever going to run out of information, so to centralize is actually damaging as it concentrates the risk around those points of centralization.

As someone above points out tongue-in-cheak, in a finite universe, information is scarce, although on a human scale the quantity of potential information is vast. Setting aside the finite quantity of energy that makes up the universe, the very abundance of information that makes it seem as if it were infinite makes it very costly to test every scenario and require that every satoshi contribute the same amount of hashing power to the Bitcoin network at all times, in order to ensure that there is absolutely no possible way that any kind of subtle collusion has led to falsified blockchain records.

Decentralization is not cost-free.

Offline CLains

  • Hero Member
  • *****
  • Posts: 2606
    • View Profile
  • BitShares: clains
Quick, someone call an information theorist well versed in complexity theory!

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
Quote
The natural enemy of buzzwords is the realization that there is no one-size-fits-all solution to every problem
+5

Quote
If cheating can be easily detected and reversed, then maybe it's no longer essential to prevent it at all costs
"and reversed" I did not yet see how that would go!


Offline luckybit

  • Hero Member
  • *****
  • Posts: 2921
    • View Profile
  • BitShares: Luckybit
I disagree with some of this article. My points are below:

1. Centralization should be the last resort, not decentralization. If you can do something decentralized then you should, unless you can't. We already have a highly centralized world and while centralization can be more efficient in situations where a resource is scarce and decision making must be made quickly such as with military hierarchy, most of what we are dealing with is information and information is not scarce. We aren't ever going to run out of information, so to centralize is actually damaging as it concentrates the risk around those points of centralization.

2. The definition of decentralized does not mean there are no central nodes. Decentralized systems can have super nodes with many smaller nodes connecting to them and still be decentralized. It's centralized when you have one single point from which all nodes must access the information. An attack can block, stifle, ddos, or blind that single point. Think of the single point as an eye and think of the adversary as the finger poking that eye.

3. Distributed is not the same as decentralized. A distributed network not only has no single point of failure but all the nodes are of equal size. There is very little difference if any between the nodes. A distributed network is heterarchical like a meshnet while a decentralized network has many interconnected hierarchies like the Internet. The reason we went with decentralized is because at that time we could not get away from the client server model, we did not have the technology to do it in terms of bandwidth or software innovation. It does not mean that we shouldn't do everything we can to go from decentralized to distributed if we have the means to do it.

4. Resiliency is something we gain when we go from centralized to decentralized to distributed. Many of us are willing to sacrifice some speed performance in exchange for long term resiliency. High frequency trading is nice, and you can build layers on top of a truly distributed meshnet foundation.

The point I want to make is that hierarchy should be avoided when it's built on top of a centralized foundation. Heterarchy should be desired and be designed in unless there is no better solution than to have a hierarchy. So I can understand making a case that having a layer of hierarchy is justified in order to improve performance. You can do that just so long as the underlying layer below is distributed. The problem we have is the underlying infrastructure is centralized around ISPs and electric companies, it's not distributed at the foundation so building hierarchy on top of a centralizing foundation may actually cause further centralization at the foundation such as problems associated with removing network neutrality.

So if you have a meshnet at the foundation then it's okay to build a centralized front end to the distributed layer. The best way to do it however is to have many different hierarchies which means many different front ends or super nodes to connect to.

Part of the reason I like the design of Bitshares is the fact that there will be many chains rather than just a central chain. These chains if they could connect like a tree are even better because you can form a family of chains yet still keep it sufficiently decentralized, scalable and high performing. 

But it's important that the foundation of every chain be as close to distributed as we can make it because these are the access points. This is one of the reasons I always push the idea that we should welcome different sorts of people with all sorts of views, that we should consider different ways people will acquire Bitshares and provide as many on-ramps as possible. If it's a super highway if there is no way for people to get Bitshares without buying them then it's not exactly like Bitshares is going to be a good access point.

So you need many access points into Bitshares and all the different chains. If people have to pay cash to buy it, then you'll only have mostly the same few people buying it. If people can pay for or earn it, then you'll have a lot wider demographic of people trying it, and if there are ways to mine it, then you have even more.


« Last Edit: March 31, 2014, 08:59:30 am by luckybit »
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline ssjpts

  • Hero Member
  • *****
  • Posts: 538
    • View Profile
    • 中国BTC
  • BitShares: coolman
新浪微博:剑指未来BTS
BTC:1Bc7gRGotktBmnNFr3BUUM22HFXCCTyxor
BTSX ID:loves,集大众之爱,待到BTS 500刀,10%回退给捐赠者,10%用于运营,剩余80%用于爱心事业和BTS宣传推广。

Offline bytemaster

This is why our slogan was Decentralized Solutions to Centralized Problems....

If it isn't a centralized problem, then there is no need to decentralize it.     

In almost all cases decentralization comes down to a defense mechanism against governments.   Centralized, Irreversible, Transparency with free market competition (no barriers to entry) is actually the best solution if you can avoid government takedowns.     A little bit of redundancy and a public backup plan is all that is needed.

With BitAssets the value of the underlying network is almost irrelevant and thus the network is much more robust.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline bytemaster

http://bitcoinism.blogspot.fr/2014/03/decentralized-applications-its-time-for.html

Decentralized Applications: It's Time for an Intervention
Disruptive. Web scale. 2.0. Viral. Big data. Crowdsourced. Cloud.

Everyone has their favorite tech buzzwords they love to hate, but few people stop to think about the lifecycle of a buzzword. Usually these terms start out with a specific meaning. Then the ones that become popular cast off this meaning and emerge like a butterfly from its cocoon into a new usage where the word has become its own brand. Buzzwords then flourish for a while until they mature into a cliché. Once a cliché has achieved peak annoyance, marketing campaigns begin to abandon the buzzword and it dies a quiet death.

Terms of art become buzzwords once they stop being used to communicate a specific technical meaning and instead start being used to evoke the kinds of feelings marketers deems most likely to inspire customers and investors to open their wallets.

Based on the current level of excitement surrounding the term, which is not matched by an equal amount of understanding surrounding the trade offs involved with various problem solving methods, "decentralized" and it's variations have most certainly fallen into buzzword territory.

What does decentralized actually mean?

One of the first clues that you're chasing a buzzword is that many people are talking about something but they don't all agree on a single definition for it. One of the ongoing topics for discussion in the Bitcoin space is decentralized exchanges. But what actually makes an exchange decentralized? Exchanges have many parts, and it's possible for some of those parts to be operated in a P2P fashion while other parts are operated by a single entity.

#bitcoin-otc is a Bitcoin exchange that hosts a centralized order book, but order matching and funds transfer is manual and performed by the individual users. LocalBitcoins is similar, except they also offer centralized escrow service. Open-Transactions servers have the ability to host order books and perform automatic order matching and fulfillment, but users are not limited to a single server - servers are federated so if a user doesn't like the server they are using they can just choose another one with a mouse click or two.

All of these services have aspects which are P2P, and aspects that aren't. Are any of them "decentralized exchanges?" Does absolutely every aspect of a service need to be strictly P2P in order to be classified as "decentralized?" Does it make sense to say an exchange to be "partially decentralized"? If so, once you've defined "decentralized" as a spectrum instead of a specific criteria, does the term really mean anything useful any more?

Perhaps we can clarify the meaning of "decentralized" by examining a system widely recognized as being decentralized and see what aspects of its design make it different from related systems.
Decentralization in Bitcoin


Bitcoin is the culmination of a three decade long effort to create cryptographic digital cash. In order to achieve this goal, Bitcoin needed to possess several characteristics which are difficult to achieve all at the same time. One of the advantages of cash is that it is anonymous and free from prior restraint. Anyone who has cash can spend it however they like without asking for permission from any third party. Currency only retains its value in the long term if the number of units is limited, especially since the advantages that accrue to any party who can issue new units at will are so overwhelming that they tend to misuse the ability.

Limiting the supply of a digital currency means keeping a globally-consistent ledger, and enforcing the rules about how coins may be brought into circulation. However achieving transaction neutrality and fungibility, as well as network reliability, means not introducing any single point of failure or privileged entities capable of exercising prior restraint. In order to achieve both goals, the Bitcoin network must make all decisions via a process of arriving at a unique global consensus. Satoshi's discovery of how to actually create such a process is what lead to Bitcoin mining.

For our purposes in this article, the most relevant feature which distinguishes Bitcoin from predecessors like DigiCash and E-gold is a lack of central points of failure, or more specifically the use of multilateral (decentralized) decision making in favor of unilateral (centralized) decision making.

No single entity controls which transactions will or will not be included in the Bitcoin ledger. No single entity is responsible for enforcing the integrity of the protocol. No single entity has the authority to alter the block reward or other defining characteristics of the currency. This is why Bitcoin is succeeding where other attempts failed.
Decentralization isn't free

Bitcoin's unique characteristics are indeed what allowed it to thrive, but you should already suspect that there is no such thing as a free lunch, and indeed Bitcoin pays a heavy price for its advantages.

Multilateral decision making is inherently slower and more expensive than unilateral decision making. In order for Bitcoin to be a global currency, the entire planet needs to agree to a bit-for-bit identical view of the canonical ledger. Achieving that takes time, if for no other reason than we can't communicate faster than the speed of light. When you add fact that we can't resort to a trusted authority to act as a tiebreaker for disputes it means that no blockchain will ever be able to make decisions as quickly as, for example, a high frequency trading engine.

Using the global public ledger that allows for multilateral decision making means that retaining financial privacy is, to put it lightly, problematic. It's possible to achieve, but doing so is a difficult and delicate process where mistakes are easy to make and also permanent.

Given all these downsides, it should be apparent that decentralization isn't something to aspire to lightly. In fact, it may be better to say that decentralization as a design technique is best reserved as a last resort, only to be used when there are no other suitable alternatives.
Goals vs. methods

If you want to work on projects that will stand the test of time it's important to not lose sight of the big picture. Why does everyone want to build decentralized applications? Is it because "decentralized" just sounds cool and it's what everybody else is excited about? If so, I'm not interested.

I want to see a future digital economy in which nobody is excluded from participation. No third party should have the ability to interfere in the voluntary dealings of other people. Our networks should be resilient, so they are not easily disrupted by attackers of any scale.

Does achieving those goals imply decentralized applications? Sometimes it does, certainly. But not always, and decentralization is merely one tool out of many which we can use. If you focus on the tools themselves instead of what you're trying to build, then it's very easy to get distracted and to miss relevant opportunities.

If you've got a problem where certain scenerios must be prevented at all costs or else the entire system fails, then maybe the cost of a multilateral decision making approach is worth paying in that case. But it's even better if you can design a system to failure-tolerant. If cheating can be easily detected and reversed, then maybe it's no longer essential to prevent it at all costs and you can build it with a more palatable set of trade offs.

The natural enemy of buzzwords is the realization that there is no one-size-fits-all solution to every problem. This means we should stop talking about decentralized applications and instead talk about building useful applications. Is our goal to make personal finance censorship-resistant? Then talk about what censorship-resistance means, and take the time to examine all possible ways of achieving it and choosing the best one on the individual requirements of the problem. Don't just sprinkle decentralization over every problem you come across and expect it to work like magic pixie dust if you want to create useful applications.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.