Reentrancy-Risiken in BIP-110 Signalisierungsphase

Article author

BIP-110 Pflichtsignalisation gestartet bei unzureichender Miner-Unterstützung

Bitcoin Improvement Proposal 110 trat mit Block 961.632 in seine Phase der Pflichtsignalisation ein. In dieser Phase begannen Nodes, die BIP-110 durchsetzen, Blöcke abzulehnen, welche das Versionsbit 4 nicht setzen. Die Miner-Unterstützung für BIP-110 liegt jedoch weiterhin deutlich unter der erforderlichen Aktivierungsschwelle; Miner signalisierten Unterstützung in nur 2,53 % der 2.016 Blöcke vor dem aktuellen Fenster, weit entfernt von den für eine frühe Aktivierung nötigen 55 %. Diese geringe Akzeptanz führte dazu, dass vorübergehend eine Minderheits-BIP-110-Kette entstand, die jedoch schnell von der dominanten Bitcoin-Kette überholt wurde.

BIP-110 schlägt temporäre Einschränkungen der Daten-Payload-Größen und Transaktionsausgänge vor, um nicht-monetäre Dateneinbettungen, die den Ressourcenbedarf von Nodes erhöhen, zu reduzieren. Obwohl die Pflichtsignalisation mit Block 961.632 begann, sollen die Transaktionsbeschränkungen erst mit Block 965.664 in Kraft treten, vorbehaltlich ausreichenden Miner-Konsenses.

Technische Beschränkungen von BIP-110 und ihre Auswirkungen auf die Datenkapazität

BIP-110 zielt darauf ab, spezifische Limits für Größe und Typen von in Bitcoin-Transaktionen erlaubten Daten durchzusetzen, wobei der Fokus hauptsächlich auf der Kontrolle des Wachstums nicht-transaktionaler Daten liegt. Vorgeschlagen wird, dass die meisten neuen Ausgabeskripte auf 34 Bytes begrenzt werden, OP_RETURN-Ausgaben maximal 83 Bytes enthalten dürfen und bestimmte Daten-Pushes sowie Witness-Elemente auf 256 Bytes limitiert sind.

// Hypothetischer pseudocode in Solidity-ähnlichem Stil zur Illustration einer ähnlichen Größenprüfung
function validateOutputScriptSize(bytes memory outputScript) internal pure returns (bool) {
    // Maximal 34 Bytes für die meisten neuen Skripte erzwingen
    if (outputScript.length > 34) {
        revert("Output script size exceeds 34 bytes limit");
    }
    return true;
}

function validateOpReturnSize(bytes memory opReturnData) internal pure returns (bool) {
    // OP_RETURN-Daten dürfen 83 Bytes nicht überschreiten
    if (opReturnData.length > 83) {
        revert("OP_RETURN data exceeds 83 bytes limit");
    }
    return true;
}

Diese Einschränkungen basieren hauptsächlich auf der Sorge um Blockchain-Aufblähung durch Inschriften und andere nicht-monetäre Daten, die Speicher- und Bandbreitenanforderungen für Full Nodes stark erhöhen. Erwähnenswert ist, dass ungenutzte Transaktionsausgänge (UTXOs), die vor der Aktivierung erstellt wurden, von diesen neuen Limits ausgenommen sind, um sofortige Störungen für bestehende Bitcoin-Nutzer und Smart Contracts zu minimieren.

Da diese Beschränkungen darauf abzielen, datenschwere Transaktionen zu reduzieren, könnten sie die Art von Skripting- und Einbettungstechniken, die Entwickler derzeit verwenden, erheblich beeinflussen – was potenziell bestimmte NFTs oder datenbasierte Schichten betrifft, die auf größere Ausgabengrößen angewiesen sind.

Unterstützung beim Mining und Konsensdynamiken im BIP-110 Signalisierungsfenster

Das Signalisierungsfenster für BIP-110 umfasst die Blöcke 961.632 bis 963.647, innerhalb derer Miner ihre Bereitschaft mittels Versionsbit 4 signalisieren müssen, um auf die Aktivierung hinzuarbeiten. Die Einhaltung der Signalisation ist entscheidend, da eine Miner-Unterstützung von 55 % die definierte Schwelle für eine frühe Aktivierung und endgültige Durchsetzung ist.

Parameter Wert Anmerkungen
Beginn Pflichtsignalisation Block 961.632 Nodes lehnen Blöcke ab, die Versionsbit 4 nicht setzen
Ende Signalisierungsfenster Block 963.647 Ende der Pflichtsignalperiode
Beginn Locked-in-Zustand Block 963.648 Meilenstein zur Aktivierungsprogression
Durchsetzung der Beschränkungen Block 965.664 Transaktionsgrößenbeschränkungen treten in Kraft
Miner-Support vor Signalisierung 2,53 % (51 von 2.016 Blöcken) Deutlich unter der 55 %-Schwelle

Trotz der bestehenden Pflichtsignal-Regeln zeigt die geringe Miner-Teilnahme von nur ca. 2,53 % der vorherigen Blöcke eine begrenzte Unterstützung und Herausforderungen für eine netzwerkweite Akzeptanz. Entsprechend tauchte eine Minderheits-BIP-110-Kette auf, wurde jedoch schnell von der Hauptkette überholt, was die Schwierigkeit verdeutlicht, umstrittene Änderungen ohne breite Zustimmung zu aktivieren.

Kontroversen und Kritik an BIP-110 innerhalb des Bitcoin-Ökosystems

BIP-110 stieß auf erhebliche Kritik prominenter Figuren der Bitcoin-Community, darunter der Strategy Executive Chairman Michael Saylor und Blockstream-CEO Adam Back. Kritiker argumentieren, dass der Vorschlag das Risiko birgt, das Bitcoin-Netzwerk zu spalten, da Nodes, die BIP-110 übernehmen, Transaktionen ablehnen könnten, die nach den bestehenden Regeln zulässig sind, was zu Kettensplits führen kann.

Diese Kritik hebt die sensible Balance hervor zwischen Netzwerkupgrades, die strengere Einschränkungen zum Schutz der Sicherheit oder Ressourcenverwaltung durchsetzen wollen, und dem Erfordernis, Konsens zur Vermeidung von Unterbrechungen sicherzustellen. In diesem Fall spiegeln BIP-110s Pflichtsignalisation und die Ablehnung von nicht signalisierten Blöcken ein ungewöhnliches Szenario wider, in dem Mechanismen der Durchsetzung zu einer vorübergehenden Minderheitskette führen, die schließlich der Mehrheit weicht.

Die Diskussion reflektiert breitere Spannungen in der Blockchain-Governance zwischen entwicklergetriebenen Verbesserungen und der Bereitschaft der Miner, diese Änderungen zu übernehmen – insbesondere wenn Vorschläge Transaktionspayloads limitieren und neue Validierungsregeln auferlegen.

Fallback-Notfallpläne und Entwicklungsstand des BIP-110 Unterstützungs-Codes

Eine begleitende Entwicklung zu BIP-110 ist die Neuaufsetzung von Fallback-Proof-of-Work-(PoW)-Änderungscode durch den Bitcoin-Entwickler Chris Guida am 1. August, basierend auf Vorarbeiten des Bitcoin Knots Maintainers Luke Dashjr. Diese Fallback-PoW-Änderung dient als Absicherung, falls Miner sich gegen die BIP-110-Aktivierung stellen.

// Beispielhafter Solidity-Pseudocode, der einen vereinfachten Fallback-Mechanismus darstellt
contract PoWFallback {
    bool public bip110Rejected;

    function checkPoWChange() external view returns(bool) {
        if (bip110Rejected) {
            // Fallback-PoW-Regeln aktivieren
            return true;
        }
        return false;
    }
}

Ein Aktivierungsdatum für diesen Fallback-Mechanismus wurde jedoch noch nicht festgelegt, was bedeutet, dass es eine vorsorgliche Maßnahme auf Entwicklerebene ist und kein unmittelbar bevorstehendes Feature. Das Nebeneinander von Fallback-Szenarien zeigt die Komplexität bei der Planung optionaler Upgrades, die auf Widerstand von Minern stoßen.


Aus Sicherheitssicht entspricht BIP-110s Ansatz zur Beschränkung der Transaktionsdatengrößen bewährten Praktiken in der Smart-Contract-Entwicklung, bei denen die Minimierung der Angriffsfläche und des Ressourcenverbrauchs entscheidend ist. Nach unserer Erfahrung bei Soken kann die Durchsetzung strenger Datenbeschränkungen Risiken wie Reentrancy-Angriffe, die übergroße oder unerwartete Nutzlasten ausnutzen, deutlich reduzieren. Obwohl Bitcoins Skripting-Umgebung sich stark von Ethereum-ähnlichen Smart Contracts unterscheidet, bleiben Prinzipien wie die Begrenzung der Datenkomplexität und die konsequente Validierung durch Konsensmechanismen essentiell.

Vergleich: BIP-110 Datenlimits vs. typische Smart Contract Datenbeschränkungen

Merkmal BIP-110 Beschränkungen Übliche Smart Contract Praktiken
Skript-/Ausgabengröße Maximal 34 Bytes für neue Ausgabeskripte Variiert; Verträge begrenzen oft Calldata-Größe zur Gaseffizienz
OP_RETURN Datengröße Maximal 83 Bytes Kein direktes Äquivalent, Events/Logs werden oft in ihrer Größe kontrolliert
Daten-Pushes/Witness-Größe Maximal 256 Bytes Smart Contracts begrenzen Array-/String-Eingaben zur Vermeidung von Gaserschöpfung
Vor-Aktivierungs-Ausnahmen UTXOs vor Aktivierung sind ausgenommen Legacy-Verträge behalten Status; Upgrades betreffen nur neue Deployments
Durchsetzungsmechanismus Harte Node-Level Block-Ablehnung Vertragsebene mit Revert bei Verletzung

Die eindeutige Fokussierung innerhalb von BIP-110 auf die Minimierung nicht-notwendiger Daten spiegelt eine ähnliche Philosophie wider wie die Smart Contract Security, welche darauf abzielt, potenzielle Vektoren für Missbrauch oder Ressourcenüberlastung zu verringern.

Sicherheitserwägungen zu Reentrancy und Datenlimitierungen in Blockchain-Protokollen

Während BIP-110 klassische Reentrancy-Schwachstellen – typisch für programmierbare Smart Contracts – nicht direkt adressiert, tragen die Datenbeschränkungen indirekt zur Sicherheits-Hygiene bei, indem sie die Komplexität und Größe von Transaktionsskripten reduzieren. In komplexen zustandsbehafteten Smart Contracts beinhalten Reentrancy-Angriffe, dass ein feindlicher Vertrag während einer laufenden Funktionalität erneut auf diese zurückruft, bevor Statusänderungen abgeschlossen sind, häufig ausnutzend, dass mehrere Statusveränderungen in einer einzigen Transaktion stattfinden.

// Vereinfachtes Beispiel eines anfälligen Reentrancy-Musters
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; // Statusänderung erfolgt nach externem Aufruf – anfällig
    }
}

Die Einführung strikter Datenbeschränkungen, ähnlich den von BIP-110 vorgeschlagenen Limits, kann die Potenziale für komplexe, datenintensive Angriffe abmildern, indem die Validierung vereinfacht und die Angriffsfläche selbst in hochgradig programmierbaren Umgebungen reduziert wird.

// Sichere Variante: Status-Update vor externem Aufruf
function withdraw(uint256 amount) external {
    require(balances[msg.sender] >= amount, "Insufficient balance");

    balances[msg.sender] -= amount; // Statusänderung vor externem Aufruf

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

Die Analogie verdeutlicht, wie die Begrenzung der Datenkomplexität und die konsequente frühzeitige Statusänderung Grundlagen für die Abwehr von Reentrancy- und verwandten Logik-Schwachstellen in Smart Contracts sind – ein Prinzip, das BIP-110s Beschränkungen auf Protokollebene des Bitcoin unterstützt.


Die Auseinandersetzung mit der Aktivierung von BIP-110 illustriert das komplexe Zusammenspiel aus technischer Veränderung, Miner-Konsens und Community-Akzeptanz in großen Blockchain-Protokollen. Die Beobachtung der Entwicklung durch Pflichtsignalisation und vernachlässigbare Miner-Unterstützung unterstreicht die Bedeutung breiter Beteiligung für konsenskritische Änderungen. Die Datenbegrenzungen des Vorschlags spiegeln anhaltende Bedenken hinsichtlich der Nachhaltigkeit von Blockchains und des Ressourcenaufwands für Nodes wider – ein Thema, das auch in Smart Contract Security und -Design häufig diskutiert wird.

Für Entwickler und Protokollarchitekten ermöglicht das Verständnis der praktischen Auswirkungen solcher Datenlimitierungen die Orientierung von Smart Contract-Designmustern im Einklang mit Netzwerkbeschränkungen, während präventiv Risiken wie Reentrancy-Angriffe gemindert werden. Die Untersuchung dieser Dynamiken durch Sokens detaillierte Audits und Sicherheitsbewertungen fördert das Erkennen subtiler Abhängigkeiten und unterstützt robuste, zukunftssichere Entwicklungsstrategien auf Bitcoin und darüber hinaus.

Organisationen, die Upgrades integrieren oder Contracts auf dem sich entwickelnden Bitcoin-Protokoll erstellen, profitieren von einer regelmäßigen Neubewertung der Compliance-Regeln wie BIP-110, wobei sowohl Ressourcenimplikationen als auch Konsensfähigkeit berücksichtigt werden sollten. Die Verfolgung von Fallback-Entwicklungen gewährleistet zudem die Bereitschaft gegenüber alternativen Netzwerkzuständen, die aus Upgrade-Streitigkeiten resultieren können.

Dieser Fall bekräftigt zudem die zentrale Rolle umfassender Smart Contract-Sicherheitsanalysen – selbst bei Bitcoins relativ statischer Skripting-Umgebung, die unverzichtbar neben neuen Upgrade-Vorschlägen geprüft werden muss. Die Nutzung von Sokens plattformübergreifender Expertise kann nuancierte Bedrohungsflächen und Konsensdynamiken aufzeigen und Projekte bei der Gestaltung sicherer, interoperabler Blockchain-Anwendungen unterstützen, die Protokoll- und miner-getriebene Netzwerksveränderungen antizipieren.

Jetzt mit Soken Ihre Smart Contract Sicherheit stärken

Profitieren Sie von tiefgehenden Audits und fundierten Sicherheitseinblicken, damit Ihr Projekt auch unter sich wandelnden Protokollbedingungen widerstandsfähig bleibt.

Mehr erfahren und Kontakt aufnehmen

Article author

Häufig gestellte Fragen

Was ist ein Reentrancy-Angriff in Blockchain?

Ein Reentrancy-Angriff nutzt eine Schwäche in Smart Contracts, bei der bösartige Aufrufe Funktionen rekursiv ausführen, bevor vorherige beendet sind. Dies kann unerlaubte Mittelabhebungen oder Manipulation des Zustands ermöglichen.

Wie beeinflusst BIP-110 Reentrancy-Schwachstellen?

BIP-110 begrenzt Datenpayload-Größen und Transaktionsausgaben, wodurch komplexe Transaktionen reduziert werden, die Reentrancy-Angriffe ermöglichen könnten. Dies stärkt die Smart Contract Security im Bitcoin-Netzwerk.

Warum ist Miner-Unterstützung für BIP-110 wichtig?

Für die Aktivierung von BIP-110 sind mindestens 55 % Miner-Signalisierungen nötig, um Transaktionsbeschränkungen durchzusetzen. Ohne ausreichende Unterstützung bleiben verwundbare Transaktionsmuster möglich.

Wie können Entwickler Reentrancy-Schwachstellen verhindern?

Entwickler sollten das Checks-Effects-Interactions-Muster anwenden, Mutex-Locks nutzen und Auditing-Tools einsetzen, um potenzielle Reentrancy-Lücken in Smart Contracts zu erkennen und zu schließen.

Welchen Einfluss hat geringe Miner-Unterstützung bei BIP-110 auf Bitcoin-Sicherheit?

Geringe Miner-Unterstützung verzögert die Aktivierung von BIP-110, verlängert die Anfälligkeit für Transaktionsschwachstellen wie Reentrancy-Angriffe und kann zu Chain Splits führen, die die Netzwerkkonsistenz gefährden.

Chat