Komponierbarkeit beschreibt, wie unabhängig entwickelte Komponenten über kompatible Schnittstellen zusammenarbeiten können. In Web3 kann eine Anwendung bestehende Smart Contracts aufrufen und deren Token, Liquidität oder Buchführungsfunktionen nutzen. Entwickler können auf vorhandenen Komponenten aufbauen, ohne jeden grundlegenden Dienst neu zu entwickeln.
Aktionen in einer Transaktion verbinden
Ein Vertrag könnte beispielsweise einen Token über eine dezentrale Börse tauschen und den erhaltenen Token anschließend in ein Kreditprotokoll einzahlen. Laufen diese Aktionen innerhalb einer Transaktion und scheitert ein erforderlicher Schritt, kann die Transaktion die vorherigen Vertragsänderungen rückgängig machen. Diese Ausführung nach dem Alles-oder-nichts-Prinzip heißt atomare Komponierbarkeit.
Kompatibilität bleibt erforderlich. Tokenverhalten, Zugriffsrechte, verfügbare Liquidität und Vertragsschnittstellen müssen zum vorgesehenen Ablauf passen. Dieselbe Blockchain macht nicht alle Verträge automatisch kompatibel; getrennte Transaktionen erhalten auch nicht dieselbe Atomaritätsgarantie.
Wiederverwendung schafft Abhängigkeiten
Eine zusammengesetzte Anwendung hängt vom Verhalten ihrer Komponenten ab. Ein Orakelausfall, Vertragsupgrade, Auszahlungsstopp oder angegriffenes Protokoll kann darauf aufbauende Anwendungen beeinträchtigen.
Eine Sicherheitsprüfung muss deshalb die kombinierten Wechselwirkungen berücksichtigen und nicht nur jede Komponente einzeln. Komponierbarkeit ermöglicht nützliche Dienste und schnellere Entwicklung, kann aber auch Risiken verbinden, die bei isolierter Betrachtung der einzelnen Protokolle getrennt erschienen.