introducción

En el artículo anterior de la serie Ordinals vs Taro, presentamos brevemente la implementación teórica de las operaciones de acuñación y transferencia de activos de Taro en el protocolo Taro. Aquí, revisaremos las teorías de implementación de Ordinals y Coloured Coin para compararlas, y presentaremos más a fondo la implementación de Taro y el progreso existente para explorar en profundidad la viabilidad de la implementación de la red de segunda capa de Bitcoin.

El artículo se dividirá en las siguientes cuatro partes: el origen del token homogéneo Colored Coin de Bitcoin, la teoría de los ordinales y los ordinales, la implementación y el progreso de Taro y la lectura ampliada: Protocolo atómico.

Reseña: El origen de todas las monedas de colores

Coloured Coin es un nuevo token generado en la red Bitcoin propuesto por Yoni Assia, Vitalik Buterin y otros en 2012 [1] [2]. Las monedas de colores deberían ser el prototipo de los tokens ERC-20 actualmente comunes. Se usaban para representar activos y realizar votaciones en ese momento, que es similar a las funciones que desempeña el ERC-20 en la actualidad. En el antiguo navegador de monedas de colores Coinprism, también podemos ver una serie de activos emitidos por personas en 2015. La imagen está tomada de la instantánea dejada por la página web en 2015: Coinprism Snapshoot - archive.org.

Instantánea de Coinprism

principio

Las monedas de colores distinguen un grupo de Bitcoins de otros Bitcoins mediante la "coloración". Hay dos formas de implementar monedas de colores: el protocolo EPOBC propuesto por ChromaWay y Open Assets (Open Assets) que utiliza OP_RETURN para almacenar metadatos. Aquí, presentamos brevemente el principio de implementación de los activos abiertos, que también es un método mencionado por Yoni et al. en el documento técnico de Coloured Coins [3].

OP_RETURN se propuso en Bitcoin v0.9.0 y se puede utilizar para almacenar una pequeña cantidad de datos en Bitcoin [4]. El límite inicial era almacenar datos de 40 bytes de longitud, que luego se aumentó a 80 bytes. El Libro Blanco de Coloured Coin (2013) utilizó una codificación de longitud de 40 bytes para implementar el color, mientras que la Especificación del Protocolo de Colored Coin de 2016 [5] utilizó una especificación de longitud de 80 bytes. La especificación del protocolo de monedas de colores de 2016 es relativamente compleja y también involucra el lenguaje de mini escritura de monedas de colores, que no se presentará aquí. La idea original de las monedas de colores es usar OP_RETURN para almacenar información de codificación específica en el script de salida de una transacción y luego confiar en el programa de indexación fuera de la cadena para identificar la legitimidad de estas transacciones (como aparecerán los ordinales al final). de 2022).

Crear activos

En el documento técnico de monedas de colores original, la codificación de datos para crear el activo es la siguiente

Formato de codificación en el Libro Blanco de las Monedas de Colores

Los datos codificados comienzan con 0x0043438000 ("CCP") para identificarlo como una transacción de génesis de moneda coloreada, seguido de dos bytes que indican la versión actual del protocolo. Los dos bytes siguientes son instrucciones de emisión adicionales. Todo 0 significa que el activo no se puede emitir adicionalmente y todo 1 significa que el activo se puede emitir de forma ilimitada. Los últimos 31 bytes se utilizan para almacenar información sobre el teñido. Una transacción de creación de activos descrita en el documento técnico es la siguiente

Los datos codificados en la salida OP_RETURN indican que esta transacción es la transacción de creación del activo. De acuerdo con las reglas de codificación, los activos creados por esta transacción pueden ser emitidos infinitamente por la billetera con la dirección 17zt...sSrb (porque el primero). entrada (Esta dirección es la dirección que se puede utilizar como dirección de emisión adicional según el protocolo), y la dirección antes de la salida OP_RETURN se puede identificar como la dirección que recibe los activos de creación. Las primeras tres direcciones recibirán 9,900,000. 19.900.000 de este activo, y el último domicilio recibirá 19.900.000 de este activo. De esto se puede ver que cada satoshi teñido en las monedas de colores corresponde a un determinado activo teñido.

¿Por qué la cantidad de activos recibidos se reduce en 10.000? Esto se debe al relleno predeterminado de 10,000 definido en el protocolo, que permite desteñir 10,000 satoshis para evitar transacciones de polvo.

Transferencia de activos

La transferencia de activos puede diseñarse para que sea más compleja, como transferir múltiples tokens de diferentes tintes en una transacción. Sin embargo, para facilitar la expresión del proceso de transferencia, se supone que se transfiere un único token teñido. Y la transferencia involucra el número de secuencia de entrada (secuencia, que es un campo en la entrada de la transacción de Bitcoin, generalmente puede ver el campo nSequence en el navegador), y su representación binaria representa a qué salida la entrada enviará el token. medio. Por ejemplo, 6 (110b) significa enviar a las salidas 1.ª y 2.ª, no a la 0.ª u otras salidas. A continuación se muestra una transacción de transferencia de token, donde se omite la información de la dirección de entrada y salida. Los colores oscuros en la figura indican que la entrada o salida está coloreada.

Transacciones de transferencia de color

Representándolo como el estado de transferencia de monedas de colores, es decir, quitando el relleno y convirtiendo el binario del número de serie en una forma fácil de leer, el estado inicial se puede obtener de la siguiente manera. La marca de tinte de salida está representada por el. estado final, que está marcado directamente aquí.

Indicación de estado de transferencia de monedas en color

A partir de la entrada 0, recorra el número de secuencia para transferir el estado. El proceso de transferencia se muestra en la siguiente figura.

Cambios de estado de transferencia

  • Transfiera 5 activos coloreados de la entrada 0 a la salida 1. En este momento, los espacios en la salida 0 y 1 se restan por 5. Dado que se transfieren a 1, y la entrada 0 es un activo coloreado, se genera el valor coloreado de 1. . sumar 5;

  • La entrada 1 transfiere 10 activos de tinte a la salida 1. En este momento, min (5, 10) = 5 se resta de la salida 1 y se transfiere a 1, y la entrada 1 es un activo de tinte, por lo que el valor c aumenta en 5;

  • La entrada 1 transfiere 10 activos de tinte a la salida 2. En este momento, min(5, 10) = 5 se resta de la salida 2 y se transfiere a 2. La entrada 1 es un activo de tinte, por lo que el valor c aumenta en 5;

  • La entrada 2 transfiere 20 recursos coloreados a la entrada 1, restando min(0, 20) = 0 de sus espacios, pero la entrada 2 no está coloreada, por lo que no hay cambio en el valor c en la salida 0;

A través de este proceso, se puede ver que las reglas de transferencia de monedas de colores son relativamente complicadas. El programa de indexación fuera de la cadena necesita implementar un cálculo UTxO para la transferencia de monedas de colores basado en el UTxO de Bitcoin de acuerdo con una serie de reglas. El documento técnico de monedas de colores de 2012 también mencionó la tecnología de intercambio descentralizado para completar el intercambio de monedas de colores en una sola transacción. Es una lástima que la tecnología de transacciones parcialmente firmadas (PSBT - BIP0174) requerida por esta tecnología solo se incorporó a BIP en 2017. En ese momento, esto requería una plataforma centralizada para identificarla e implementarla a través del libro de pedidos (entonces, ¿es esto todavía centralizado?

Dex en papel blanco de monedas de colores

Además, la versión v2 de la especificación del protocolo de monedas de colores en 2016 diseñó aún más el código de bytes, la dirección de transferencia y las reglas de verificación necesarias para las monedas de colores. Es una pena que este conjunto de reglas no se desarrollara más debido a las limitaciones funcionales de Bitcoin en ese momento. Además, la aparición de Ethereum en 2015 hizo que dicho diseño fuera inútil y el desarrollo de las monedas de colores terminó aquí. Algunas personas también dicen que la razón del fracaso de las monedas de colores es que están acopladas con el BTC nativo y, en algunos casos, se enviarán como BTC y se reducirán. Pero el autor cree que la causa de su fracaso son las molestias de circulación y la falta de escenarios de aplicación.

Teoría ordinal: ordinales

Llega el momento de diciembre de 2022. Gracias a Segregated Witness y la tecnología de transacciones de firma parcial en 2017, y a la activación de la actualización Taproot en 2021, Casey Rodarmor inventó la teoría ordinal [7]: el número ordinal es un esquema de numeración de Bitcoin que lo hace posible. para rastrear y transferir sats individuales [6], que están numerados según el orden en que se extrajo cada bitcoin y según la regla de primero en entrar, primero en salir cuando se realizaron las transacciones.

Representación de números ordinales:

  • Símbolo entero: 2099994106992659 Este número de serie se asigna según el orden en el que se extraen los satoshis.

  • Notación decimal: 3891094.16797, el primer número es la altura del bloque de minería Satoshi y el segundo número es el desplazamiento de Satoshi dentro del bloque.

  • Símbolo de grado: 3°111094′214″16797‴ Para conocer el principio específico de representación de grados, consulte el Manual de teoría de números ordinales.

  • Símbolo de porcentaje: 99,99971949060254%. Expresa la posición de Satoshi en el suministro de Bitcoin como porcentaje.

  • Nombre: satoshi. Codifique el número de secuencia utilizando los caracteres de la a a la z.

Inscripción

La teoría de números ordinales es más bien un rastreo de la unidad más pequeña de Bitcoin, sat. Las reglas que diseña hacen que cada sat tenga su propio número único. Según la teoría ordinal, algunos datos únicos de la cadena se pueden asociar con estos sats, lo que se denomina inscripciones "grabadas". Las inscripciones se almacenan en un script de raíz principal, que tiene pocas restricciones de contenido y puede recibir descuentos adicionales para testigos, lo que hace que el almacenamiento de inscripciones sea económico. El formato de script Taproot para Inscripción es similar a:

Se almacena en el script testigo de entrada de la transacción Reveal y el nodo de índice fuera de la cadena (ord) lo reconoce y expone al atravesar el bloque.

Debido a la limitación de la indexación y la incapacidad de operar en la cadena, Inscription necesita implementar otras funciones adicionales que solo se pueden lograr mediante la apertura de la orden, como la inscripción reciente de padre e hijo y el índice de inscripción de maldición de unos meses. atrás. La idea básica de la inscripción es muy similar a la de Coloured Coin. Almacenan datos en transacciones y los indexan mediante programas fuera de la cadena. La diferencia es que la inscripción almacena datos en el script Taproot de entrada, mientras que Coloured Coin los codifica. almacenado en una salida.

En este punto, el ecosistema de Bitcoin se ha desarrollado, las personas pueden acuñar NFT en la cadena y, gracias a algunas tecnologías de firma de transacciones, también han surgido mercados de transacciones. La tecnología de inscripción en sí es muy similar a la de las monedas de colores. Ambas almacenan datos en la cadena y están indexadas mediante herramientas de indexación fuera de la cadena. Sin embargo, debido a diferentes épocas y diferentes funciones, las monedas de colores estaban limitadas por las deficiencias funcionales de Bitcoin en ese momento y no se desarrollaron más. Lo que permitió a Ordinals desarrollarse y destacarse debería ser su tarifa de inscripción más baja (en comparación con el sello bitcoin de su competidor inicial [8]) y el mercado que surgió gracias a la tecnología de transacciones de firma parcial, que permite a las personas intercambiar inscripciones fácilmente.

BRC-20

Posteriormente, el protocolo BRC-20 basado en inscripciones también apareció en marzo de 2023. Como se mencionó en el artículo anterior, un método de implementación de tokens tan homogéneo tiene una estética violenta y el proceso de emisión y transferencia de tokens está escrito en papel. se deja en manos del indexador BRC-20, lo que equivale a agregar un índice encima de la inscripción del índice de Bitcoin. Por supuesto, en la implementación real, el indexador BRC-20 puede ignorar directamente otras conversiones de NFT y solo preocuparse por la conversión y transferencia de BRC-20.

BRC-20 ahora se parece un poco a la red de segunda capa de Bitcoin: la red de segunda capa procesa una serie de transacciones, se comunica regularmente con la cadena principal y envía transacciones para agruparlas para garantizar la descentralización. En BRC-20, se refleja como un indexador que indexa el saldo de la cuenta del usuario para garantizar si ciertas inscripciones BRC-20 son válidas (procesamiento de transacciones), y el proceso de transferencia y conversión lo implementa el propio usuario (enviando transacciones al principal cadena).

Curiosamente, en las fotos publicadas por Ordinals Summit no hace mucho, un PPT de brc20-swap mostrado por domo, el fundador de BRC-20, menciona dos conceptos: máquinas virtuales basadas en inscripción y rollup. Esto parece indicar que BRC. -20 también ingresará a la red de segunda capa en el futuro.

Implementación y progreso de Taro

En el artículo anterior, presentamos el principio de acuñación y transferencia de activos de Taro en la cadena, pero ¿cómo se implementa en la práctica? En comparación con la introducción de los principios en el artículo anterior, aquí presentaremos la implementación actual y el último progreso de Taro.

Implementación específica de Taro

Debido a razones bien conocidas, el nodo de Lightning Network utilizado para las pruebas localmente no puede unirse a la red de prueba normalmente. Esto se explicará aquí a través del proceso de prueba de Comprensión del protocolo de activos Taproot n.° 2.

fundición de activos

Como se mencionó en el artículo anterior, la acuñación de activos requiere seleccionar la UTxO de entrada y registrar la información del nodo raíz de un nuevo árbol Merkle Sum-Merkle (MS-SMT) en el árbol de activos.

Después de completar la fundición del activo, puede obtener la información del activo:

{

"activos": [

    {

      "versión": 0,

      "génesis_de_activos": {

        "punto_génesis": "ba779153a792a1d49433fd18e56311f8d212992e7d1405cb14af8dffb34e88ce:0",

        "nombre": "fantasycoin",

"meta_hash": "04e552053fd4c8e2c01bc14cb9a0ce00f07d4ffdffff68fe455c70b934b22a43",

"id_de_activo": "20cecdb6626705bf26ad036084f7423082db6114f0de84046ebf2e84f6852874",

        "índice_de_salida": 0,

        "versión": 0

      },

      "tipo_de_activo": "NORMAL",

      "cantidad": "100",

      "tiempo_de_bloqueo": 0,

      "tiempo de bloqueo relativo": 0,

      "versión_del_script": 0,

"clave_de_script": "02b4c71447e74672f8cd5b50a6b430fc73b3caff7866dc905a502fe8adefad3b31",

      "script_key_is_local": verdadero,

      "grupo_de_activos": nulo,

      "anclaje_de_cadena": {

"ancla_tx": "02000000000101ce884eb3ff....",

        "anchor_txid": "ebe73fb60dfa99d191ed1e43a0509cc93c5223fa202656c469e01d6abfd66356",

       "anchor_block_hash": "0000000000000000000000000000000000000000000000000000000000000000000000000000000",

"punto de salida de anclaje": "ebe73fb60dfa99d191ed1e43a0509cc93c5223fa202656c469e01d6abfd66356:0",

"clave interna": "03d9f42daae1b7832d77d3ec83ddbb62e71266f6aedf6bcceb944e9672177c9301",

"raíz_merkle": "634ff6d86b8889f119f505a9bcba38fe4c6bda4b5a40a439fce37184badff63f",

        "tapscript_sibling": nulo

      },

      "prev_testigos": [

],

      "is_spent": falso

    }

  ]

}

El resultado aquí contiene tres campos importantes:

génesis de activos

、 script_key y chain_anchor

  • génesis de activos

    : Describe la información de creación del activo, como el valor hash de los metadatos, el número UTxO de entrada y la identificación del activo.

  • clave de script

    : Similar a ScriptPubKey en transacciones P2TR, se requiere un script testigo que cumpla con las condiciones para gastar el UTxO que representa el activo (como se menciona en el artículo anterior UTxO*)

  • ancla de cadena

    : Describe la información de la transacción del activo en la cadena anclada actualmente. Almacena la transacción, el valor hash de la transacción, el valor hash del bloque en el que se encuentra la transacción y la UTxO de salida de la transferencia del activo.

De manera similar, la salida correspondiente también se genera en la transacción de génesis ebe73fb60dfa99d191ed1e43a0509cc93c5223fa202656c469e01d6abfd66356. Se requiere un script que cumpla con la salida ScriptPubKey (a través de una clave privada o ruta) para desbloquear este UTxO y usarlo para la siguiente transacción. Además, la siguiente transacción debe cumplir con los requisitos internos de script_key cuando se utiliza para transferir activos de Taro.

Un problema aquí es: ¿cómo garantizar que este UTxO pueda usarse para gastar los activos de Taro normalmente? Quizás se pueda forzar la eliminación del método para desbloquear la ruta de la clave privada (en P2TR, puede usar la clave privada para desbloquear UTxO o ingresar un script para desbloquear UTxO), de modo que los usuarios solo puedan gastar activos de Taro a través de la ruta del script. Debido a la limitada información disponible, la solución a esta parte del problema no se ha reflejado. Quizás este también sea un problema que el equipo de Lightning Labs esté solucionando. Como dijeron en la página de Github: El código actual no admite la operación. de la red principal Es probable que los usuarios pierdan los activos de Taro y UTxO que contienen BTC.

Además, no se puede acceder a los detalles de implementación del script testigo. Si necesita una comprensión más profunda, solo puede leer el código fuente, y esto requiere más tiempo, por lo que no lo explicaré en profundidad aquí.

Transferencia de activos

En Taro Asset, la transferencia de activos requiere que ambas partes de la transferencia sincronicen sus universos. Como se mencionó en el artículo anterior, Taro Universe almacena la metainformación de los activos de Taro y puede considerarse como una base de datos que almacena esta serie de información de transacciones. . Las transacciones solo se enviarán a Bitcoin cuando sea necesario demostrar que estas transacciones y comportamientos de acuñación efectivamente han ocurrido (esto parece usarse también como un mecanismo de restricción, como la discusión en la sección anterior para garantizar que UTxO deba gastarse como un activo de Taro). Por lo tanto, antes de una transacción, ambas partes de la transacción deben sincronizar información para garantizar la validez de la transacción. Luego, envíe los activos de Taro a otra dirección, lo que generará una transacción similar.

transferir

información:

{

"transferir": {

    "transfer_timestamp": "1684836471",

"ancla_tx_hash": "e4efa1c3272009193e961f383b29c1bc84cf6ed8eb0806bf94056a41387835b3",

    "ancla_tx_altura_sugerencia": 2434958,

"tarifas de cadena de transferencias de anclaje": "12725",

    "entradas": [

      {

        "punto de anclaje": "ebe73fb60dfa99d191ed1e43a0509cc93c5223fa202656c469e01d6abfd66356:0",

"id_de_activo": "20cecdb6626705bf26ad036084f7423082db6114f0de84046ebf2e84f6852874",

"clave_de_script": "02b4c71447e74672f8cd5b50a6b430fc73b3caff7866dc905a502fe8adefad3b31",

        "cantidad": "100"

      }

],

    "salidas": [

      {

"ancla": {

          "punto de salida": "b3357838416a0594bf0608ebd86ecf84bcc1293b381f963e19092027c3a1efe4:0",

          "valor": "1000",

"clave interna": "024a3cb06616bb1545d3a25417a3fa5ccc70c5fbe9ceed8666410ed83745bbe968",

          "raíz_de_activo_de_raíz_de_taroot": "42ac8c2338032a0b0ea9b96916da31a8798eef30cbef2a80b8c6d60249e4698d",

"raíz_merkle": "42ac8c2338032a0b0ea9b96916da31a8798eef30cbef2a80b8c6d60249e4698d",

          "tapscript_sibling": nulo,

          "num_activos_pasivos": 0

        },

"clave_de_script": "02258420ed4cf219965908102c6f8498da274c251a3463880763ba118c2d946c62",

        "script_key_is_local": verdadero,

        "cantidad": "79",

        "nuevo_blob_de_prueba": "00245663d6bf6a1...",

"hash_raíz_de_confirmación_dividida": "fdee0a27d560e5223b5e06b7a61d3df5b405942d21cf887fc96b16088874546a",

        "tipo_de_salida": "TIPO_DE_SALIDA_RAÍZ_DIVIDIDA"

      },

      {

"ancla": {

          "punto de salida": "b3357838416a0594bf0608ebd86ecf84bcc1293b381f963e19092027c3a1efe4:1",

          "valor": "1000",

"clave interna": "033e42d7bdc3c5161c2dc440667b0f4fca4c4a7d32d13efac12a71994651b048ce",

          "raíz_de_activo_de_raíz_de_taroot": "8aada842f74c2b11e9b5a0a716baa0c453855ab6ea316222a8a28e7e79506f41",

"raíz_merkle": "8aada842f74c2b11e9b5a0a716baa0c453855ab6ea316222a8a28e7e79506f41",

          "tapscript_sibling": nulo,

          "num_activos_pasivos": 0

        },

"clave_de_script": "0225357fc148c441fbd5c5ea533fd6c33686697967a1cf8c493628788a535f433c",

        "script_key_is_local": verdadero,

        "cantidad": "21",

"nuevo_blob_de_prueba": "00245663d6bf6a1de069c4562620f...",

        "split_commit_root_hash": nulo,

        "tipo_de_salida": "TIPO_DE_SALIDA_SIMPLE"

      }

]

  }

}

Un usuario que acuña un activo toma como entrada el UTxO correspondiente al activo anclado y produce dos salidas a dos direcciones. La información de las salidas es conveniente para que el destinatario verifique si la UTxO que recibió es legal. Al mismo tiempo, la información de las salidas también proporciona al destinatario la información necesaria para generar la siguiente transferencia, que se utiliza para generar un testigo legal. script para garantizar que este UTxO se pueda consumir normalmente. Combinado con la descripción anterior del árbol de activos y el proceso de transferencia de activos de Taro,

id_activo

Se puede utilizar para indexar en nodos hoja que representan activos en el árbol de activos. Los nodos hoja también almacenan la cantidad total de activos, y esta información se almacena en Taro Universe. Puede considerarse como un programa de indexación fuera de la cadena. A través de script_key, el saldo de los activos gastables correspondientes se puede consultar en el MS-SMT de los activos correspondientes. Las billeteras que cumplen con las condiciones de capacidad de gasto pueden utilizar estos resultados como entradas para la siguiente transacción para realizar transacciones.

La "transferencia" anterior es un proceso de "división" (100 -> <79, 21>), por lo que el tipo de salida para sí mismo es

TIPO_DE_SALIDA_RAÍZ_DIVIDIDA

, similar a la operación de fusión, fusiona los activos bajo diferentes script_keys que una determinada billetera puede consumir en uno solo.

Estas operaciones involucradas en Taro Asset solo se reflejan en forma de Pay-To-Taproot (P2TR) en la cadena de bloques. El principal proceso de transferencia de activos todavía ocurre fuera de la cadena, por lo que desde esta perspectiva, Taro Asset puede considerarse como un poco. Una red de monedas de segunda capa.

desarrollos recientes

En la página de Taproot-Asset, puedes ver que las funciones que se han implementado hasta el momento son:

  • fundición de activos

  • Sincronización del Universo Taro

  • Enviar/recibir activos

  • Importar/exportar certificados de activos

  • Crear y administrar archivos de configuración CLI

A juzgar por la última versión v0.2.3, el equipo de Lightning Labs todavía está solucionando los problemas restantes del programa Taro y mejorando la lógica del programa original, como agregar la altura del bloque a la prueba de acuñación del activo. En la página de Github del programa, también está escrito que el código no es adecuado para la red principal y puede provocar la pérdida de activos de Taro y BTC. En la discusión oficial de Slack, los desarrolladores también mencionaron que Lightning Network aún no admite los activos de Taro.

La versión v0.2.0 que cumple con los requisitos de transmisión de activos se lanzó oficialmente en mayo de este año. Esta versión ya ha implementado las funciones de transmisión/transferencia/recepción de activos. El resto puede ser para refinar las reglas de transacción (como se mencionó anteriormente). corregir errores en el programa. Por lo tanto, los activos de Taro todavía tienen un largo camino por recorrer y actualmente no pueden cumplir con los requisitos para ejecutarse en la red principal. El autor cree que puede haber esperanzas de presenciar el funcionamiento oficial de los activos de Taro en los próximos uno o dos años.

Extensión: Protocolo atómico

En las dos semanas desde que el autor completó la primera parte de esta serie y escribió este artículo, apareció otro producto competidor de Ordinals: Atomics Protocol10 (protocolo atómico). Es muy similar al casting de Ordinals Inscription, los cuales requieren un. commit. La transacción se utiliza como entrada y el "sobre" se escribe en el script testigo y luego se revela, y el formato de los datos es particularmente similar:

OP_FALSE

OP_IF

 0x0461746F6D // Empujar "átomo" 4 bytes

 <Operation>  // Seguido de una sola pulsación para indicar el tipo de operación

 <Payload>    // Carga útil (codificada en CBOR) para la operación

OP_ENDIF

Arco-20

ARC-20 es un token fungible basado en el protocolo atómico. Tiene reglas de acuñación y transferencia completamente diferentes a las de BRC-20.

Acuñación: La acuñación de ARC-20 también requiere la implementación previa de tokens. El método de implementación es enviar transacciones en formato Atomics. La implementación requiere especificar el nombre del token, la altura de acuñación, la imagen asociada, la cantidad de acuñación y otra información. Después de llegar, otros pueden obtener la información del token a través del indexador y acuñarla. ARC-20 también diseñó un método de conversión similar a la minería. El implementador puede especificar el prefijo de colisión de commit tx y el prefijo de colisión de revelación tx. Si se establece esta información de prefijo, el minter debe seleccionar un nonce para cambiar la confirmación durante la conversión. .tx y el hash de revelar tx para seleccionar un prefijo que satisfaga la condición (a partir de ahora no hay ningún requisito para la colisión de revelar tx, pero la funcionalidad está disponible en el código fuente). Después de que el usuario encuentre un nonce que cumpla con las condiciones, el nombre del token acuñado y el nonce que cumpla con las condiciones se enviarán a la transacción del protocolo atómico codificado para completar la acuñación en la cadena de Bitcoin, y el indexador indexará la información del saldo. .

Transferencia: La transferencia de ARC-20 es muy similar a la de las monedas de colores, pero mucho más simple. ARC-20 está vinculada a Satoshi. Si el UTxO de estos tokens se usa como entrada, entonces la entrada i-ésima fluirá hacia la i-. ª Salida, si no hay suficientes salidas, es decir, si el número de entradas es mayor que el número de salidas, estos tokens fluirán a la primera salida.

Protocolo atómico

La ventaja de este método de transferencia es que evita el proceso como BRC-20 que requiere que la inscripción de transferencia se acuñe antes de negociar, lo que hace que la transacción de tokens homogéneos sea más conveniente. Si se utiliza tecnología de firma parcial, se puede realizar integrando transacciones. Complete el intercambio de tokens y BTC en una sola transacción, o incluso el intercambio de múltiples tokens diferentes. La desventaja es que dicha implementación hace que sea demasiado fácil para los usuarios perder tokens. Especialmente cuando los usuarios reciben múltiples copias de los mismos tokens e integran UTxO, estos UTxO que representan tokens pueden gastarse fácilmente como gas, o incluso gastarse en el proceso. acuñar otras fichas.

Además, el Acuerdo Atómico también incluye el diseño de NFT y nombres de dominio (independientemente de NFT). También hay contratos y eventos sin terminar en el documento debido a la falta de documentos oficiales.

Comparación de protocolos

Aquí necesitamos comparar los activos de Taro, los tokens BRC-20 de Ordinals y el protocolo atómico. Son similares en que la acuñación y transferencia de tokens son rastreadas y registradas por programas fuera de la cadena, pero las reglas registradas son diferentes de las del. cadena. Las manifestaciones son diferentes.

Comparación de protocolos

Conclusión

Finalmente, después de presentar estas tecnologías, analicemos la posibilidad de implementación de Bitcoin: en implementaciones comunes de red de dos capas, generalmente se construye una red blockchain adicional para ejecutar transacciones, y luego estas pruebas ejecutadas se colocan en la Capa 1. En la cadena principal, Este es también el principio básico de Rollup, y las pruebas se envían a la cadena principal con regularidad. Como red de pago de segunda capa de Bitcoin, Lightning Network se implementa de manera similar a la tecnología Rollup. Después de establecer un canal, las dos partes realizan una serie de interacciones, cierran el canal tras la confirmación final y luego proporcionan pruebas a la cadena.

Los activos de Taro están diseñados de manera similar a UTxO para completar la transmisión y transferencia de activos. El propósito puede ser ser compatible con Lightning Network, de modo que dicho modelo de intercambio también pueda tener efecto en Lightning Network. Ambas partes solo necesitan usar un modelo similar a Lightning Network para intercambiar activos y, finalmente, deben enviar una transacción de prueba al regresar a Bitcoin para demostrar que estos activos se han implementado en la red de segunda capa. Si el proceso de implementación de estos activos se implementa en Bitcoin, entonces se puede ver que cada transacción está certificada en Bitcoin, lo que garantiza que la certificación de activos fuera de la cadena sea válida. Sin embargo, esta implementación depende en gran medida del índice Taro Universe fuera de la cadena. Si se pierden metadatos, es probable que se pierdan los activos del usuario. Estos índices están muy descentralizados. ¿Quizás estos universos puedan formarse en una red P2P para formar un almacenamiento distribuido similar a IPFS? La ventaja de esto es que facilita la circulación de activos simbólicos homogéneos para los usuarios. La desventaja es que los activos simbólicos no fungibles no tienen sentido (como algunas personas pueden preguntar, ¿por qué no usar ERC721 directamente?).

BRC-20 registra violentamente datos de acuñación y transferencia, y el indexador indexa la información del libro mayor. Sus deficiencias son obvias. Los usuarios necesitan realizar una inscripción de transferencia antes de poder realizar una transferencia. Esta es una condición que debe cumplir porque depende de la implementación de Ordinals. Si BRC-20 no se basa en la implementación de Ordinals pero diseña un diseño similar a los Ordinals, es posible que pueda lograr una mejor liquidez, pero es posible que no pueda aprovechar la popularidad de los Ordinals y volverse popular. Por supuesto, la ventaja de esto es que el método de indexación es muy simple y no es necesario almacenar demasiados metadatos adicionales (en comparación con la información de metadatos almacenada en los activos de Taro), lo que también limita su escalabilidad. Las funciones que pueden realizar los Ordinals como NFT son muy buenas. Sus datos se almacenan en la cadena y se pueden indexar (aunque los mineros pueden descartar esta parte de los datos testigo), lo que muestra un enfoque diferente al de ERC-721. Los ordinales en sí no pueden considerarse como una red de segunda capa, pero después de la introducción de BRC-20, se comporta como una red de segunda capa, pero los cambios de datos se reflejan en Bitcoin, no en esta red de segunda capa (indexador). en sí mismo es sólo para garantizar la exactitud de la contabilidad.

Se puede ver que los activos de Taro y los ordinales tienen sus propios aspectos destacados, especialmente en la implementación de tokens fungibles y tokens no fungibles. Taro ha considerado mucho sobre la implementación de tokens fungibles y ha considerado que las transacciones Taproot to Compressed permiten una gran cantidad de activos. para intercambiarse en una transacción, y se utilizan métodos de transacción similares a UTxO para cumplir con la compatibilidad de Lightning Network. Sin embargo, su implementación de NFT es particularmente de mal gusto en comparación con la inscripción de Ordinals, el almacenamiento de datos en cadena es diferente del ERC-721 y se convierte en un punto destacado. El BRC-20 implementado en base a él es engorroso en el proceso de transacción del usuario, y la interacción en los activos de Taro no permitirá que los usuarios perciban todo esto. A partir de esta oposición, es obvio que la diferencia entre tokens fungibles y tokens no fungibles se puede sentir. Especialmente en una cadena de bloques basada en UTxO como Bitcoin, el método de diseño subyacente adoptado por el protocolo es particularmente importante.

Cita de datos

  1. Monedas de colores - wikipedia

  2. Bitcoin 2.X (también conocido como Bitcoin coloreado): especificaciones iniciales

  3. Libro blanco sobre monedas de colores

  4. DATOS NULOS - enséñame un bitcoin

  5. Esquema de coloración - Github

  6. Descripción general - Manual de teoría ordinal

  7. El ascenso de los ORDENALES, la explosión cámbrica de la ecología BTC

  8. Sellos de Bitcoin

  9. Protocolo atómico

  10. Protocolo de activos Taproot

  11. Comprensión del protocolo Taproot Assets n.° 2