Tezos Blockchain: Eingehende Analyse aus der Audit-Perspektive PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Tezos Blockchain: Eingehende Analyse aus Audit-Perspektive 

Lesezeit: 5 Minuten

Das Tezos-Blockchain-Projekt hatte einen großartigen Start, indem es mit dem Initial Coin Offering 232 Millionen US-Dollar aufbrachte und den zweiten Platz unter den 20 größten ICOs erhielt, als es die größten Mittel erhielt.

Wie konnte Tezos unter den beliebtesten Blockchain-Netzwerken wie Ethereum oder Bitcoin den ganzen Hype gewinnen? Um die Antwort herauszufinden, werfen wir einen genaueren Blick auf die charakteristischen Eigenschaften von Tezos, die Horden von Unterstützern angezogen haben. 

Während die Blockchain, die zu ihrer Zeit entstand, am Proof-of-Work (PoW)-Konsens arbeitete, war die Tezos-Blockchain innovativ in der Verwendung Pfandnachweis(PoS)-basierter Konsens mit einem sich selbst ändernden Mechanismus und On-Chain-Governance. 

Dadurch rückte Tezos als perfekte Alternative für den Aufbau umweltfreundlicher DeFi-Anwendungen ins Rampenlicht, die wesentlich weniger Energie und niedrige Kosten benötigen. Wie also entspricht die Tezos-Infrastruktur der Flexibilität bei der viel einfacheren Implementierung von Upgrades?

Das bringt uns dazu, etwas über den architektonischen Aufbau zu erfahren, der den Tezos einen Mehrwert verleiht.

Intelligente Verträge auf Tezos

Smart Contracts sind ausführbare Verträge, die so programmiert sind, dass sie den Austausch von Token zwischen zwei Parteien verarbeiten, ohne dass eine der Parteien der anderen vertrauen muss. 

Wenn es um Tezos geht, ist es einzigartig in der Programmiersprache Michelson geschrieben. Darüber hinaus verwendet Tezos eine formelle Überprüfung, um die Korrektheit des Codes sicherzustellen, was ihn sicherer und zuverlässiger macht. 

Aufzählung der Besonderheiten der Tezos Blockchain

Das Höhepunkte der Tezos werden hier für ein besseres Verständnis seiner Konfiguration und Einzigartigkeit gegeben. 

Selbständernd

Tezos, das Blöcke validiert, die auf dem Konsensalgorithmus basieren, ist mit einem selbständerbaren Mechanismus ausgestattet. Jegliche Änderungen des Protokolls, wie z. B. der Wechsel zu einem anderen Konsens, die Änderung des Belohnungssystems, das Hinzufügen von Transaktionen usw., werden auf der Grundlage des On-Chain-Abstimmungssystems implementiert. 

Alle geringfügigen bis größeren Änderungen im Tezos-Wirtschaftsprotokoll werden durch das On-Chain-Abstimmungsverfahren ausgelöst. Dieses sich selbst ändernde Protokoll hat die Oberhand, wenn es darum geht, Gabelungen oder Spaltungen in der Community zu vermeiden.

On-Chain-Governance

Tezos steht im Gegensatz zu Bitcoin und Ethereum, die den nicht-formalisierten Governance-Systemen folgten, die zu den Blockchain-Splits führten (Bitcoin Cash und Ethereum classic). 

Die On-Chain-Governance in Tezos erleichtert es den „Bakers“, auch bekannt als Miners, Protokoll-Upgrades vorzuschlagen und abzustimmen. Die On-Chain-Methodik in Tezos ist darauf ausgelegt, die Upgrades automatisch im Code des zugrunde liegenden Protokolls zu implementieren, ohne einen zentralisierten Director durchlaufen zu müssen. 

Proof-of-Stake-Konsens: Der PoS 

Der PoS-Konsens in Tezos erlaubt jedem die Teilnahme. Um ein Tezos-Bäcker zu sein, der den Block validiert und die Konsensbildung ermöglicht, sollte der Bäcker einen Mindestbestand an (nativen) XTZ-Token besitzen. 

Es verwendet auch eine Methode, bei der der Benutzer, wenn er nicht genug zum Backen übrig hat, XTZ-Token an einen Bäcker mit einer großen Tez-Bankroll delegieren kann. Die vom Bäcker verdienten Belohnungen werden wiederum an die Delegierenden verteilt. 

Exploit-Gründe in Tezos Smart Contracts gefunden

Einer der Prüfberichte enthüllte Fehler in der Message-Passing-Architektur von Tezos Smart Contracts. Wir werden sie jetzt hier entschlüsseln. 

Message-Passing-Architektur

Ein externer Vertrag, der während der Ausführung der Funktion aufgerufen werden soll, wird stattdessen in eine Liste der auszuführenden Aufrufe im Tezos-Vertrag eingereiht. 

Die im Tezos-Vertrag gefundene Reihenfolge lautet: 

  • a() ausführen # Nächste Aufrufe: [b, d]
  • b() ausführen # Nächste Aufrufe: [d, c]
  • d() ausführen # Nächste Aufrufe: [c]
  • c() ausführen # Nächste Aufrufe: []

Wobei Sie sehen können, dass Code d() vor Code c() ausgeführt wird.

Diese Art der Ausführung hat die Möglichkeit für zwei Arten von Schwachstellen,

Umgehung der Rückrufautorisierung 

Die Architektur von Tezos ist so aufgebaut, dass der Vertrag den Rückgabewert eines externen Aufrufs mithilfe der Callback-Funktion nicht ausliest. Da es hier jedoch keine Einschränkung gibt, kann die Verwendung von Rückrufen zu Problemen bei der Zugriffssteuerung führen. 

Injektion anrufen

Es bietet dem Angreifer die Möglichkeit, den Vertrag zu kompromittieren, indem Aufrufe zwischen einer Funktion und einem generierten externen Aufruf eingefügt werden. 

Bei der Ausführung der Funktionen werden die generierten Aufrufe in die Liste der auszuführenden Aufrufe eingereiht. Ein Angreifer kann sich einen Vorteil verschaffen, indem er seinen Aufruf in die Warteschlange stellt und den Code zwischen dem Ende der ausgeführten Funktion und den generierten Aufrufen ausführt. 

Wenn der Anruf des Angreifers ausgeführt wird, geht der Saldo des Vertrags oder der Speicher des Vertrags in einen ungültigen Zustand und der Angreifer erreicht erfolgreich die Anrufinjektion. 

Zu beachtende Vorsichtsmaßnahmen beim Codieren von Tezos Smart Contract mit Michelson

Die Programmiersprache Michelson ist eine gute Option, um sichere Verträge zu schreiben, die gegen Datenlecks und Gelddiebstahl resistent sind. Obwohl die Programmiersprache so stark ist, gibt es eine Liste von Fehlern, die im Vertrag auftauchen können. 

Lassen Sie uns die häufigsten Fehler und die Möglichkeiten zum Ausschließen der Fehler verstehen.

Rückerstattung an eine Liste von Verträgen

Dies ist eine Bedingung, bei der die Gelder einer Gruppe von Personen auf einmal zurückerstattet werden. Es tritt auf, wenn willkürliche Verträge angenommen werden, bei denen ein böswilliger Benutzer ein solches Problem initiiert. 

Die möglichen Probleme dieses Fehlers sind ein Vertrag, der das gesamte Gas durch eine Reihe von Rückrufen schluckt, die „FAIL“-Anweisung wird aufgerufen, die alle Berechnungen stoppt, Wiedereintrittsfehler und so weiter. 

Was ist die Lösung?

Standardkonten führen den Code nicht aus; Daher kann das obige Problem gelöst werden, indem ein Standardkonto aus den Schlüsseln der Personen erstellt wird. Es kann auch so programmiert werden, dass Benutzer ihre Gelder einzeln abheben. 

Status vor der Übertragung nicht festlegen

Reentrancy ist eine häufige Hürde in der Blockchain. Wenn der Vertrag einen anderen externen Vertrag zum Durchführen von Überweisungen aufruft, gewinnt die Willkür bei weiteren Überweisungen die Oberhand, wenn der Status nicht nach jeder Überweisung aktualisiert wird.

Es führt zu mehreren Abhebungen von Geldern aus dem Vertrag. 

Was ist die Lösung?

Seien Sie vorsichtig, wenn Sie externe Verträge aufrufen, und stellen Sie sicher, dass ihr Verhalten nicht geändert werden kann. Um den erneuten Eintritt zu verbieten, kennzeichnen Sie den Speicher so, dass Benutzer nur dann wieder eintreten können, wenn sie einen guten Grund haben. 

Speichern oder Übertragen privater Daten

Die veröffentlichten Daten können explizit eingesehen werden. Das bedeutet, dass die privaten Informationen bei der Übertragung der Transaktion für alle sichtbar werden. Dies gibt dem böswilligen Knoten im System die Möglichkeit, die unsignierte Transaktion zu manipulieren, indem er sie verzögert oder modifiziert. 

Was ist die Lösung?

Unterzeichnen Sie die Transaktionen, die vertrauliche Informationen enthalten. Die Verwendung von Zählern zur Durchsetzung von Transaktionsaufträgen kann das Problem lösen. 

Stellen Sie Pro-Schutz für Projekte durch Tezos Smart Contract Audits sicher 

Tezos, die mit einer sich selbst ändernden Struktur gebaut wurden, bieten eine bessere Skalierbarkeit und Zuverlässigkeit, obwohl die Sicherheit für Blockchain-basierte Anwendungen immer eine Frage der Frage ist. Die kleinsten Probleme können den größten Fondsverlust verursachen. 

Und das ist wo QuillAudits geht einen Schritt nach vorne, um das Vermögen vor dem Zugriff böser Akteure zu schützen. Wir geben ihnen keine Chance, den Vertrag auszunutzen, da wir diese Probleme erkennen und beheben, indem wir gründlich vorgehen Tezos Smart-Contract-Audits

Lassen Sie sich kostenlos von unseren Experten beraten, um mehr über unsere Wirtschaftsprüfungsdienstleistungen zu erfahren. 

2 Views

Zeitstempel:

Mehr von Quillhash