You are viewing a single comment's thread from:

RE: Hive’s future as a 2nd layer blockchain network

in #hive4 years ago (edited)

There's two separate forms of consensus in blockchains: 1) consensus about the order in which transactions have occurred and 2) condensus about what rules are valid for the blockchain. But only the first of these forms of consensus needs to be enforced by code. 2nd layer systems rely on the 1st layer to enforce transaction ordering consensus, but they make it simpler and less contentious to fork in the case of disagreement about the rules.

Perhaps you're arguing that there should be more work involved and that the code should try to choose a winner and loser in such discussions by adding extra pressure to the majority side in such disagreements. If so, I disagree with that. I think minority groups should be able to easily select an alternative set of rules if they don't like the rules that the majority is going with. In the end, there's literally little difference though: if a minority doesn't agree with the majority, they can just fork the coin. This happens all the time.

And it doesn't require skilled devs to do so: you can hire super cheap devs who are capable of forking coins. There was actually a program you could download at one point to generate your own "shit coins" based off bitcoin.

I think your tether argument is flawed, because it misses the key detail about tether: Tether is not really a decentralized coin in most senses of the word, because it's value comes from fiat backing, and a central entity, Tether.io, controls that backing. So there's no way to fork tether, unless you're willing to also assume a huge debt to do so.

In case my point in the last paragraph wasn't clear, the problems you mention are problems with centralized backing. They have nothing to do with 1st layer blockchains, 2nd layer applications, or smart contracts. The same centralization problem that prevents forking exists for tether coins stored on 1st layer blockchains such as Ethereum.

Sort:  

On the contrary I think it should be as easy as possible to fork, and for such forks to be as non-disruptive as possible in the case of a contentious change. When there is a split, not only do individuals need to decide what they see as valid or more worthwhile going forward, but exchanges and ecosystem infrastructure need to decide what gets to be considered to be the same token, with the same brand.

In a truly contentious fork, eg. if Bitcoin XT, Bitcoin Classic or Bitcoin Segwit2x had forked as originally planned, both camps may be claiming to be the 'true' Bitcoin at the time of fork, rather than ceding with a fork rebrand as in Bitcoin Cash or Hive. In this case the ecosystem of exchanges etc. need to make a decision fairly quickly as to which network gets to be 'Bitcoin'. Regardless of which side of the debate they actually lie on - exchanges need to go along with everyone else, or we end up with a situation where Binance is selling tokens on one chain as "Bitcoin" and Kraken is selling "Bitcoin" on another. Formalizing the consensus rules as happens in layer 1 allows for easy schelling points upon which people can make these decisions, generally avoiding the undesirable situation.

Layer 2 applications could formalize rules to decide what is 'valid' in the event where a change to the rules is necessary, but they generally don't. In the absence of it, the default is for the developers (or even just the person who owns the website or code repository) to be the deciders, which gives them special control and authority on the network. That is what makes me uncomfortable with layer 2 applications. While I can decide if I like the rules of a layer 2 system as is, I have no way of knowing what the rules will be in a year, and no way to be confident that there is a way for the community to come to consensus on it.

I agree that Tether is centralized but I disagree that it doesn't show the point. It wasn't just Tether that forked, it was the entire Omni protocol. At the time of the fork there were over 300 different asset definitions on Omni and they ALL had to fork to the new version. Tether simply had so much weight that it forced the issue for everyone. In the absence of any other way to make the decision, everyone had to go along with the developers choice of what was now the valid rules for Omni, which included the possibility of tokens being frozen by asset definers.

I have yet to see a layer 2 system where the developers don't have the weight/clout to change the rules on their own, where their application is used so much that it will be the default accepted by exchanges in every change that happens, regardless of what the community wants. I'm not saying it's unsolvable, but it's how L2 systems typically are today and there's no pressure for that to change.