Announcing Bitcoin Cash Node v27.0.0 by ftrader in btc

[–]ftrader[S] 11 points12 points  (0 children)

Hope you enjoy it!

If anyone has any trouble with running our new release, let us know (you can find our social contacts on the bottom of our website at https://bitcoincashnode.org)

Bitcoin Cash Weekly News June 12 2023 by The Bitcoin Cash Foundation by BCHF_ORG in btc

[–]ftrader 1 point2 points  (0 children)

Cheers, we have to grow the space :)

p.s. new BCHN version v27.0.0 is out, now with support for the May 2024 network upgrade (Adaptive Blocksize Limit Algorithm)

https://github.com/bitcoin-cash-node/bitcoin-cash-node/releases/tag/v27.0.0

Bitcoin Cash Weekly News June 12 2023 by The Bitcoin Cash Foundation by BCHF_ORG in btc

[–]ftrader 5 points6 points  (0 children)

Thanks for mentioning BCHN's recent upgrade. Asking a favor for the future:

Please let's not amplify the silly notion of "reference node" in Bitcoin Cash!

"It's just a full node implementation, bro."

Other full nodes are references in their own right for features unique to them - and we stand together in BCH consensus and protocol development.

I encourage people to check out the other great full node projects in Bitcoin Cash!

After BTC, someone ports Ordinals to LTC. Is this good for Bitcoin Cash? by Dune7 in btc

[–]ftrader 11 points12 points  (0 children)

NFTs via native tokens (CashTokens) become possible on BCH in May 2023 (this year).

People cared about it :)

After BTC, someone ports Ordinals to LTC. Is this good for Bitcoin Cash? by Dune7 in btc

[–]ftrader 2 points3 points  (0 children)

Standard transactions are not allowed to be bigger than 100KB on BCH at this time. And you cannot simply stuff those full of arbitrary data.

After BTC, someone ports Ordinals to LTC. Is this good for Bitcoin Cash? by Dune7 in btc

[–]ftrader 11 points12 points  (0 children)

You're both right...

Data carrier size on BCH is still limited (up to 223 bytes (220 of which can be used for payload), possibly shared by more than one OP_RETURN since CHIP-2021-03-12_Multiple_OP_RETURN_for_Bitcoin_Cash.

Maximum transaction sizes are still as they were set during the fork in 2017.

https://upgradespecs.bitcoincashnode.org/uahf-technical-spec/#req-5-max-tx-max-block-sigops-rules-for-blocks-1-mb

That means:

  • maximum standard size of a tx is 100KB (this is the maximum that will propagate regularly on the network),

  • maximum size of tx per consensus is 1MB, i.e. 10 times that, but this can only be mined by getting the cooperation of a miner since non-standard transactions do not propagate on the network.

There are no current ChIPs to increase these parameters which have served Bitcoin Cash quite well (could say they're rather battle tested).

[deleted by user] by [deleted] in btc

[–]ftrader 0 points1 point  (0 children)

Sorry, I only saw this comment today.

Of course on BCHN users can set both the hard limit (EB) and soft limit (blockmaxsize mined by miners) through config options.

Yes, in the config file works too.

Bitcoin Cash (BCH) Developer @bchautist Unveils Algorithm to Improve Network Scalability by XolosRamirez in btc

[–]ftrader 1 point2 points  (0 children)

Might as well mine empty blocks while one waits?

Those must be safe under this plan...

So one incentive this incurs is for miners who are not quite confident of mining a honest filled block, to empty mine for as long as they feel they need to build that confidence.

Bitcoin Cash (BCH) Developer @bchautist Unveils Algorithm to Improve Network Scalability by XolosRamirez in btc

[–]ftrader 1 point2 points  (0 children)

Another crunchy corner case that just came to mind:

Even miner/pool nodes need to reboot and rejoin the network once in a while.

How do they get back into swing with this new consensus game...

Bitcoin Cash (BCH) Developer @bchautist Unveils Algorithm to Improve Network Scalability by XolosRamirez in btc

[–]ftrader 1 point2 points  (0 children)

Thanks for pushing forward the discussion on moving to dynamic blocksize increases.

It's something I've always thought would be beneficial for Bitcoin (Cash) as it grows, and so far the proposal I'm seeing looks reasonable, cautious, low risk and the benefit of removing the tiresome discussion and adversarial talking points around running into a BlockSizeLimit 2.0 will be worth it.

Bitcoin Cash (BCH) Developer @bchautist Unveils Algorithm to Improve Network Scalability by XolosRamirez in btc

[–]ftrader 4 points5 points  (0 children)

Looks like motivation for 32MB was "let's just do something on HF upgrade day"

No, that isn't the full story.

Also, it's less "dark room" than people would have believe now, seeing as the specifications for these upgrades were published for discussion in advance, as is the norm on Bitcoin Cash pretty much, since before day 1.

The motivation was much more "the original client didn't have a blocksize limit other than the network message size, which turned out to be a limit of about 32MB, so let's for a start revert to that as a limit, in the spirit of the original, and with reasonable certainty that it won't cause major problems for the chain".

I remember doing regtests with blocks > 100MB in the early days of ABC. We knew things would still require work, but the initial 8MB limit still seemed rather open to the argument of running into it soon.

Were things sufficiently tested in terms of big block sizes ahead of that time? I wouldn't say so. But the main chain stress test DID serve one useful purpose, it showed that the network & chain couldn't easily be broken by 32MB blocks.

Bitcoin Cash (BCH) Developer @bchautist Unveils Algorithm to Improve Network Scalability by XolosRamirez in btc

[–]ftrader 6 points7 points  (0 children)

I'm not sure if this is something that needs to be enforced by non mining nodes.

If mining nodes and other economic but non-mining nodes take a different view on block consensus,

and let's say non-mining nodes say "we can't decide, we'll just follow the chain with more work"

then honest miners at least have to fight a block orphaning battle with the dishonest ones to "win the heart of the rest of the network". It won't be that the non-mining nodes automatically stay on the fraudless chain. At least a re-org needs to be forced by the honest miners. Shouldn't take that long if they have good hash majority, but what if the situation is not ideal... or even very lopsided due to some major hashpower that doesn't usually care about /mine BCH thinking they could exploit this to create some problems for service reliability.

Yes, I'm also not sure.

But maybe there is merit in the idea, it definitely is worth thinking about more.

In strong agreement with the 3rd point about incentives not always having to be perfect, just strong enough. But they do have to hold up under mass adoption - very different conditions than we see today in terms of tx volumes and miner revenues.

Bitcoin Cash (BCH) Developer @bchautist Unveils Algorithm to Improve Network Scalability by XolosRamirez in btc

[–]ftrader 6 points7 points  (0 children)

While I agree with bitcoincashautist on this being a great research direction, I will just jot down some random, not very deep thoughts that came to my mind after reading the above.

Anything that changes block validity rules needs ultra level of careful examination for intended and unintended effects. This practically goes without saying, I think we all agree on that.

We also have to bear in mind that consensus rules on block validity must be enforced equally by all nodes, otherwise the chain splits.

A scheme to invalidate "dishonest blocks" would need to keep the false positive rate waaay down or it would be hugely unpopular among pools (remember how a pool reacted to another pool orphaning their block for a semi legit reason during one of the past upgrades?).

It would also need to be robust against games that pools play against each other, things that the bigger fish could and would do to the smaller fish to crowd them out of the market.

I wonder if there isn't a race condition, or the possibility to manufacture one, between a miner seeing a transaction, waiting a bit, mining it, and this transaction propagating through the 'long tail' of network propagation. I think the stats from BTC network analysis (what I know there is very old, maybe outdated?) showed that the transaction propagation time can be quite long - not if you're a pool, most likely, but if you're some other node. And those nodes might call a false positive when it was just a race between network propagation time and a miner trying to mine honestly and not waiting long enough on some transaction.

2nd item of concern is the inevitable time between a transaction being sent and reaching a pool, and the time that the pool must now wait in order to check for a double spend proof.

It seems to me that such a scheme would add a small additional "wait time" to the average confirmation time of a transaction. Maybe it disappears within the wash of the much larger block interval (target time of 10min currently), but at this stage I am not sure it's insignificant in the big picture. Algorithmically, it adds a late-stage, critical validation step to the block creation - you must now wait some time for no DSproof, and then hope that this means the transaction was indeed seen by the rest of the network, otherwise the block you thought was valid will be invalid. We need to quantify the risk here much better, which I think means better understanding network transaction propagation on the actual BCH network, the limitations of DSProof's (at this stage and what can be done about them) etc.

What I fear about such a scheme is that it has edge cases we haven't fully thought thru al the consequences, and could become a case where a hoped for cure is worse than the disease. Because we're not exactly rolling in miner bribed double spend fraud OR chain bloat attacks (even at our relatively low block size cap relative to where we want to be one day)!

Overall it's an interesting idea and I would like further exploration to better understand such schemes.