{"id":10579,"date":"2023-05-13T11:16:50","date_gmt":"2023-05-13T11:16:50","guid":{"rendered":"https:\/\/www.bitnovo.com\/blog\/?p=10579"},"modified":"2022-05-17T10:34:44","modified_gmt":"2022-05-17T10:34:44","slug":"bip-300-upgrade-drivechains","status":"publish","type":"post","link":"https:\/\/www.bitnovo.com\/blog\/en\/bip-300-upgrade-drivechains","title":{"rendered":"BIP 300 Upgrade (Drivechains)"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Alternar tabla de contenidos\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #ffffff;color:#ffffff\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #ffffff;color:#ffffff\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.bitnovo.com\/blog\/en\/bip-300-upgrade-drivechains\/#the_bridge_problem\" >The bridge problem<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.bitnovo.com\/blog\/en\/bip-300-upgrade-drivechains\/#hashrate_escrow\" >Hashrate Escrow<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.bitnovo.com\/blog\/en\/bip-300-upgrade-drivechains\/#game_theory\" >Game theory<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.bitnovo.com\/blog\/en\/bip-300-upgrade-drivechains\/#reflections\" >Reflections<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tiempo de lectura:<\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span><p>In previous articles we have talked about two possible upcoming\u00a0<strong>Bitcoin upgrades<\/strong>, following the already confirmed\u00a0<strong><a href=\"https:\/\/www.bitnovo.com\/blog\/en\/all-about-taproot\/\">Taproot<\/a>\u00a0upgrade<\/strong>. These are\u00a0<a href=\"https:\/\/www.bitnovo.com\/blog\/en\/bip-118-update-anyprevout\/\">BIP 118<\/a>\u00a0and\u00a0<a href=\"https:\/\/www.bitnovo.com\/blog\/en\/bip-119-update-op_ctv\/\">119<\/a>\u00a0(recall that all proposals are formalized in\u00a0<strong>Bitcoin Improvement Proposals<\/strong>). Both improvements are important, though very uncontroversial and perhaps \u201cboring\u201d. But BIP 300 is different.<\/p>\n<p>&nbsp;<\/p>\n<p>In this article we will explore the proposed\u00a0<strong>BIP 300<\/strong>, a much more c<strong>ontroversial, disruptive<\/strong>\u00a0and crazy upgrade, also known as\u00a0<strong>drivechains<\/strong>.<\/p>\n<p>&nbsp;<\/p>\n<p>Drivechains are\u00a0<a href=\"https:\/\/www.bitnovo.com\/blog\/en\/what-is-a-sidechain\/\">sidechains<\/a>\u00a0that operate with\u00a0<strong>minimal trust<\/strong>\u00a0(lower than today\u2019s existing sidechains,\u00a0<a href=\"https:\/\/www.bitnovo.com\/blog\/en\/what-is-rsk-rootstock\/\">RSK<\/a>\u00a0and\u00a0<strong>Liquid<\/strong>). In other words, they are separate blockchains to that of Bitcoin where\u00a0<strong>bitcoin is used as a native currency,<\/strong>\u00a0and not an\u00a0<a href=\"https:\/\/www.bitnovo.com\/blog\/en\/what-are-altcoins\/\">altcoin<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p>Because of this, bitcoin as an asset could be used in\u00a0<strong>different blockchains<\/strong>\u00a0with different characteristics. For example, it could be used in\u00a0<a href=\"https:\/\/www.bitnovo.com\/blog\/en\/what-is-ethereum-eth-and-how-does-it-work\/\">Ethereum<\/a>\u00a0and\u00a0<a href=\"https:\/\/www.bitnovo.com\/blog\/en\/zcash-zsc-complete-guide\/\">Zcash<\/a>\u00a0style blockchains. In fact, t<strong>here are already versions of a drivechain with the anonymity features of Zcash.<\/strong><\/p>\n<p>The kid of the question is to transmit\u00a0<strong>bitcoins between blockchains<\/strong>\u00a0and for that we need the asset to be able to \u201cjump\u201d from blockchain to blockchain, being able to return to the main blockchain. This is achieved by drivechains with the use of<strong>\u00a0hashrate escrow<\/strong>, which we will see below.<\/p>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div id=\"image_2056349275\" class=\"img has-hover x md-x lg-x y md-y lg-y\">\n<div class=\"img-inner dark\"><img fetchpriority=\"high\" decoding=\"async\" class=\"attachment-large size-large lazyloaded\" src=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/07\/Actualizacion-BIP-300-drivechains2.jpg\" sizes=\"(max-width: 768px) 100vw, 768px\" srcset=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/07\/Actualizacion-BIP-300-drivechains2.jpg 768w, https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/07\/Actualizacion-BIP-300-drivechains2-300x205.jpg 300w\" alt=\"Actualizaci\u00f3n BIP 300 (Drivechains)\" width=\"768\" height=\"526\" data-srcset=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/07\/Actualizacion-BIP-300-drivechains2.jpg 768w, https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/07\/Actualizacion-BIP-300-drivechains2-300x205.jpg 300w\" data-src=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/07\/Actualizacion-BIP-300-drivechains2.jpg\" data-sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/div>\n<\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<h2><span class=\"ez-toc-section\" id=\"the_bridge_problem\"><\/span><strong>The bridge problem<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"is-divider divider clearfix\"><\/div>\n<p>In order to be able to use bitcoin in another blockchain, there must be a kind of\u00a0<strong>bridge between the mainchain and the sidechain<\/strong>, called a \u201c<strong>two way peg<\/strong>\u201c.<\/p>\n<p>&nbsp;<\/p>\n<p>Moving from mainchain to sidechain is easy because another blockchain can have visibility over Bitcoin. For example, I can send 1 BTC to address X (a specific address that the sidechain monitors), the other blockchain sees the transaction and generates 1 \u201csideBTC\u201d for me. The problem is that this sideBTC is not\u00a0<strong>backed by BTC<\/strong>, and is therefore an\u00a0<strong>altcoin<\/strong>. It could be backed if the X address belonged to a third party or federation,\u00a0<strong>but you have to trust them to get it back to you when you want to redeem your sideBTC.<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>That is, a requirement for sidechains is that their\u00a0<strong>\u201cside\u201d bitcoins are exchangeable at a 1:1 ratio for bitcoins on the mainchain<\/strong>, and with as\u00a0<strong>little trust as possible.<\/strong>\u00a0This bridge and the path from sidechain to mainchain is the most difficult because someone has to \u201cstore\u201d the BTC.<\/p>\n<p>&nbsp;<\/p>\n<p>As the main developer of BIP 300,\u00a0<strong>Paul Sztorc<\/strong>, explains, the point of a sidechain is that Bitcoin\u00a0<strong>nodes<\/strong>\u00a0(computers in the P2P network) do not need to\u00a0<strong>know of its existence<\/strong>. Otherwise they would be validating their rules and we would be talking about an extension to Bitcoin (an effective increase in block size).<\/p>\n<p>&nbsp;<\/p>\n<p>Let\u2019s see an\u00a0<strong>example<\/strong>\u00a0to make it clear. A user uses the bridge to move 1 BTC to a sidechain. He receives 1 sideBTC on the sidechain, spends 0.5 sideBTC there and uses the bridge again to exchange his remaining 0.5 sideBTC for 0.5 BTC.<\/p>\n<p>&nbsp;<\/p>\n<p>The problem is that since\u00a0<strong>no Bitcoin node verifies the sidechain<\/strong>, they cannot know how much BTC belongs to that user. They do not know if it is 1 BTC or 0.5 BTC as is the case because sideBTC transactions occur<strong>\u00a0outside the Bitcoin blockchain<\/strong>. The person in charge of processing that bridge c<strong>ould steal bitcoins<\/strong>\u00a0and the network would not notice this.<\/p>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<h2><span class=\"ez-toc-section\" id=\"hashrate_escrow\"><\/span><strong>Hashrate Escrow<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"is-divider divider clearfix\"><\/div>\n<p>Paul Sztorc\u2019s solution, which since\u00a0<strong>his proposal in 2015<\/strong>\u00a0has generated a lot of controversy, is to have the\u00a0<strong>miners process the bridge<\/strong>. That is, the\u00a0<strong>miners could theoretically steal all the BTC from the sidechains<\/strong>\u00a0because the nodes don\u2019t know if the bridge is processed honestly. Sounds terrible, doesn\u2019t it?<\/p>\n<p>&nbsp;<\/p>\n<p>The idea of hashrate escrows is that users send their coins to an\u00a0<strong>escrow controlled by the miners<\/strong>\u00a0to receive sideBTC. But beware, this coin escrow\u00a0<strong>cannot be used immediately<\/strong>\u00a0by the miners. To \u201cget\u201d the coins out of it,\u00a0<strong>more than 50%<\/strong>\u00a0of the miners need to\u00a0<strong>vote<\/strong>\u00a0their movement\u00a0<strong>for months<\/strong>. With enough\u00a0<strong>votes accumulated<\/strong>\u00a0(in each block there is one vote), these coins\u00a0<strong>can be spent<\/strong>.<\/p>\n<p>&nbsp;<\/p>\n<p>In other words, if miners<strong>\u00a0try to steal<\/strong>\u00a0BTC from drivechains they will have to announce\u00a0<strong>it publicly for months<\/strong>\u00a0and everyone will witness their malicious actions. Here we can start to see the logic. What Paul is saying is: \u201cbitcoin from sidechains can always be stolen, let\u2019s make a system where\u00a0<strong>stealing is undesirable<\/strong>\u201c.<\/p>\n<p>&nbsp;<\/p>\n<p>In case the majority of miners are\u00a0<strong>honest<\/strong>, the BTC locked in the deposit would go to the\u00a0<strong>users who have redeemed the sideBTC<\/strong>, after a few months of cumulative voting. To make the exchange faster,\u00a0<a href=\"https:\/\/www.bitnovo.com\/blog\/en\/what-is-an-atomic-swap\/\">Atomic Swaps<\/a>\u00a0would be used in practice. That is, simply\u00a0<strong>market swaps<\/strong>\u00a0between BTC and sideBTC (but there would always be the option of using the bridge to maintain the 1:1 ratio).<\/p>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div id=\"image_1381114467\" class=\"img has-hover x md-x lg-x y md-y lg-y\">\n<div class=\"img-inner dark\"><img decoding=\"async\" class=\"attachment-large size-large lazyloaded\" src=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/07\/Actualizacion-BIP-300-drivechains.jpg\" sizes=\"(max-width: 768px) 100vw, 768px\" srcset=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/07\/Actualizacion-BIP-300-drivechains.jpg 768w, https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/07\/Actualizacion-BIP-300-drivechains-300x205.jpg 300w\" alt=\"Actualizaci\u00f3n BIP 300 (Drivechains)\" width=\"768\" height=\"526\" data-srcset=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/07\/Actualizacion-BIP-300-drivechains.jpg 768w, https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/07\/Actualizacion-BIP-300-drivechains-300x205.jpg 300w\" data-src=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/07\/Actualizacion-BIP-300-drivechains.jpg\" data-sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/div>\n<\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<h3><span class=\"ez-toc-section\" id=\"game_theory\"><\/span><strong>Game theory<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"is-divider divider clearfix\"><\/div>\n<p>An important aspect of drivechains is that they can provide<strong>\u00a0income to miners through user commissions<\/strong>. The more\u00a0<strong>utility<\/strong>\u00a0a sidechain has the more commissions it will generate.<\/p>\n<p>&nbsp;<\/p>\n<p>Putting all the pieces together we have that miners can indeed steal BTC from drivechains, but\u2026 is it really<strong>\u00a0economically profitable<\/strong>?<\/p>\n<p>&nbsp;<\/p>\n<p>Paul explains that it\u00a0<strong>depends on the drivechain<\/strong>\u00a0and the\u00a0<strong>market reaction<\/strong>. If miners try to steal money, it will be\u00a0<strong>fully public and the price may react<\/strong>\u00a0<strong>negatively<\/strong>. A negative reaction in the price would go\u00a0<strong>against their own interests<\/strong>\u00a0as Bitcoin miners, it would be a shot in the foot. They would also be losing all\u00a0<strong>future commissions<\/strong>\u00a0that could come from drivechains (people would stop using them as they are considered insecure).<\/p>\n<p>&nbsp;<\/p>\n<p>However,\u00a0<strong>if the market responds little or not at all negatively<\/strong>, the theft may be\u00a0<strong>economically profitable<\/strong>. In this case Paul argues that\u00a0<strong>time is available<\/strong>\u00a0to defend against the miners.<\/p>\n<p>&nbsp;<\/p>\n<p>He posits that a\u00a0<strong>User Activated Soft Fork<\/strong>\u00a0(a change of Bitcoin rules to repel the miners\u2019 attack) could be performed, although this would be\u00a0<strong>risky and probably unacceptable<\/strong>. Another possible interpretation is that since<strong>\u00a0a majority of miners are malicious<\/strong>, a\u00a0<strong>change in the\u00a0<a href=\"https:\/\/www.bitnovo.com\/blog\/en\/what-is-proof-of-work-the-bitcoin-consensus-protocol\/\">mining protocol<\/a><\/strong>\u00a0could be resorted to in order\u00a0<strong>to drive the miners out<\/strong>, rendering their\u00a0<a href=\"https:\/\/www.bitnovo.com\/blog\/en\/how-to-mine-bitcoin\/\">mining machines<\/a>\u00a0obsolete. Under threat from the community, the miners would be honest.<\/p>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<h3><span class=\"ez-toc-section\" id=\"reflections\"><\/span><strong>Reflections<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"is-divider divider clearfix\"><\/div>\n<p>For all these reasons, drivechains are very<strong>\u00a0controversial<\/strong>\u00a0and it does not seem clear that the<strong>\u00a0price mechanism<\/strong>\u00a0itself is sufficient.<\/p>\n<p>&nbsp;<\/p>\n<p>However, Paul Sztorc argues that<strong>\u00a0a\u00a0<a href=\"https:\/\/www.bitnovo.com\/blog\/en\/what-is-a-51-blockchain-attack\/\">majority of miners<\/a>\u00a0can steal today<\/strong>, and yet it doesn\u2019t happen. Miners could\u00a0<strong>double spend<\/strong>, they could freeze user funds (<strong>censoring transactions<\/strong>) until users pay<strong>\u00a0large fees<\/strong>\u00a0and even\u00a0<strong>steal money from\u00a0<a href=\"https:\/\/www.bitnovo.com\/blog\/en\/what-is-the-lightning-network\/\">Lightning Network<\/a><\/strong>\u00a0(censoring the penalty transaction).<\/p>\n<p>&nbsp;<\/p>\n<p>All this is\u00a0<strong>theoretically possible<\/strong>\u00a0in Bitcoin. However miners do not want to\u00a0<strong>destroy their reputation and business<\/strong>, so they are honest. With this in mind, it does not seem that drivechains are\u00a0<strong>any different<\/strong>. Moreover, in the aforementioned attacks there is not\u00a0<strong>enough time to react<\/strong>\u00a0as a community, as there is in drivechains.<\/p>\n<p>&nbsp;<\/p>\n<p>This is one of the reasons why I personally prefer the BIP 300. Far from being perfect, it seems to be the<strong>\u00a0least bad solution<\/strong>\u00a0we have and will have for years to come. But realistically it is highly<strong>\u00a0unlikely<\/strong>\u00a0to end up\u00a0<strong>in Bitcoin<\/strong>, at least in the short term.<\/p>\n<p>&nbsp;<\/p>\n<p>In any case, let\u2019s hope that the community will continue with this unquenchable thirst to improve Bitcoin and we can continue to bring more proposals under discussion!<\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tiempo de lectura:<\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>In previous articles we have talked about two possible upcoming\u00a0Bitcoin upgrades, following the already confirmed\u00a0Taproot\u00a0upgrade. These are\u00a0BIP 118\u00a0and\u00a0119\u00a0(recall that all proposals are formalized in\u00a0Bitcoin Improvement Proposals). Both improvements are important, though very uncontroversial and perhaps \u201cboring\u201d. But BIP 300 is different. &nbsp; In this article we will explore the proposed\u00a0BIP 300, a much more controversial, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":7700,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-10579","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-criptomonedas"],"_links":{"self":[{"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/posts\/10579","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/comments?post=10579"}],"version-history":[{"count":0,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/posts\/10579\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/media\/7700"}],"wp:attachment":[{"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/media?parent=10579"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/categories?post=10579"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/tags?post=10579"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}