MasterChef hat einige Schwachstellen, die während der Nutzung behoben werden können. Allerdings nur, wenn sich die Nutzer dieser Schwachstellen bewusst sind und wissen, was zu tun ist. Hier ist der Workaround, den Gleb Zykov und Vlad Korovnikov von HashEx vorschlagen.
Dezentrale Börsen (DEXs) waren vor zwei Jahren noch relativ selten. Heute scheint es allerdings, als wären sie überall. Zahlreiche Projekte haben ihre eigenen DEXs. Das passiert, weil ein Blockchain-Projekt, wenn es eine DEX starten will, diese nicht von Grund auf neu entwickeln muss. Stattdessen ist die Grundlage für den DEX-Code oft ein Fork einer der beiden großen DEXs SushiSwap oder PancakeSwap.
MasterChef Smart Contract
Diese beiden Börsen haben den DEX-Space dank eines speziellen Smart Contract, genannt MasterChef revolutioniert. MasterChef läuft auf beiden Börsen und somit auch auf allen anderen Börsen, die aus einem Fork von einer der zweien entstanden ist. Jede neue DEX hat dieselben Merkmale. Das bedeutet allerdings auch, dass alle die Mängel und Schwachstellen von MasterChef teilen.
Lass uns also anschauen, welchen Problemen Nutzer und Entwickler bei der Verwendung von MasterChef begegnen. Worauf sollten sie achten? Und wie sollte man die Probleme angehen?
Wie funktionieren DEXs?
Zunächst ist zu beachten, dass ein MasterChef Contract ein Smart Contract ist, der in Solidity geschrieben ist. Dieser Smart Contract kontrolliert, wie das Krypto Farming abläuft. In den meisten Projekten gibt es mehrere Smart Contracts, die sich diese Verantwortung und Arbeit teilen. Bei Protokollen, die auf MasterChef basieren, kümmert sich dieser einzelne Contract aber um alles, was das Farming betrifft.
Dezentrale Börsen ermöglichen es Kryptowährungen zu tauschen, ohne Geld in der Wallet der Börse hinterlegt zu haben. Stattdessen werden Funds aus deiner persönlichen Wallet auf einem Smart Contract hinterlegt. Du bist damit die einzige Person, die Kontrolle darüber hat und auf dein eigenes Geld zugreifen kann, wenn die Verträge Hintertüre oder Schwachstellen haben.
Ein weiterer Unterschied liegt darin, dass CEX Order-Bücher für das Verkaufen und Kaufen nutzen. Das bedeutet, dass sie Käufer und Verkäufer zusammenbringen, während DEXs AMM-Protokolle (Automated Market Maker) für den Handel verwenden. Sie berechnen den Preis der Assets in Abhängigkeit von der investierten Liquidität.
Die Liquidität kommt von Liquiditätspools. Das sind Pools, in die Nutzer ihre Funds für bestimmte Paare einzahlen können und diese so für das Protokoll bereitstellen. Wenn dann jemand versucht, Assets mit diesem Paar zu kaufen, wird sein Antrag sofort mit den Funds aus dem Pool ausgeführt. Personen, die Funds in den Liquiditätspool eingezahlt haben, erhalten LP-Token für diesen bestimmten Pool. Dadurch haben sie das Recht, Belohnungen zu erhalten. Und wenn sie ihre Funds wieder zurückwollen, müssen sie lediglich die LP-Token, die sie erhalten haben, zurückgeben.
Wie du vielleicht weißt, gibt es mehrere Möglichkeiten Renditen aus Kryptobeständen zu erzielen. Farmen ermöglichen zusätzliche Belohnungen für das Bereitstellen von Liquidität. Nutzer fügen den DEXs Liquidität hinzu, erhalten LP-Token und staken diese in den Farmen.
MasterChef: Schwachstellen und Fehler
Wir haben dir bereits erklärt, wie DEXs und Liquiditätspools funktionieren. Lass uns also einen Blick darauf werden, wo die Schwachstellen von MasterChef liegen, wie diese den Prozess beeinflussen und was du tun musst, damit die Dinge reibungslos ablaufen.
Kompromittierte Konten
Eines der größten Probleme, das es zu beachten gilt, ist die Kompromittierung der Konten der Eigentümer. SushiSwap hat eine Methode entwickelt, mit der es sich einen Vorteil gegenüber Uniswap verschaffen konnte. Bei dieser Methode geht es um die Migration von Assets von einer Börse zu einer anderen. Dies wird vom dem Contract über eine separate Funktion abgewickelt, auf die nur der Eigentümer des Contracts Zugriff hat.
Diese Migration kann jedoch ohne Einschränkungen auf jeden Contract abgestimmt werden. Das stellte sich als großen Fehler heraus. Wenn der Eigentümer als kompromittiert wird, kann das zu einem neuen Migrations-Contract führen, der dann alle LP-Token in den Farming-Pools an eine beliebige Adresse schickt. Dies würde wiederum zu einem massiven Verlust des investierten Vermögens führen.
Das Problem ist den Entwicklern mittlerweile bekannt und wird bei kommenden Forks sofort entfernt. Bleibt es allerdings bestehen, ist das definitiv eine Red Flag.
Ein weiterer Punkt, der zu beachten ist, ist, dass bei einigen MasterChef-Forks der Contract-Eigentümer die Emissionsrate unbegrenzt ändern kann. Wird das Konto allerdings kompromittiert, kann der Angreifer die Emissionsrate selbst festlegen. Das könnte zu einem Wertverlust der Token führen.
Es gibt einen einfachen Weg, das Problem zu lösen. Es muss sichergestellt werden, dass alle Funktionen, die dem Eigentümer des Contracts zur Verfügung stehen, eine Berechtigung durch eine Multisignatur erfordern. Wenn also einzelne Adressen kompromittiert werden, können böswillige Akteure nicht viel damit anfangen. Eine weitere Möglichkeit ist das Hinzufügen einer temporären Sperre (Timelock-Contract) beim Aufrufen der Migrationsfunktion. Dadurch hat der Nutzer mehr Zeit, eine Entscheidung zu treffen. Die Börse müsste dich außerdem bei Migrationen oder anderen verdächtigen Transaktionen benachrichtigen.
Identische Farming-Pools hinzufügen
Ein weiteres, ziemlich offensichtliche, aber übersehbares Problem tritt auf, wenn der ursprüngliche Contract die Verarbeitung identischer Farm-Pools nicht berücksichtigt. Dadurch berechnet der Contract die Farming-Gewinne falsch.
Bei richtiger Nutzung von MasterChef ist das allerdings kein großes Thema, da die Eigentümer nicht absichtlich identische Pools hinzufügen. In ordnungsgemäß funktionierenden Börsen wird so etwas überprüft und die Erstellung eines doppelten Pools ist strengstens untersagt. Wenn du also einen Pool erstellen willst und dabei bist ein Duplikat eines bestehenden Pools zu erstellen, sollte das System einen Fehler melden. Oder dir vorschlagen, deine Funds dem bereits bestehenden Pool hinzuzufügen, statt einen neuen zu erstellen.
Menge der eingezahlten Token wird nicht berechnet
Aus irgendeinem Grund vergessen die Leute zu bedenken, was passiere könnte, wenn Token mit Transferprovisionen oder Rebase-Token als Pools zum MasterChef-Contract hinzugefügt werden. Was passiert ist, dass es zu einer Störung in der Berechnung der Belohnungen kommt, da der Contract-Code nur durch den Aufruf bestimmter Funktionen Assets zu Pools hinzufügt. Das bedeutet, dass das Hinzufügen von Token zur Adresse diese mit den bereits im Pool befindlichen Assets kombiniert. Die Berechnung der Belohnungen für solche Token könnte allerdings fehlerhaft sein, was zu Sicherheitslücken führt.
Ordnungsgemäß laufende Plattformen sollten die Menge der Funds, die für das Farming transferiert werden, separat berechnen. Dafür überprüfen sie den tatsächlich überwiesenen Betrag unter Berücksichtigung der Provisionen. Auf diese Art wird die Belohnung richtig berechnet.
MasterChef: Ein Fazit
MasterChef ist ein einzelner Smart Contrat der für das Yield Farming genutzt wird in dem er den DEXs Liquidität anbietet. Leider gibt es einige Fehler, die zwar während der Nutzung behoben werden können. Allerdings nur, wenn der Nutzer die Fehler kennt und weiß, was sie auslösen.
Wir haben einige Probleme besprochen, die auftreten können und wie diese gelöst werden könne. Es ist jedoch zu beachten, dass es noch mehr davon gibt. Dazu zählen die Verwässerung der Belohnungen, wenn Token nicht direkt an die Contract-Adresse gesendet werden, Probleme mit Startblockänderungen, Gasoptimierung und mehr.
Mit anderen Worten: es gibt Schwachstellen und Probleme, die du im Auge behalten musst. Im Großen und Ganzen ist MasterChef aber ein revolutionärer Smart Contract, der die dezentralen Börsen erst möglich macht. Wenn du ihn also vorsichtig verwendest, dir über die Probleme bewusst bist und weißt, wie du sie lösen kannst, sollte alles in Ordnung sein.
Über die Autoren
Gleb Zykov ist Mitbegründer und CTO des DeFi Sicherheits- und Analytik-Unternehmens HashEX. Vlad Korovnikov ist Junior Smart Contract Berater und Entwickler.
Haftungsausschluss
In Übereinstimmung mit den Richtlinien des Trust Project gibt dieser Meinungsartikel die Perspektive des Autors wieder und spiegelt nicht unbedingt die Ansichten von BeInCrypto wider. BeInCrypto bleibt einer transparenten Berichterstattung und der Einhaltung höchster journalistischer Standards verpflichtet. Den Lesern wird empfohlen, die Informationen unabhängig zu überprüfen und einen Fachmann zu konsultieren, bevor sie auf der Grundlage dieses Inhalts Entscheidungen treffen.