---
title: "Reentrancy Attack Risks in BIP-110 Signaling Phase"
description: "Explore the impact of reentrancy vulnerability amid BIP-110's signaling phase and learn how smart contract security adapts. Stay informed and protect your"
author: "Constantine Manko"
date: 2026-08-09
lang: en
keywords: "Smart Contract Security, Bitcoin Improvement Proposals, Reentrancy Vulnerability, Blockchain Security"
canonical_url: "https://soken.dev/blog-reentrancy-attack-risks-in-bip-110-signaling-phase.html"
category: technical
---

## BIP-110 Mandatory Signaling Initiated with Insufficient Miner Support

Bitcoin Improvement Proposal 110 entered its mandatory-signaling phase beginning at block 961,632. During this phase, nodes enforcing BIP-110 began rejecting blocks that did not set version bit 4. However, miner support for BIP-110 remains well below the required activation threshold; miners signaled support in only 2.53% of the 2,016 blocks preceding the current window, far short of the 55% required for its early activation. This low adoption rate has led to a minority BIP-110 chain emerging temporarily but quickly falling behind the dominant Bitcoin chain.

BIP-110 proposes temporary limitations on Bitcoin data payload sizes and transaction outputs to discourage non-monetary data inscriptions that increase node resource costs. Despite mandatory signaling enforcement beginning at block 961,632, the proposal’s transaction restrictions are not set to take effect until block 965,664, pending sufficient miner consensus.

## BIP-110’s Technical Restrictions and Their Implications on Data Capacity

BIP-110 seeks to impose specific limits on the size and types of data allowed in Bitcoin transactions, focusing primarily on controlling non-transactional data growth. It proposes limiting most new output scripts to 34 bytes, capping OP_RETURN outputs at 83 bytes, and restricting certain data pushes and witness elements to 256 bytes.

```solidity
// Hypothetical Solidity-like pseudocode illustrating a similar size check
function validateOutputScriptSize(bytes memory outputScript) internal pure returns (bool) {
    // Enforce 34 bytes max for most new scripts
    if (outputScript.length > 34) {
        revert("Output script size exceeds 34 bytes limit");
    }
    return true;
}

function validateOpReturnSize(bytes memory opReturnData) internal pure returns (bool) {
    // Enforce OP_RETURN data to be no more than 83 bytes
    if (opReturnData.length > 83) {
        revert("OP_RETURN data exceeds 83 bytes limit");
    }
    return true;
}
```

These restrictions are primarily motivated by concerns over blockchain bloat caused by inscriptions and other non-monetary data, which heighten storage and bandwidth demands on full node operators. Notably, unspent transaction outputs (UTXOs) created before activation would be exempt from these new limits, reducing immediate disruption to existing Bitcoin users and smart contracts.

As these constraints aim to reduce the prevalence of data-heavy transactions, their adoption could materially affect the types of scripting and embedment practices developers currently use, potentially impacting certain NFTs or data-layer constructions relying on larger output sizes.

## Mining Support and Consensus Dynamics Underscored by BIP-110 Signaling Window

The signaling window for BIP-110 spans blocks 961,632 through 963,647 during which miners must signal readiness via version bit 4 to proceed toward activation. Compliance with signaling is critical since 55% miner support is the defined threshold for early activation and final enforcement.

| Parameter                  | Value                   | Notes                                                 |
|----------------------------|-------------------------|-------------------------------------------------------|
| Mandatory Signaling Start   | Block 961,632           | Nodes reject blocks not setting version bit 4         |
| Signaling Window End        | Block 963,647           | End of mandatory signaling period                      |
| Locked-in State Start       | Block 963,648           | Milestone for activation progress                      |
| Restrictions Enforcement    | Block 965,664           | Transaction size limits come into effect               |
| Miner Support Pre-Signal    | 2.53% (51 of 2,016 blocks) | Fell considerably short of the 55% threshold           |

Despite the enforcement rules for mandatory signaling being in place, the low miner participation rate—only around 2.53% of the prior blocks—indicates limited support and challenges to network-wide acceptance. Correspondingly, a minority BIP-110 branch appeared but was rapidly outpaced by the main chain, illustrating the difficulty of activating contentious changes without broad consensus.

## Contention and Criticism Surrounding BIP-110 within the Bitcoin Ecosystem

BIP-110 has attracted notable criticism from prominent figures in the Bitcoin community, including Strategy Executive Chairman Michael Saylor and Blockstream CEO Adam Back. Critics argue that the proposal risks fracturing the Bitcoin network by prompting nodes adopting BIP-110 to reject transactions lawful under existing rules, potentially resulting in chain splits.

This criticism underscores the delicate balance between network upgrades seeking to enforce tighter restrictions for security or resource management and the imperative of maintaining consensus to avoid disruption. In this instance, BIP-110’s mandatory signaling and rejection of non-signaling blocks reflect an unusual scenario where enforcement mechanisms lead to a temporary minority chain that eventually cedes to majority support.

The debate reflects broader tensions in blockchain governance between developer-led improvements and miner willingness to adopt these changes, particularly when proposals limit transaction payloads and impose new validation rules.

## Fallback Contingencies and Development Status of BIP-110 Support Code

An ancillary development related to BIP-110 is the rebasing of fallback proof-of-work (PoW) change code by Bitcoin developer Chris Guida on August 1, based on preliminary work by Bitcoin Knots maintainer Luke Dashjr. This fallback PoW change is positioned as a contingency if miners oppose BIP-110 activation.

```solidity
// Illustrative Solidity pseudocode representing a simplified fallback mechanism
contract PoWFallback {
    bool public bip110Rejected;

    function checkPoWChange() external view returns(bool) {
        if (bip110Rejected) {
            // Activate fallback PoW rules
            return true;
        }
        return false;
    }
}
```

However, no activation date has been set for this fallback mechanism, signifying that it remains a developer-level precaution rather than an imminent feature. The co-existence of fallback scenarios reflects the complexity in planning for optional upgrades that face miner resistance.

---

> From a security perspective, BIP-110’s approach to limiting transaction data sizes aligns with best practices observed in smart contract development where minimizing attack surface and resource consumption is critical. In our experience at Soken, imposing strict data size constraints can mitigate risks such as reentrancy attacks that exploit oversized or unexpected payloads. While Bitcoin’s scripting environment differs markedly from Ethereum-style smart contracts, principles of limiting data complexity and enforcing consensus-driven validation rules remain pivotal.

## Comparison: BIP-110 Data Limits vs. Typical Smart Contract Data Constraints

| Feature                    | BIP-110 Limitations                      | Typical Smart Contract Practices          |
|----------------------------|-----------------------------------------|-------------------------------------------|
| Script/Output Size         | Max 34 bytes for new output scripts    | Varies; contracts often limit calldata size for gas efficiency |
| OP_RETURN Data Size        | Max 83 bytes                           | Generally no direct analog, but events/logs size often controlled  |
| Data Pushes/Witness Size   | Max 256 bytes                         | Smart contracts limit array/string inputs to prevent gas exhaustion |
| Pre-Activation Exemptions | UTXOs created before activation exempt | Legacy contracts retain state; upgrades affect new deployments only |
| Enforcement Mechanism     | Hard node-level block rejection         | Contract-level revert on violation          |

The clear emphasis within BIP-110 on minimizing non-essential data reflects an analogous philosophy to smart contract security that seeks to reduce potential vectors for misuse or resource exhaustion.

## Security Reflections on Reentrancy and Data Size Limits in Blockchain Protocols

While BIP-110 does not directly address classical reentrancy vulnerabilities—typical for programmable smart contracts—its data restrictions contribute indirectly to security hygiene by reducing the complexity and size of transaction scripts. In complex stateful smart contracts, reentrancy attacks involve an adversarial contract calling back into a function before state updates complete, often exploiting multiple state changes in a single transaction.

```solidity
// Simplified vulnerable reentrancy pattern
contract VulnerableContract {
    mapping(address => uint256) public balances;

    function withdraw(uint256 amount) external {
        require(balances[msg.sender] >= amount, "Insufficient balance");

        (bool success, ) = msg.sender.call{value: amount}("");
        require(success, "Failed to send Ether");

        balances[msg.sender] -= amount; // State update after external call – vulnerable
    }
}
```

Implementing strict data limitations, similar to BIP-110’s restrictions, can moderate the potential for complex, data-intensive attacks by simplifying validation and reducing attack surface even in highly programmable environments.

```solidity
// Secure pattern: updating state before call
function withdraw(uint256 amount) external {
    require(balances[msg.sender] >= amount, "Insufficient balance");

    balances[msg.sender] -= amount; // State update before external call

    (bool success, ) = msg.sender.call{value: amount}("");
    require(success, "Failed to send Ether");
}
```

The analogy here highlights how limiting data complexity and enforcing early state changes are foundational to combatting reentrancy and related logic vulnerabilities in smart contracts, a principle that BIP-110’s restrictions support on the Bitcoin protocol level.

---

Navigating the activation of BIP-110 illustrates the complex interplay of technical change, miner consensus, and community acceptance in major blockchain protocols. Observing its progress through mandatory signaling and negligible miner support underscores the importance of broad participation for consensus-critical changes. The proposal’s data size limitations emphasize ongoing concerns on blockchain sustainability and node resource overhead, a theme resonant in smart contract security and design.

For developers and protocol architects, understanding the practical impacts of such data restrictions can guide smart contract design patterns to align with network constraints while preemptively mitigating risks like reentrancy vulnerabilities. Exploring these dynamics through Soken’s detailed audits and security reviews can reveal subtle dependencies and encourage robust, future-proof development strategies on Bitcoin and beyond.

Organizations integrating upgrades or developing contracts atop Bitcoin’s evolving protocol will benefit from periodic reassessment of compliance rules such as BIP-110, considering both their resource implications and consensus viability. Keeping abreast of fallback contingency developments also ensures preparedness for alternative network states that may emerge from upgrade disputes.

This case further validates the vital role of comprehensive smart contract security analyses, where even Bitcoin’s relatively static scripting environment must be scrutinized alongside emerging upgrade proposals. Leveraging Soken’s cross-protocol expertise can illuminate nuanced threat surfaces and consensus nuances, assisting projects in designing secure, interoperable blockchain applications that anticipate protocol and miner-driven network changes.

## Frequently Asked Questions

### What is a reentrancy attack in blockchain?

A reentrancy attack exploits a smart contract vulnerability allowing malicious calls to recursively invoke functions before previous executions complete, potentially causing unauthorized fund withdrawals or state manipulation.

### How does BIP-110 affect reentrancy vulnerabilities?

BIP-110 limits data payload sizes and transaction outputs, which indirectly reduces complex transactions that could be exploited by reentrancy attacks, enhancing overall smart contract security within Bitcoin.

### Why is miner support crucial for BIP-110 activation?

BIP-110 requires at least 55% miner signaling to activate its transaction restrictions; without sufficient support, vulnerable transaction patterns, including those facilitating reentrancy attacks, remain possible.

### How can developers protect against reentrancy vulnerabilities?

Developers should apply checks-effects-interactions patterns, use mutex locks, and leverage audit tools to identify and mitigate potential reentrancy flaws in smart contracts.

### What impact does BIP-110's low miner support have on Bitcoin security?

Low miner support delays BIP-110 activation, prolonging exposure to transaction-based vulnerabilities such as reentrancy attacks, and may lead to chain splits affecting network reliability.
