This update could change Bitcoin’s evolution forever


“Libbitcoinkernel” is a far-reaching, progress-based face-lift of Bitcoin’s code that is flying under the radar, but is likely to make it easier for developers to experiment with changes to Bitcoin.

The ambitious project aims to unravel the code of Bitcoin Core – the main software underlying Bitcoin – so that most of the “security-critical” code is disconnected from the rest of it. By doing so, it could open the way for new Bitcoin improvements.

Cracking this code makes life easier for developers and the changes are likely to (eventually) impact users as well. The faster developers can write new features – whether privacy, security, or easy-to-use wallet tools – the faster users can take advantage of them.

Libbitcoinkernel has a long-winded and esoteric name because the idea is that it will eventually be a library that developers can use. But even if this is tailored specifically for developers, it could have broader consequences for the BTC universe.

“The thing that really attracted me to dedicate time to LibitcoinKernel was when I realized that it could be a technical solution to some of the social barriers of Bitcoin Core,” said Bitcoin developer Carl Dong. decryptTea. He was the one who initially led this project.

dong has since stepped back, Spiral-backed developer Sebastian Kung, veteran Bitcoin Core contributor Corey Fields, and others were allowed to take the reins. Kung told decrypt He believes that LibitcoinKernel is one of the most influential projects working on Bitcoin at the moment.

Avoiding ‘nightmare scenarios’

Understanding libbitcoinkernel starts with understanding the “consensus” code. Consensus code is the security critical code in Bitcoin Core, Bitcoin’s main underlying node software. This is the code that keeps all the nodes on the network in coordination with each other.

If half the network follows certain rules, while the other half follows slightly different rules, this can lead to an unintentional “hard fork”, where the network effectively splits in two. “This is a nightmare scenario that keeps Bitcoin developers up at night,” Dong said in a video presentation explaining his work on LibitcoinKernel.

The issue is that the consensus code is entangled with all the rest of the code in Bitcoin Core. This is a pain for developers trying to make changes, because it’s not always easy for them to figure out when they’re touching a piece of security-critical code. And even if they do know, it may take some time to resolve.

The goal of libbitcoinkernel is to gradually extract all this code into a separate library, so that developers working on other sections of the code don’t have to fiddle around with it.

If developers can spend less time making sure they aren’t accidentally placing any landmines in the consensus code, they can spend more time on more interesting BTC features or bug fixes.

“This allows developers to deliver more focused review on critical consensus code while worrying less about the rest of Bitcoin Core. This allows developers for the first time to talk about the body of consensus code as a well-defined entity,” Kung explained. decrypt,

‘Attractive’ target: multiple Bitcoin customers

There is also a second and long-term goal that can be achieved with the help of Libbitcoinkernel. Bitcoin Core is the main implementation of Bitcoin’s code. Users run it to connect to the Bitcoin network and verify transactions.

But what if there were other options besides Bitcoin Core? If this were an option, developers would have a way to more easily experiment with new features. “Implementation may prioritize features differently to better serve their target users,” Dong explained.

Second, multiple Bitcoin implementations can increase the resiliency of the network – if one implementation is affected by a non-consensus-related bug, another implementation can be unaffected by the same bug, leaving Bitcoin intact. This could promote the decentralization of Bitcoin, which is BTC’s entire MO.

But for many customers, this is easier said than done. Without the Libitcoin kernel, many BTC developers expressed concerns about multiple implementations. The argument goes back to the entangled consensus code. Suppose “Bitcoin B” tries to copy the code of Bitcoin Core. If the Bitcoin B developers make even one wrong step in reimplementing this code, the network could inadvertently split into two in a hard fork.

Libbitcoinkernel can change this. By extracting the consensus code into a separate library, Bitcoin Core and Bitcoin B can use the same consensus code. There is no longer any need to worry about glitches due to subtle consensus discrepancies between the two implementations.

“Having reusable consensus libraries will allow people to create alternative Bitcoin implementations, which was considered too dangerous due to potential consensus incompatibilities that are now eliminated,” Dong said.

learning from abandoned efforts

Extracting consensus codes from the rest is not a new idea. Early in Bitcoin’s history, some consensus code was drawn up, but the project was left incomplete. Then an attempt to revive the project in 2016 probably “collapsed under the weight of its own ambition”, as Dong put it.

With this in mind, Dong and Kung are taking a more iterative approach in extracting consensus code from the rest, which “respects the sheer size of the task.”

With this, the project has become a years-long, multi-phase project that ultra-keen readers can track on the open source developer mecca GitHub. The project’s developers have contributed dozens of pull requests – proposed changes to Bitcoin Core – and there are still more to do.

The developers expect the entire project to take several release cycles. “This project is a marathon,” said Dong, “and a long one at that.”



Leave a Comment

“The Untold Story: Yung Miami’s Response to Jimmy Butler’s Advances During an NBA Playoff Game” “Unveiling the Secrets: 15 Astonishing Facts About the PGA Championship”