Litecoin China Roundtable and UASF

In the last few days, a self appointed group calling themselves the “Litecoin Global Roundtable” (consisting almost exclusively of miners, and exchanges, located in China, and just one developer) released the following “resolution 001 (2017)” after a closed meeting held on Wechat.

The claim is this roundtable established “community consensus” for segwit activation on Litecoin.

Whist I am very happy to see these previously hostile pools signalling, it’s important to know what really happened.

Before the “resolution”, Segwit signaling had already exceeded the requisite 75% activation threshold

This article is quite long and revealing, as I will go into quite a bit of detail. At the end, I will also break down the agreement text and explain the implications of the roundtable consensus.

The Litecoin community, including majority of hashpower rallied around segwit and it was clear segwit was going to be activated, having well exceeded 75% hashpower support. Then Antpool (owned by Bitmain, who were also not signalling) was seen flashing 600GH on their pool a couple of times before it disappeared.

Shortly after, Jiang Zhuoer’s pools LTC1BTC and LTC.TOP suddenly added over 1,200GH of non signalling hashrate. Around the same time, Bitmain also stopped shipping orders to customers, and claimed it was due to a firmware issue. Zhuoer then demanded a roundtable to solve the “impasse”.

Zhuoer is well known in the Chinese community for being one of the more vocal proxies for Bitmain’s co-founder, Jihan Wu.

Once an agreement was reached between participants of the “roundtable”, he declared a victory of collaboration:

In reality, this was just extortion. He deliberately dropkicked the hashrate with overwhelming hashpower to stall activation so he could make demands. Global hashrate was around 2,500GH, and he added 1,200GH making it literally impossible for 75% threshold to be reached again without his say so.

What is interesting is we have been talking to miners and pools since November 2016, and trying to have an online meeting to reach a consensus with mining pools since February, but the most important holdouts stalled and insisted that Charlie Lee go to China in person to show respect! It was only with >75% signaling and talk of UASF, did they suddenly want to meet online ASAP.

The real agenda was to try and make a stand against user-activated soft forks (UASF), and get Litecoin to agree to big blocks as a face saver against their blockade. Many Litecoin users were up in arms about the agreement, and that’s why I would like to bring some clarity over this, but also to explain why the agreement is not that important, and why you do not have to be concerned it has increased centralization in Litecoin.

Firstly, the agreement was a private agreement between the participants, most of whom were Chinese pools and Chinese exchanges along with Charlie Lee, the Creator of Litecoin. No other developers were invited and are not part of the roundtable. Charlie did have the courtesy to consult with us before hand, so the agreement would not be a surprise.

Secondly, Litecoin is a decentralized system that is defined by the software the users run. It’s not a democracy, nor is it subject to control by any one person or group. The community is small for sure, but centralized it is not. While Zhuoer may be looking to Charlie as the central planner of Litecoin, it is far from the reality on the ground.

Charlie not only understands the importance of decentralization, but he is also an ardent supporter and defender of it, and will never do anything to harm the coin, including trying to control the consensus process by committee. Of course, his opinion is very meaningful and carries weight, but that is because of his technical merits and understanding, not because he is the “Creator of Litecoin”. Open Source Software is built upon meritocracy — so it doesn’t matter who you are, it’s your ideas and your contributions that matter above all else.

Let’s also not forget, “roundtables” are nothing new, Bitcoin tried them too and they were unsuccessful. You can’t control a decentralized beast with centralized committees. That’s the main reason not to be concerned.

Litecoin is completely decentralized and subject to the control of its users

The role of the Litecoin Core project developers in the community is to listen to what the community want and weigh that up against technical and security requirements. Ultimately Litecoin Core as a project, releases software they believe is useful and wanted by the community — and it is up to the community to decide if they want to run that software. I am pretty confident if we as developers released a new version that did something outrageous like minted us 10MM coins out of thin air, the community would drop us like a hot rock.

Litecoin Core is a totally open, opensource project. Anyone can contribute based on their merits alone. People are also welcome to make their own node software. For example, we’re probably going to have a ltcsuite fork soon (for lightning network).

Developers cannot, and never have been able to control the consensus process. They contribute to it by virtue of being part of the ecosystem.

So getting back to the agreement that was released by the Litecoin China Roundtable.

Participating members agree to abide by the results of the vote.

So we get the idea this is not “the community” already, just a small group.

We agree that protocol upgrade should be made under community consensus, and should not be unilateral action of developers nor miners.

I don’t think anyone would disagree with this point because that is a fundamental property of the Satoshi consensus algorithm.

We advocate that Litecoin protocol upgrade decision should be made based on the needs of the users…

Good so far. Would have been better to mention technical merits, data driven development, security and retaining the properties of decentralization and fungibility.

… through the roundtable meeting voting process, and activated by miner voting.

No. That’s just not how it works. The roundtable can make all the agreements it likes, but at the end of the day, consensus rules are defined by the users. How? By the software they chose to run — and a roundtable cannot force users to run a particular version of the Litecoin software.

Miner “voting” is irrelevant simply because miners cannot decide block validity. If miners create blocks that are invalid to the software users are running, the miners are simply wasting their electricity and time.

So that part of the agreement is simply invalidated by reality. That said, collaboration in the ecosystem is a good thing as it aid the flow of information and communication.

We do not advocate a flag-day “UASF” that does not go though any users or community voting process. This type of forced upgrade without community consensus put Litecoin in a risk of split.

Now we get to the meat of it. I have it on good information that the recent “user activated soft fork” (UASF) proposals terrify both Jihan Wu and Jiang Zhuoer because they realize that UASF will visibly demonstrate the “miners decide” narrative to be as false as flat earth theory.

That said, I agree with the need for consensus, not because that’s an opinion I hold, but because that is a natural requirement of the Bitcoin system which Litecoin is based on. I think it’s important to explain why consensus matters and why consensus is not democracy.

Soft forks are superior to hard forks and, likewise, user-activation is superior to miner-activation

Hard forks require everyone to upgrade or they will be left behind creating two separate blockchains. Everyone has to run compatible versions of consensus software in order to remain in lockstep with everyone else. In a fair and functioning democracy, the minority will accept the majority decision. In Bitcoin/Litecoin, the coin splits into two separate coins.

Soft forks however, are optional and do not cause splits due to non-participation. If you do not upgrade, you will still remain on the same chain although you may not be able to validate all transaction types.

Miner activated soft forks (MASF) are convenient because you can activate new soft fork rules quickly. That’s because if a majority of miners enforce the new rules, it will cause “soft fork invalid” blocks to be orphaned as nodes will only follow the valid chain with the most work.

The segwit BIP9 soft fork is really “user activated, miner triggered” — it’s the users that actually make the SF matter.

Over time however, users upgrade to the soft fork and once a substantial portion of the economy has upgraded, if miners were to mine “soft fork invalid” blocks, their blocks would be rejected. This can be evidenced by P2SH soft fork (which is the same as segwit). Miners could stop validating P2SH and “steal” money in multisig addresses, but the full nodes would completely ignore those blocks and those miners would just fork themselves off the network. No big deal.

So as a result of this understanding, you can see that actually, even MASF are eventually user-enforced. MASF provides a shortcut where you trust the miners to protect the network while the ecosystem upgrades. Hashpower is expected to protect those who haven’t upgraded, from invalid blocks… but of course, you should always validate your own transactions rather than rely on hashpower - so MASF is at most, a transitory process. Even if you do not like the soft fork, running a border node, or upgrading the node software anyway (without using the new feature) is the way to ensure your view of the blockchain is valid.

I have written extensively about UASF on the Bitcoin Protocol Development mailing list here.

Bitcoin Core developers designed MASF activation to make soft fork upgrades faster and smoother. Block signalling (framed as “voting” by some miners) is only a coordination method so that the rules could be enforced once a large amount of hashpower declared it was upgraded. Note however, even that signalling is a hand-wave since it is based on trust. Block signalling can be faked and often is. BIP66 demonstrated this and a majority of hashpower still engages in temporary validationless mining practices to this day (as well as false block signalling).

Note the decision to deploy a MASF in Bitcoin was always made on the basis that the fork be uncontroversial. That implies developers making good faith efforts to find that out. Segwit is one such example where Bitcoin developers are on record as having reached out to much of the ecosystem as well as having clear consensus from the technical community. If segwit was controversial, users wouldn’t have upgraded to it in droves, with around 71% of nodes now segwit ready in 6 months, nor would businesses and software project have invested resources into testing, R&D and updating their systems to handle and generate segwit transactions.

What we have today is a broken activation system. This Litecoin China Roundtable is yet another strong reason to stop relying on MASF-only activation and move towards UASF. If not, we face the same problems each time where a single miner can veto the soft fork despite majority of hashpower agreeing, and then make demands. That’s extortion. This observation was behind my motivation to write BIP8.

BIP8 fixes BIP9 by removing the veto. Activation will occur after the timeout but miners may still signal for MASF. The economy has plenty time to upgrade so that by the timeout, activation should be quite safe because nodes are enforcing.

User deployment of a soft fork for Bitcoin may take a year or more, for Litecoin currently, maybe 6 months or less. After a good portion of the ecosystem has upgraded it is then perfectly safe to just activate. Jiang Zhuoer and Jihan Wu are desperate to kill the UASF option for users, so this was their chance, or they thought. But you can’t change the reality of how the system works. All soft forks are eventually user-enforced such that miners cannot revert them. If we are doing MASF followed by user-enforcement anyway, we can skip the MASF part. In fact, all Satoshi’s soft forks were UASF as well as Gavin’s P2SH. There is no reason why we cannot use UASF now, and we should. Hashpower will mine whatever is most profitable to mine, that’s the incentive of the system. Upgraded nodes will ignore invalid blocks. If the users upgrade, what are a couple of hostile miners going to do about it?

Miners are service providers. They provide an essential service to order transactions, and extend the blockchain; they make significant investments and take on a lot of risk in order to provide this service. We should be very thankful to them, while remembering that in return, they do get paid.

It’s important to make a distinction between miners, who actually provide hashrate to the network, and mining pools which can reduce variance for smaller miners — the downside is that pools get to make decisions on behalf of the miners. Miners mostly do not want fighting and politics, but some pools seem to enjoy politics now. It’s up to them to decide what they mine, but if they don’t want to take the money on the table, others will, and so life will move on. They know this, that’s why they hate UASF, they know they can only fight it with rhetoric and scare tactics.

We should be thankful to Charlie Lee

So why did Charlie agree to all this? I ask you back, why not? It pacifies the extortionists, allows them to save face, and gets segwit activated which I believe will be the last MASF-only soft fork ever in Litecoin. BIP8 allows MASF but without any veto, because activation is will occur after the signalling timeout. Charlie only promised not to advocate for UASF, which is perfectly OK. However, he is definitely being censored through coercion, but we should thank him for making a small sacrifice that does not actually harm Litecoin in any way.

It’s very clear to me that Charlie certainly wants Litecoin to succeed as a decentralized system and he would never go against the Litecoin community wishes. The community clearly do not want to be under future threats of major extortion and coercion, ultimately at the hands of a large monopolist who is exploiting an unintended veto consequence of BIP9 signalling.

Bitmain funded pool threatening Litecoin Core developers
We condemn any illegal aggressive acts like DDoS.

Of course, and this is a good thing, because some of the miners in the agreement, including Zhuoer himself, have threatened to engage in illegal and aggressive attacks on the original Bitcoin chain if there is a hard fork. So I’m glad they see the errors of their way, and will not make any more threats.

When the usage of Litecoin block capacity is over 50%, we will start to prepare for a solution to increase the 1MB block size limit through a hardfork or softfork.

Litecoin’s capacity is already 4 times that of Bitcoin and will become 8 times that of Bitcoin once segwit activates. This is not a problem we will face for a long long time. I see no harm in Charlie making this personal commitment since it’s largely moot, and I certainly hope (personally) to see some kind of flexible algorithmic blocksize solution somewhere down in Litecoin’s future. But the reality is, with Schnorr signatures, signature aggregation, lightning network and MAST we may never need a blocksize increase in Litecoin.

Finally, we want to emphasize that this roundtable meeting represents only the consensus of participating members, and cannot make decision on behalf of the Litecoin community.

Exactly. QED.