This is a response to Deadal Nix’s recent article on markets and pre-consensus. It is a really good article and I recommend that you read it first: https://www.yours.org/content/on-markets-and-pre-consensus-4454add1bfbe
While it is a really great article, I disagree with his conclusion and wanted to articulate why a pre-consensus approach on the protocol level should be avoided. This article will be divided into a philosophical objection and then a practical objection.
What is Bitcoin and is it Bitcoin cash?
One of the major objection in the Bitcoin cash camp was that Segwit fundamentally changed the protocol as described in the white paper. BTC believers say that Bitcoin has to adapt and change over time, we have rejected this position and make an appeal to the original protocol as described in the whitepaper. We have said that we are the original protocol and they are the ones who left us, not the other way around.
This will change if we make a fundamental protocol change like a pre-consensus. We will be in the same position as Segwit, making the argument that Bitcoin needs to change and adapt over time. We will no longer be the protocol as described in the white paper.
If we condemn one protocol fork that changes how Bitcoin changes both economically and technically while allowing another fork to do the same then we are hypocritical and will delegitimize our claim as Bitcoin.
In my view, you either support Bitcoin as described in the original white paper or you do not.
What do miners do?
As for my practical objection, we need to consider the miners. People tend to confuse the wealth generated by mining with power and see Jihan having considerable revenue from building miners with him being able to control the network itself. This couldn’t be further from the truth.
Miners have two powers, they can order transactions and they can orphan other blocks. Orphaning blocks is what gives miners some control over the direction of the network as it allows them to reject a fellow miners block and only give the hash power to the chain that they believe is in their best interest. This is the foundation of the Nakamoto consensus. This is how a fork is created; different node implementations create different orphan blocks, which are then built on by different miners.
A pre-consensus implies consent on behalf of the miners while taking away their choice. These techniques determine what blocks will contain before they are found. An example of this will be BitcoinNG, which has been discussed since 2016.
This will reduce orphan blocks and propagation time but this will also take away a lot of the power of miners to choose which blocks to build on. This restriction of freedom is significant and we are reducing the ability for miners to choose. In order words, we are reducing competition by implying that all miners are equal and that every block generated is as value as any other. This is not true and inconsistent with the incentives built into the network.
Right now, miners have the incentive to “police” the network for rogue miners themselves and maintain it even if it means losing block themselves to build on blocks that protect the network long term. This means that “big” miners have more at stack than individual independent miners and if we neuter these miners for the sake of the small by removing their right to choose then we are introducing a disincentive to the network.
We need to consider the miners, their investment, and their role in the network and interfere with the protocol as little as possible when it will affect their incentives within the network.
Who wants 0-conf and why?
While we all agree that we want Bitcoin Cash to be digital cash for the world, we can disagree about the importance of 0-conf because we need to understand who wants it and why they want it.
If you are transferring funds from one of your accounts to another, you don’t need 0-conf because there is no risk of you double spending yourself.
If you are transferring funds to a friend or colleague, you don’t need 0-conf for the same reason.
If you are the purchaser, you don’t need 0-conf, you just need a confirmation that the merchant has your signed transaction and it is up to them to transmit it.
The only group that needs 0-conf is merchants as it is for their protection while providing a good user experience. Full stop.
But it is actually narrower than that as it is even a subset of merchants who are at risk of transferring digital goods prior to receiving a confirmation. This doesn’t affect physical goods shippers as they will receive confirmations before shipping.
Nor will this affect POS retail merchants because they will control when the transaction is submitted and we can verify within a second or two that a double spend didn’t occur (this verification can be improved by the payment processor). The process is slow enough to ensure verification and it is unlikely that someone will leave the store prior to the payment being completed verified properly.
How can digital goods merchants protect themselves from a double spend?
Instead of requiring the entire eco-system to redesign itself to accommodate a new protocol, we should do everything we can to improve this at the appropriate level. If these merchants want 0-conf protection, then they should pay for it, either by buying insurance, making arrangement with a miner, or by using a payment provider who provides 0-conf guarantees. This shouldn’t be achieved by socializing their cost to the entire ecosystem by spending valuable developer time at the protocol level, so let’s put the burden where it belongs.
Changes to the protocol should be considered with great care, stay true to the white paper, and be focused on achieving the dream of peer-to-peer digital cash for the whole world.
 

$4.00
$10.02

Reviews
6 of 6 reviewers say it's worth paying for

0 of 6 reviewers say it's not worth paying for
Comments
  earned 35.0¢
Spot On! Couldn't have wrote this better.
35.0¢
   1yr ago
10.0¢ 25.0¢
  earned 0.0¢
I agree with you. Seems like the foundation of many of these proposals is the mistaken belief that Bitcoin is somehow broken or not working well enough and that it needs to be fixed by developers.

0.0¢
   1yr ago
  earned 35.0¢
Thanks for taking the time to write this. Very well said, I agree with all your points.
35.0¢
   1yr ago
10.0¢ 25.0¢
  earned 0.0¢
The article is nonsense, miners have never "policed" anything that follows consensus rules in all of bitcoin history, much less designate any miners "rogue".
They mine on the valid longest chain - that's it, full stop. Any miners deviating from that rule by picking his own favorite is punished by his peers who follow the longest chain.
There is no power to take away, nothing in any pre-consensus mechanism can harm a bullshit "power" that has never been exercised and in fact never existed.
0.0¢
   1yr ago
  earned 25.0¢
im_uname - Thank you for the commentary, I have a couple remarks on this:
The article is nonsense, miners have never "policed" anything that follows consensus rules in all of bitcoin history, much less designate any miners "rogue".
By following the Nakamoto consensus and voting on which chain to follow in an orphan situation, they are policing the network against anyone who would be attempting to selfish mine or alter the chain. Further to my point, if a major pool such as slush 51% the Bitcoin cash network, do you think that all the miners would just give up or would they orphan the slush blocks, block their IP address, and continue mining. I expect it would be the later.
They mine on the valid longest chain - that's it, full stop. Any miners deviating from that rule by picking his own favorite is punished by his peers who follow the longest chain.
I think that this is true for small miners with a S9 in their basement, going along to get along. For big firms with hundreds of millions invested in their mining operation, I think they would absolutely consider punishing bad behavior such as violating the first seen rule.
There is no power to take away, nothing in any pre-consensus mechanism can harm a bullshit "power" that has never been exercised and in fact never existed.
That wasn't my only reason but it is entirely possible to have a power that is not exercised but is valued by the market. I would be caution to change incentives without fully understanding what those incentives are and how they will be affected.

25.0¢
   1yr ago
25.0¢
  earned 0.0¢
@logan I get where you are going with this article and I liked it. You brought up some very valid points, but based on your last response(or defense of main article with loose facts) to Im_uname. Here are my two cents.
Bitcoin consensus will not change based on a pre consensus. The only thing a pre consensus does is say - hey MINERS we agree to make all our blocks looks "this way." So that means other miners pretty much KNOW what the next block is going to look like and are able to verify that nobody has deviated from the pre agreed to norm.
This creates a economic "nash equilibrium" too. Each miner is competing on the best models for all interested parties. The advantages that miners will gain is only based on the amount of hashrate they can afford not that they get the best place on the beach: See video: https://youtu.be/jILgxeNBK_8
If a Miner deviates from preconsensus - what happens? Well of course cats and dog living together and chaos in the streets - right? NO, actually it looks more like "mother fucker miner x keeps throwing a monkey wrench in the mix and is trying to create an advantage, we can either change how we do things and try and one up the advanatgae and make him go broke, or "we have a little talk with him" so we can all continue to strengthen the bitcoin network and continue to be rewarded handsomely for doing the right thing.
Can they orphan miners who do not comply? No as long as the deviant miner still lives to Bitcoins base protocol the rest of the miners still have to mine/ write to ledger.
Is this how Bitcoin was supposed to work? YES, Satoshi used the word consensus for a reason - this is about the entire community coming together to find solutions that make the entire process better - it does not necessarily mean changing the actual proof of work but working out personal differences in the community/ between miners and merchants so that everyone benefits equally if any part of the "nash equilibrium" is compromised with any of these changes then and only then should we Squelch an idea before it even exists.
The only person that has ever openly threatened to orphan is CSW and miners discussing attack vectors/blatant spammers- Miners would not choose to orphan a block their machines can easily just mine, unless of course it is a repetitive and obvious ATTACK.
Now when someone brings to the table a major Bitcoin Protocol change - I'm right there with you "F THAT." Bitcoin is perfect just the way it is and works great, the Humans are the broken part of the equation, but humans can Conform for the good of the protocol.
Now IS IT POSSIBLE that miners could start acting badly or even orphaning, sure, but not likely - this causes commotion in the community and turns all eyes on the miners. They just wanna make money without a bunch of busybodies telling them how to do it. There are already pre consensus(mostly unspoken) that are already being followed. In the end the miner that chooses to go against the grain will just LOSE in the end because the big miners will adapt to the outliers tactics.
0.0¢
   1yr ago
  earned 0.0¢
@Robert
Thank you for the comment, I thought that I would give a quick reply to make sure that we are on the same page in terms of what I am saying.
Bitcoin consensus will not change based on a pre consensus. The only thing a pre consensus does is say - hey MINERS we agree to make all our blocks looks "this way." So that means other miners pretty much KNOW what the next block is going to look like and are able to verify that nobody has deviated from the pre agreed to norm.
I disagree, it is still part of the consensus and it will change behavior. I am saying that we need to carefully analyse this before making some sort of change. If we just want miners to know then we can use something like Graphene that uses bloom filters to propagate lists.
If a Miner deviates from preconsensus - what happens? Well of course cats and dog living together and chaos in the streets - right? NO, actually it looks more like "mother fucker miner x keeps throwing a monkey wrench in the mix and is trying to create an advantage, we can either change how we do things and try and one up the advanatgae and make him go broke, or "we have a little talk with him" so we can all continue to strengthen the bitcoin network and continue to be rewarded handsomely for doing the right thing.
Can they orphan miners who do not comply? No as long as the deviant miner still lives to Bitcoins base protocol the rest of the miners still have to mine/ write to ledger.
Miners do orphan miners blocks who do not comply, absolutely they do. Last year with Ver, he mined a bad block and got orphaned for it. The miners didn't build on the longest chain, they "rolled back" one block and mined a correct one.
Is this how Bitcoin was supposed to work? YES, Satoshi used the word consensus for a reason - this is about the entire community coming together to find solutions that make the entire process better - it does not necessarily mean changing the actual proof of work but working out personal differences in the community/ between miners and merchants so that everyone benefits equally if any part of the "nash equilibrium" is compromised with any of these changes then and only then should we Squelch an idea before it even exists.
How is an "entire community" going to come together when BCH is worldwide cash? It is impossible. There is nothing at scale that could possibly work out personal differences, the only way it would work is a smallish number of miners who work together for their own interest to ensure that Bitcoin keeps going.
The only person that has ever openly threatened to orphan is CSW and miners discussing attack vectors/blatant spammers- Miners would not choose to orphan a block their machines can easily just mine, unless of course it is a repetitive and obvious ATTACK.
I agree with you about the repetitive and obvious attack, which is the major concern at this point. Which is the main concern with affecting the incentives and consensus. I want to ensure that the ability to orphan is available if required and most of the pre-consensus proposals that I have seen would impact this.
Now IS IT POSSIBLE that miners could start acting badly or even orphaning, sure, but not likely - this causes commotion in the community and turns all eyes on the miners. They just wanna make money without a bunch of busybodies telling them how to do it. There are already pre consensus(mostly unspoken) that are already being followed. In the end the miner that chooses to go against the grain will just LOSE in the end because the big miners will adapt to the outliers tactics.
Absolutely I agree, I would prefer something like Graphene, which seems to solve your desires with pre-consensus than a binding a new pre-consensus model like avalanche that will affect the miners ability to fork.
0.0¢
   1yr ago
  earned 0.0¢
> If we condemn one protocol fork that changes how Bitcoin changes both economically and technically while allowing another fork to do the same then we are hypocritical and will delegitimize our claim as Bitcoin. Is it really a fork, soft or hard? As I understand it, the likely outcome is that some miners will run software with pre-consensus while others (like CSW) will run it without. But that won't risk splitting the chain like SegWit did. Pre-consensus miners will mine on top of non-pre-consensus miners and vice versa. Not every code change is a "fork". The white paper defines Bitcoin. Anything that contradicts the white paper is not Bitcoin. But that doesn't mean Bitcoin is the white paper and the white paper alone. You can add functionality, like tokens, as long as you don't contradict the white paper. Merchants are not "socializing their cost to the whole ecosystem" for developing 0-conf, unless you consider developer's time as part of the commons. But developers have agency and choose to spend their time however they want. Their time isn't yours or mine to decide what they should do with it. If Bitcoin is going to be cash, then it has to have 0-conf, like when using physical cash in a store. Amaury is right prioritizing this. There are other approaches to 0-conf. Bitcoin XT uses coin age. If I understand it correctly, pre-consensus is compatible with them: https://twitter.com/dgenr818/status/1020392512169553920
0.0¢
   1yr ago
  earned 0.0¢
Yes sounds spot on to me!
0.0¢
   1yr ago
10.0¢