{"id":162609,"date":"2023-09-26T01:10:28","date_gmt":"2023-09-25T19:40:28","guid":{"rendered":"https:\/\/dripp.zone\/news\/?p=162609"},"modified":"2023-09-26T01:10:28","modified_gmt":"2023-09-25T19:40:28","slug":"this-update-could-change-bitcoin-development-forever-crypto-news","status":"publish","type":"post","link":"https:\/\/dripp.zone\/news\/this-update-could-change-bitcoin-development-forever-crypto-news\/","title":{"rendered":"This Update Could Change Bitcoin Development Forever &#8211; Crypto News"},"content":{"rendered":"<div style=\"position:relative;overflow:visible;font-size:1.2em;line-height:1.58\">\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">&#8220;Libbitcoinkernel&#8221; is a far-reaching, in-progress face-lift of Bitcoin&#8217;s code that&#8217;s been flying under the radar, but is likely to make it easier for developers to experiment with changes to Bitcoin.<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">The goal of the ambitious project is to untangle Bitcoin Core&#8217;s code\u2014the main software underlying Bitcoin\u2014so that much of the &#8220;security-critical&#8221; code is sliced out from the rest of it. By doing so, it could unclog the path to new Bitcoin improvements.<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">Untangling this code makes developers\u2019 lives easier and the changes are likely to (eventually) ripple out to users as well. The faster developers can write up new features\u2014whether privacy, security, or easier-to-use wallet tools \u2014 the faster users can take advantage of them.<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">Libbitcoinkernel has a long-winded and esoteric name because the idea is it will ultimately be a library that developers can use. But even if it\u2019s specifically geared towards developers, it could have wider consequences for the BTC universe.<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">&#8220;The thing that really drew me towards dedicating time to Libbitcoinkernel was when I realized that it could be a technical solution to some of Bitcoin Core\u2019s social hurdles,&#8221; Bitcoin developer Carl Dong told <i>Decryp<\/i>t. He&#8217;s the one who initially spearheaded the project.<\/p>\n<div class=\"relative w-full\">\n<blockquote class=\"twitter-tweet mx-auto\">\n<p lang=\"en\" dir=\"ltr\">We&#8217;ve also made substantial progress on libbitcoinkernel&#8217;s Phase 1, with many consensus-critical modules now decoupled from non-consensus-critical ones.\ud83e\udea2 <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/t.co\/GRSSqITJOt\" data-wpel-link=\"internal\">https:\/\/t.co\/GRSSqITJOt<\/a><\/p>\n<p>This work will be continued by <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/twitter.com\/the_charlatan_?ref_src=twsrc%5Etfw\" data-wpel-link=\"internal\">@the_charlatan_<\/a>, Cory Fields, and other members of the community. 3\/n<\/p>\n<p>\u2014 Carl Dong (@carl_dong) <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/twitter.com\/carl_dong\/status\/1565108391059619840?ref_src=twsrc%5Etfw\" data-wpel-link=\"internal\">August 31, 2022<\/a><\/p>\n<\/blockquote>\n<\/div>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">Dong has since <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/twitter.com\/carl_dong\/status\/1565108391059619840\" class=\"sc-adb616fe-0 ePvUAp\">stepped back<\/a>, letting Spiral-backed developer Sebastian Kung, veteran Bitcoin Core contributor Cory Fields, and others take the reins. Kung told <i>Decrypt<\/i> that he believes Libbitcoinkernel is one of the most impactful projects to be working on in Bitcoin right now.<\/p>\n<h2 class=\"sc-2ed2039d-2 hmmXcn gg-dark:text-white scene:font-itc-avant-garde-gothic-pro scene:font-light\" style=\"margin-top:2em;text-align:left;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #dfe2e4\"><b>Avoiding a \u2018nightmare scenario\u2019<\/b><\/h2>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">Understanding Libbitcoinkernel starts with understanding \u201cconsensus\u201d code. Consensus code is security critical code in Bitcoin Core, Bitcoin\u2019s main underlying node software. This is the code that keeps all the nodes in the network in agreement with one another.<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">If half the network follows some rules, while the other half follows slightly different rules, this could lead to an unintentional \u201chard fork,\u201d where the network effectively splits into two.\u00a0 \u201cThat\u2019s the nightmare scenario that keeps Bitcoin developers up at night,\u201d Dong said in a<a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.youtube.com\/watch?v=MdxIkH6GCBs\" class=\"sc-adb616fe-0 ePvUAp\"> video presentation<\/a> explaining his work on Libbitcoinkernel.<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">The issue is, the consensus code is tangled up with all the rest of Bitcoin Core\u2019s code. This is a pain for developers trying to make changes, because it\u2019s not always easy for them to detect when they\u2019re touching a security-critical piece of code. And even if they do know, it can take some time to work around it.<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">The goal of Libbitcoinkernel is to slowly extract all this code into a separate library, so developers working on other sections of the code don\u2019t have to nervously tip toe around it.<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">If developers can spend less time on trying to make sure they aren\u2019t accidentally poking any landmines in the consensus code, they can spend more time on more interesting BTC features or bug fixes.<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">\u201cThis allows developers to give more focused review on the critical consensus code while worrying less about the rest of Bitcoin Core. It also allows developers to talk about the body of consensus code as a well-defined entity for the first time,\u201d Kung told <i>Decrypt<\/i>.<\/p>\n<h2 class=\"sc-2ed2039d-2 hmmXcn gg-dark:text-white scene:font-itc-avant-garde-gothic-pro scene:font-light\" style=\"margin-top:2em;text-align:left;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #dfe2e4\"><b>The &#8216;flashy&#8217; goal: Multiple Bitcoin clients<\/b><\/h2>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">There&#8217;s also a second more long-term goal that can be achieved with the help of Libbitcoinkernel. Bitcoin Core is the main implementation of Bitcoin&#8217;s code. Users run it to connect to the Bitcoin network and to verify transactions.<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">But what if there were other choices besides Bitcoin Core? If this was an option, developers would have a way to experiment with new features more easily. \u201cImplementations can also prioritize features differently to serve their target users better,\u201d Dong explained.<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">Second, multiple Bitcoin implementations could increase resiliency of the network\u2014if one implementation is floored by a non-consensus related bug, the other implementation might be unaffected by the same bug, keeping Bitcoin intact. This could bolster Bitcoin\u2019s decentralization, which is, well, BTC&#8217;s entire M.O.<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">But multiple clients is easier said than done. Without Libbitcoinkernel, many BTC developers expressed concerns about having multiple implementations. The reasoning goes back to the tangled up consensus code. Say \u201cBitcoin B\u201d tries to copy Bitcoin Core\u2019s code. If Bitcoin B developers make a single misstep reimplementing this code, the network could split into two in an unintentional hard fork.<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">Libbitcoinkernel could change this. By extracting the consensus code into a separate library, the Bitcoin Core and Bitcoin B can use the same consensus code. There\u2019s no longer any need to worry about consensus subtle discrepancies wrecking havoc between the two implementations.<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">&#8220;Having a reusable consensus library would allow people to build alternative Bitcoin implementations, which were previously thought to be too dangerous because of the now-eliminated potential consensus incompatibilities,&#8221; Dong said.<\/p>\n<h2 class=\"sc-2ed2039d-2 hmmXcn gg-dark:text-white scene:font-itc-avant-garde-gothic-pro scene:font-light\" style=\"margin-top:2em;text-align:left;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #dfe2e4\"><b>Learning from abandoned attempts<\/b><\/h2>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">Extracting the consensus code from the rest is not a new idea. Early on in Bitcoin\u2019s history, some of the consensus code was extracted, but the project was left unfinished. Then a 2016 attempt at resurrecting the project perhaps \u201ccrumbled under the weight of its own ambition,\u201d as Dong put it.<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">With that in mind, Dong and Kung have been taking a more iterative approach in extracting the consensus code from the rest, one which \u201crespects the sheer size of work.\u201d<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">With that, the project has become a years-long, multi-step project, which ultra-curious readers can track <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/bitcoin\/bitcoin\/issues\/27587\" class=\"sc-adb616fe-0 ePvUAp\">on GitHub<\/a>, the open source developer Mecca. The project\u2019s developers have contributed tens of pull requests\u2014proposed changes to Bitcoin Core\u2014and there\u2019s still much more to do.<\/p>\n<p class=\"font-meta-serif-pro scene:font-noto-sans scene:text-base scene:md:text-lg font-normal text-lg md:text-xl md:leading-9 tracking-px text-body gg-dark:text-neutral-100\">Developers expect the full project will take a number of release cycles. \u201cThis project is a marathon,\u201d Dong said, \u201cand a long one at that.\u201d<\/p>\n<div class=\"my-4 border-b border-decryptGridline\">\n<div class=\"text-left p-8 md:py-12 md:px-12 max-w-prose relative\"><span class=\"border-t-4 border-l-4 w-4 h-4 md:border-t-[6px] md:border-l-[6px] md:w-6 md:h-6 border-decryptPurple dark:border-decryptNeon gg-dark:border-cc-pink-2 absolute top-4 left-4 md:top-6 md:left-6\" \/><span class=\"border-t-4 border-l-4 w-4 h-4 md:border-t-[6px] md:border-l-[6px] md:w-6 md:h-6 border-decryptPurple dark:border-decryptNeon gg-dark:border-cc-pink-2 absolute rotate-180 bottom-4 right-4 md:bottom-6 md:right-6\" \/><\/p>\n<h3 class=\"font-akzidenz-grotesk font-bold text-xl md:text-3xl mb-6 md:text-center gg-dark:text-white\">Stay on top of crypto news, get daily updates in your inbox.<\/h3>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Libbitcoinkernel&#8221; is a far-reaching, in-progress face-lift of Bitcoin&#8217;s code that&#8217;s been flying under the radar, but is likely to make it easier for developers to experiment with changes to Bitcoin. The goal of the ambitious project is to untangle Bitcoin Core&#8217;s code\u2014the main software underlying Bitcoin\u2014so that much of the &#8220;security-critical&#8221; code is sliced out [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":162610,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[230,225,221,227,226,228,229,60,223,224,222],"class_list":["post-162609","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cryptocurrency","tag-brave","tag-coinbase","tag-crypto","tag-decentralised","tag-decentralized","tag-decentralized-exchange","tag-erc-20","tag-featured","tag-meme-coin","tag-robinhood","tag-solana"],"_links":{"self":[{"href":"https:\/\/dripp.zone\/news\/wp-json\/wp\/v2\/posts\/162609","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dripp.zone\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dripp.zone\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dripp.zone\/news\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/dripp.zone\/news\/wp-json\/wp\/v2\/comments?post=162609"}],"version-history":[{"count":2,"href":"https:\/\/dripp.zone\/news\/wp-json\/wp\/v2\/posts\/162609\/revisions"}],"predecessor-version":[{"id":162612,"href":"https:\/\/dripp.zone\/news\/wp-json\/wp\/v2\/posts\/162609\/revisions\/162612"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dripp.zone\/news\/wp-json\/wp\/v2\/media\/162610"}],"wp:attachment":[{"href":"https:\/\/dripp.zone\/news\/wp-json\/wp\/v2\/media?parent=162609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dripp.zone\/news\/wp-json\/wp\/v2\/categories?post=162609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dripp.zone\/news\/wp-json\/wp\/v2\/tags?post=162609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}