You may have noticed a new trend on Twitter recently, where people are changing their profile pictures to some form of a Reuben sandwich. I'll explain what this means, why you should care and why you should also consider becoming a Reuben sandwich. First I should address something important, Rubin's Reubens images are not NFTs, they are not engravings, they are simply AI-generated art that anyone can choose to use for free.
The name comes from Jeremy Rubin (@JeremyRubin), creator of OP_CTV and BIP119, and the resemblance between Rubin and Reuben. Which you may have already discovered. So, by having a Reuben sandwich as your profile picture or by displaying the 🥪 emoji, you are indicating your support for CTV or LNHANCE's recent upgrade proposals. LNHANCE, written by Brandon Black (@reardencode) is a combination of OP_CTV, OP_CSFS and OP_INTERNALKEY. This combination provides a bit more flexibility and programmability than just OP_CTV alone, and enables additional things like LN/eltoo peering.
I explained in a previous article that Bitcoin has a scaling problem and that charters, including CTV, could be a solution to help with this. However, I haven't discussed the process of how to actually activate these new OP codes. By design, performing a simple fork of Bitcoin in order to change the consensus rules is not a quick or easy process. But what even is consensus? This is a difficult question with a lot of nuances, and the answer depends on who you ask. In the past there was a concept Rough consensus, Once the change has been well discussed and there are no further logical concerns to address regarding the proposal, you have reached a rough consensus. Some people believe that consensus is reached when companies, such as wallet providers, exchanges, and miners agree to change. Or even miners alone, as if you did a soft fork without a majority of the metal hash support, you would reject the blocks from the heavier chain, and then it would be up to the market to decide what the real Bitcoin is. This can be very messy and complicated, so it's much simpler if you can get miners involved in the upgrade. The fact is that the economic majority of Bitcoin users can determine consensus, in which both ordinary users, developers, miners, exchanges, wallets, and other Bitcoin holders all play a role. Measuring this is very difficult, if not impossible. However, you should try to judge the level of consensus on the proposal before trying to implement it.
In April 2022, Jeremy Rubin proposed a quick trial activation of CTV, but this did not go well, and resulted in the fork being very controversial. A fast trial is where the final decision is given to miners on whether or not to activate the soft fork proposal. Just 5 months ago, the taproot was activated using the same quick trial method. However, many people felt that it did not go well, and were not comfortable with giving miners the ability to reject a change that would have a majority consensus among users. Two weeks after Jeremy announced the fast beta client, he decided to cancel the activation attempt. There was no consensus on CTV as a change in 2022. It is worth noting that Jeremy also released a tool for users to resist trying to activate CTV (User Resisted Softfork) with the activation client. Now, two years later, the community is looking into trying another activation, but this time there won't be any quick experimental method.
So what are the alternative ways to activate a soft fork? There are 2 BIPs (Bitcoin Improvement Proposal) that are used for activation, BIP8 and BIP9, I recommend reading them. Use Taproot BIP9 for a quick experiment, which relies on timestamps for signal durations. If the signal period expires without the activation threshold being achieved, the attempt will fail and there will be no soft fork. BIP8 uses block height to judge intervals and can be configured to either fail after a signal period without enough signals for miners, just like BIP9. Or they can be configured to activate after the signal period, even without reaching threshold. This parameter is called “lockinontimeout” or “lot” for short, and when set to true, the soft fork will be activated no matter what. This forced activation is called UASF (user-activated soft fork), and can only work in the long term if the majority of economic value in the Bitcoin ecosystem agrees to the change and upgrades its nodes. Otherwise you won't end up in the heaviest chain, where the miners will follow the economic majority and not upgrade, but if you have the economic majority that supports the change, the miners will have to follow because of the economic incentives from the miners who want to. Get as much fees as possible. Ideally, miners would signal sufficient support before the end of the signal period, and the UASF drama could be avoided. It was the UASF threat that prompted miners in 2017 to agree to the Segwit upgrade and not increase the block size as Bcashers wanted. (Yes, technically, the block size still increases slightly.)
Now we need to briefly discuss the activation parameters, which are the activation details, including the following: name; version bit number; starting block height; high signal period timeout block; Minimum activation block height; Threshold of block signals. And finally whether lockinontimeout is true or false. The name should generally be just the BIP number, in the case of CTVs, BIP119. The version bit could already be unused. The start has yet to be determined, I hope it will be sometime in 2024, but that is ultimately the community's decision. The signal period lead time should be at least 1 year after start, some feel 2 years or more would be better, again, this is a community decision and the client developer should try to judge what the majority agrees on, I would be happy with 1 to 2 year lead time Signal. The minimum activation height is the earliest possible time the soft fork could be activated, this could be before the end of the signal period, at the same time as the timeout or after the timeout. I think it must be at least 6 months after the start of the rally. The minimum number of blocks required to activate by signal in a two-week difficulty period is 2016 blocks. Overall, this represents 90 or 95% of the blocks, 1815-1915 blocks from 2016. This means that 90/95% of the hashing power of the network must signal support for the upgrade in a two-week period. Finally, as we discussed earlier, lockinontimeout should probably be set to true if you want the community to support the activation attempt.
So how do we get to the point of feeling confident that we've found consensus? Interact with the community, have conversations with Bitcoin companies and service providers, and send support online in different ways. Rubens Rubens is one example of this gesture, and it is a fun and social way to do this. Don't be afraid to ask questions about anything you don't understand or agree with, and remember that we are checking here, not just trust. Interact with your favorite Bitcoin companies, ask them what they think about CTV and be sure to tell them what you think, after all you are the customer. If you are a developer, you can review the code or create a proof of concept CTV. There are currently over 5 BTC up for grabs if you can create a positive proof of concept, or a negative proof of concept, as well as any bugs found when using OP_CTV. This bonus has been around for over a year already, and no one has found any problems. You can find this bounty here: https://bipbounty.org/bounties/1e101655-bad8-5147-82f7-f03145d567af/.
Of course, in a decentralized system like Bitcoin, we can never know for sure that the economic majority wants change, and we can only take a rough guess and hope for the best. We won't find out until we try though. I think we are either very close or have already found consensus on CTV. Be sure to head to utxos.org/signals and add your name or business to the list, you can sign yes or no. You'll also find a lot of information about charters on this site.
This is a guest post by George 203. The opinions expressed are entirely their own and do not necessarily reflect the opinions of BTC Inc or Bitcoin Magazine.