Es el quinto de cinco artículos en un serie Un análisis detallado de convenios individuales que son lo suficientemente maduros como para garantizar un desglose exhaustivo.
En_catEl pacto de que Ethan Heilman, Armin Sabouri y BIP 347 proponen la reactivación de Tapscript no es uno. Este fue un código de operación agregado originalmente a la primera versión de Bitcoin para manipular los elementos de datos en la pila. En 2010, fue discapacitado con el liberación de bitcoin 0.3.10 Junto con otros códigos de operación, debido al temor a los ataques de denegación de servicio que podrían bloquear los nodos. También hubo un máximo global de 520 bytes por elemento mientras ejecutaba un script.
No se requiere muchas explicaciones para OP_CAT, ya que debe comprender la pila de evaluación de script y cómo funcionan las transacciones de bitcoin.
Las firmas de Schnorr pueden hacer que OP_CAT imita los convenios. El tema se explica en detalle. aquí Andrew Poelstra, Blockstream. Simplemente daré una vista de muy alto nivel. Cada curvatura elíptica tiene un “punto de generador”, que es básicamente “0”, las matemáticas de curva elíptica se usan para generar la clave y firmarla. Schnorr le permite firmar con el punto del generador, pero tendrá que repetir el proceso un par de veces para asegurarse de hacerlo bien.
Por ahora, olvide las matemáticas y recuerde que esta firma “extraña” le permite poner la transacción actual TXID en la pila.
Cómo funciona OP_CAT
OP_CAT concatena los dos elementos de datos superiores en la pila. Los dos elementos de datos principales en la pila se concatenarán juntos. “1” Los siguientes son algunos ejemplos de cómo comenzar: “2” OP_CAT, luego los elimina a ambos y pone “12”, la pila está apilada en la parte superior. Eso es todo.
Usos de OP_CAT
¿Por qué se trata de alboroto? ¿Por qué las personas están tan molestas por OP_CAT, a pesar de que la respuesta a cómo funciona es tan sencilla que no le tomó un párrafo completo para explicar?
Solo hay dos, aunque no estoy seguro de que este sea el caso. OP_CAT permite la creación y verificación de los árboles merkle directamente en la pila, lo que permite una funcionalidad muy interesante. Esto permite la simulación de convenios, permitiendo una introspección completa. “Weird” Las firmas de Schnorr se enumeran anteriormente.
Taproot se construye alrededor de la verificación a prueba de Merkle. Pero la forma en que se implementa, la validación de Merkle Tree solo ocurre cuando una ruta de gasto de script de golpeteo ha sido cometida por la clave pública de Schnorr Root de la salida de la moneda que se gasta. Taproot no admite la verificación genérica de la prueba de merkle.
OP_CAT puede hacer esto con un enfoque completamente genérico. Puede reconstruir el hash de Merkle proporcionando hash de hoja y nodos de hash interior secuencialmente, luego llamando a OP_CAT. Es posible utilizar este método para proporcionar rutas de retiro unilateral de UTXOS compartidos como en CatvmPuede depender de una condición para realizar la transacción. Esto se puede hacer con cualquier prueba de merkle.
Aquí está la imitación del pacto que permite la introspección completa. Está intentando asegurarse de que la transacción debe tener ciertas características para ser válidas. Ahora que conoces lo básico, es importante recordar cuáles son. La firma “Weird” pone el hash en la pila. No es la transacción original que está firmada, sino su hash. Podemos hacer algunas cosas interesantes.
Puede crear scripts muy complejos y complicados utilizando OP_CAT. Tome las partes crudas de la transacción y póngalas en la pila lentamente. Puede comparar transacciones individuales con hashes predefinidos usando solo Op_Equal y Hashing. Después del guión, tendrá una pila completa de transacciones. Agregue los datos requeridos, los hash, luego compare con OP_Equal. Firma “extraña”. Si el cheque es exitoso, se puede realizar un checksig. “Extraño” Si la firma se hace en la misma transacción que se gasta, entonces todo será válido.
Verificar partes individuales de las transacciones a lo largo del viaje con Op_Equal asegurará que sean como se esperaba. La transacción no será válida si alguno de estos no pasa la verificación. Se aplican los convenios emulados. Si el hash de la transacción construida utilizando OP_CAT es el mismo que la coincidencia de firma “extraña”, entonces el SIG final de verificación garantiza que la transacción construida con OP_CAT y verificada con el pacto emulado coincida con la transacción real que se gastan en el momento.
Pensamientos de cierre
OP_CAT abre la puerta a la introspección y el reenvío de datos. La introspección es posible en el menor grado. Cada campo se puede cometer de forma independiente. Las mismas capacidades que TXHASH están disponibles, pero con más.
Esta capacidad es poderosa, pero también plantea la cuestión de cómo y por qué se implementará esto, así como qué incentivos podrían resultar. Se podrían crear scripts de bitcoin que requieren que se realicen transacciones en otros sistemas de blockchain, siempre que el árbol de Merkle se construya utilizando funciones hash dentro del script de bitcoin.
Si bien OP_CAT no es un pacto, permite la emulación completa y la replicación de convenios utilizando una huella de blockchain menos eficiente (y posiblemente permitiendo a los desarrolladores cometer errores o quemar dinero). Esta propuesta, a pesar de su simplicidad, es una que debe tratarse con precaución debido a las grandes posibilidades de diseño que ofrece.
“ItAilyCrypto no es responsable de las actividades que realice fuera de su DailyCrypto”.

