Unbegrenzte Zustimmung
Was ist eine unbegrenzte Genehmigung?
Die unbegrenzte Genehmigung ist eine Praxis der intelligenten Vertragsprogrammierung, die oft als problematisch angesehen wird. Diese Programmierfunktion ermöglicht einem bestimmten Smart Contract den Zugriff (nach Autorisierung durch einen Benutzer) auf eine unbegrenzte Anzahl von Token im Wallet des Benutzers, anstatt nur auf die Anzahl, die tatsächlich benötigt wird.
Ein berüchtigtes Beispiel für einen auf diese Weise programmierten Smart Contract ist der der dezentralen Börse Bancor. Wenn ein Benutzer das System zum ersten Mal nutzte, musste er dem Smart Contract die Berechtigung erteilen, eine unbegrenzte Anzahl von Token aus seinem Wallet abzuheben.
Die Smart Contracts von Bancor enthielten auch eine Schwachstelle, die es einem Hacker hätte ermöglichen können, alle Einheiten des Tokens zu stehlen, für deren Verwaltung der Benutzer den Vertrag autorisiert hatte, indem er diese Schwachstelle ausnutzte. Glücklicherweise bemerkten die Programmierer von Bancor dies, bevor böswillige Akteure die Token stehlen konnten, und änderten später ihre Systeme so, dass sie nur für die benötigte Anzahl an Token eine Genehmigung einholten. Die Entwickler haben präventiv Benutzergelder „gestohlen“, um sie später zurückzugeben und einen Hack zu verhindern.
Nach der Kontroverse um Bancor zeigte sich, dass die unbegrenzte Genehmigung eine sehr beliebte Praxis unter dezentralen Anwendungsprogrammierern ist. Untersuchungen eines Forschers der Krypto-Wallet ZenGo ergaben, dass beliebte dezentrale Anwendungen über unendliche oder extrem große Genehmigungen verfügen.