Le 1er février, Binance Web3 Wallet a officiellement lancé son marché d'inscription, prenant en charge divers protocoles d'inscription tels que BRC20 et Ethscription. Il y a quelques jours , OKX a également annoncé sa prise en charge des protocoles d'inscription tels que ARC20, Runes, Doginals, etc., ce qui a déclenché l'attention de l'ensemble du marché sur les inscriptions. Au cours de la vague d'inscription, divers problèmes de sécurité surviennent fréquemment en raison de la complexité et de la nouveauté des protocoles d'inscription. Cela non seulement menace la sécurité des actifs des utilisateurs, mais a également un impact négatif sur le développement sain de l'ensemble de l'écosystème Inscription.
En réponse à cela, l'équipe de sécurité de Beosin analysera les protocoles d'inscription courants pour aider les utilisateurs à comprendre le but et la mise en œuvre des protocoles d'inscription et comment protéger les actifs d'inscription.
Introduction aux inscriptions
L'inscription sur la blockchain vise à enregistrer des informations spécifiques et significatives sur la blockchain à travers certaines caractéristiques de la blockchain. Une fois que ces informations sont enregistrées sur la blockchain, elles seront stockées de manière permanente sur la blockchain et difficiles à falsifier. Les informations enregistrées dans la blockchain peuvent être de plusieurs types, telles que de simples informations textuelles, des codes complexes, des images, etc. peuvent être écrites dans la blockchain. De cette façon, nous pouvons utiliser un ensemble de normes pour mettre en œuvre les fonctions des actifs numériques.
Statut actuel des inscriptions
Depuis l'émergence initiale des inscriptions Bitcoin telles que BRC-20 jusqu'à l'écologie actuelle des inscriptions, il existe une infinité de nouveaux protocoles d'inscription et de nouveaux projets qui émergent presque chaque jour. On peut dire que le développement de l'inscription progresse à pas de géant. Diverses chaînes publiques communes ont également rejoint l'écosystème d'inscription, telles que le protocole Ethscription sur la chaîne publique ETH, le protocole ARC-20 sur la chaîne publique BTC, BSC-20 et d'autres protocoles sur la chaîne publique BSC et le PRC sur la chaîne publique Polygon. 20 etc accord …. Ces protocoles sont tous générés dans le objectif de publier des inscriptions sur leurs chaînes publiques. Dans le contenu suivant, nous présenterons les méthodes de mise en œuvre et les cas d'utilisation de divers protocoles.
Explication détaillée de l'inscription
Présentons les protocoles qui actuellement attirent beaucoup d'attention sur le marché, et comparons les points communs et les différences entre les protocoles d'inscription de diverses chaînes publiques.
1. BRC-20
Pour expliquer BRC-20 clairement, nous devons d'abord introduire UTXO et Ordinals.
BTC utilise le modèle UTXO et les transactions sont transférées en unités UTXO. UTXO est l'abréviation de Unspent Transaction Output, qui signifie un sortie de transaction non dépensée. Le modèle UTXO est différent du modèle de compte des chaînes publiques telles que Ethereum dans le sens où il enregistre les événements de transaction mais pas le statut final. Pour calculer le nombre de Bitcoins dont dispose un utilisateur, vous devez résumer tous les UTXO de son adresse et le résultat est le nombre de pièces détenues par l'utilisateur.
Les ordinaux est un protocole systématique pour numéroter les Satoshis (sats), la plus petite unité de Bitcoin. Il peut attribuer un numéro unique à chaque Satoshi dans chaque UTXO (y compris plusieurs Satoshis). Ordinals prend également en charge la fonction d'écriture de texte, d'images, d'audio, de vidéo, etc. sur des satoshis, ce qui rend chaque satoshi unique, similaire au jeton non fongible Ethereum NFT, que nous appelons Bitcoin NFT.
Le fondateur de BRC20 a proposé un autre concept basé sur le protocole Ordinals . Étant donné que le protocole Ordinals peut créer des NFT Bitcoin en attribuant à chacun Satoshi des "attributs" différents, il peut également créer des Bitcoin FT en donnant un "format" et des "attributs" unifiés , c'est-à-dire des jetons homogènes.
BRC20 écrit des données texte au format JSON unifié dans Satoshi via le protocole Ordinals. Ces données textuelles sont le livre comptable des jetons BRC-20. Sur la base de ces données textuelles, les avoirs en jetons et les transferts peuvent être analysés, ce qui comprend principalement le contenu suivant :
{
"p": "brc-20",
"up": "déployer",
"cocher": "ordi",
"maximum": "21 000 000",
"lim": "1000"
}
{
"p": "brc-20",
"on": "menthe",
"cocher": "ordi",
"montant": "1000"
}
{
"p": "brc-20",
"on": "transfert",
"cocher": "ordi",
"montant": "1000",
}
Les ci-dessus sont les trois normes du BRC20. Parmi eux, le champ op représente l opération qui doit être effectuée, y compris deploy (déploiement), mint (minting) et transfert (transfert). La coche représente le nom du jeton qui doit être exécuté. max représente le montant total de jetons émis, lim représente le nombre maximum de pièces frappées par jeton, amt représente le nombre de jetons qui doivent être exploités. Dans la norme de transfert, il y a également des champs tels que « à », mais ce n'est pas nécessaire. Le transfert s'effectue par L'inscription est envoyée à l'adresse cible pour mettre en œuvre le changement de solde.
2. ARC-20
ARC-20 est toujours le protocole d'inscription sur la chaîne publique Bitcoin. Comme le protocole BRC-20, il est implémenté en écrivant des données standard dans UTXO, mais la différence est que le protocole ARC-20 n'a pas besoin de spécifier ARC-20 dans les données. Au lieu de cela, le nombre de jetons ARC-20 est représenté par sats (satoshi, la plus petite unité de Bitcoin) dans l'UTXO. La règle est 1 sat = 1 jeton ARC-20 .
Le protocole ARC20, comme le protocole BRC20, est également divisé en trois étapes : le déploiement, la création et le transfert. Lors de la phase de déploiement, le nom du jeton standard, le nombre total de jetons, les restrictions de lancement et les informations de blocage doivent être renseignés dans l'UTXO. , informations sur l'image, etc. ; lors de l'étape de création, l'utilisateur doit remplir le nom du jeton dans l'UTXO, et le nombre de sats de l'UTXO est le montant de frappe du jeton ARC20 et n'est pas renseigné dans l'UTXO avec le nom du jeton ; lorsque l'utilisateur crée des jetons ARC20, ils peuvent être envoyés à d'autres adresses. Lors de l'envoi de jetons, les utilisateurs n'ont pas besoin de remplir de données dans l'UTXO, mais transfèrent directement l'UTXO détenant le jeton vers d'autres adresses.
Lors de l'interrogation des jetons ARC20, un seul index est nécessaire. Le serveur d'index hors ligne peut lire les informations d'enregistrement du jeton et les transactions de frappe et de transfert. Il n'est pas nécessaire que le serveur calcule la relation de transfert de fonds et interroge les jetons ARC20 appartenant à l'adresse. La quantité peut être obtenue en lisant directement la quantité sats de l'UTXO détenant le jeton.
Après avoir compris BRC20 et ARC20, vous devriez savoir pourquoi certaines personnes transfèrent par erreur des actifs inscrits à d'autres adresses ou les « brûlent ».
Étant donné que les protocoles d'inscription BTC tels que BRC20 et ARC20 sont basés sur les transactions UTXO, les transactions d'inscription sont en fait ajoutées aux transactions BTC et les utilisateurs peuvent effectuer des opérations de transfert BTC ordinaires sans bien comprendre l'inscription. Son UTXO actuel est fusionné et scindé avec d'autres UTXO puis envoyés à des adresses involontaires, ce qui entraîne un transfert des actifs inscrits ou un « brûlé », provoquant des pertes irréversibles.
3. Ethscription
Ethscription est un protocole pour créer et partager des données sur Ethereum. Certaines inscriptions utilisent ce protocole pour remplacer les contrats intelligents pour implémenter l'émission de jetons. L'utilisation d'inscriptions peut réduire les coûts d'utilisation à des niveaux extrêmement faibles.
Lorsque Ethereum envoie une transaction, il fournit un bloc de données de données d'appel. Généralement, ce bloc de données sera laissé vide pour les transferts ETH ordinaires. Si un contrat intelligent est appelé, le bloc de données sera désigné comme la signature de la fonction appelante et chaque donnée de paramètre. Le protocole Ethscription utilise le bloc de données de calldata pour ajouter des données standard afin de donner une signification pertinente lors de l'envoi de transferts ETH ordinaires.
Comment Ethscription spécifie-t-il ces données standard ?
Tout d'abord, si vous souhaitez créer une description dont le contenu est constitué de données d'image, vous devez convertir l'image (la taille de l'image est limitée à 96 Ko) en une URI de données codées en Base64 au format (data:image/png;base64,. ..); suivant Convertissez l'URI en une chaîne hexadécimale ; envoyez une transaction de transfert ordinaire à l'adresse cible via Ethereum, et remplissez la chaîne hexadécimale ci-dessus dans les données d'appel, comme indiqué ci-dessous :

De de cette manière, l'adresse 0xf1bf possède l'Ethscription, et toute Ethscription créée ultérieurement avec les mêmes données d'appel sera considérée invalide.
Si vous souhaitez transférer l'Ethscription, vous avez besoin que le propriétaire de l'Ethscription envoie un transfert ordinaire à l'adresse de réception et remplisse le hachage de transaction qui a créé l'Ethscription dans les données d'appel, alors l'adresse de réception sera propriétaire de l'Ethscription, comme indiqué ci-dessous :

4. Inscription de la Blockchain EVM
Pour les blockchains EVM telles que BSC Chain, Ethereum et polygon, il existe une méthode courante de gravure d'inscriptions, qui consiste à utiliser le bloc de données de appels pour stocker des données au format fixe . Différente de la sauvegarde des données d'image mentionnée ci-dessus, cette méthode consiste à écrire un format standard dans les données d'appel. données textuelles.
Lorsque des inscriptions sont gravées sur la chaîne BSC, le format d'inscription est similaire au format d'inscription BRC20. Par exemple, le format d'inscription est : data:,{"p":"_","op":"_","tick":"_"," amt":"_"}, alors le champ p représente le nom du protocole, tel que bsc-20, bnbs-20, ltc-20, bep-20, drc-20, nrc-20, src-20, etc. ; Le champ op représente l'opération, généralement « menthe » ; le champ de coche représente le nom du jeton ; le champ amt représente le nombre de jetons.
En prenant le jeton bnbs comme exemple, nous pouvons voir que tant que un virement ordinaire est envoyé à l'adresse cible, renseignez data :,{"p":"bsc-20","op":"mint" dans le calldata , "tick": "bnbs", "amt": "1000"} termine ensuite l'opération de création de jetons bnbs, comme indiqué ci-dessous. À l'heure actuelle, l'adresse 0x22ef contient 1 000 jetons bnbs.

Ensuite, vous devez transférer le jeton. Comme ci-dessus, vous devez envoyer un virement ordinaire à l'adresse de réception et remplir le hachage de transaction qui a créé le jeton bnbs dans les données d'appel. Ensuite, l'adresse de réception sera propriétaire du jeton bnbs, comme indiqué ci-dessous :

C'est fondamentalement la même chose sur Ethereum, Polygon et d'autres chaînes, mais il convient de noter que le contenu de la chaîne BSC ci-dessus n'est pas la seule situation dans laquelle des inscriptions sont créées sur la chaîne evm. Il peut y avoir des différences dans les champs de données texte remplis entre différentes chaînes evm ou différents protocoles. Il peut également y avoir des différences dans la manière dont les jetons sont transférés. Mais pour ce type de méthode, elles sont toutes implémentées à l'aide de l'attribut calldata dans la chaîne EVM, elles semblent donc similaires.
Résumé
Dans cet article nous discutons des principes de mise en œuvre des inscriptions sur plusieurs chaînes. En en résumé, les inscriptions introduites sont tous des processus qui utilisent certaines fonctionnalités du système de chaîne publique pour enregistrer des informations hors ligne dans la blockchain conformément aux normes prescrites, puis les identifier et les afficher via des serveurs hors-ligne. Aucune des inscriptions introduites n'utilise de contrats intelligents. Les utilisateurs peuvent réduire une grande quantité de coûts de transaction supplémentaires lors de participation. Cependant, les utilisateurs doivent bien comprendre la mise en œuvre du protocole d'inscription pour éviter des transferts erronés ou des brûlures accidentelles d'inscriptions, entraînant des pertes d'actifs.
Contact
Si vous avez besoin de services de sécurité blockchain, n'hésitez pas à nous contacter :
Site officiel Beosin EagleEye Twitter Telegram Linkedin