← Neueste Arbeiten
💻 computer science

Decoupling Reentrancy Protection from Smart Contract Implementation Logic

Dieses Papier stellt Sentinel vor, ein neuartiges proxybasiertes Framework, das den Schutz vor Reentrancy von der Smart-Contract-Logik entkoppelt, um durch das Abfangen von Aufrufen auf der Proxy-Ebene mit einem Sicherheitsystem im Dual-Modus eine 100%ige Abdeckung gegen wesentliche Reentrancy-Angriffe, einschließlich read-only-Varianten, zu erreichen.

Ursprüngliche Autoren: Shashank Joshi, Wojciech Golab

Veröffentlicht 2026-05-26
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Shashank Joshi, Wojciech Golab

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Stellen Sie sich die Welt der Blockchain als eine geschäftige, hochriskante Bank vor, in der jeder seine eigenen Regeln für den Geldfluss aufstellen kann. Diese Regeln werden Smart Contracts genannt. Obwohl sie mächtig sind, besitzen sie eine bekannte Schwachstelle namens Reentrancy (Wiedereintritt).

Das Problem: Der "Doppel-Buchungs"-Überfall

Um das Problem zu verstehen, stellen Sie sich einen Bankangestellten (den Smart Contract) vor, der Folgendes tun soll:

  1. Ihren Kontostand prüfen.
  2. Ihnen Ihr Geld auszahlen.
  3. Dann das Hauptbuch aktualisieren, um zu zeigen, dass Sie null Dollar übrig haben.

In einer normalen Welt ist dies sicher. Doch in der Blockchain-Welt ist der "Angestellte" ein Roboter, der unterbrochen werden kann. Ein cleverer Dieb (der Angreifer) kann den Angestellten rufen, um Geld abzuheben. Bevor der Angestellte Schritt 3 (die Aktualisierung des Hauptbuchs) beendet, ruft der Roboter-Vertrag des Diebes den Angestellten noch einmal auf, um mehr Geld abzuheben.

Da das Hauptbuch noch nicht aktualisiert wurde, glaubt der Angestellte immer noch, dass der Dieb den vollen Betrag besitzt. Der Dieb kann diese Schleife innerhalb einer einzigen Sekunde Dutzende Male wiederholen und den Bankschalter leeren, bevor der Angestellte merkt, dass etwas nicht stimmt. Dies ist ein Reentrancy-Angriff.

Die alten Lösungen: Das "Bitte nicht stören"-Schild

Früher versuchten Entwickler, dieses Problem zu beheben, indem sie ein "Bitte nicht stören"-Schild (ein Schloss) auf den Schreibtisch des Angestellten klebten.

  • Der Fehler: Diese Schilder waren oft an bestimmte Schreibtische (spezifische Funktionen) geklebt. Wenn ein Dieb eine Hintertür (eine andere Funktion) fand, an der kein Schild hing, konnte er trotzdem hereinkommen.
  • Die Einschränkung: Wenn die Bank mehrere Filialen (mehrere Verträge) hatte, die miteinander sprachen, hinderte ein Schild an einer Filiale den Dieb nicht daran, zwischen den Filialen zu rennen und das System zu verwirren.
  • Der blinde Fleck: Diese Schilder blockierten auch legitime "Nur-zuschauen"-Anfragen (wie das Prüfen des Kontostands ohne Ausgabe), was die Bank langsam und umständlich machte.

Die neue Lösung: Sentinel (Der intelligente Türsteher)

Die Autoren dieses Papiers, Shashank Joshi und Wojciech Golab, schlagen ein neues System namens Sentinel vor. Anstatt den Schreibtisch des Angestellten zu flicken, bauen sie einen intelligenten Türsteher (einen Proxy), der am Eingang der Bank steht.

So funktioniert Sentinel, unter Verwendung einfacher Analogien:

1. Der Türsteher fängt jeden ab

Egal wer versucht, die Bank zu betreten oder was er tun möchte, er muss zuerst den Sentinel-Türsteher passieren. Der Türsteher kümmert sich nicht um die komplexen Regeln innerhalb der Bank; er konzentriert sich nur auf die Sicherheit. Das bedeutet, dass die internen Regeln der Bank (die Geschäftslogik) nicht neu geschrieben werden müssen, um sicher zu sein.

2. Zwei Betriebsmodi

Der Türsteher hat zwei verschiedene Uniformen oder "Modi", je nachdem, wie riskant die Situation ist:

  • Optimierter Modus (Der Ein-Schreibtisch-Wächter):
    Wenn die Bank klein ist und nur eine Filiale hat, verwendet der Türsteher ein einfaches, schnelles Schloss an der Tür. Es ist günstig und schnell. Wenn jemand versucht, sich einzuschleichen, während die Tür verschlossen ist, wird er sofort abgewiesen. Dies ist großartig für einfache Situationen mit einem einzigen Vertrag.

  • Hochsicherheits-Modus (Das globale Sicherheitsnetzwerk):
    Wenn die Bank Teil eines riesigen Netzwerks von Filialen ist, verbindet sich der Türsteher mit einer zentralen Sicherheitszentrale (genannt LockRegistry).

    • Stellen Sie sich vor, der Türsteher ruft die Zentrale an: "Ist Filiale A derzeit beschäftigt?"
    • Wenn die Zentrale "Ja" sagt, blockiert der Türsteher den Eintritt.
    • Dies verhindert, dass Diebe zwischen verschiedenen Filialen hin und her rennen, um das System zu täuschen. Es koordiniert die Sicherheit im gesamten Netzwerk, nicht nur in einem Raum.

3. Die "Nur-zuschauen"-Ausnahme

Eine knifflige Sache bei der Blockchain ist, dass Leute manchmal nur den Kontostand einsehen wollen, ohne Geld auszugeben (eine sogenannte staticcall).

  • Alte Schlösser würden diese Beobachter blockieren und Verzögerungen verursachen.
  • Sentinel ist jedoch intelligent genug zu erkennen, ob jemand nur "schaut". Wenn ja, lässt der Türsteher sie durch das Fenster schauen, ohne die Tür zu verschließen, beobachtet sie aber genau, um sicherzustellen, dass sie nicht versuchen, sich während des Schauens durch die Hintertür einzuschleichen.

Warum das wichtig ist

Die Autoren testeten Sentinel gegen 70 verschiedene Smart Contracts, von denen bekannt war, dass sie für diese Angriffe anfällig sind.

  • Das Ergebnis: Sentinel stoppte 100 % der Angriffe, einschließlich der kniffligen, die zwischen verschiedenen Verträgen stattfinden oder "Nur-zuschauen"-Tricks beinhalten.
  • Vergleich: Die alten Standardtools (wie OpenZeppelins Wächter) stoppten nur etwa 73 % der Angriffe. Sie versagten bei den komplexen, vertragsübergreifenden Überfällen.
  • Kosten: Der "Türsteher" kostet ein wenig zusätzliche Energie (Gas) für den Betrieb, aber die Autoren sagen, dies sei ein kleiner Preis, um Diebstähle in Millionenhöhe zu verhindern.

Das Fazit

Dieses Papier stellt eine Möglichkeit vor, die Sicherheit eines Smart Contracts von seiner Geschäftslogik zu trennen. Indem sie einen intelligenten, anpassungsfähigen "Türsteher" vor den Vertrag stellen, können sie verhindern, dass Diebe die zeitlichen Lücken im System ausnutzen, unabhängig davon, wie komplex die internen Regeln des Vertrags sind. Es ist ein Wechsel von dem Versuch, jedes mögliche Loch in der Mauer zu flicken, hin zum Bau eines undurchdringlichen Tors.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →