protocol : Explication de ce à quoi ressemble une transaction OP_RETURN


Remarque . Je l’écris ici pour que les autres puissent apprendre rapidement. Tout d’abord.

En 2013, différents acteurs de l’écosystème bitcoin essayaient d’inclure des éléments d’information dans les transactions afin de pouvoir profiter de l’irréversibilité de la blockchain. Imaginez, par exemple, que vous vouliez écrire un contrat et le placer dans un endroit immuable où, à n’importe quelle date future, on pourrait revenir en arrière pour vérifier son existence. Vous pouvez le faire en utilisant la blockchain. Vous ajoutez quelques bits à la valeur scriptSig de la transaction qui ne modifient pas le résultat final de l’exécution de ce script. Il y avait des façons encore plus étranges d’ajouter des bits supplémentaires, comme l’inclure dans la valeur BTC d’une sortie. Certains membres de la communauté n’aimaient pas cela, car ils considéraient ces éléments supplémentaires comme une pollution de la blockchain. Les bits supplémentaires étaient un problème d’efficacité du réseau car plus de bits signifiaient des chaînes de blocs plus grandes et plus de responsabilité pour ceux qui exécutent des nœuds complets. ce qui est important pour tout le monde.

Pour parvenir à un terrain d’entente dans ces points de vue opposés. ce qui permet d’utiliser 80 octets arbitraires dans une transaction non dépensable. Une bonne explication de ceci peut être trouvée ici :

protocol : Explication de ce à quoi ressemble une transaction OP_RETURN

///bitcoin/core-development-update-5/

Plus tard en février 2014, le nombre d’octets a été réduit de 80 à 40 octets. Ce changement est documenté dans le lien ci-dessous. Notez que dans cette discussion pull,:

///bitcoin/bitcoin/pull/3737

Le hachage de ce tx est

Assurez-vous d’être connecté à un nœud bitcoind entièrement chargé et exécutez cette commande  :

$> bitcoind getrawtransaction 1

qui vous donnera cette sortie :

«  », « txid » : «  », « version » : 1, « locktime » : 0, « vin » : « vouter » :

} } ], « blockhash » : «  », « confirmations » : 2655, « time » : 1404107109, « blocktime » :

Maintenant, regardez la liste des sorties de cette transaction, en particulier la 1ère. En référençant la page du Bitcoin Wiki sur Script, le langage de programmation basé sur la pile de Bitcoin. Ce premier octet est suivi d’un octet qui représente la longueur du reste des octets dans le scriptPubKey. Dans ce cas. ce qui signifie qu’il y a 19 octets de plus. Si vous insérez les octets de message dans un décodeur UTF8, vous verrez que

devient « charley aime heidi ». Ah  ! C’est presque comme une version numérique de la sculpture romantique de l’arbre du cœur d’un couple.