Greg Maxwell: “a hasty snapshot of a few of my views”

Original comment here:


Well, a hasty snapshot of a few of my views, others my differ (though opposition to that "agreement" looks like it may be unamious):

  1. It was unethically conducted: A VC created a private and closed meeting with his investments in the Bitcoin space and a few others without public input; and they made an agreement to forcefully change the rules of Bitcoin. Hello Etherum Foundation (Ironic that the same person was the big driver on ethereum classic). They claim that "core devs" were "invited" but this is misleading enough to be an outright lie: We were asked to add our names to an already completed statement with a dozen other parties names already on it (so, so much for getting it to say something more sensible). It has been promoted with misleading claims of collaboration and support by Bitcoin Core folks, which are just untrue.

  2. It's unspecified. The actual signers of the agreement clearly disagree about what they actually agreed to. While "segwit+2mb" may sound like it means something to you– it doesn't mean much. Under that banner you could do something fairly reasonable or something terrible [Fairly reasonable, for example would be to activate segwit, then with a reasonable timeframe hardfork to account for scriptSig data the same way that witness data is accounted for]. The details matter. Critically. Perhaps this was partially as a result of forming their agreement without a single participant with ANY experience in Bitcoin consensus rule design– they didn't even know what you need to know about a protocol change.

  3. Its time-frame is extremely absurd. Actually, absurd doesn't do it justice which is why between that and number #1 several engineers have been just responding "LOL" to the proposal. They don't set any time for design review and analysis, they don't set any time for writing a specification (they don't have one and don't appear to intend to have one), they set aside two weeks for testing– which is less time than even minor releases of Bitcoin get (and need!) even when they were comprised of small fixes which had mostly existed for months already. They don't allot any time for alternative implementations to implement it (which is especially bad because they can provide useful design feedback). They don't set aside time for meaningful deployment by users (some of whom may have their own lengthy patching and qualification process). They don't seem to have any concern about how forced upgrades erode decentralization and privileged hosted wallets/apis/pools over running your own infrastructure. Basically every stage of the consensus rule change pipeline should take (and always has taken) more time they allotted for everything. BU+Classic BIP109 ran on testnet for months before their interoperability failure was revealed and they forked apart from each other and abandon BIP109.

  4. They are explicitly rejecting and shielding themselves from public comment. E.g. they created a lf mailing list but when Luke-jr tried to join it Jeff replied saying the list was only for people who supported the agreement and intended to support it. Responses to requests to make their system compatible with BIP141 or BIP148 and existing nodes; have just been met with vague hand-waving about the "charter" and deleting comments on their github. This is doubly bad because some of their technical proposals just won't work and will self partition if deployed.

  5. It doesn't answer any of the serious concerns about the negative impact of increased capacity on the viability of the system, it just takes the capacity doubling of segwit (which is already seen by many as pretty extreme) and doubles it again. Some of the signers seemed to believe that what they agreed to was "segwit immediately" which at least would give some walk-before-running time but to the extent that I can figure out what they're doing, it isn't that. Keep in mind that segwit itself was a massive compromise– taking on a large and risky increase in load, but countering it with scalability improvements… and as soon as it was proposed the goalpost moved. I doubt many see segwit2x as anything else.

  6. Bitcoin's value comes significantly from its durability against change. Bitcoin is fine the way it is– it could be even better, but it doesn't need to make radical incompatible hasty changes. Everyone who wants cabal-controlled fork-a-week coins have several options to choose from. Bitcoin is never going to be better at being that than the cruddy altcoins which were designed for it (with huge premines to keep those early holders pumping through the waves of technical failure). In a competitive market we should look at what differentiates Bitcoin from the competition and exploit that as much as we can, not try to me-too follow around other things. If Barry and Co can rewrite Bitcoin's rules against non-trivial opposition who else can also do so?

  7. Bitcoin Core doesn't have the technical or moral authority to make incompatible changes to the rules of the network. And the dozens of major individual contributors just do not personally support this proposal (for some of the reasons above or others)– and are obviously not going to volunteer their efforts to aid a proposal which they believe would harm Bitcoin. Probably this one would be the TLDR: Core isn't a company, it is an open public collaboration of many people. Core won't endorse pretty much anything but it certainly won't endorse things which are widely (or in this case nearly unanimously) opposed by its contributors.

  8. None of the involved parties have showed even the slightest indication that they understood or cared about concerns like the above, even when people like Matt wasted hours trying to communicate them to them. Not a "I understand but we'll account for that by X"– but just talking to a wall. Which means that its unlikely that the negative consequences of these concerns will be avoided with any reliability.

But finally– what would be the point? I think that almost any one of these issues alone would make it dead on arrival. I'd say stick a fork in it, but Bitmain already has– e.g. their post today says they have no intention on following through with segwit2x by saying they'd only activate segwit if it had more modifications (surprise, surprise).

The tech community was polite enough to keep most of our concerns in private and wait and see it this transformed into something supportable. But we've started speaking against it since the misleading claims that we supported and were collaborating with it started.


Submitted June 16, 2017 at 02:36PM by jaumenuez
via reddit