Intercambio de Ethereum Intercambio de Ethereum
Ctrl+D Intercambio de Ethereum
ads

El "indefenso" Satoshi Nakamoto y la "redundancia" del árbol Merkle

Author:

Time:

Guía

La moneda digital es esencialmente una cadena de cadenas especiales que se pueden copiar infinitamente. Si un minero controla temporalmente más del 50% de la potencia informática, inicia una transferencia al intercambio y se transfiere la misma moneda digital a sí mismo al mismo tiempo. Debido a que hay suficiente poder de cómputo disponible, ambas transacciones se escriben en el bloque y se convierten en transacciones legales. Este es un "ataque de doble gasto".

La red Bitcoin ha estado funcionando de manera constante desde su inicio y se ha demostrado que: en una red peer-to-peer sin un centro de liquidación, las transacciones peer-to-peer también pueden rechazar ataques de doble gasto. Todos los registros de transacciones de Bitcoin se almacenan en la cadena de bloques. En 2008, Satoshi Nakamoto mencionó en su artículo que describe el prototipo de Bitcoin que usó un Merkle Tree (MT para abreviar) La estructura de datos hace un breve registro de todas las transacciones en cada bloque, y el El árbol Merkle puede expresar una gran cantidad de información con menos bytes.

La estructura del árbol Merkle es un árbol binario completo, por lo que el número de transacciones debe ser 2n. Satoshi Nakamoto resolvió este problema introduciendo información redundante "no válida pero necesaria", a costa de que esta información redundante pueda ser utilizada por atacantes para llevar a cabo ataques de doble gasto.

Este artículo primero presenta la estructura básica del árbol de Merkle y las reglas para generar nodos, luego usa un ejemplo para ilustrar cómo construir un árbol de Merkle para las transacciones de Bitcoin y finalmente explica cómo Bitcoin usa el número único de UTXO para evitar la amenaza de Merkle. de dobles flores que el árbol pueda causar.

Sotheby's subastó 5 "boring ape" BAYC NFT: el 3 de noviembre, según el sitio web oficial de Sotheby's, la casa de subastas de renombre mundial realizó una subasta de exhibición de NFT en Nueva York en noviembre, en la que se subastarán 5 "Boring Ape" BAYC NFT son BAYC n.° 8331, n.° 7724, n.° 1598, n.° 7610 y BAYC n.° 8636. Los titulares actuales de estos BAYC NFT son "Prepstothepros", un conocido miembro de la comunidad Boring Ape.

Según Sotheby's, las subastas relacionadas ya han comenzado. El precio inicial de cada "simio aburrido" BAYC NFT es de $ 75 000. Además, CLONE X y DeeKay NFT también se subastarán simultáneamente. Este evento se llevará a cabo a las 11:00 EST Finaliza a las 14:00 el día 9. [2022/11/3 12:11:45]

Punto de conocimiento 1:

Una función hash es una regla de operación matemática cuidadosamente diseñada por un matemático o un criptógrafo. Puede ingresar datos de cualquier longitud, mientras que la longitud del resultado de salida (es decir, el valor hash) permanece sin cambios y satisface:

1) Operación unidireccional: solo puede calcular la entrada para obtener la salida y no puede invertir el cálculo para obtener la entrada;

2) Prevención de colisiones: es imposible encontrar dos entradas diferentes que tengan el mismo hash.

El volumen de transacciones del BAYC de "Bored Ape" superó los 1500 millones de dólares estadounidenses: el 19 de marzo, según los últimos datos de NFTGO.io, el volumen total de transacciones de "Bored Ape" BoredApeYachtClub (BAYC) superó los 1500 millones de dólares estadounidenses, un récord.1.53 mil millones de dólares estadounidenses, el valor de mercado alcanzó los 921,31 millones de dólares estadounidenses. Debido al lanzamiento de ApeCoin por parte de la empresa de desarrollo de BAYC, YugaLabs, el volumen de transacciones de BAYC y otros NFT de la serie "simio" ha aumentado significativamente en los últimos dos días, y el precio mínimo de BAYC ha bajado a 92,69 ETH después de superar los 100 ETH por un tiempo corto. [2022/3/19 14:06:07]

Se puede decir que la función hash es una de las tecnologías centrales de blockchain, y la otra es el cifrado asimétrico. Son estas dos propiedades las que aseguran que Bitcoin sea tan difícil de obtener como el oro, y solo se puede obtener un valor hash correcto después de una gran cantidad de cálculos, lo que hace que el valor hash sea más valioso que otras cadenas, obteniendo así atributos de valor. Esta es la aplicación de las funciones hash en la minería de Bitcoin, pero no es el tema central de este artículo.

Punto de conocimiento 2:

Un árbol Merkle también se denomina árbol hash, porque en esta estructura de datos similar a un árbol, la etiqueta (o valor) de cada nodo es una cadena de valores hash. En orden de izquierda a derecha, los valores hash de todos los nodos secundarios se concatenan en una nueva cadena larga, y el resultado se usa como entrada de la función hash, y la etiqueta del nodo principal se obtiene después del cálculo.

El volumen total de transacciones de "Boring Ape" NFT Bored Ape Yacht Club superó los 500 millones de dólares estadounidenses: el 24 de septiembre, según los últimos datos, el volumen total de transacciones de "Boring Ape" NFT Bored Ape Yacht Club superó los 500 millones de dólares estadounidenses, un récord alto, actualmente en 5.0127 mil millones, el número de comerciantes fue de 8522 y el volumen de ventas fue de 21205. En agosto, la superestrella de la NBA, Stephen Curry, provocó un gran revuelo cuando compró un mono aburrido con un traje con volantes por 55 ETH (alrededor de $ 180,000) y lo usó como su foto de perfil de Twitter. [2021/9/25 17:04:57]

El concepto de árbol de hachís lleva el nombre de Ralph Merkle, quien solicitó una patente el 5 de septiembre de 1979. Por supuesto, cuando Satoshi Nakamoto utilizó el árbol de Merkle como la estructura de datos subyacente de Bitcoin, el período de protección de la patente había terminado. De lo contrario, Satoshi Nakamoto tendría que pagarle al Sr. Merkel una tarifa de licencia de patente. Al hacerlo, su identidad podría quedar expuesta y toda la industria de la cadena de bloques tendría que pagar una tarifa enorme.

Además, Bitcoin no creó ninguna tecnología nueva de la nada, sino que usó inteligentemente varias herramientas criptográficas existentes y, después de la combinación, se convirtió en un sistema nunca antes visto como blockchain. Este tipo de innovación requiere un pensamiento sistemático extremadamente sólido y, a menudo, es difícil que una sola persona tenga un pensamiento tan profundo y amplio. Algunas personas especulan que Satoshi Nakamoto no es en realidad una persona detrás de él, sino que puede ser un grupo de criptografía. expertos

Experto del mercado: la victoria de la SEC hará que XRP sea "no negociable": Jinse Finance informó que el analista de investigación de Messari, Ryan Watkins, dijo que si la Comisión de Bolsa y Valores de EE. UU. (SEC) finalmente gana la demanda, muchas bolsas se verán obligadas a eliminar XRP de la lista, por lo que su liquidez se secará y los precios "se desplomarán gravemente". John Willock, director ejecutivo del proveedor de servicios de cifrado diversificado Tritum, dijo que si XRP finalmente se reconoce como un valor, probablemente hará que el activo no sea negociable para la mayoría de los intercambios y participantes de la industria. [2020/12/23 16:11:47]

Estructura básica del árbol de Merkle

Más cerca de casa, el árbol de Merkle es un árbol binario completo y su estructura se muestra en la figura.

La etiqueta de cada nodo hoja es el valor hash de su contenido registrado, y las etiquetas de los dos nodos hermanos se concatenan como la entrada de la función hash, y el hash del nodo principal se obtiene después del cálculo, y así sucesivamente hasta que solo El siguiente nodo, el nodo raíz, también se denomina raíz de Merkle.

Satoshi Nakamoto diseñó una estructura de bloques en la que un campo en el encabezado del bloque es la raíz del árbol de Merkle. La raíz del árbol Merkle proviene de cada transacción registrada en el bloque, y la transacción puede entenderse como una transferencia, por ejemplo, un formato similar a "A transfiere una cierta cantidad de Bitcoin a B". Después de serializar un registro de transferencia con un formato fijo, se puede utilizar como tx de entrada y enviarse a la operación de función hash, y el resultado obtenido es la etiqueta L del nodo hoja.

HSBC: La mayor tendencia de este año es blockchain y "cashless": el antiguo banco de inversión HSBC Global Research Center afirmó que blockchain puede cambiar la forma en que las personas manejan la infraestructura de pago y cambiar el sistema de transferencia de divisas en la actualidad. HSBC invirtió aproximadamente $200 millones en tecnología blockchain el año pasado y espera que aumente a más de $300 millones este año y $400 millones en 2019. HSBC no es la única empresa que ve un gran potencial en blockchain. UBS dijo en octubre que blockchain "podría tener un impacto significativo en industrias que van desde finanzas hasta manufactura, atención médica y servicios públicos". [2018/1/12]

L = hash (tx)

Los hash de cada dos nodos hoja se pueden concatenar como entrada para obtener el hash P del nodo principal.

P = Hash(L0+L1) // '+' significa concatenación

La longitud del contenido de la transacción que se puede registrar en un bloque es limitada. En el diseño de Satoshi Nakamoto, la longitud total de todas las transacciones en un bloque está estrictamente limitada a no más de 1 MB. La duración de la transacción varía con la complejidad de la transacción.Puede entenderse simplemente que cuanto más compleja es la transacción, más extenso es su contenido. Para usar los bloques de manera efectiva y ganar más tarifas, los mineros siempre esperan registrar tantas transacciones como sea posible en el bloque.

Observando la estructura del árbol de Merkle, se puede encontrar que siempre es un árbol binario completo, lo que significa que el número de nodos hoja es siempre 2n. Cuando el número de transacciones a registrar es inferior a 2n, o igual a 2n, la longitud total de todas las transacciones supera el límite de 1 MB. En este momento, el número de transacciones que se pueden registrar en un bloque no puede ser exactamente igual al número de hojas de un árbol binario completo. Cuando esto sucede, ¿cómo calcular la raíz del árbol de Merkle?

¿Cómo Satoshi Nakamoto construyó Merkle Trees para las transacciones de Bitcoin?

Ilustremos este problema con un ejemplo sencillo.

Suponiendo que se registra un total de 5 transacciones en un bloque, solo hay 5 nodos de hoja iniciales. Cada 2 nodos de hoja generan un nodo principal, pero en el proceso de generar el nodo principal, el último nodo de hoja no tiene nodos hermanos, por lo que es necesario construir otro nodo para que coincida. El método de Satoshi Nakamoto es: repetir directamente el nodo como su nodo hermano y luego obtener el nodo principal de acuerdo con el método mencionado anteriormente. Este nodo duplicado es la información redundante que no está en el registro de transacción original pero existe en el árbol de Merkle.

En este momento, aparecen tres nodos principales en la estructura de árbol de Merkle y luego continúan construyendo nodos principales basados ​​en estos tres nodos. El mismo problema ocurre nuevamente, solo hay 3 nodos en esta capa, y el último nodo debe repetirse para cumplir con el requisito de que los nodos hermanos aparezcan en pares, por lo que aparece nueva información redundante. Finalmente, dos nodos principales aparecen en el siguiente nivel superior y continúan fusionándose para obtener el último nodo único, es decir, el nodo raíz.

En el caso de que el número de transacciones sea 5, la estructura del árbol de Merkle construida a partir de esto se muestra en la siguiente figura.

Cómo puede evitar Bitcoin

¿Posible amenaza de doble flor debido a los árboles Merkle?

Este enfoque de Satoshi Nakamoto puede confundir a los lectores: dado que el último nodo de hoja se repetirá, desde la perspectiva de su nodo principal, tiene dos nodos de hoja con el mismo hash. De acuerdo con la propiedad de prevención de colisiones de la función hash, se puede juzgar que los contenidos representados por los dos nodos hoja son exactamente iguales. Es decir, asumiendo que se puede agregar un registro de transacción idéntico al bloque, el valor calculado de la raíz del árbol de Merkle permanece sin cambios. ¿No conduciría este enfoque al problema de los ataques de doble gasto?

¿Cómo evita la red Bitcoin que los nodos deshonestos registren intencionalmente dos transacciones idénticas en el mismo bloque? Esta confusión debe explicarse con la ayuda de UTXO, la unidad básica de las transacciones de Bitcoin.

En la red Bitcoin, no existe tal cosa como "cuenta", y no existe un concepto derivado como "saldo". Por lo tanto, es imposible juzgar si el usuario tiene activos que pueden continuar gastándose al verificar el saldo de la cuenta. como el sistema bancario tradicional. Todos los bitcoins existen en forma de UTXO (Salida de transacción no gastada).La transacción consume el UTXO existente (llamado entrada, Entrada) y genera un nuevo UTXO (llamado salida, Salida), y el UTXO consumido ya no es eficiente.

Cada UTXO tiene un script de bloqueo (ScriptPubKey) para proteger el UTXO de ser utilizado por otros, excepto por su propietario Actualmente, nadie puede desbloquear UTXO que no les pertenezca. El requisito previo para que UTXO sea gastable es que su secuencia de comandos de bloqueo esté correctamente desbloqueada. Por lo general, la secuencia de comandos de bloqueo de una UTXO especificará la información de la clave pública del propietario. Cuando se gasta la UTXO, solo la firma digital generada por la clave privada que coincide con la clave pública, es decir, la secuencia de comandos de desbloqueo (ScriptSig), se puede desbloquear con éxito. .UTXO.

En el diseño de Bitcoin, la identificación de la transacción y el número de serie de salida de UTXO en la transacción se utilizan como identificador único de UTXO, y todos los UTXO disponibles se almacenan en una recopilación de datos denominada conjunto UTXO.

Esto significa que es posible almacenar cada UTXO que no se haya gastado en la base de datos y hacerlo público en toda la red, y destruir y eliminar el UTXO consumido de la base de datos. Luego, cuando el atacante construye deliberadamente una segunda transacción e intenta gastar el mismo UTXO nuevamente, encontrará que el UTXO con la misma ID no se puede encontrar en la base de datos. Esto es equivalente a que después de que alguien gasta la moneda física real en su mano, no puede volver a usarla.

Debido a que cada UTXO tiene un identificador único, es fácil para los nodos determinar si el UTXO consumido por cada transacción es el mismo en un bloque: si hay dos transacciones cuya entrada es UTXO con la misma ID, se puede juzgar que la segunda La transacción no es válida y este bloque no puede ser verificado por nodos honestos.

Por lo tanto, aunque el árbol de Merkle tiene el problema de valores hash repetidos en teoría cuando el número de transacciones no es igual a 2n, en la práctica ya no es posible falsificar transacciones con el mismo contenido en el bloque real, y el Se evita el problema del doble gasto. .

Nota: Las imágenes de arriba son de Onchain

Referencias:

Papel original de Bitcoin Bitcoin: un sistema de efectivo electrónico entre pares

Archivo de patente original del árbol de Merkle

Este artículo fue producido por el equipo de Poly Enterprise

Tags:

Precio de Dogecoin
Gu Yanxi: La solicitud de ETF de Bitcoin es una pregunta que el nuevo presidente de la SEC debe responder de inmediato

Fundador de Liyan Consulting Company, investigador y practicante en la industria de blockchain y activos digitales encriptados.

Informe del FMI: Legalmente hablando, solo 40 bancos centrales pueden emitir legalmente moneda digital

Los países se están moviendo rápidamente hacia la creación de monedas digitales. En otras palabras.

¿Por qué el precio de Bitcoin es tan fuerte? La demanda del mercado, FOMO y la crisis de suministro son las tres claves

Los inversores institucionales, las crisis de suministro y el FOMO minorista individual han llevado los precios de Bitcoin a niveles sin precedentes.Bitcoin ha iniciado un mercado alcista.

El "indefenso" Satoshi Nakamoto y la "redundancia" del árbol Merkle

Guía La moneda digital es esencialmente una cadena de cadenas especiales que se pueden copiar infinitamente. Si un minero controla temporalmente más del 50% de la potencia informática.

Los inversores esperan el discurso de Biden, Bitcoin vuelve a subir a $ 40,000

Los inversores esperaban los detalles del plan de estímulo económico del presidente electo de Estados Unidos, Joe Biden. Biden dará a conocer un plan de apoyo fiscal el jueves.

Bitcoin finalmente integra los códigos Schnorr y Taproot ¿Ha llegado la era de las firmas múltiples?

"Es probable que las firmas Schnorr, Taproot y la agregación de firmas con firmas múltiples se agreguen a Bitcoin al mismo tiempo que un paquete de actualización. Estas son algunas innovaciones criptográficas muy emoc.

CEO de escala de grises: Los fondos de pensiones y de dotación están ingresando al mercado de Bitcoin

Los fondos de pensión y las dotaciones están invirtiendo activamente en la familia de fondos Grayscale, dijo el nuevo CEO de Grayscale, Michael Sonnenshein.

ads