Maison  >  Article  >  Discussion des principes et détails techniques du protocole d’inscription ordinale

Discussion des principes et détails techniques du protocole d’inscription ordinale

王林
王林avant
2024-02-04 09:30:08427parcourir

L'éditeur PHP Baicao analysera en détail les principes et les détails techniques du protocole d'inscription ordinale. Le protocole d'inscription ordinale est un protocole de cryptage utilisé pour protéger la transmission des données. Il utilise des algorithmes de cryptage avancés et des mécanismes d'authentification pour garantir la sécurité et l'intégrité des données pendant la transmission. Cet article présentera les principes de base du protocole d'inscription ordinal, y compris les technologies de base telles que l'échange de clés, les algorithmes de chiffrement et les codes d'authentification des messages, et explorera en profondeur son application dans les communications réseau. Que vous soyez débutant ou professionnel, la lecture de cet article vous aidera à mieux comprendre le protocole Ordinal.

Structure de bloc BTC

Blockchain est une technologie de comptabilité multi-utilisateurs, qui peut également être appelée base de données distribuée. Il organise les enregistrements en blocs par ordre chronologique et élargit le grand livre.

Discussion des principes et détails techniques du protocole d’inscription ordinale

Nous avons réalisé un tableau en utilisant Excel pour expliquer le fonctionnement de la blockchain. Un fichier Excel représente une blockchain, dans laquelle chaque table distincte représente un bloc. Les blocs sont classés par ordre chronologique de 560331, 560332 au dernier 560336. 560336 regroupera les dernières transactions du bloc. La partie principale du bloc est la méthode de comptabilité en partie double la plus courante dans le domaine comptable. L'adresse d'un côté est enregistrée comme débit (débit), qui est une entrée, et l'adresse de l'autre côté est enregistrée comme crédit ( crédit), qui est une sortie vers. La valeur correspond au nombre de BTC dans l'adresse correspondante. Le nombre de pièces d'entrée sera supérieur au nombre de pièces de sortie, et la différence correspond aux frais de transfert au niveau de l'utilisateur et aux frais de traitement obtenus par les mineurs (teneurs de livres). L'en-tête du bloc obtiendra la hauteur du bloc précédent, la valeur de hachage du bloc précédent, l'heure de création (horodatage) de ce bloc et un nombre aléatoire. Alors, en tant que technologie comptable décentralisée, qui récupérera les droits comptables du prochain bloc ? Il s'appuie sur ce nombre aléatoire et sa valeur de hachage correspondante. Les mineurs dotés de puissance de calcul effectuent un calcul de hachage sur le nombre aléatoire du bloc actuel. Le mineur qui obtient en premier la valeur de hachage qui remplit les conditions possède les droits comptables du bloc suivant et remporte la récompense de bloc et les frais de transfert. Enfin, il y a la zone de script, qui peut être utilisée pour certaines applications étendues. Par exemple, le script op_return peut être utilisé comme colonne postscript. Il convient de noter que dans le bloc lui-même, la zone de script est attachée aux informations d'entrée et de sortie, plutôt que d'être réellement une autre zone distincte. Par exemple, le script attaché à l'entrée est un script de déverrouillage (ScriptSig), qui nécessite l'adresse du portefeuille pour l'autorisation de signature de clé privée afin d'autoriser le transfert, tandis que le script attaché à la sortie est un script de verrouillage (ScriptPubKey), qui est utilisé pour définir les conditions de déverrouillage pour recevoir le BTC (généralement la condition est "seuls ceux qui possèdent la clé privée correspondante peuvent consommer").

Discussion des principes et détails techniques du protocole d’inscription ordinale

Discussion des principes et détails techniques du protocole d’inscription ordinale

Les tableaux de structure des données d'entrée et de sortie d'origine montrent les paramètres d'accompagnement des informations de transaction. Parmi eux, le script de déverrouillage (ScriptSig) fait partie de l'autorisation de clé privée et est également appelé « données témoins ».

Segwit et Taproot

Alors que le réseau Bitcoin fonctionne depuis plus de 10 ans sans incident notable, les coûts de transaction ont atteint à plusieurs reprises des sommets qui ne sont plus réalisables. En conséquence, les développeurs de Bitcoin ont discuté de la meilleure façon de faire évoluer le réseau pour gérer des volumes de transactions croissants à l'avenir.

En 2017, la communauté de développement Bitcoin était divisée en deux factions. L'une soutenait la fonction SegWit des soft forks, et l'autre préconisait l'augmentation directe de la taille des blocs, connue sous le nom de faction « big block ». La scission a déclenché un débat houleux.

Nous avons mentionné ci-dessus que le script de déverrouillage nécessite une autorisation de clé privée pour générer des « données de témoin », ces données de témoin peuvent-elles donc être séparées du bloc, augmentant ainsi le nombre de transactions que chaque bloc peut accueillir déguisées ? Le service de témoignage séparé a été officiellement activé en août 2017. La façon dont il est mis en œuvre consiste à diviser toutes les données de transaction en deux parties, une partie est les informations de base de la transaction (Données de transaction), l'autre partie est les informations de signature de la transaction (Données de témoin) et enregistre les informations de signature dans une nouvelle structure de données, se trouve dans un nouveau bloc appelé « témoin séparé (témoin) » et est transmise séparément de la transaction originale.

Discussion des principes et détails techniques du protocole d’inscription ordinale

Techniquement, la mise en œuvre de SegWit signifie que les transactions n'ont plus besoin d'inclure des données de témoin (elles n'occuperont pas l'espace de 1 Mo initialement prévu par Bitcoin pour les blocs). Au lieu de cela, à la fin d'un bloc, un espace séparé supplémentaire est créé pour les données témoins. Il prend en charge les transferts de données arbitraires et dispose d'un « poids de bloc » réduit qui maintient intelligemment de grandes quantités de données dans les limites de taille de bloc de Bitcoin pour éviter le besoin d'un hard fork. De cette manière, la limite supérieure de la taille des données de transaction des transactions Bitcoin est augmentée, tandis que les frais de transaction des données de signature sont réduits. Avant la mise à niveau de SegWit, la limite supérieure de la capacité de Bitcoin était de 1 Mo. Après SegWit, bien que la limite supérieure des transactions pures soit toujours de 1 Mo, la taille de l'espace des témoins séparés a atteint 4 Mo.

Taproot a été mis en œuvre en novembre 2021 et se compose de 3 propositions d'amélioration Bitcoin (BIP) différentes, notamment : Taproot, Tapscript et son nouveau système de signature numérique appelé "Schnorr Signature". Taproot est conçu pour apporter de nombreux avantages aux utilisateurs de Bitcoin, tels qu'une confidentialité accrue des transactions et des frais de transaction réduits. Cela permettra également à Bitcoin d’effectuer des transactions plus complexes, élargissant ainsi les scénarios d’application (de nouveaux opcodes ont été ajoutés).

Ces mises à jour sont un élément clé pour Ordinals NFT, qui stocke les données NFT dans un script de dépenses dans le chemin du script Taproot (espace de données témoins). Cette mise à niveau facilite la structuration et le stockage des données de témoins arbitraires, jetant ainsi les bases de la norme « ord ». Avec l'assouplissement des exigences en matière de données, on suppose qu'une transaction peut remplir un bloc entier avec ses données de transaction et de témoin - atteignant la limite de taille de bloc de 4 Mo (espace de données de témoin) - élargissant considérablement les types de médias pouvant être placés sur la chaîne. .

Certaines personnes peuvent se demander, puisque certaines chaînes sont mises dans le script, n'y a-t-il aucune restriction sur ces chaînes ? Et si ces scripts étaient réellement exécutés ? Si vous mettez le contenu avec désinvolture, y aura-t-il un code d'erreur qui refusera de produire un bloc ? Cela fait apparaître l'instruction OP_FALSE. OP_FALSE (également représenté par « 0 » dans Bitcoin Script) garantit que le chemin d'exécution dans le langage de script n'entre jamais dans la branche OP_IF et reste inexécuté. Il agit comme un espace réservé ou une absence d'opération (No Operation) dans le script, semblable à un "commentaire" dans un langage de haut niveau, pour garantir que le code ultérieur ne sera pas exécuté.

Discussion des principes et détails techniques du protocole d’inscription ordinale

Modèle de transfert UTXO

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer