Zum Inhalt springen
Was ist ein Proxy Contract in der Blockchain?

Was ist ein proxy contract?

Der Begriff proxy contract stammt aus der Blockchain-Terminologie und bezeichnet eine Art des contracts, also Vertrages, mit dem Sie auf der Blockchain interagieren. proxy contract ist dabei ein contract, der Aufrufe an einen oder mehrere andere contracts delegiert. Um mit den eigentlichen Vertrag zu interagieren, müssen Sie über den Proxy gehen, und der Proxy weiß, an welchen Vertrag er den Aufruf delegieren muss (den Ziel-Contract).

Ein häufiger Anwendungsfall für proxy contracts ist, wenn der zugrunde liegende Vertrag erweiterbar sein soll. Durch die Verwendung eines Proxy-Vertrags kann ein neuer Vertrag hinter dem proxy eingesetzt werden, ohne dass der proxy contract selbst geändert werden muss. Durch die Verwendung von Zieladressen oder Umleitungen innerhalb des Vertrags kann der Proxy-Vertrag den Aufruf an den neuen Vertrag delegieren. Dies ist besonders nützlich, wenn der ursprüngliche contract eine begrenzte Lebensdauer hat oder wenn er aufgrund von Änderungen oder Erweiterungen überarbeitet werden muss.

Hier steckt generell auch ein Risiko: Es gibt keine Garantie dafür, dass der zugrunde liegende (Ziel-) contract nicht in einen „bösartigen“ contract geändert wurde. Es gibt keine strikte Definition, wie ein proxy contract zu erkennen ist, aber im Grunde handelt es sich um alles, was die Funktionalität an einen anderen contract delegiert. Letztlich erkennen kann man dies nur im Quellcode des contracts. Manche Analyse-Tools zur Contract-Auswertung zeigen auch an, wenn ein proxy contract erkannt wurde, so zum Beispiel die contract-Anzeige bei etherscan.