This website uses cookies
We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners who may combine it with other information that you’ve provided to them or that they’ve collected from your use of their services.
Consent Selection
Details
  • Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

    • Learn more about this provideropens in a new window
      CookieConsentStores the user's cookie consent state for the current domain
      Maximum Storage Duration: 1 yearType: HTTP Cookie
    • Learn more about this provideropens in a new window
      bcookieUsed in order to detect spam and improve the website's security.
      Maximum Storage Duration: 1 yearType: HTTP Cookie
      li_gcStores the user's cookie consent state for the current domain
      Maximum Storage Duration: 180 daysType: HTTP Cookie
    • Learn more about this provideropens in a new window
      datadomeUsed in context with the website's BotManager. The BotManager detects, categorizes and compiles reports on potential bots trying to access the website.
      Maximum Storage Duration: 1 yearType: HTTP Cookie
    • _pk_testcookie_domainThis cookie determines whether the browser accepts cookies.
      Maximum Storage Duration: 1 dayType: HTTP Cookie
    • __cf_bm [x3]This cookie is used to distinguish between humans and bots. This is beneficial for the website, in order to make valid reports on the use of their website.
      Maximum Storage Duration: 1 dayType: HTTP Cookie
  • Preference cookies enable a website to remember information that changes the way the website behaves or looks, like your preferred language or the region that you are in.
    • Learn more about this provideropens in a new window
      lidcRegisters which server-cluster is serving the visitor. This is used in context with load balancing, in order to optimize user experience.
      Maximum Storage Duration: 1 dayType: HTTP Cookie
  • Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.
    • Learn more about this provideropens in a new window
      guestRegisters data on visitors' website-behaviour. This is used for internal analysis and website optimization.
      Maximum Storage Duration: 1 monthType: HTTP Cookie
    • Learn more about this provideropens in a new window
      personalization_idThis cookie is set by Twitter - The cookie allows the visitor to share content from the website onto their Twitter profile.
      Maximum Storage Duration: 400 daysType: HTTP Cookie
    • _pk_uidUsed by Piwik Analytics Platform to identify the visitor on repeat visits to the website.
      Maximum Storage Duration: 1 yearType: HTTP Cookie
      _pk_id#Collects statistics on the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been read.
      Maximum Storage Duration: 1 yearType: HTTP Cookie
      _pk_ses#Used by Piwik Analytics Platform to track page requests from the visitor during the session.
      Maximum Storage Duration: 1 dayType: HTTP Cookie
    • FPGSIDRegisters statistical data on users' behaviour on the website. Used for internal analytics by the website operator.
      Maximum Storage Duration: 1 dayType: HTTP Cookie
      FPIDRegisters statistical data on users' behaviour on the website. Used for internal analytics by the website operator.
      Maximum Storage Duration: 400 daysType: HTTP Cookie
      FPLCRegisters a unique ID that is used to generate statistical data on how the visitor uses the website.
      Maximum Storage Duration: 1 dayType: HTTP Cookie
    • _gaRegisters a unique ID that is used to generate statistical data on how the visitor uses the website.
      Maximum Storage Duration: 2 yearsType: HTTP Cookie
      _ga_#Used by Google Analytics to collect data on the number of times a user has visited the website as well as dates for the first and most recent visit.
      Maximum Storage Duration: 2 yearsType: HTTP Cookie
  • Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.
    • Learn more about this provideropens in a new window

      Some of the data collected by this provider is for the purposes of personalization and measuring advertising effectiveness. The provider may use the IP Addresses for ads measurement and ads personalization.

      ads/ga-audiencesUsed by Google AdWords to re-engage visitors that are likely to convert to customers based on the visitor's online behaviour across websites.
      Maximum Storage Duration: SessionType: Pixel Tracker
    • Learn more about this provideropens in a new window
      userRefererDetermines how the user accessed the website. This information is used by the website operator in order to measure the efficiency of their marketing.
      Maximum Storage Duration: 1 monthType: HTTP Cookie
    • Learn more about this provideropens in a new window
      #:session-dataTracks the individual sessions on the website, allowing the website to compile statistical data from multiple visits. This data can also be used to create leads for marketing purposes.
      Maximum Storage Duration: PersistentType: HTML Local Storage
      eng_mtTracks the conversion rate between the user and the advertisement banners on the website - This serves to optimise the relevance of the advertisements on the website.
      Maximum Storage Duration: PersistentType: HTML Local Storage
      t_gidThis cookie assigns a specific visitor ID, when the visitor interacts with ads or content from the website - this allows the website to target the visitor with similar ads or content.
      Maximum Storage Duration: 1 yearType: HTTP Cookie
      t_pt_gidCollects information on user preferences and/or interaction with web-campaign content - This is used on CRM-campaign-platform used by website owners for promoting events or products.
      Maximum Storage Duration: 1 yearType: HTTP Cookie
      taboola global:user-idSets a unique ID for the visitor, that allows third party advertisers to target the visitor with relevant advertisement. This pairing service is provided by third party advertisement hubs, which facilitates real-time bidding for advertisers.
      Maximum Storage Duration: PersistentType: HTML Local Storage
      taboola_session_idThis cookie is used to collect information on a visitor. This information will become an ID string with information on a specific visitor – ID information strings can be used to target groups with similar preferences, or can be used by third-party domains or ad-exchanges.
      Maximum Storage Duration: SessionType: HTTP Cookie
    • Learn more about this provideropens in a new window
      1/i/adsct [x2]Collects data on user behaviour and interaction in order to optimize the website and make advertisement on the website more relevant.
      Maximum Storage Duration: SessionType: Pixel Tracker
      muc_adsCollects data on user behaviour and interaction in order to optimize the website and make advertisement on the website more relevant.
      Maximum Storage Duration: 400 daysType: HTTP Cookie
      guest_idCollects data related to the user's visits to the website, such as the number of visits, average time spent on the website and which pages have been loaded, with the purpose of personalising and improving the Twitter service.
      Maximum Storage Duration: 400 daysType: HTTP Cookie
      guest_id_adsCollects information on user behaviour on multiple websites. This information is used in order to optimize the relevance of advertisement on the website.
      Maximum Storage Duration: 400 daysType: HTTP Cookie
      guest_id_marketingCollects information on user behaviour on multiple websites. This information is used in order to optimize the relevance of advertisement on the website.
      Maximum Storage Duration: 400 daysType: HTTP Cookie
    • _gcl_auUsed by Google AdSense for experimenting with advertisement efficiency across websites using their services.
      Maximum Storage Duration: 3 monthsType: HTTP Cookie
      _gcl_lsTracks the conversion rate between the user and the advertisement banners on the website - This serves to optimise the relevance of the advertisements on the website.
      Maximum Storage Duration: PersistentType: HTML Local Storage
    • pardot [x2]Used in context with Account-Based-Marketing (ABM). The cookie registers data such as IP-addresses, time spent on the website and page requests for the visit. This is used for retargeting of multiple users rooting from the same IP-addresses. ABM usually facilitates B2B marketing purposes.
      Maximum Storage Duration: SessionType: HTTP Cookie
  • Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies.
    • cs_analytics_ip_blockedPending
      Maximum Storage Duration: SessionType: HTTP Cookie
      user_tokenPending
      Maximum Storage Duration: 1 yearType: HTTP Cookie
    • _twpidPending
      Maximum Storage Duration: SessionType: HTTP Cookie
Cookie declaration last updated on 8/20/26 by Cookiebot
[#IABV2_TITLE#]
[#IABV2_BODY_INTRO#]
[#IABV2_BODY_LEGITIMATE_INTEREST_INTRO#]
[#IABV2_BODY_PREFERENCE_INTRO#]
[#IABV2_BODY_PURPOSES_INTRO#]
[#IABV2_BODY_PURPOSES#]
[#IABV2_BODY_FEATURES_INTRO#]
[#IABV2_BODY_FEATURES#]
[#IABV2_BODY_PARTNERS_INTRO#]
[#IABV2_BODY_PARTNERS#]
About
Cookies are small text files that can be used by websites to make a user's experience more efficient.

The law states that we can store cookies on your device if they are strictly necessary for the operation of this site. For all other types of cookies we need your permission.

This site uses different types of cookies. Some cookies are placed by third party services that appear on our pages.

You can at any time change or withdraw your consent from the Cookie Declaration on our website.

Learn more about who we are, how you can contact us and how we process personal data in our Privacy Policy.

Please state your consent ID and date when you contact us regarding your consent.
Image Bitcoin is Decentralised

Bitcoin is Decentralised

Timer10 min read

  • Bitcoin

Key Points

  • Making changes to the Bitcoin software is trivial, however, if a modified version violates certain consensus rules, it will become incompatible and leave subscribing users to operate an alternative asset and transaction record.

  • Mining pools do not enjoy custodial controls over the hashrate produced by the miners they engage with. This, along with the economic interests of both miners and pools, diminish the practical threat of any pool(s) related attacks.

  • Measuring the distribution of wealth across bitcoin holders should consider, among other intricacies, that singular exchanges, custodians and ancillary networks represent many individual investors.

  • Effectively isolating a member of the Bitcoin network requires fully controlling each of its connections, as well as simulating valid network activity akin to the recognisable condition. These challenges are not practical.

  • If a change is made to the Bitcoin software, it does not necessarily mean that users will choose to update their software and enforce those changes. This is a meaningful difference that the report did not account for.

This document is intended to respond to the high profile report prepared by Trail of Bits in correspondence with the Defense Advanced Research Projects Agency (DARPA), provided for your consideration.

Unfortunately, the report is premised on several misconceptions about Bitcoin, which have previously been debunked or conflate network participants and their responsibilities. We have highlighted specific sections of text published in the report that we will address below.

1. “Every widely used blockchain has a privileged set of entities that can modify the semantics of the blockchain to potentially change past transactions”

This is a sharply incorrect and muddling claim. It is categorically trivial for anyone to modify the “semantics” of Bitcoin, this is inherent to being open-source software that is both publicly available and freely downloadable. In fact there is no shortage of instances where individuals have modified Bitcoin’s software in the process of creating alternative blockchain ecosystems (see here, here). However, to change such code and remain in consensus with the existing Bitcoin network on the same transaction record means that any and all changes to the codebase cannot violate specific rules (called consensus rules, viewable here or more human readable, here).

In the event those rules are violated, the users running the modified software will no longer be compatible with those running the canonical versions of Bitcoin. To be clear, this means users running the modified software will effectively be members of an entirely different network, abiding by a decidedly different transaction record, and exchanging a distinctly different digital asset.

Furthermore, the changing of past transactions would by definition create an alternative version of the blockchain which, in order to be valid according to the existing Bitcoin ruleset, would require (1) all altered transactions to be authored by the owner of the correct private keys as well as (2) all blocks to contain valid proofs of work.

Even in this most unlikely scenario, members of the existing Bitcoin network would, by explicit design, abide by the chain with the most accumulated proof of work (stacked over 740k blocks, currently). It cannot be understated how difficult this would be, requiring inexplicable amounts of time and investment to procure and operate specialised hardware and software, energy infrastructure, electricity and physical property, which could ultimately be a waste in the event the Bitcoin community changes its hashing algorithm, ostracises the attacker’s traffic, or physically harms their mining operations.

Therefore, in the event an entity, of any size or role, changes past transactions, their modified transaction history would almost certainly be in direct violation of Bitcoin’s software rules, and thus, the changed transactions will definitively be ignored by existing members of the Bitcoin network.

2. “Bitcoin’s Nakamoto coefficient is four, because taking control of the four largest mining pools would provide a hashrate sufficient to execute a 51% attack”

It is greatly misleading to sensationalise the top four mining pools having over 50% of network hashrate when it is the status quo throughout the history of Bitcoin — and its zero instances of the aforementioned 51% attack. In reality, the concentration of mining activity among pools has generally decreased throughout Bitcoin’s history, to the extent that today, the distribution of block creation among pools has never been more dispersed. A more careful look at the mining pool landscape (available here) would conclude a wide variety of players are involved with relatively high turnover, and an inconsistent ranking as to which pool has the largest market share.

In addition to historical precedent, such an attack is logistically unconvincing and squarely against the economic interest of mining pools.

The ownership of the machines providing work always remains with miners rather than being transferred to a pool. Meaning, the machines that actually produce the hashrate necessary to create new blocks are owned and operated by miners regardless of which pool they engage with. This limits the counterparty risk associated with pooled mining, and enables miners to verify which chain they are contributing to and whether or not they are breaking any of Bitcoin’s protocol rules.

The fully digital and independent nature of miners’ work also lowers the barriers to switch between pools, whose business remains fully dependent on miners’ successfully producing them new blocks. In reality, there is significant bargaining power on the side of miners, and the fact that both pools and miners receive bitcoin-denominated rewards generally aligns their incentive to support the network. Miners, having pre-purchased future bitcoin production via their specialised machinery can only hurt themselves by harming the bitcoin price, and pools, being a pure service provider in a highly relationship-driven industry would almost certainly destroy themselves if they harmed their clients’ interests.

Thus in the unlikely scenario a pool attempts to use miners’ hashrate to censor transactions or spend an invalid transaction, it would be alarmingly clear to the miners and incentivise them to redirect their hashrate to an alternative pool, which would trivially be the push of a few keys.

[the] ‘Nakamoto coefficient’ is not a precise measure of decentralisation, nor is it typically applied properly, as is the case here.

Lastly, it should be noted that the mentioned ‘Nakamoto coefficient’ is not a precise measure of decentralisation, nor is it typically applied properly, as is the case here. Curious readers should consider the cheapness of running a full node as a better proxy for decentralisation, best described by Paul Sztorc (here).

While we find many of the claims made in this report deceptive, this is perhaps the most reprehensible. It conflates the roles of Bitcoin network participants, and naively ignores a common critique about the power of mining pools that has been well documented since 2011.

3. “It is well known that Bitcoin is economically centralized: in 2020, 4.5% of Bitcoin holders controlled 85% of the currency”

While we disagree with this statement, we also find it is providing a distorted measure of wealth among bitcoin holders. The methodology used in measuring the supply distribution of bitcoin involves clustering addresses used as inputs in the same transaction to identify the balances of distinct entities. This unfortunately doesn’t take into account multisignature or CoinJoin transactions, as well as misleadingly considers exchanges and custodians as single Bitcoin holders, who in reality are service providers acting on behalf of many investors. Specific examples of entities that likely represent a broader set of bitcoin holders are Grayscale, Coinbase, and Bitgo. It may similarly be the case that those entering and exiting the Liquid and Lightning networks are also inappropriately represented when using multisignature techniques.

However, beyond citing a statistic that we find is likely flawed, the report also ceases to mention the economic concentration of alternatives to provide relative comparison. For example, the share of net worth held by the top 1% of individuals in each of the United States, China, and Russia is reportedly over 30%, and worse, the global average is just shy of 45%.


4. “Sybil attacks can also be used to execute an eclipse attack: the denial of service to specific nodes in order to gain influence. If one can cause nodes to have a sufficiently out-of-date or incorrect view of the network, this increases the probability of a blockchain fork: when two miners produce and broadcast valid but distinct blocks with the same parent block. The longer the fork’s branches become, the lower the percentage of the hashrate necessary for an attacker to execute a standard 51% attack.“

The statement above simplifies the ease of executing a highly complicated attack and misunderstands the nature of a network chain split.

In the reported scenario, a network participant is isolated from all honest peers but remains connected to at least one malicious peer. Without any connections to honest peers, the “eclipsed” node will not receive the latest blocks on the blockchain with the most accumulated proof of work, and thus begin to abide by an alternative — and “forked” — blockchain susceptible to the whims of the attacker.

However, the report indicates that the effect of this fork would lower the amount of hashrate necessary to execute a 51% attack, making the inappropriate assumption that hashrate must eventually diverge in the event of a fork. In reality, there is no automatic split to a miner’s hashrate in the event of a fork, nor will any general network node following an alternative blockchain directly affect where a miner’s hashrate is deployed.

the ownership of the machines providing hashrate always remains with miners, enabling them to verify which chain they are contributing to and whether or not they are breaking any of Bitcoin’s protocol rules.

As mentioned previously, the ownership of the machines providing hashrate always remains with miners, enabling them to verify which chain they are contributing to and whether or not they are breaking any of Bitcoin’s protocol rules. Thus, in the event general Bitcoin nodes begin to follow a fork, there is no guarantee a miner will make the conscious effort to migrate their hashrate and lower the amount necessary to execute a 51% attack on the canonical, unforked chain.

As profit-seeking businesses, miners are actually encouraged to work on the chain with the economic majority of nodes, who provide the greatest opportunity for transaction fee revenue. To encourage miners to migrate to the attacker’s chain, and thus decrease hashrate on the former, it may be necessary to eclipse over half the network of Bitcoin nodes and consistently relay the same misinformation of blocks and transactions from a fleet of intentionally positioned, malicious nodes. The attacker would then also need to operate enough hashing power to present blocks with valid proofs of work to be accepted by the isolated nodes, which, again, is an undoubtedly time consuming, expensive task with indeterminate results.

To convincingly isolate a member of Bitcoin’s network, the attacker must maliciously control each connection made by the node, successfully employ an amount of hashpower on the magnitude of the entire Bitcoin mining network

To be frank, when considering the challenges of eclipsing a network node, it becomes clear this attack is nothing more than an academic illusion. To convincingly isolate a member of Bitcoin’s network, the attacker must maliciously control each connection made by the node, successfully employ an amount of hashpower on the magnitude of the entire Bitcoin mining network, and simulate valid blocks and transactions according to the existing ownership of coins. It also may be necessary for the network member to passively run their targeted node, refraining from either conducting transactions with known entities or cross-checking their activity with credible block explorers.

Lastly, there are defences in place to protect against eclipse and general denial of service (DOS) attacks in the Bitcoin software itself (see here). The most glaring being that a Bitcoin node can whitelist one or many IP addresses to specifically connect with, which, assuming they connect to at least one honest peer, would fully mitigate the ability to execute an eclipse attack.

5. “Overt software changes can also modify the state of the blockchain. Therefore, the core developers and maintainers of blockchain software are a centralized point of trust in the system, susceptible to targeted attack.”

The report once again fails to recognise Bitcoin is an open-source software, which means the codebase exists in many different versions and is maintained by a group of loosely coordinated people. There is no centralised line of command, roadmap or specific targets in Bitcoin — the community of developers and users determine how the codebase evolves (for more on how upgrades occur, see here).

The most predominantly run version of Bitcoin, Bitcoin Core (referred to as the reference implementation), is maintained on Github by a set of nominated or appointed developers responsible for general moderation and addition of proposed contributions. However, in terms of structure, there are no specially privileged participants in Bitcoin development as anyone is welcome to contribute, test, and review its codebase.

In no way do the developers of Bitcoin Core have the ability to make overt software changes that would forcefully modify the state of the blockchain for anyone outside of themselves.

In no way do the developers of Bitcoin Core have the ability to make overt software changes that would forcefully modify the state of the blockchain for anyone outside of themselves. Users voluntarily abide by the rules of the software version of Bitcoin that they choose and may specifically forgo any changes the maintainers instantiate into Bitcoin Core by developing or downloading an alternative and compatible version.

It is also perhaps worth noting, as we did previously, that alternative versions of the Bitcoin blockchain will explicitly be invalidated by existing network participants unless all transactions are authored by the owner of the correct private keys and all blocks contain valid proofs of work. In such an instance when there are two competing chains, both of which are valid, the chain with the most accumulated proof of work will be accepted. The real-world and ongoing costs associated with fabricating an acceptable version of the Bitcoin blockchain, which are quickly and cheaply verifiable, have consequently provided an exorbitant barrier that has never been breached, to our knowledge.

Published onJul 8th, 2022

Writer
University of Texas graduate who pioneered the university's first Cryptocurrency Technologies course.

Welcome to CoinShares

Personal Data

0102

When you visit CoinShares website, cookies enhance your experience. They help us to show you more relevant content. Some cookies are necessary for the site to work and will always be active. Blocking some types of cookies may impact your experience of the website and the services which we offer on our website.

We use cookies on our site to optimize our services. Learn more about our EU cookie policy or US cookie policy.

  • Necessary
    Question circle icon
  • Preferences
    Question circle icon
  • Statistical
    Question circle icon
  • Marketing
    Question circle icon
Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.
Preference cookies enable a website to remember information that changes the way the website behaves or looks, like your preferred language or the region that you are in.
Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.
Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.