Steve Shadders, nChain CTO, Technical Director of the Bitcoin SV Infrastructure team, (and the man that no small blocker is willing to debate), hinted at the release over the holidays, but now the prize is here and ready to sync up the chain!
Naturally, Shadders is onto the next project, so we can discuss the current release in detail.
According to the node team, “Version 1.0.7 upgrade is a beta release from version 1.0.6.” So the changes are mostly small, but be sure to know the risks before upgrading critical infrastructure to the new release.
What has been changed?
- CPFP and ancestor limit extended from 25 to 1000 transactions.
- This is the big change! After the block size limit, the ancestor limit was the next most difficult problem to work around. Until this week, a typical user of Twetch might find themselves unable to interact with people for more than a few minutes before they hit the dreaded speed limit and had to wait for a block. This was a nightmare for user experience!
Money Button, MetaStreme and others created workarounds for the irritating limitation, but now honest nodes on the network and the wallets they serve will not have to mess around anymore! With this new simplification and expansion of limits, we will likely see transaction processors opening up their limits quickly to allow the creation of very long chains of transactions.
With a 1000 ancestor limit from an unconfirmed parent transaction, assuming a ten minute block time, users will be able to make more than one transaction per second in near perpetuity. This is revolutionary, and a first of its kind in the blockchain economy! Making estimations as to how rapidly new use cases will be adopted by the economy is anyone’s guess, but this is one more superlative to add to an increasingly long list of reasons to use Bitcoin SV for business.
- Legacy block assembler removed; support for low priority / free transactions removed.
- Related to the ancestor limit change in BSV vs BTC, blocks in “Bitcoin” Core (BTC) nodes do some transaction reordering because of the limited block space. BTC miners want to be sure to pick up the most profitable transactions while being able to push out lower fee transactions in mempool while focusing on profits. With no block size limit, and no ancestor limit, such tailoring is unnecessary, and therefore, some efficiency can be made with the code by trimming it back. In short, fewer functions = more efficiency for the new BSV node version!
- Some more house-keeping related to the ancestry limit change. Since the mempool’s relationship to longer chain limits has now changed, this too has been simplified. “CoinView” needed minor changes from previous versions.
- Per usual, with focus on peer-to-peer functionality, some minor changes were made due to the change in ancestor limits. Since this version is a beta upgrade from version 1.0.6, interested parties should see the big steps in P2P functionality with “SPV Channels” and the newest version of mAPI which were covered in detail here.
We asked Shadders if he could illuminate the improvements to make sure nothing important was overshadowed by the ancestor limit news, and it’s good that we asked:
The P2P improvements are fairly major actually! We are now capable of opening multiple connections between peers. Previously, they were broken into a ‘control’ channel and a ‘data’ channel. The general idea is that if you send a large Tx message in the queue to be sent out over the connection, they can block other higher priority messages (e.g. block announcements) until the tx messages clear the queue. By separating the control channel from the data channel we get priority messages out promptly and vastly improve the efficiency with which nodes can…