Bitcoin Core 0.10 Gives Developers Simplified Access to Network Consensus

Bitcoin Core 0.10.0 is released with key changes that address declining nodes, floating transaction fees and a consensus library.

AccessTimeIconFeb 17, 2015 at 8:55 p.m. UTC
Updated Aug 18, 2021 at 3:40 p.m. UTC

Presented By Icon

Election 2024 coverage presented by

Stand with crypto

The latest version of Bitcoin Core was released yesterday, with key changes that address the declining number of nodes, how transaction fees are set for the Bitcoin Core wallet and simplifying the process for developers to get involved with bitcoin projects.

It's perhaps the latter point that will have the biggest impact on how developers work with Bitcoin Core. The latest version of it includes a consensus library, which gives programmers easy access to the rules governing consensus on the bitcoin network, without having to run a full node.

  • Bitcoin Mining in the U.S. Will Become 'a Lot More Decentralized': Core Scientific CEO
    13:18
    Bitcoin Mining in the U.S. Will Become 'a Lot More Decentralized': Core Scientific CEO
  • Binance to Discontinue Its Nigerian Naira Services After Government Scrutiny
    05:10
    Binance to Discontinue Its Nigerian Naira Services After Government Scrutiny
  • The first video of the year 2024
    04:07
    The first video of the year 2024
  • The last regression video of the year 3.67.0
    40:07
    The last regression video of the year 3.67.0
  • "We're splitting it out into a standalone library that does absolutely nothing but validates data," said Peter Todd, a core contributor.

    Consensus library

    One developer who has been awaiting the consensus library's release is Tamas Blummer of Bits of Proof. Blummer said the library means that developers like him can create more secure wallets because it will ensure that all transactions are fully validated by the network.

    "If you are out of consensus with the majority – which can happen if you're not using the same rules – it means you might think that a bitcoin is there, but in reality it is no longer there. You might accept a transaction that the majority [of the network] doesn't accept," Blummer said.

    Put another way, if a developer isn't totally certain that a particular implementation of the consensus rules matches the majority of the network, it could result in disastrous errors, Todd pointed out. The core contributor went so far as to compare it to the challenges of designing flight avionics software:

    "It's a very complex thing [the code governing bitcoin consensus]. It's got a lot of code and it's just an incredible challenge. In flight avionics software, for example, if two planes don't have the exact same autopilot, that's okay. It doesn't matter if one turns 10 degrees less than the other – it's no big deal. But that's not the case in bitcoin."

    So-called "thin clients" currently rely on something called simplified payment verification (SPV). This means a client doesn't require a complete copy of the entire blockchain to verify a transaction.

    Instead, SPV allows the thin clients, which include wallets like Electrum, to verify transactions with help from some other source. In Electrum's case, the client checks transactions against blockchain information obtained by its own servers which do the heavy lifting.

    The risk that thin clients run is that the version of the blockchain received by the client is out of sync with the rest of the network.

    "[Clients using SPV] are not able to make the decision [to accept a transaction] entirely on its own [...] it's relying on the consensus of the network as represented by a miner," Blummer said.

    The consensus library now combines the benefits of thin clients like doing away with downloading the entire blockchain with the security of a full node. A developer can be confident that transactions to a wallet are in full agreement with the rest of the network.

    "The new consensus library enables us to build services that fully validate Bitcoin transactions, are guaranteed to remain in sync with the majority of the network and add new features not available in the core," Blummer said. "The library will spark pent-up innovation."

    Transaction fees

    The latest update to Bitcoin Core will also contain a new way for its wallet to deal with transaction fees. These "floating fees", as outlined by Bitcoin Foundation chief scientist Gavin Andresen, will give users of the Core wallet an estimate of how much in fees to pay in order to get quick confirmations.

    The updated Core does this by watching the network for confirmation times and fee estimates to find the sweet spot. One of the key benefits of the new system is shortening confirmation times for free, high-priority transactions, Andresen wrote in July.

    But the new fee system isn't going to cause sweeping changes in the bitcoin economy. For starters, the wallet's estimates are only a best guess based on historic transaction data. A spike in transactions, for example, would render the wallet's estimate inaccurate, Todd said.

    Mike Hearn, another core contributor, noted that the estimator could only suggest optimal fees, but it would have little effect on confirmation times if senders ignored the estimates.

    "Plenty of people are attaching much lower fees than the estimator is suggesting and things still work for them ... it seems like lots of market participants are sort of ignoring the issue right now. So it's unclear what will happen with fees now [that] 0.10 has launched," he said.

    Todd also pointed out that the new system would only kick in for Bitcoin Core wallets:

    "[The new system] doesn't affect other wallets, it doesn't affect how the network works. It's just local to a Bitcoin Core wallet."

    Headers-first syncing

    Another innocuous but important addition in the latest version is 'headers-first synchronisation', when a node first downloads parts of a block before proceeding to download the entire blockchain.

    This method speeds up communications between nodes and as a result may make running a full node a more attractive prospect even as there are fears over a declining number of nodes in operation, Todd observed.

    "It just makes things more convenient. The number of nodes has been dropping, unfortunately, over the long run, so this helps fight against that," he said.

    The last major Bitcoin Core release happened nearly a year ago, when version 0.9.0 was released on 18th March. The 0.9 series has had a number of stability and security fixes since its initial release, according to Cory Fields, another core contributor.

    Image via Shutterstock

    Disclosure

    Please note that our privacy policy, terms of use, cookies, and do not sell my personal information have been updated.

    CoinDesk is an award-winning media outlet that covers the cryptocurrency industry. Its journalists abide by a strict set of editorial policies. CoinDesk has adopted a set of principles aimed at ensuring the integrity, editorial independence and freedom from bias of its publications. CoinDesk is part of the Bullish group, which owns and invests in digital asset businesses and digital assets. CoinDesk employees, including journalists, may receive Bullish group equity-based compensation. Bullish was incubated by technology investor Block.one.


    Learn more about Consensus 2024, CoinDesk's longest-running and most influential event that brings together all sides of crypto, blockchain and Web3. Head to consensus.coindesk.com to register and buy your pass now.