Am 1. Februar hat Binance Web3 Wallet offiziell seinen Inschriftmarkt gestartet, der verschiedene Inschriftprotokolle wie BRC20 und Ethscription unterstützt. Vor ein paar Tagen kündigte OKX außerdem seine Unterstützung für Inschriftprotokolle wie ARC20, Runes, Doginals usw. an, was die Aufmerksamkeit des gesamten Marktes auf Inschrift lenkte. Während der Inskriptionswelle treten aufgrund der Komplexität und Neuartigkeit der Inskriptionsprotokolle häufig verschiedene Sicherheitsprobleme auf. Dies gefährdet nicht nur die Sicherheit der Vermögenswerte der Benutzer, sondern hat auch negative Auswirkungen auf die gesunde Entwicklung des gesamten Inskriptions-Ökosystems.

Als Reaktion darauf wird das Sicherheitsteam von Beosin die gängigen Inschriftprotokolle analysieren, um den Benutzern zu helfen, den Zweck und die Implementierung der Inschriftprotokolle zu verstehen und herauszufinden, wie Inschriftwerte geschützt werden können.

Einführung in Inschriften

Die Inschrift auf der Blockchain dient dazu, bestimmte und aussagekräftige Informationen über bestimmte Eigenschaften der Blockchain aufzuzeichnen. Sobald diese Informationen in der Blockchain aufgezeichnet sind, werden sie dauerhaft auf der Blockchain gespeichert und können nur schwer manipuliert werden. Die in der Blockchain aufgezeichneten Informationen können vieler Art sein, beispielsweise einfache Textinformationen, komplexe Codes, Bilder usw., die in die Blockchain geschrieben werden können. Auf diese Weise können wir eine Reihe von Standards verwenden, um die Funktionen digitaler Assets zu implementieren.

Aktueller Stand der Einschreibungen

Vom ersten Auftauchen von Bitcoin-Inscriptions wie BRC-20 bis zur aktuellen Inscription-Ökologie entstehen fast täglich endlos viele neue Inscription-Protokolle und neue Projekte. Man kann sagen, dass die Entwicklung von Inscription sprunghaft voranschreitet. Verschiedene gängige öffentliche Ketten haben sich ebenfalls dem Inschrift-Ökosystem angeschlossen, wie das Ethscription-Protokoll auf der öffentlichen ETH-Kette, das ARC-20-Protokoll auf der öffentlichen BTC-Kette, BSC-20 und andere Protokolle auf der öffentlichen BSC-Kette und das PRC-20 usw.-Vereinbarung auf der öffentlichen Polygon-Kette … Diese Protokolle werden alle zum Zweck der Veröffentlichung von Inschrift auf ihren öffentlichen Ketten generiert. Im folgenden Inhalt stellen wir die Implementierungsmethoden und Anwendungsfälle verschiedener Protokolle vor.

Detaillierte Erklärung der Inschrift

Lassen Sie uns die Protokolle vorstellen, die derzeit auf dem Markt viel Aufmerksamkeit erregen, und die Gemeinsamkeiten und Unterschiede zwischen den Inschriftprotokollen verschiedener öffentlicher Ketten vergleichen.

1. BRC-20

Um BRC-20 klar zu erklären, müssen wir zunächst UTXO und Ordinalzahlen einführen.

BTC verwendet das UTXO-Modell und Transaktionen werden in UTXO-Einheiten übertragen. UTXO ist die Abkürzung für Unspent Transaction Output, was nicht ausgegebene Transaktionsausgabe bedeutet. Das UTXO-Modell unterscheidet sich vom Kontomodell öffentlicher Ketten wie Ethereum dadurch, dass es Transaktionsereignisse aufzeichnet, aber nicht den endgültigen Status. Um zu berechnen, wie viele Bitcoins ein Benutzer hat, müssen Sie alle UTXOs seiner Adresse addieren. Das Ergebnis ist die Anzahl der vom Benutzer gehaltenen Coins.

Ordinals ist ein systematisches Protokoll zur Nummerierung von Satoshis (Sats), der kleinsten Einheit von Bitcoin. Es kann jedem Satoshi in jedem UTXO (einschließlich mehrerer Satoshis) eine eindeutige Nummer zuweisen. Ordinalzahlen unterstützen auch die Funktion, Text, Bilder, Audio, Video usw. in Satoshis zu schreiben, wodurch jeder Satoshi einzigartig wird, ähnlich dem bekannten nicht fungiblen Ethereum-Token NFT, den wir Bitcoin NFT nennen.

Der Gründer von BRC20 hat ein anderes Konzept entwickelt, das auf dem Ordinals-Protokoll basiert. Da das Ordinals-Protokoll Bitcoin-NFTs erstellen kann, indem es jedem Satoshi unterschiedliche „Attribute“ zuweist, kann es auch Bitcoin-FTs erstellen, indem es ein einheitliches „Format“ und einheitliche „Attribute“ zuweist, also homogene Token.

BRC20 schreibt einheitliche Textdaten im JSON-Format über das Ordinalprotokoll in Satoshi. Diese Textdaten sind das Buchhaltungsbuch der BRC-20-Token. Basierend auf diesen Textdaten können Token-Bestände und -Übertragungen analysiert werden, was hauptsächlich die folgenden Inhalte umfasst:

{
„p“:“brc-20“,
„up“: „deploy“,
„Häkchen“: „ordi“,
„max“: „21000000“,
„lim“: „1000“
}

{
„p“:“brc-20“,
„on“: „mint“,
„Häkchen“: „ordi“,
„Betrag“: „1000“
}

{
„p“:“brc-20“,
„on“: „übertragen“,
„Häkchen“: „ordi“,
„amt“:“1000“,
}

Oben sind die drei Standards von BRC20. Darunter stellt das Op-Feld die Operation dar, die durchgeführt werden muss, einschließlich Deploy (Bereitstellung), Mint (Prägung) und Transfer (Übertragung). Das Häkchen stellt den Namen des Tokens dar, der ausgeführt werden muss. max steht für die Gesamtmenge der ausgegebenen Token, lim für die maximale Anzahl der pro Token geprägten Münzen, amt für die Anzahl der zu verarbeitenden Token. Im Überweisungsstandard gibt es auch Felder wie „an“, das ist aber nicht notwendig. Die Überweisung erfolgt per: Die Inschrift wird an die Zieladresse gesendet, um die Saldenänderung durchzuführen.

2. ARC-20

ARC-20 ist immer noch das Inschriftprotokoll auf der öffentlichen Bitcoin-Kette. Wie das BRC-20-Protokoll wird es implementiert, indem Standarddaten in UTXO geschrieben werden. Der Unterschied besteht jedoch darin, dass das ARC-20-Protokoll ARC-20 nicht in den Daten angeben muss. Stattdessen wird die Anzahl der ARC-20-Token durch Sats (Satoshi, die kleinste Einheit von Bitcoin) im UTXO dargestellt. Die Regel lautet: 1 Sat = 1 ARC-20-Token.

Das ARC20-Protokoll ist, wie das BRC20-Protokoll, in drei Schritte unterteilt: Bereitstellung, Prägung und Übertragung. In der Bereitstellungsphase müssen der Standard-Token-Name, die Gesamtmenge der Token, Casting-Beschränkungen und Blockinformationen in das UTXO eingetragen werden, Bildinformationen usw.; In der Prägephase muss der Benutzer den Namen des Tokens in das UTXO eintragen, und die Anzahl der Sats des UTXO ist der Prägebetrag des ARC20-Tokens und wird nicht zusammen mit dem Token-Namen in das UTXO eingetragen; wenn der Benutzer ARC20-Token prägt, können diese an andere Adressen gesendet werden. Beim Senden von Token müssen Benutzer keine Daten in das UTXO eingeben, sondern können das UTXO, das das Token enthält, direkt an andere Adressen übertragen.

Beim Abfragen von ARC20-Token wird nur ein Index benötigt. Der Offline-Indexserver kann die Token-Registrierungsinformationen sowie Präge- und Übertragungstransaktionen lesen. Der Server muss die Geldtransferbeziehung nicht berechnen und die der Adresse gehörenden ARC20-Token abfragen. Die Menge kann durch direktes Lesen der Sats-Menge des UTXO ermittelt werden, der den Token hält.

Nachdem Sie BRC20 und ARC20 verstanden haben, sollten Sie wissen, warum manche Leute eingetragene Vermögenswerte fälschlicherweise an andere Adressen übertragen oder sie „verbrennen“.

Da BTC-Einschreibungsprotokolle wie BRC20 und ARC20 auf UTXO-Transaktionen basieren, werden Einschreibungstransaktionen tatsächlich an BTC-Transaktionen angehängt, und Benutzer können gewöhnliche BTC-Übertragungsvorgänge durchführen, ohne die Einschreibung vollständig zu verstehen. Sein aktuelles UTXO wird mit anderen UTXOs zusammengeführt und aufgeteilt und dann an unbeabsichtigte Adressen gesendet, was dazu führt, dass die eingetragenen Vermögenswerte falsch übertragen oder „verbrannt“ werden, was zu irreversiblen Verlusten führt.

3. Ethnographie

Ethscription ist ein Protokoll zum Erstellen und Teilen von Daten auf Ethereum. Einige Inscriptions verwenden dieses Protokoll, um Smart Contracts zu ersetzen und die Token-Ausgabe zu implementieren. Durch die Verwendung von Inscriptions können die Benutzerkosten auf ein extrem niedriges Niveau gesenkt werden.

Wenn Ethereum eine Transaktion sendet, stellt es einen Calldata-Datenblock bereit. Normalerweise bleibt dieser Datenblock bei normalen ETH-Überweisungen leer. Wenn ein Smart Contract aufgerufen wird, wird der Datenblock als Signatur der aufrufenden Funktion und der einzelnen Parameterdaten bezeichnet. Das Ethscription-Protokoll verwendet den Calldata-Datenblock, um beim Senden normaler ETH-Überweisungen einige Standarddaten hinzuzufügen, die eine relevante Bedeutung haben.

Wie spezifiziert Ethscription diese Standarddaten?

Wenn Sie zunächst eine Ethscription erstellen möchten, deren Inhalt Bilddaten sind, müssen Sie das Bild (die Bildgröße ist auf 96 KB begrenzt) in eine URI mit Base64-codierten Daten im Format (data:image/png;base64,...) konvertieren. Als Nächstes konvertieren Sie die URI in eine hexadezimale Zeichenfolge. Senden Sie eine normale Überweisung über Ethereum an die Zieladresse und fügen Sie die obige hexadezimale Zeichenfolge in die Anrufdaten ein, wie unten gezeigt:

Auf diese Weise besitzt die Adresse 0xf1bf die Ethscription und jede später mit denselben Anrufdaten erstellte Ethscription wird als ungültig betrachtet.

Wenn Sie die Ethscription übertragen möchten, muss der Besitzer der Ethscription eine normale Überweisung an die Empfangsadresse senden und den Transaktions-Hash, der die Ethscription erstellt hat, in die Anrufdaten eintragen. Anschließend gehört die Ethscription der Empfangsadresse, wie unten gezeigt:

4. Einschreibung der EVM-Blockchain

Für EVM-Blockchains wie BSC Chain, Ethereum und Polygon gibt es eine gängige Methode zum Brennen von Inschriften, bei der der Calldata-Datenblock zum Speichern von Daten mit festem Format verwendet wird. Anders als beim oben erwähnten Speichern von Bilddaten besteht diese Methode darin, ein Standardformat in die Calldata-Textdaten zu schreiben.

Wenn Inschriften auf der BSC-Kette gebrannt werden, ähnelt das Inschriftenformat dem BRC20-Inschriftenformat. Das Inschriftenformat ist beispielsweise: data:,{"p":"_","op":"_","tick":"_","amt":"_"}, dann stellt das p-Feld den Protokollnamen dar, wie z. B. bsc-20, bnbs-20, ltc-20, bep-20, drc-20, nrc-20, src-20 usw.; Das Op-Feld stellt die Operation dar, normalerweise „mint“; das Tick-Feld stellt den Token-Namen dar; das Amt-Feld stellt die Anzahl der Tokens dar.

Am Beispiel des BNB-Tokens sehen wir, dass, solange eine normale Überweisung an die Zieladresse gesendet wird, die Daten: {"p":"bsc-20","op":"mint" in den Anrufdaten, "tick":"bnbs","amt":"1000"} eingetragen werden und dann der Prägevorgang des BNB-Tokens wie unten gezeigt abgeschlossen wird. Zu diesem Zeitpunkt verfügt die Adresse 0x22ef über 1.000 BNB-Token.

Als Nächstes müssen Sie das Token übertragen. Wie oben müssen Sie eine normale Überweisung an die Empfangsadresse senden und den Transaktions-Hash, der das BNB-Token erstellt hat, in die Anrufdaten einfügen. Dann besitzt die Empfangsadresse das BNB-Token, wie unten gezeigt:

Bei Ethereum, Polygon und anderen Ketten ist es grundsätzlich dasselbe, aber es sollte beachtet werden, dass der Inhalt der oben genannten BSC-Kette nicht die einzige Situation ist, in der Inschriften auf der EVM-Kette erstellt werden. Es kann Unterschiede bei den ausgefüllten Textdatenfeldern zwischen verschiedenen EVM-Ketten oder verschiedenen Protokollen geben. Es kann auch Unterschiede darin geben, wie Token übertragen werden. Aber für diese Art von Methode werden sie alle mithilfe des Calldata-Attributs in der EVM-Kette implementiert, sodass sie ähnlich erscheinen.

Zusammenfassung

In diesem Artikel diskutieren wir die Implementierungsprinzipien von Inschriften auf mehreren Ketten. Zusammenfassend sind die eingeführten Inschriften allesamt Prozesse, die einige Funktionen des öffentlichen Kettensystems nutzen, um Offline-Informationen gemäß vorgeschriebenen Standards in der Blockchain zu speichern und sie dann über Offline-Server zu identifizieren und anzuzeigen. Keine der eingeführten Inschriften verwendet Smart Contracts. Durch die Teilnahme können Nutzer eine Menge zusätzlicher Transaktionskosten einsparen. Allerdings müssen Nutzer die Implementierung des Inschriftprotokolls vollständig verstehen, um fehlerhafte Übertragungen oder das versehentliche Löschen von Inschrifte, die zu Vermögensverlusten führen, zu vermeiden.

Kontakt

Wenn Sie Blockchain-Sicherheitsdienste benötigen, können Sie uns gerne kontaktieren:

Offizielle Website Beosin EagleEye Twitter Telegram Linkedin