Explore los principios técnicos y los posibles problemas de seguridad de la ecología de la inscripción popular.
Escrito por: Simon Shieh
El 6 de diciembre de 2023, cuando los inversores de Bitcoin celebraban las ganancias que Inions había aportado a Bitcoin, Luke Dashjr, el desarrollador del cliente del nodo Bitcoin Core, le echó agua fría. Creyó que la inscripción era un ataque de “spam” y envió un código de reparación y un informe de vulnerabilidad CVE (CVE-2023-50428). Luego, la comunidad Bitcoin explotó y, tras el caos del hard fork en 2017, la comunidad Bitcoin volvió a caer en un feroz debate.

Entonces, ¿Bitcoin debería prestar más atención a la seguridad y abandonar algunas características inesperadas, o debería ser más tolerante con las innovaciones inesperadas y ligeramente tolerante con los posibles problemas de seguridad?
Sabemos que el viaje de Bitcoin no es sólo especulación y exageración, sino también la evolución continua de su ecosistema y panorama de seguridad. Este artículo pretende profundizar en las dos narrativas del crecimiento de Bitcoin: ampliar la utilidad dentro de su ecosistema y fortalecer las medidas de seguridad. Exploraremos cómo la sinergia de la innovación y los sólidos protocolos de seguridad pueden allanar el camino para una nueva era de activos digitales.
Sabemos que Bitcoin, como piedra angular de la revolución de las criptomonedas, siempre se ha utilizado como depósito de valor como el oro. Cuando otras innovaciones de la cadena pública DEFI están en pleno apogeo, la gente parece haber olvidado la existencia de Bitcoin.
Sin embargo, fue precisamente en Bitcoin donde los pioneros comenzaron a experimentar con monedas estables, Layer2 e incluso DEFI. Por ejemplo, el USDT, la moneda fuerte actual en el círculo monetario, se emitió por primera vez en la red Bitcoin Omnilayer. La perspectiva de la implementación técnica. Una clasificación básica del ecosistema Bitcoin.

Incluyendo tecnologías como cadenas laterales basadas en anclaje bidireccional, análisis de texto basado en scripts de salida (OP_RETURN), grabado basado en scripts Taproot, cadenas de transmisión basadas en actualizaciones y mejoras BIP300 y redes relámpago basadas en canales estatales.
Es posible que no comprenda muchos de los términos anteriores, así que no se preocupe: primero familiaricémonos con los siguientes conocimientos básicos y luego expliquemos los principios técnicos de estos ecosistemas uno por uno y analicemos los problemas de seguridad involucrados.
A diferencia del sistema de saldo de cuentas de Ethereum, no existe el concepto de cuenta en el sistema Bitcoin. Ethereum presenta cuatro complejos intentos de Merkle Patricia para almacenar y verificar cambios en el estado de la cuenta. Por el contrario, Bitcoin utiliza inteligentemente UTXO para resolver estos problemas de manera más concisa.
*Cuatro árboles de Ethereum
*Entrada y salida de Bitcoin
UTXO (Salidas de transacciones no gastadas, salidas de transacciones no gastadas), el nombre suena muy difícil de pronunciar, pero de hecho, es fácil de entender después de comprender los tres conceptos de entrada, salida y transacción.
Los amigos que estén familiarizados con Ethereum deben saber que una transacción es la unidad de comunicación básica en la red blockchain. Una vez que la transacción se empaqueta y confirma, significa que se confirma el cambio de estado en la cadena. En las transacciones de Bitcoin, no existe una única operación de estado de dirección a dirección, sino múltiples scripts de entrada y scripts de salida.

La imagen de arriba es una transacción 2 a 2 de Bitcoin muy típica. En teoría, la cantidad de entrada de BTC y la cantidad de salida de BTC deberían ser iguales. De hecho, los mineros del bloque obtienen la salida de BTC que es menor que la entrada como tarifas de mineros, lo que equivale a la tarifa de gas en Ethereum.
Podemos ver que al transferir BTC, las dos direcciones de entrada deben verificarse en el script de entrada para demostrar que estas dos direcciones de entrada pueden gastar estas dos entradas (es decir, la salida no gastada de la anterior, UTXO), y la salida. El script estipula las condiciones para gastar dos salidas de Bitcoin, es decir, qué condiciones deben cumplirse la próxima vez que esta salida no gastada se use como entrada (para transferencias ordinarias, la condición es la firma de la dirección de salida, como en la imagen de arriba, P2wPKH indica que se requiere la verificación de la firma de la dirección raíz principal y P2PKH indica que se requiere la firma de la clave privada de la dirección heredada).
En concreto, la estructura de datos de las transacciones de Bitcoin es la siguiente:

En una transacción de Bitcoin, la estructura básica consta de dos partes clave: entradas y salidas. La parte de entrada especifica el iniciador de la transacción, mientras que la parte de salida especifica el destinatario de la transacción y el cambio (si corresponde). La tarifa de transacción es la diferencia entre el monto total de entrada y el monto total de salida. Dado que la entrada de cada transacción es la salida de una transacción anterior, la salida de la transacción se convierte en el elemento central de la estructura de la transacción.
Esta estructura forma una conexión de cadena. En la red Bitcoin, cada transacción legítima puede rastrearse hasta el resultado de una o más transacciones anteriores. El punto de partida de estas cadenas de transacciones es la recompensa minera y el punto final es el resultado de la transacción que aún no se ha gastado. Todas las salidas no gastadas en la red se denominan colectivamente UTXO (Salida de transacciones no gastadas) de la red Bitcoin.
En la red Bitcoin, las entradas de cada nueva transacción deben ser salidas no gastadas. Además, cada entrada también requiere la firma de clave privada correspondiente de la salida anterior. Cada nodo de la red Bitcoin almacena todos los UTXO actualmente en la cadena de bloques para verificar la legitimidad de nuevas transacciones. A través de UTXO y mecanismos de verificación de firmas, los nodos pueden verificar la legitimidad de nuevas transacciones sin rastrear todo el historial de transacciones, simplificando así el proceso de operación y mantenimiento de la red.
La estructura de transacción única de Bitcoin está diseñada de acuerdo con su documento técnico “Bitcoin: A Peer-to-Peer Electronic Cash”. Bitcoin es un sistema de efectivo electrónico. Su estructura de transacción simula el proceso de transacción de efectivo. Una dirección puede gastar La cantidad depende de la cantidad de efectivo recibido antes. Cada transacción requiere que todo el efectivo en esta dirección se gaste en su totalidad. La dirección de salida de la transacción suele ser una dirección de recepción y una dirección de cambio, como las que se usan en los supermercados. Cambio para transacciones en efectivo .
En la red Bitcoin, los scripts desempeñan un papel vital. De hecho, cada resultado de una transacción de Bitcoin en realidad apunta a un script en lugar de a una dirección específica. Estos scripts son como un conjunto de reglas que definen cómo el destinatario puede utilizar los activos bloqueados en la salida.
La verificación de legalidad de las transacciones se basa en dos scripts: script de bloqueo y script de desbloqueo. Existe un script de bloqueo dentro del resultado de una transacción y define las condiciones necesarias para desbloquear ese resultado. En consecuencia, los scripts de desbloqueo deben seguir las reglas definidas por los scripts de bloqueo para desbloquear los activos UTXO. Estos scripts se encuentran en la parte de entrada de la transacción. La flexibilidad de este lenguaje de programación permite a Bitcoin lograr una variedad de combinaciones de condiciones, lo que demuestra sus características como una “moneda parcialmente programable”.
En la red Bitcoin, cada nodo ejecuta un intérprete de pila que interpreta estos scripts basándose en las reglas de “primero en entrar, primero en salir”.
Hay dos tipos comunes principales de los scripts de Bitcoin más clásicos: P2PKH (Pay-to-Public-Key-Hash) y P2SH (Pay-to–Hash). P2PKH es un tipo de transacción simple en el que el destinatario simplemente firma con la clave privada correspondiente para utilizar el activo. P2SH es más complejo, como en el caso de firmas múltiples, donde se requiere una firma combinada de múltiples claves privadas para usar el activo, o.
Juntos, estos scripts y mecanismos de verificación forman la operación central de la red Bitcoin, garantizando la seguridad y flexibilidad de las transacciones.
Por ejemplo, en Bitcoin, las reglas del script de salida de P2PKH son las siguientes:
Clave pública: OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG
La entrada requiere una firma
Firma: decir
Las reglas del script de salida de P2SH son las siguientes:
Clave pública: OP_HASH160 OP_EQUAL
La entrada requiere una lista de firmas múltiples
Firma : [sig] [decir…]
Entre las dos reglas de script anteriores, Pubkey representa el script de bloqueo y Signature representa el script de desbloqueo. Las palabras que comienzan con OP_ son comandos de script relacionados y también son instrucciones que el nodo puede analizar. Estas reglas de comando se dividen según diferentes Pubkeys, que también determinan las reglas para desbloquear scripts.
El mecanismo de secuencias de comandos en Bitcoin es relativamente simple. Es solo un motor basado en pila que interpreta instrucciones OP relevantes. No hay demasiadas reglas de secuencias de comandos que se puedan analizar y no puede implementar una lógica muy compleja. Pero proporcionó un prototipo para la programabilidad de blockchain, y algunos proyectos ecológicos posteriores se desarrollaron en realidad basándose en principios de secuencias de comandos. Con las actualizaciones de Segregated Witness y Taproot, los tipos de instrucciones OP se han vuelto más abundantes, se ha ampliado el tamaño de los scripts que se pueden incluir en cada transacción y el ecosistema Bitcoin ha marcado el comienzo de un crecimiento explosivo.
La popularidad de la tecnología de inscripción es inseparable de las actualizaciones Segregated Witness y Taproot de Bitcoin.
Técnicamente, cuanto más descentralizada es una cadena de bloques, menos eficiente es en general. Tomando Bitcoin como ejemplo, el tamaño de cada bloque permanece en 1 MB, que es el mismo tamaño que el primer bloque minado originalmente por Satoshi Nakamoto. Ante el problema de la expansión, la comunidad Bitcoin no eligió el camino de aumentar simple y directamente el tamaño del bloque. En cambio, adoptaron un enfoque llamado Testigo Segregado (SegWit), un esquema de actualización que no requiere un hard fork y tiene como objetivo mejorar la red optimizando la estructura de datos en el bloque, potencia de procesamiento y eficiencia.
En las transacciones de Bitcoin, la información de cada transacción se divide principalmente en dos partes: datos básicos de la transacción y datos testigo. Los datos básicos de las transacciones incluyen información financiera clave, como saldos de cuentas, mientras que los datos de testigos se utilizan para verificar la identidad del usuario. Para los usuarios, su principal preocupación es la información directamente relacionada con los activos, como los saldos de las cuentas, mientras que los detalles de verificación de identidad no requieren demasiados recursos en las transacciones. En otras palabras, a la parte que recibe el activo le preocupa principalmente si el activo está disponible y no tiene que prestar demasiada atención a los detalles del remitente.
Sin embargo, en la estructura de transacciones de Bitcoin, los datos testigo (es decir, la información de las firmas) ocupan una gran cantidad de espacio de almacenamiento, lo que conduce a una reducción de la eficiencia de las transferencias y a un aumento de los costos de empaquetado de las transacciones. Para resolver este problema, se introdujo la tecnología Segregated Witness (SegWit), cuya idea central es separar los datos de los testigos de los datos de la transacción principal y almacenarlos por separado. El resultado de esto es un uso optimizado del espacio de almacenamiento, lo que aumenta la eficiencia de las transacciones y reduce los costos.

De esta manera, si bien el tamaño del bloque original de 1 M permanece sin cambios, cada bloque puede acomodar más transacciones y los datos de testigos segregados (es decir, varios scripts de firma) pueden ocupar un espacio adicional de 3 M, proporcionando instrucciones de script Taproot. para almacenamiento.
Taproot es una importante actualización de la bifurcación suave de la red Bitcoin, diseñada para mejorar la privacidad y la eficiencia de los scripts de Bitcoin y las capacidades de procesamiento de los contratos inteligentes. Esta actualización se considera un avance importante desde la actualización de SegWit de 2017.
Esta actualización de Taproot incluye tres propuestas de mejora de Bitcoin (BIP) diferentes: Taproot (árbol de sintaxis abstracta de Merkle, MAST), Tap y un nuevo esquema de firma digital compatible con múltiples firmas llamado “firma Schnorr”. El propósito de Taproot es brindar a los usuarios de Bitcoin una variedad de beneficios, incluida una mayor privacidad de las transacciones y menores costos de transacción. Además, mejorará la capacidad de Bitcoin para realizar transacciones más complejas, ampliando así su alcance de aplicaciones.
La actualización de Taproot afecta directamente a tres ecosistemas: uno es el protocolo ordinales, que utiliza el script -path de gasto de Taproot para implementar datos adicionales; el otro es la actualización de Lightning Network a Taproot Asset, que evoluciona desde un simple BTC punto a punto. pagos punto a muchos También admite la emisión de nuevos activos; otro es el BitVM recientemente propuesto, que utiliza op_booland y op_not en Taproot para “grabar” el circuito bool en el script Taproot para realizar la conexión inteligente. Función de máquina virtual de contrato.
Ordinals es un protocolo inventado por Casey Rodarmor en diciembre de 2022 que le da a cada Satoshi un número de serie único y los rastrea en las transacciones. Cualquiera puede adjuntar datos adicionales, incluidos texto, imágenes, videos, etc., al script Taproot de UTXO a través de Ordinals.
Los amigos que estén familiarizados con los ordinales deben saber: el número total de Bitcoins es 21 millones, y cada Bitcoin contiene 10^8 Satoshi (Satoshi), por lo que hay un total de 21 millones*10^8 Satoshis en la red Bitcoin. El protocolo ordinal permitirá distinguir estos satoshis, cada satoshi tiene un número único. **Esto se puede hacer en teoría, pero en la práctica no se puede hacer. **
Debido a que la red BTC tiene un límite mínimo de transferencia de 546 satoshis (segwit es de al menos 294 satoshis) para resistir ataques de polvo, es decir, no se permiten transferencias de 1 satoshi y 1 satoshi, dependiendo del tipo de dirección de transferencia, al menos 546 Se deben transferir satoshis o 294 satoshis Satoshi, y de acuerdo con la teoría de numeración de los ordinales primero en entrar, primero en salir, al menos el Satoshi No. 1 al Satoshi No. 294 de cada bloque son indivisibles.
Entonces, el llamado grabado no está grabado en un determinado satoshi, sino en el guión de una transacción, y esta transacción debe contener al menos una transferencia de 294 satoshis, y luego ser rastreada por un indexador centralizado (como unisat) y identifique la situación de transferencia de este 294 Satoshi o 456 Satoshi.
En principio, el gasto de los scripts de Taproot solo se puede realizar a partir de la salida de Taproot existente, por lo que, en teoría, la inscripción debería realizarse mediante un procedimiento de confirmación/revelación de dos etapas. Primero, en la transacción de confirmación, cree una entrada Taproot basada en el contenido del gasto de ruta y especifique las condiciones de gasto/firma revelada en la salida. En segundo lugar, en una transacción de revelación, la salida creada por la transacción de confirmación se gasta, revelando el contenido de la inscripción en la cadena.
Sin embargo, en el escenario real del indexador, no prestamos mucha atención al papel de revelar transacciones, sino que leemos directamente el fragmento de script que consiste en un OP_FALSE OP_IF … OP_ENDIF en el script de entrada, y lea la inscripción Contenido.
Debido a que la combinación de instrucciones OP_FALSE y OP_IF hará que el script no se ejecute, se pueden almacenar bytes de contenido arbitrario sin afectar la lógica del script original.
Una inscripción de texto que contiene la cadena “¡Hola, mundo!” se serializa de la siguiente manera:
OP_FALSE OP_IF OP_PUSH "ord"OP_1OP_PUSH
"text/plain;charset=utf-8"OP_0OP_PUSH "¡Hola mundo!"OP_ENDIF
El protocolo Ordinals esencialmente serializa este fragmento de código en el script Taproot.
Busquemos una transacción de la cadena para explicar en detalle el principio de codificación de los ordinarios:
Podemos ver los detalles de esta transacción:

Analizamos la codificación del campo testigo a partir de 0063 (OP_FALSE OP_IF) y podemos comprender el contenido de la codificación serializada:
Entonces, siempre que podamos decodificar esta parte del código en el script testigo, podremos conocer el contenido inscrito. Lo que está codificado aquí es información de texto sin formato, y otros datos como html, imágenes, videos, etc. también son similares.
En teoría, también puede definir su propio contenido codificado, o incluso contenido cifrado que sólo usted conoce, pero este contenido no se puede mostrar en los navegadores normales.
El 9 de marzo de 2023, un usuario anónimo de Twitter llamado domo publicó un tweet en Twitter para crear un estándar de token fungible además del Protocolo Ordinals, llamado estándar BRC20. La idea es que los datos de cadenas JSON se puedan inscribir en scripts Taproot a través del protocolo Ordinals para implementar, acuñar y transferir tokens BRC-20 fungibles.
*Figura 1: Los humildes comienzos del token BRC-20 (primera publicación de domo sobre el tema)
Fuente: Twitter (@domodata)
*Figura 2: Tres posibles operaciones iniciales para tokens BRC-20 (p = nombre del protocolo, op = operación, tick = ticker/identificador, max = suministro máximo, lim = límite de acuñación, amt = cantidad)
Fuente: Investigación de Binance
El iniciador del token implementa el token brc20 en la cadena a través de la implementación, y luego los participantes obtienen el token a través de mint casi sin costo (solo tarifas de minería). Cuando el número de mint excede el máximo, la inscripción de mint ser considerado inválido por el indexador. Después de esto, la dirección propietaria del Token puede transferir el Token a través de la inscripción de transferencia.
Vale la pena señalar que Casey, el fundador de Ordinals, está muy descontento de que las transacciones BRC-20 representen la mayor parte del protocolo Ordinals. Ha declarado públicamente que BRC-20 trajo un montón de basura a los Ordinales que creó. Por lo tanto, el equipo de Casey emitió públicamente una carta pidiendo a Binance que eliminara Ordinals en la introducción del token ORDI, ya que no quería que el protocolo Ordinals estuviera relacionado con ORDI.
Cambio BRC20
En la actualidad, unisat, el mayor mercado, indexador y proveedor de billeteras para el comercio de inscripción, ha propuesto el protocolo de intercambio BRC20 para transacciones BRC20, que ahora está disponible para que lo prueben los primeros usuarios.
Las transacciones de inscripción previas solo podían realizarse a través de un método llamado PSBT (Transacción Bitcoin Parcialmente Firmada), que es similar al esquema de firma fuera de cadena de Opensea y utiliza servicios centralizados para “hacer coincidir” las firmas de compradores y vendedores. Esto da como resultado que los activos BRC20 solo se pueden negociar a través de órdenes pendientes como los activos NFT, y la liquidez y la eficiencia de las transacciones son muy bajas.
brc20 swap introduce un mecanismo llamado módulo en la cadena json del protocolo brc20, en el que se pueden implementar un conjunto de scripts similares a contratos inteligentes. Tomando el módulo de intercambio como ejemplo, el usuario puede bloquear BRC20 en el módulo mediante transferencia, es decir, iniciar una transacción de transferencia a sí mismo, pero la inscripción en la transacción queda bloqueada en el módulo. Después de que el usuario completa la transacción o se retira de LP, puede iniciar una transacción y retirar los tokens brc20.
Actualmente, brc20 swap opera en el modo extendido del módulo negro. El módulo negro es por razones de seguridad. Sin consenso y verificación, los fondos que los usuarios pueden retirar están determinados por la suma de fondos en el módulo, es decir, ningún usuario puede retirar activos que excedan el total de activos bloqueados en el módulo.

Cuando los usuarios comprenden e implementan el comportamiento del módulo negro, gradualmente se vuelve confiable y es aceptado gradualmente por más indexadores, el producto pasa del módulo negro al módulo blanco y alcanza una actualización por consenso. Los usuarios pueden depositar y retirar activos libremente.

Además, debido a que el protocolo brc20 e incluso todo el ecosistema de Ordinals aún se encuentran en sus primeras etapas, Unisat ocupa una mayor influencia y reputación, brinda servicios completos de indexación como transacciones y consultas de saldo para el protocolo, y existe un riesgo de centralización única. . Su arquitectura de operación modular permite la participación de más proveedores de servicios, logrando así un índice más descentralizado.
BRC420
El protocolo Brc420 fue desarrollado por RCSV. Ampliaron la inscripción original agregando un índice recursivo. Los formatos de activos más complejos se definen de forma recursiva. Al mismo tiempo, Brc420 establece una relación vinculante entre derechos de uso y regalías sobre la base de una inscripción única. Cuando un usuario crea un activo, debe pagar regalías al creador, y cuando posee una inscripción, puede asignar el derecho a usarlo y fijar un precio por ello. Esta medida puede fomentar una mayor innovación en el ecosistema de Ordinals. .
La propuesta de Brc420 proporciona un espacio de imaginación más amplio para la ecología de inscripciones. Además de construir un metaverso más complejo a través de referencias recursivas, la ecología de contratos inteligentes también se puede construir a través de referencias recursivas de inscripciones de código.
ARCO20
El estándar del token ARC20 lo proporciona el protocolo Atomics. En este estándar, “átomo” es la unidad básica, construida sobre la unidad más pequeña de Bitcoin, Satoshi (sat). Esto significa que cada token ARC20 siempre está respaldado por 1 sat. Además, ARC20 es el primer protocolo de token que se acuña mediante inscripciones de Prueba de trabajo (PoW), lo que permite a los participantes extraer directamente inscripciones o NFT de una manera similar a la extracción de Bitcoin.
El equivalente de 1 token ARC20 por 1 sat aporta varios beneficios:
En primer lugar, el valor de cada token ARC20 nunca será inferior a 1 sat, lo que hace que Bitcoin actúe como un “ancla de oro digital” en este proceso.
En segundo lugar, al verificar una transacción, solo necesita consultar el UTXO correspondiente a sat, a diferencia de BRC20, que requiere registros de estado del libro mayor fuera de la cadena y la complejidad de un secuenciador de terceros.
Además, todas las operaciones de ARC20 se pueden completar a través de la red Bitcoin sin pasos adicionales.
Finalmente, debido a la componibilidad de UTXO, teóricamente se puede lograr el intercambio directo de tokens ARC20 y Bitcoin, lo que brinda la posibilidad de liquidez futura.
El protocolo Atomics establece parámetros de prefijo especiales para Bitwork Mining para tokens ARC20. Los emisores de tokens pueden elegir un prefijo especial y los usuarios deben calcular el prefijo correspondiente mediante la minería de CPU antes de ser elegibles para acuñar el token ARC20. Este modelo de “una CPU, un voto” es consistente con la filosofía de los fundamentalistas de Bitcoin.
La inscripción parece ser solo un fragmento de texto “inofensivo” subido a la cadena y analizado a través de un indexador centralizado. Parece que el problema de seguridad es solo una consideración de seguridad para los servicios centralizados. Sin embargo, en términos de seguridad en la cadena, usted Todavía es necesario prestar atención a los siguientes puntos:
1. Aumentar la carga de los nodos
Las inscripciones aumentan el tamaño de los bloques de Bitcoin, lo que aumenta los recursos que requieren los nodos para propagar, almacenar y validar bloques a través de la red. Si hay demasiadas inscripciones, se reducirá la descentralización de la red Bitcoin y la hará más vulnerable a los ataques.
2. Reducir la seguridad
Las inscripciones se pueden utilizar para almacenar cualquier tipo de datos, incluido código malicioso. Si se agrega código malicioso a los bloques de Bitcoin, podría provocar vulnerabilidades de seguridad de la red.
3. Las transacciones deben estar estructuradas
La transacción de inscripciones requiere la construcción de transacciones y atención a la regla de los ordinales de primero en entrar, primero en salir para evitar que la indexabilidad de las inscripciones se destruya por inadvertencia.
4. Existen riesgos al comprar y vender
El mercado comercial de Inscription, ya sea OTC o PSBT, tiene el riesgo de pérdida de activos.
A continuación se muestran algunos problemas de seguridad específicos:
1. Aumento de la tasa de bloques huérfanos y de la tasa de bifurcación
Las inscripciones aumentan el tamaño del bloque, lo que conduce a un aumento en la tasa de bloques huérfanos y la tasa de bifurcación. Los bloques huérfanos se refieren a bloques que no son reconocidos por otros nodos, y las bifurcaciones se refieren a la existencia de múltiples cadenas de bloques competidoras en la red. Los bloques y bifurcaciones huérfanos reducen la estabilidad y seguridad de la red.
2. El atacante manipuló la inscripción
Un atacante puede aprovechar la apertura de la inscripción para realizar ataques de manipulación.
Por ejemplo, un atacante podría reemplazar la información almacenada en la inscripción con código malicioso para infiltrarse en los servidores del indexador o comprometer los dispositivos de los usuarios a través de troyanos.
3. Uso inadecuado de la billetera
Si la billetera se usa incorrectamente y no puede indexar las inscripciones, es probable que las inscripciones se transfieran incorrectamente, lo que resultará en pérdidas de activos.
4. Phishing o fraude
Los atacantes pueden utilizar sitios web falsos de unisat y otros indexadores para inducir a los usuarios a realizar transacciones de inscripción, robando así los activos de los usuarios.
5. Omisión de firma del PSBT
Una vez, Atomics Market provocó daños en los activos de los usuarios debido al uso incorrecto de los métodos de firma.
Lectura relacionada:
Para abordar estos problemas de seguridad, se pueden tomar las siguientes medidas:
1. Limitar el tamaño de las inscripciones
El tamaño de la inscripción se puede limitar para reducir el impacto en la carga del nodo, algo que Luke mencionó al principio del artículo ya está haciendo.
2. Cifre la inscripción
Las inscripciones se pueden cifrar para protegerlas contra códigos maliciosos.
3. Utilice fuentes confiables de inscripciones
Se pueden utilizar fuentes confiables de inscripciones para evitar problemas de firmas y phishing.
4. Utilice una billetera que admita inscripción
Utilice una billetera habilitada para Inscription para realizar transferencias.
5. Preste atención a la revisión de los códigos de inscripción y scripts relacionados
En los nuevos experimentos de brc20-swap e inscripción recursiva, debido a la introducción de códigos y scripts relacionados, es necesario garantizar la seguridad de estos códigos y scripts.
Desde una perspectiva técnica y de seguridad, Bitcoin Inscription es esencialmente una vulnerabilidad que elude las reglas. El script taproot no parece almacenar datos y también presenta algunos problemas de seguridad. Los cambios de Luke en el código central de bitcoin son correctos desde una perspectiva de seguridad. Luke no modificó directamente la capa de consenso de Bitcoin, sino que optó por ajustar el módulo de filtro de spam (filtro de estrategia) para que los nodos puedan filtrar automáticamente las transacciones de Ordinals al recibir mensajes de transmisión P2P. En este filtro de estrategia, hay varias funciones llamadas isStandard() que verifican si varios aspectos de la transacción cumplen con los estándares. Si una transacción no cumple con los criterios, la transacción recibida por el nodo se descartará rápidamente.
En otras palabras, aunque las transacciones de Ordinals pueden eventualmente agregarse a la cadena de bloques, la mayoría de los nodos no agregarán este tipo de datos al grupo de transacciones, lo que aumentará el retraso para que los datos de Ordinals sean recibidos por el grupo de minería dispuesto a empaquetarlos en el cadena. Sin embargo, si un grupo de minería transmite un bloque que contiene una transacción BRC-20, otros nodos aún lo reconocerán.
Luke ya ha implementado cambios en el filtro de políticas en el cliente Bitcoin Knots y planea introducir cambios similares en el cliente Bitcoin Core. En esta modificación, introdujo un nuevo parámetro llamado g__size_policy_limit, que se utiliza para limitar el tamaño del script en varios lugares diferentes. Este cambio significa que habrá limitaciones adicionales en el tamaño del script al procesar transacciones, lo que afectará la forma en que se aceptan y procesan las transacciones.

Actualmente, el valor predeterminado de este parámetro es 1650Bytes y cualquier cliente de nodo puede configurarlo mediante el parámetro -maxsize al inicio:


Sin embargo, incluso si se actualiza el código, pasará mucho tiempo antes de que todos los nodos mineros se actualicen a la nueva versión. Durante este tiempo, los innovadores de la comunidad de Inscription deberían poder crear un protocolo más seguro.
Metatrust Labs calificó y monitoreó los riesgos de inversión de Inscription en la plataforma metaScore a través de datos en cadena y seguimiento de activos. Al mismo tiempo, también lanzó un motor de reglas de monitoreo de la red Bitcoin en la plataforma metaScout, que puede ayudar a los inversores a monitorear los riesgos reales. Estado de tiempo de los datos de inscripción de Bitcoin.
En este número, exploramos los principios técnicos y los posibles problemas de seguridad de la ecología de inscripción popular. En el próximo número, le presentaremos la tecnología de grabado de circuitos Taproot más compleja: bitVM, así que estad atentos.