8-balling Bitcoin Core with Patch-8

solex

Moderator
Staff member
Aug 22, 2015
1,558
4,693

Here's an radical end-of-year idea to kick around, inspired by Ryan Charles amending his Bitcoin software to support 8MB. Of course it is fine for him, but most Bitcoin full node owners are not programmers and not comfortable rebuilding the code. What if it is as easy as clicking a button on a "trusted" website?

Patch-8 is a (yet to be written) little program which finds and directly amends the BitcoinCore executable, changing the 1MB constant to 8MB. Anyone who has Core can click the Patch-8 icon (similar to the 8-ball smiley above) and authorize the update. If the Bitcoin software is running it will ask for it to be stopped, then instruct a restart once completed. It would need to know about different versions and OS.

Patch-8 can also update the software name i.e. "BitcoinCor8" so that the number of nodes can be counted. Once this reaches 75% (less XT's percentage) then the Chinese miners can start publishing blocks >1MB as they see fit.
 
  • Like
Reactions: Peter R

freetrader

Moderator
Staff member
Dec 16, 2015
2,806
6,088
Respectfully, I disagree with this as a tactic to help large-block adoption.

It reeks of, and is susceptible to, the distribution methods of malware. It would be foolish to underestimate the opponents of Bitcoin's success. While powerful nation states seem to have tolerated Bitcoin up to now, this would be a golden opportunity to terminate confidence in it through methods of traffic modification available to them.

For anyone who is not following my drift here, they could easily substitute your patch with a compromised version which does, well *anything*.

Any user who is willing to patch his Bitcoin software through such a careless method could cause their Bitcoin software to misbehave in ways that could rapidly injure confidence in the protocol.
I am talking about the confidence of end users, because I don't believe node operators and miners, for the most part, would run code from an untrusted source so easily.

But I think it would be sufficient if a large number of unsuspecting end users had a very bad experience ("help - all my Bitcoins stolen and my data is now encrypted and held for ransom!")

On a smaller scale, lesser criminal organizations would attempt to hijack the process through fake imitation websites and email phishing.

I can see the media going nuts, governments rubbing (and perhaps washing) their hands, and businesspeople being turned off of cryptocurrencies.

Please reconsider.
 
  • Like
Reactions: solex

solex

Moderator
Staff member
Aug 22, 2015
1,558
4,693
All great points @freetrader though this isn't to help XT adoption, it is to turn the screw on Core Dev, who are still pushing SW as the only viable scaling solution, as if Jeff's recent intervention amounts to a burst of hot air.

Bitcoin must be strong enough to handle anything thrown at it, and that includes tactics like that which I have just described. Ideally, the existence of Patch-8 would reinforce the importance of using trusted sources for Bitcoin updates. How many users actually do the Core and XT release signature verification?

You mention "untrusted source", but is that where Core is headed, if they implement full RBF and refuse even the meagre BIP202? Isn't that breaking the trust of everyone who bought Bitcoin believing it is the ultimate replacement for fiat?
 

Zangelbert Bingledack

Well-Known Member
Aug 29, 2015
1,485
5,585
It seems it would just have to be released by someone with clout and then vetted, same as with Core, XT, and BU. I'm sure less than 0.01% of users have the time or ability to assess the code themselves, so they will always be reliant on community vetting.

There might be some kind of image problem, but doesn't this just amount to saving the user from having to download someone's Core+8MB implementation? I don't understand how the issues would be any different than the issues faced by such an implementation.
 
Last edited:

freetrader

Moderator
Staff member
Dec 16, 2015
2,806
6,088
I speak for my own belief when I say that just because you might be subjected to tactics deserving of condemnation (for good reasons!) certainly does not mean you should be prepared to engage in them.

Of course I know your post was just an idea intended to stimulate discussion and as you say, of the bad things that may happen, we can be sure that they will be tried against Bitcoin at some stage.
But the large blocks faction, in my view, currently has the high ground in the debate, and we should not risk this by promoting methods which we would not like to see used against ourselves, really. This would just destroy trust in us and give weight to those in the other camp who have ascribed bad intentions in the past.

I will close with this thought:

Most software I know that wishes to help its users bypass the problems I've mentioned has a built-in update functionality which makes it safe (*) and easy to update and revert. I will interpret your topic as indicative that such a functionality would be a great asset to the Bitcoin software.

(*) relatively, granted
 

solex

Moderator
Staff member
Aug 22, 2015
1,558
4,693
I will say that any patching software must be in an open-source repository for public review. The key thing is that getting a Core+8MB implementation needs to be as easy as possible. It's fine saying "Bitcoin is democratic, everyone can change the code if they don't like it", but the fact is most people do not have the skills necessary to exercise this right.
 
  • Like
Reactions: freetrader

freetrader

Moderator
Staff member
Dec 16, 2015
2,806
6,088
Can you elaborate what is bad about this, i.e., how it is different in principle from offering a Core+8MB client (similar to XT)?
Two issues:

1. Hot-patching an existing executable is just an optimization, and more risky and less practical than simply downloading and installing a completely new executable (which is what you describe). If solex is in fact proposing to replace the entire executable (after locating it) then that is better, but equivalent to distributing an installer.

2. I would say there are two main trust centers at the moment: Core (like it or not) and XT. If the "trusted source" were outside of these two camps, it would effectively be a new source, previously not strongly affiliated to either of these camps. In which case, it would probably lack sufficient "trust" part, which makes it a very different proposition from the current trusted parties releasing such an update. This is where my main objection about it becoming very susceptible to malware-like attacks would enter.

Update: ok, I forgot to include BU in #2, but I think an 8MB bump is contrary to their raison-d'etre, so perhaps it's not too grave an omission, but I hold the same level of trust in them as e.g. in XT.
 

freetrader

Moderator
Staff member
Dec 16, 2015
2,806
6,088
I will say that any patching software must be in an open-source repository for public review. The key thing is that getting a Core+8MB implementation needs to be as easy as possible.
Absolutely agree about the open source part.

Patching software is one of those things that could conveivable exist as an independent codebase supporting a variety of Bitcoin software flavors. The downside would be one would have to gain trust independently, if users are to obtain Bitcoin through such a separate "generic installer/updater".
I guess we can already predict that some of these projects may fight such a separate installer on a number of arguments, finally up to deleting it from your system if they feel there is a point to it.

If one can maintain it as a part of the existing codebase (i.e. a commonly used integrated update functionality) then I think that might spur adoption and raise its longterm chances of survival.
 
  • Like
Reactions: solex