Préface
Un standard d'inscription innovant MRC20 est apparu dans l'écosystème sui il y a quelques jours, et son premier token $Move a suscité un certain enthousiasme au sein de la communauté. Après avoir reçu la nouvelle, j'ai immédiatement cliqué sur le site officiel : https://mrc20.fun/ pour me préparer à Mint.
Le site officiel est très simple. Sur la page de casting, il n'y a que les informations de base suivantes des inscriptions et un bouton Mint bleu. Une phrase sous le bouton résume l'innovation de cette norme d'inscription : "Tous les frais de casting seront stockés dans votre inscription, et vous pourrez récupérer vos frais de casting en brûlant votre inscription, après chaque tour. Votre inscription sera envoyée à votre adresse". .
Comme je n'avais jamais été exposé au langage Move auparavant et que cette phrase m'a rendu très curieux de connaître son principe de mise en œuvre, j'ai soigneusement étudié le Twitter, les articles de blog et le code open source de github de l'auteur et j'ai publié cet article.

Contexte de l'auteur
jolestar (Twitter : @jolestar) est un expert technique doué en programmation et en écriture. Comme le montre son blog personnel (https://jolestar.com/), il publie des articles et des articles techniques depuis 2007. Aperçus sur la vie. Vous pouvez également voir sur sa page d'accueil personnelle Github que les trois projets de l'introduction sont tous liés au langage Move.

Jolestar a déclaré qu'il bricolait Move depuis 19 ans. En outre, il a également lancé un projet caritatif d'enseignement des langues Move - le Star Navigation Project (un hommage au film Star Trek). Après avoir terminé le cours et obtenu votre diplôme, vous pouvez également le faire. obtenez une récompense en espèces, dans le but de contribuer à l'écosystème Move.

Par conséquent, à partir des informations ci-dessus, nous pouvons savoir que jolestar est un développeur qui connaît très bien l'écosystème Move.
SFT
Nous savons tous que BRC20 intègre du texte JSON dans l'inscription pour représenter le nom et la quantité du jeton, et utilise NFT (Non-Fungible Token, non-fungible token) pour implémenter la fonction FT (Fungible Token, homogene token). il peut essentiellement être classé comme un SFT (Semi-Fungible Token, actif semi-fongible).
Bien sûr, SFT n'est pas le premier de jolestar. Dès septembre 2022, notre équipe chinoise @SolvProtocol a dirigé la conception et l'a officiellement adopté comme nouvelle norme de jeton ERC-3525 d'Ethereum.
Les jetons fongibles signifient que chaque jeton a la même fonction et la même valeur, sans aucune différence, et peuvent être remplacés les uns par les autres. 1 BTC = 1 BTC. Les jetons non fongibles signifient que chaque jeton ne peut pas être remplacé, 1 BAYC ≠ 1. BAYC, les jetons semi-fongibles combinent les caractéristiques des jetons homogènes et des jetons non fongibles. La clé est Slot. En termes simples, Slot représente une classification Il y aura plusieurs ID (identifiants uniques) sous le même Slot. une valeur différente (nombre de jetons), différents identifiants sous le même emplacement peuvent être considérés comme identiques et peuvent être échangés, combinés et divisés.
Prenons l'exemple des points de carte de membre. Supposons qu'il y ait deux emplacements, à savoir la carte de membre KFC et la carte de membre Starbucks. Satoshi Nakamoto et Musk ont respectivement demandé des cartes de membre chez KFC et Starbucks. ce n'est pas fongible, mais les points de la Satoshi Card 1 sous KFC peuvent être transférés vers la carte 2 et la carte 3. De même, les points de la Musk Card 2 et de la carte 3 sous Starbucks peuvent être fusionnés dans la carte 1. Les points sous différents identifiants dans la même fente est homogène.

Remplacez les points ci-dessus par les ordi et sats de brc20, comme indiqué dans la figure ci-dessous. Chaque type de jeton peut être considéré comme un emplacement. Le nombre différent d'inscriptions enregistrées sous chaque emplacement peut être considéré comme un jeton semi-homogène. Chaque inscription a un identifiant d'inscription unique et chaque inscription contient Il n'y a aucune différence dans l'ordi.

concept design
Avant de parler du concept de conception de Movescription, jetons d'abord un coup d'œil à l'époque où « des milliers de chaînes volaient ensemble » il y a quelque temps. La plupart des chaînes evm se réfèrent au modèle eths lors de la conception des inscriptions, c'est-à-dire « envoyer une transaction par rotation ». ou à une adresse de trou noir. "Transférez et joignez un ensemble de texte au format JSON similaire à brc20 dans les données d'appel, puis créez un indexeur pour indexer les données sur la chaîne pour terminer la comptabilité." Cette méthode consiste à imiter brc20 de la manière de stocker les données sur la chaîne, on peut dire qu'elle est « similaire en apparence mais pas similaire dans l'esprit », et ne profite pas du contrat intelligent de la chaîne elle-même.
L'auteur a donc présenté son concept de design dans le tweet suivant (le texte suivant est un résumé condensé, veuillez cliquer sur le lien pour le texte intégral : https://x.com/jolestar/status/1737652966142959982?s=20 pour voir)
Puisqu'il n'y a pas de contrat intelligent sur Bitcoin, il est nécessaire d'utiliser la méthode d'inscription JSON pour émettre FT. Cependant, il n'est pas nécessaire d'utiliser JSON dans d'autres chaînes de contrats intelligents, j'ai donc résumé plusieurs révélations d'inscription : 1. C'est le cas. une sorte de semi-homogénéité En tant qu'actif, sa liquidité n'est pas aussi bonne que celle du FT, mais c'est un avantage au stade initial du marché. 2. Son seuil d'émission d'actifs est inférieur à celui du FT sur chaque chaîne, et son coût cognitif est également faible. L'émission d'actifs sur chaque chaîne nécessite généralement le déploiement d'un contrat intelligent, et l'identification se fait principalement via l'adresse du contrat, ce qui est difficile pour les novices. Cette vague d’inscriptions a fondamentalement abaissé ce seuil au niveau le plus bas. 3. Son modèle d’émission équitable, sur Bitcoin, peut être compris comme le modèle d’émission PoW consistant à louer des mineurs via Gas.
Dans ce cas, pourquoi n'utilisons-nous pas de contrats intelligents pour mettre en œuvre un protocole d'inscription présentant les caractéristiques ci-dessus ? J'ai donc essayé d'utiliser Move pour implémenter le protocole Movementscriptions. Premièrement, il s’agit d’un protocole d’actif semi-fongible exprimé via Move. L'expression d'actifs basée sur la structure de données de Move est idéale pour exprimer ce protocole. 1. Utilisez tick, un nom unique au monde, pour exprimer le type de dessin de BRC20, il est conforme au principe KISS et est simple et intuitif. 2. La valeur peut être utilisée pour exprimer le solde de FT ou la valeur clé de NFT. 3. Les métadonnées peuvent être ajoutées à tout type de données. Deuxièmement, il prend en charge la répartition des actifs via PoW, garantissant que la répartition des actifs est plus équitable et plus décentralisée. J'appelle cela une inscription intelligente.
-jolestar
expression du patrimoine
"La méthode d'expression des actifs de Move basée sur la structure des données est très adaptée pour exprimer ce type d'accord." Comment devrions-nous comprendre ce que Jolestar a dit.
Tout d'abord, le langage Move introduit le concept de ressource, qui constitue également la plus grande différence entre Solidity et Move. Il affaiblit les attributs numériques et met l'accent sur les attributs des actifs, rendant Move sûr et puissant.
Les actifs sous le système de langage Solidity sont codés dans l'EVM sous la forme d'un mappage "adresse -> actifs". Les actifs ne peuvent être transférés qu'en ajoutant ou en soustrayant des valeurs dans différentes adresses. Ils ne peuvent pas être transmis en tant que paramètres renvoyés par. fonctions ou stocké dans un autre emplacement. Dans un actif, cette méthode de comptabilité peut facilement être utilisée par les pirates pour trouver des failles pour les attaques de réentrée et de double dépense. Comme le montre la figure ci-dessous, voici comment fonctionne un jeton erc20 typique.

Dans le système linguistique Move, les actifs sont définis comme des ressources de première classe, littéralement traduites par les ressources sont des citoyens de première classe, ce qui signifie que les ressources doivent être le principal objet de programmation à prendre en compte et avoir deux contraintes, à savoir la rareté et les droits d'accès. .
Dans la vraie vie, la rareté est un attribut important des actifs physiques. Par exemple, l’or ne sera pas émis de nulle part ni ne disparaîtra soudainement, mais il n’y a pas de pénurie physique inhérente aux actifs numériques. Move estime donc que les actifs numériques doivent renforcer cette rareté d'une manière programmatique, donc Move résume quatre attributs pour différents types : copie (copiable), clé (indexable), droppable (drop) et stockable (store).
Cependant, une fois que la variable est déclarée comme type Resource, elle ne peut utiliser que les attributs Key et Store, et ne peut pas être ajoutée avec les attributs Copy et Drop. Cela garantit la rareté du type de ressource dans une structure grammaticale.
Une ressource simple est présentée dans la figure ci-dessous, qui explique ce que l'auteur appelle la manière d'exprimer les actifs basés sur des structures de données.

Jetons un coup d'œil à la manière dont les ressources sont transférées dans le cadre du système Move. Tout d'abord, toutes les données de ressources doivent être stockées sous le compte, car ce n'est que lorsque le compte est attribué que les actifs de ressources correspondants existeront. Deuxièmement, tant que chaque ressource est retirée du compte, elle doit être « utilisée » en utilisant. le move_to intégré Une fois que la méthode a retiré l'actif du compte, elle le transmet comme valeur de retour au nouveau compte ou le détruit. Comme indiqué ci-dessous:

composabilité des actifs
Comme mentionné précédemment, Resource est une structure spéciale. Dans Move, les structures peuvent être imbriquées les unes dans les autres. Prenez Movescription comme exemple : c'est ainsi que vous pouvez combiner vos coûts de lancement verrouillés dans l'inscription. . De la même manière, MoveScription peut également être imbriqué dans d'autres ressources, tout comme les blocs Lego.
De cette façon, MoveScription brise la malédiction selon laquelle de nombreuses inscriptions sur Brc20 n'ont que des récits Meme et peuvent créer diverses applications écologiques, comme un actif dans les jeux, comme garantie dans Defi, etc.

Résumer
À ce stade, je pense que vous pouvez déjà comprendre que le concept de conception de l'inscription Movescription est similaire à celui du BRC20. Dans le portefeuille, chaque Movescription est un NFT (analogue à Inscription). Chaque Movescription a un identifiant d'objet (analogue à l'identifiant d'inscription). Le solde symbolique du compte nécessite également une indexation. Mais son avantage est qu'il utilise à bon escient l'avantage du langage Move pour exprimer les atouts et atteint véritablement une « similarité dans la forme et l'esprit ».

Les références:
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/why-move-1/

