Vorwort

Vor einigen Tagen erschien im Sui-Ökosystem ein innovativer Beschriftungsstandard MRC20, dessen erster Token $Move für eine gewisse Begeisterung in der Community sorgte. Nachdem ich die Nachricht erhalten hatte, klickte ich sofort auf die offizielle Website: https://mrc20.fun/, um mich auf Mint vorzubereiten.

Die offizielle Website ist sehr einfach gehalten. Auf der Casting-Seite gibt es nur die folgenden grundlegenden Informationen zu den Inschriften und einem blauen Mint-Button. Ein Satz unter der Schaltfläche fasst die Innovation dieses Beschriftungsstandards zusammen: „Alle Gießkosten werden in Ihrer Beschriftung gespeichert, und Sie können Ihre Gießkosten zurückerhalten, indem Sie Ihre Beschriftung nach jeder Runde verbrennen. Ihre Beschriftung wird an Ihre Adresse gesendet.“ .

Da ich noch nie zuvor mit der Move-Sprache in Kontakt gekommen war und dieser Satz mich sehr neugierig auf das Implementierungsprinzip machte, habe ich die Twitter-, Blog-Beiträge und den Github-Open-Source-Code des Autors sorgfältig studiert und diesen Artikel ausgegeben.

Hintergrund des Autors

jolestar (Twitter: @jolestar) ist ein technischer Experte, der gut programmieren und schreiben kann. Wie aus seiner persönlichen Blog-Website (https://jolestar.com/) hervorgeht, veröffentlicht er seit 2007 technische Artikel und Artikel. Einblicke in das Leben. Auf seiner persönlichen Github-Homepage kann man auch erkennen, dass die drei Projekte in der Einleitung alle einen Bezug zur Move-Sprache haben.

Jolestar sagte, er bastele seit 19 Jahren an Move. Darüber hinaus habe er auch ein Move-Sprachbildungs-Wohltätigkeitsprojekt ins Leben gerufen – das Star Navigation Project (eine Hommage an den Film Star Trek). Erhalten Sie eine Geldprämie mit dem Ziel, einen Beitrag zum Move-Ökosystem zu leisten. Gewinnen Sie mehr Entwickler.

Aus den oben genannten Informationen können wir daher erkennen, dass Jolestar ein Entwickler ist, der mit dem Move-Ökosystem bestens vertraut ist.

SFT

Wir alle wissen, dass BRC20 JSON-Text in die Inschrift einbettet, um den Namen und die Menge des Tokens darzustellen, und NFT (Non-Fungible Token, nicht fungibler Token) verwendet, um die FT-Funktion (Fungible Token, homogene Währung) zu implementieren. Es kann im Wesentlichen als SFT (Semi-Fungible Token, halbfungibler Vermögenswert) klassifiziert werden.

Natürlich ist SFT nicht das erste von jolestar. Bereits im September 2022 leitete unser chinesisches Team @SolvProtocol das Design und verabschiedete es offiziell als neuen Token-Standard ERC-3525.

Fungible Token bedeuten, dass jeder Token ohne Unterschied gleich ist und untereinander ersetzt werden kann. 1 BTC = 1 BTC bedeutet, dass jeder Token nicht einzigartig ist, 1 BAYC ≠ 1 BAYC, semi-fungible Token, kombinieren die Eigenschaften von homogenen Token und nicht-fungiblen Token. Der Schlüssel ist einfach: Slot stellt eine Klassifizierung dar. Es kann jedoch mehrere IDs (eindeutige Kennungen) unter demselben Slot geben Mit einem unterschiedlichen Wert (Anzahl der Token) können unterschiedliche IDs unter demselben Slot als gleich angesehen werden und können ausgetauscht, kombiniert und aufgeteilt werden.

Nehmen wir als Beispiel an, dass es zwei Slots gibt, nämlich die KFC-Mitgliedskarte und die Starbucks-Mitgliedskarte, die bei KFC bzw. Starbucks beantragt werden. Dies ist nicht fungibel, aber die Punkte von Satoshi Card 1 unter KFC können auf Karte 2 und Karte 3 übertragen werden. Ebenso können die Punkte von Musk Card 2 und Karte 3 unter Starbucks in Karte 1 zusammengeführt werden. Punkte unter verschiedenen IDs in gleichen Schlitz sind homogen.

Ersetzen Sie die obigen Punkte durch die ordi und sats von brc20, wie in der Abbildung unten gezeigt. Jeder Token-Typ kann als ein Slot betrachtet werden. Die unterschiedliche Anzahl der unter jedem Slot aufgezeichneten Inschriften kann als ein halbhomogener Token betrachtet werden, und jede Inschrift enthält keinen Unterschied in der Reihenfolge.

Design Konzept

Bevor wir über das Designkonzept von Movescription sprechen, werfen wir zunächst einen Blick auf die Tage, als vor einiger Zeit „Tausende von Ketten zusammenflogen“. Die meisten EVM-Ketten beziehen sich beim Entwerfen von Inschriften auf das Eths-Modell, das heißt „Transaktion durch Rotation senden“. oder an eine Black-Hole-Adresse.“ Übertragen Sie und fügen Sie einen Textsatz im JSON-Format ähnlich zu brc20 in die Aufrufdaten ein und erstellen Sie dann einen Indexer, um die Daten in der Kette zu indizieren, um die Abrechnung abzuschließen. „Diese Methode dient dazu, brc20 zu imitieren In Bezug auf die Art und Weise, wie Daten in der Kette gespeichert werden, kann man sagen, dass sie „im Aussehen ähnlich, aber im Geiste nicht ähnlich“ sind und den intelligenten Vertrag der Kette selbst nicht nutzen.

Daher stellte der Autor sein Designkonzept im folgenden Tweet vor (der folgende Text ist eine komprimierte Zusammenfassung, bitte klicken Sie auf den Link für den vollständigen Text: https://x.com/jolestar/status/1737652966142959982?s=20, um ihn anzuzeigen).

Da es auf Bitcoin keinen Smart Contract gibt, muss für die Ausgabe von FT die Methode der JSON-Inskription verwendet werden. In anderen Smart-Contract-Ketten besteht jedoch keine Notwendigkeit, JSON zu verwenden, daher habe ich mehrere Offenbarungen der Inskription zusammengefasst: 1. Dies ist der Fall eine Art Halbhomogenität Als Vermögenswert ist seine Liquidität nicht so gut wie die von FT, aber das ist ein Vorteil in der Anfangsphase des Marktes. 2. Der Schwellenwert für die Ausgabe von Vermögenswerten ist in jeder Kette niedriger als der von FT, und auch die kognitiven Kosten sind niedrig. Die Ausgabe von Vermögenswerten in jeder Kette erfordert im Allgemeinen den Einsatz eines Smart Contracts, und die Identifizierung erfolgt hauptsächlich über die Vertragsadresse, was für Anfänger schwierig ist. Diese Eintragungswelle hat diese Schwelle im Grunde auf das niedrigste Niveau gesenkt. 3. Sein faires Emissionsmodell auf Bitcoin kann als PoW-Ausgabemodell der Vermietung von Bergleuten über Gas verstanden werden.

Warum nutzen wir in diesem Fall nicht Smart Contracts, um ein Inskriptionsprotokoll mit den oben genannten Merkmalen zu implementieren? Also habe ich versucht, Move zu verwenden, um das Movementscriptions-Protokoll zu implementieren. Erstens handelt es sich um ein semi-fungibles Asset-Protokoll, das durch Move ausgedrückt wird. Der datenstrukturbasierte Asset-Ausdruck von Move eignet sich ideal zum Ausdruck dieses Protokolls. 1. Verwenden Sie „tick“, einen weltweit eindeutigen Namen, um den Typ „Zeichenunterricht“ aus BRC20 auszudrücken. Er entspricht dem KISS-Prinzip und ist einfach und intuitiv. 2. Der Wert kann verwendet werden, um den Saldo von FT oder den Schlüsselwert in NFT auszudrücken. 3. Metadaten können mit jeder Art von Daten angehängt werden. Zweitens unterstützt es die Verteilung von Vermögenswerten durch PoW und stellt sicher, dass die Verteilung von Vermögenswerten gerechter und dezentraler ist. Ich nenne es intelligente Inschrift.

-jolestar

Ausdruck von Vermögen

„Die auf der Datenstruktur basierende Asset-Ausdrucksmethode von Move eignet sich sehr gut, um diese Art von Vereinbarung auszudrücken.“ Wie sollen wir verstehen, was Jolestar gesagt hat?

Zunächst führt die Move-Sprache das Konzept der Ressource ein, das auch den größten Unterschied zwischen Solidity und Move darstellt. Es schwächt digitale Attribute und betont Asset-Attribute, wodurch Move sicher und leistungsstark wird.

Assets unter dem Solidity-Sprachsystem werden in der EVM als Zuordnung von „Adresse -> Assets“ codiert. Assets können nur durch Addition oder Subtraktion von Werten in verschiedenen Adressen übertragen werden. Sie können nicht als Parameter übergeben werden Diese Abrechnungsmethode kann leicht von Hackern genutzt werden, um Lücken für Wiedereintritts- und Double-Spending-Angriffe zu finden. Wie in der folgenden Abbildung dargestellt, funktioniert ein typischer erc20-Token so.

Im Move-Sprachsystem werden Vermögenswerte als First-Class-Ressourcen definiert, was wörtlich übersetzt bedeutet, dass Ressourcen erstklassige Bürger sind, was bedeutet, dass Ressourcen das primäre zu berücksichtigende Programmierobjekt sein müssen und zwei Einschränkungen unterliegen, nämlich Knappheit und Zugriffsrechte .

Im wirklichen Leben ist Knappheit ein wichtiges Merkmal physischer Vermögenswerte. Gold wird beispielsweise weder aus dem Nichts ausgegeben noch verschwindet es plötzlich, aber es gibt keine inhärente physische Knappheit bei digitalen Vermögenswerten. Daher ist Move davon überzeugt, dass digitale Assets diese Knappheit auf irgendeine programmatische Weise erzwingen müssen, und abstrahiert daher vier Attribute für verschiedene Typen: Kopie (kopierbar), Schlüssel (indexierbar), abwerfbar (Ablegen) und speicherbar (Speichern).

Sobald die Variable jedoch als Ressourcentyp deklariert ist, kann sie nur die Attribute „Key“ und „Store“ verwenden und kann nicht mit den Attributen „Copy“ und „Drop“ hinzugefügt werden. Dies stellt die Seltenheit des Ressourcentyps aus einer grammatikalischen Struktur sicher.

In der folgenden Abbildung ist eine einfache Ressource dargestellt, die erklärt, was der Autor die Möglichkeit nennt, Assets basierend auf Datenstrukturen auszudrücken.

Werfen wir einen Blick darauf, wie Ressourcen im Rahmen des Move-Systems übertragen werden. Erstens müssen alle Ressourcendaten unter dem Konto gespeichert werden, denn erst wenn das Konto zugewiesen ist, sind die entsprechenden Ressourcenressourcen vorhanden. Zweitens muss jede Ressource, solange sie vom Konto entfernt wird, „verwendet“ werden Nachdem die Methode den Vermögenswert aus dem Konto entfernt hat, übergibt sie ihn entweder als Rückgabewert an das neue Konto oder zerstört ihn. Wie nachfolgend dargestellt:

Zusammensetzbarkeit von Vermögenswerten

Wie bereits erwähnt, ist Resource eine spezielle Struktur, die ineinander verschachtelt werden kann. So können Sie Ihre Casting-Kosten ineinander verschachteln . Ebenso kann MoveScription, genau wie Legosteine, auch in andere Ressourcen verschachtelt werden.

Auf diese Weise bricht MoveScription den Fluch, dass viele Inschriften auf Brc20 nur Meme-Erzählungen enthalten, und kann verschiedene ökologische Anwendungen aufbauen, beispielsweise als Vermögenswert in Spielen, als Sicherheit in Defi usw.

Zusammenfassen

An dieser Stelle glaube ich, dass man bereits verstehen kann, dass das Designkonzept der Aufschrift Movescription dem von BRC20 ähnelt. Im Wallet ist jede Movescription ein NFT (analog zur Inscription). Jede Movescription hat eine Objekt-ID (analog zur Inscription-ID). Der Token-Saldo des Kontos muss ebenfalls indiziert werden. Sein Vorteil besteht jedoch darin, dass es die Vorteile der Move-Sprache beim Ausdruck von Vermögenswerten gut nutzt und wirklich „Ähnlichkeit in Form und Geist“ erreicht.

Verweise:

1. https://medium.com/@ThreeDAO/%E4%B8%87%E7%89%A9%E7%A0%94%E7%A9%B6%E9%99%A2-sui%E4%B8% BB%E7%BD%91%E4%B8%8A%E7%BA%BF%E5%9C%A8%E5%8D%B3-%E4%B8%80%E6%96%87%E4%BA%86 %E8%A7%A3%E5%85%B6%E8%83%8C%E6%99%AF-%E7%89%B9%E6%80%A7%E5%92%8C%E4%B8%8Eaptos% E7%9B%B8%E6%AF%94%E4%BC%98%E5%8A%A3%E5%8A%BF-c1c75c94c9b5

2.https://medium.com/huobi-research/move%E8%AF%AD%E8%A8%80%E7%9A%84%E5%88%9B%E6%96%B0%E5%92% 8C%E6%9C%BA%E9%81%87-409f01d4d51b

3.https://mirror.xyz/bocaibocai.eth/q3s_DhjFj6DETb5xX1NRirr7St1e2xha6uG9x3V2D-A

4.https://jolestar.com/warum-bewegen-1/