cadena Block (bloque de cadena)

Bloquear la cadena - Soluciones de Seguridad sintetizador

 

Una historia breve, la cadena de bloque

bloque de la cadena es una moneda digital para el sistema de facturación (Bitcoins) diseño de soluciones criptográficas

Nakamoto dijo: la descentralización es inevitable!

Bitcoin está diseñado para crear sistema de contabilidad moneda digital P2P (todo el mundo descentralizados pueden Diario)

Los dos principales soporte técnico Bitcoin: bloque de la cadena - la tecnología de cifrado de red soluciones P2P - contabilidad descentralizada de servicios de tecnología de red

 

Descentralizado a la contabilidad

· Libros mecanismo de divulgación - cada mano pueden tener un par de libros, es cierto.

Ya no registrados en el balance de los participantes en el hogar · libros, pero sólo registra cada transacción. Ese registro pagador, beneficiario y el importe del pago por cada transacción. Mientras se determina el estado inicial de los libros, cada registro de transacciones y tiene tiempo fiable, la cantidad de dinero que actualmente está llevando a cabo todo el mundo puede entender. (Todo el mundo estaría de facturación de su cartera de saldos rápidos del cheque)

· Libros por el público en lugar de privado, siempre y cuando ninguna necesidad participante, puede obtener los libros completos actuales, libros grabados en los libros desde el principio para crear la totalidad de la transacción actual.

· El supuesto básico: hay que ser honesto y digno de confianza, o que más de la mitad de ellos tiene que ser honesto y digno de confianza, reconocer que los libros realmente decididos a ser verdad, aunque un pequeño número de personas (menos de la mitad) libros falsificados colectiva y de acuerdo con el principio de mayoría, realmente libros que se hacen no serán reemplazados.

 

Bloquear = libros

 

 Esencia de bloque de la cadena: libro de cuentas es sistema de moneda bloque de bits, la pluralidad de bloques es una cadena de bloques de enlaces juntos

Un bloque registra varias transacciones

Bloque está en orden, sólo habrá un bloque de bloque padre

Bloque y bloque de la cadena necesidades son los más importantes de seguridad integridad

 


En segundo lugar, los dos aspectos de integridad

historial de transacciones de la integridad: la integridad de toda la cadena de libros (bloque de la cadena)

• Después de la transacción irreversible, historial de transacciones completo se puede remontar de nuevo

La integridad de la propia transacción

Todas las transacciones en los libros completa (bloque)

• No toque con

Solución: la función de hash criptográfica de las firmas digitales y la firma digital y hash esquema de cifrado

 

 

Bloquear consta de dos partes:

cabecera de área (cabeza):

  • Registre el bloque de meta-información actual

  · Integridad antes de una zona de cabecera hash> Historial de transacciones

  · Raíces Merkle hash> integridad de la transacción en sí

  área de cabecera de 80 bytes se fija Nonce (Número de una vez) Hash lo general de 256 bits valor hash se genera mediante SHA-256 algoritmo es de 32 bytes

 

 

 

Bloquear cuerpo (cuerpo):

  · Registrar los datos de transacción real, etc.

 Así como la cadena conectados entre sí entre el bloque y el bloque

 

 

 Todos los bloques en una cadena de un registro actual de hash se cambia antes de que todo / borrar / reemplazar verifica Hash cambiado no en

 

 

 

 

La integridad de la propia transacción

árbol HASH Merkle es un árbol binario, que es una inducción rápida y se utiliza como a gran escala de comprobación de integridad de datos de la estructura de datos

Construir la colección completa de las transacciones digitales beso, proporciona una manera eficiente para comprobar si existe un bloque comercial

* Calculado al más log 2 2 (N) puede comprobar fuera de si alguno de los elementos de datos en el árbol, la estructura de datos es muy eficiente (Debido a que este es un árbol binario)

árbol Merkle en la moneda de bits, el algoritmo SHA256 transacción se utiliza dos veces, por lo que el algoritmo de hash también se conoce como doble SHA256

 

                      árbol de Merkle

 

H A = la SHA256 (la SHA256 (transacción A)) H AB = la SHA256 (la SHA256 (H A + H B )) de manera que la totalidad de Hash raíz Merkle es en realidad un conjunto de transacciones 

 

Cómo comprobar si existe o no la transacción K en el bloque?

En primer lugar calcular H K , ······ HASH azul es visita el HASH verde se calcula; la raíz final calculada, Merkle con raíces en la comparación área de cabecera, si el mismo, a continuación, la descripción de la transacción la presente bloque.

 

Azul - el registro de salida Verde - calculada

 

 

 

 

 bloque de la cadena participantes Hay dos tipos: PEER COMPLETO Y CLIENTE SPV

 

 

 

 tienda de pares completa un bloque completo, incluyendo el tamaño de bloque + bloque de cabecera + Contador Transsaction + Transacciones

SPV (verificación del pago simplificado) de cliente, sólo almacena racionalizarse bloque: Tamaño de bloque + bloque de cabecera

 

 

 

 

 resumen

  La integridad del historial de transacciones, desde el área de cabecera cabecera zona anterior de la garantía de la integridad HASH, la operación en sí, el área de encabezado de Merkle garantía raíces HASH (no todos los bloques tienen estructura de datos Merkle, sólo en el bloque pares completa solamente)

 

En tercer lugar, la carga de trabajo demostró

 

Quién bloque generador (contabilidad) - Miner

 

Bitcoin participantes pueden tener dos identidades: comerciantes, mineros

· Los participantes pueden ambas estas dos identidades simultáneamente

Bitcoin mineros que participan en la actividad "minera": el comercio de registro sobre los recientes acontecimientos en los libros (bloque generado y se añade a la cadena)

Los mineros tienen la posibilidad de recibir el pago

Los mineros pueden salir en cualquier momento, también se puede añadir a la mezcla de nuevos mineros (características de los sistemas P2P) en cualquier momento

La minería es una cierta dificultad (hay una cierta cantidad de cálculo), existe competencia entre los mineros

 

Mineros minería motivos: recompensa bitcoin

¿Quién debe crear un nuevo bloque, que será capaz de obtener bitcoins

Como los mineros y las actividades comerciales, aumentando el número de Bitcoin.

 

Los mineros trabajan:

  Se recoge una sola transacción

    Pagador para cada transacción, queremos no sólo a una única transacción al beneficiario, la transacción también tendría que ser entregado a una única bandeja de entrada para cada grupo de mineros

    propios mineros regularmente al comercio una única bandeja de entrada para recoger y eliminar

 

   Llene los libros:

    Prensa registros de transacciones punto de pluma

    cabecera de área de relleno, antes de un valor HASH zona de cabecera, el valor Nonce, etc.

    Valor Nonce se puede llenar una serie

 

  Confirmar nuevo bloque / libros:

    Un minero genera un bloque, con el fin de ser recompensado, otros mineros deben por favor inmediatamente confirman su trabajo, por lo que los mineros deben estar bloque válido a toda velocidad en manos de otros mineros pedir la confirmación

    Requisitos del sistema cuando un minero a un nuevo bloque de otros mineros enviaron, deben cesar de inmediato la minería de obra de las manos de la confirmación

    La información necesaria para confirmar que no son tres:

      HASH cumple con los requisitos del valor de dificultad bloque

      Bloquear antes de que un bloque válido: un antiguo bloque es de hecho el último bloque, correcta y HASH

      A partir del once lista de transacciones como pagador tener equilibrio

 

 

prueba de carga de trabajo (Prueba de trabajo)

 

 Nuevo bloque debe satisfacer dos condiciones: 1, la nueva transacción se ha de grabar sistema de bloque (otros mineros) confirmación 2, HASH New valor de encabezado debe cumplir los requisitos de cálculo

 Cuando los mineros para añadir su propia cadena de bloques, y ha estado minando los mineros continúan a lo largo de este bloque, dijo este bloque ha sido reconocido por los otros mineros

 

Los nuevos requisitos de cálculo bloque de cabecera HASH se deben cumplir, a saber:

· Selección de los mineros adecuados un número aleatorio Nonce, de modo que: H (prev_hash, Nonce, Merkle_root,: otro campo de cabecera) <E (nota Prev_hash, Merkle_root, ..... muchos no se cambian, el cambio puede ser un Nonce, a fin de mantener el valor de la modificación de Nonce, es difícil cumplir con las disposiciones de la E)

E es la dificultad de un sistema de valores predeterminado, tales como:

0X00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

 

La verificación es fácil. Pero prueba de trabajo es duro

 

 

 

 Considere la secuencia de bits de longitud 256

Para n ceros, ya que la salida SHA-256 es efectivamente aleatoria, los bits gettingzero = mismo que lanzar una moneda y obtener N cabezas en una fila

Para n ceros, que tenga que probar 2 N / 2 nonces ...

· N = 1. . Trate 1 nonce

· N = 16. Intenta 32768 nonces

· N = 32 ... Trate de 2 mil millones de valores de uso único

Ganar un bloque demuestra el minero hizo el trabajo

 

por ejemplo:

 

Diseñar un algoritmo tan complejo, que es mantener la velocidad de generación de baldosas no es demasiado rápido.

 

 

principios valor de dificultad: cadena de bloques medio está diseñado para generar un nuevo bloque cada 10 minutos

Necesidad de actualizar periódicamente el valor dificultad de E (cada 2016 bloques): valor de dificultad se actualiza con regularidad principio

Toda la red se generará de forma automática estadísticas sobre el pasado 2016 bloque de tiempo volver a calcular el siguiente valor de 2.016 bloques dificultad del valor objetivo

Una tasa de generación de bloque por 10 minutos, de 2016 * 2016 bloquea el tiempo de generación de 10 minutos = 14 días

= Objetivo actual nuevo objetivo * tiempo de bloque real a cabo bloque 2016/2016 bloques de tiempo teórico en el que los bloques (14 días).

 

4, el mecanismo de consenso

 

Integridad: NO altere

Basándose en el supuesto: más del 51% de los participantes son honesto.

 

Debido a que los mineros están trabajando en paralelo, es posible recibir simultáneamente dos bloques legítimos

Estos bloques son: que son la base de los mineros de la cadena de bloque actual del último bloque

     Y el contenido de bloque es perfectamente legal (es decir, la transacción registrada válida)

     área de encabezado HASH para cumplir con los requisitos del valor de dificultad

Así que no debemos estar organizados de forma lineal libros de moda, y los libros deben ser organizados en un árbol, en cualquier momento, toda la rama más larga actual como los principales libros, pero que conservan las otras ramas

 

 Para ver quién se hace más largo, ya que se convertirá reconoció que

Con el fin de evitar que el bloque de la cadena se convierte en un árbol, se requiere:

El receptor no se puede confirmar en el momento de finalización del anuncio transacción colgar inmediatamente, pero debe ser por algún tiempo, y otro grupo minero más confirmó el rato seis bloques, y el bloque anterior no ha sido cancelada, el dinero tiene que ser confirmado cuentas

 

Colgando seis bloques para confirmar el propósito es evitar que los ataques a la cadena de bloque

Doble el gasto

Después de que el beneficiario de confirmar el pago, establecer transacción individual adicional de otra rama, antes del pago de la cancelación, y pagará la misma cantidad de dinero de nuevo a otra persona

 

 

 

 

 

 En contra del principio:

Sabemos por la parte delantera: generar bloque válido no es tan simple, se necesita una gran cantidad de cálculo.

Si un bloque contiene un reconocimiento que ha recibido el dinero, y más tarde duraron seis bloques, el atacante quería en el caso detrás de las seis de la corriente principal rama es muy difícil de alcanzar de otra rama, a menos el atacante tiene una gran cantidad de fuerza de recuento, recuento de más de la fuerza de todos los otros mineros y honesta

 

Así que cuanto más se bloquea su cadena de seguridad cuando los participantes

 

Que conduce a la actividad minera aumento en el número de Bitcoin ha sido hacia abajo, no sería grave inflación?

A partir mineros de protocolo 50 bits por la generación de una créditos libros (uno de bloque), recompensa

Más tarde, cuando los libros aumentan 21.000 páginas, la recompensa a la mitad, por ejemplo, cuando 210.000 páginas, libros generan cada uno una bonificación de 25 bits, después de 420.000 páginas, cada generación de un bono de 12,5, y así sucesivamente

Una vez que los libros lleguen a 6,930,000 páginas, generar nuevas cuentas no es recompensado en esta página. En este punto se trata de Bitcoin 21,00000 su conjunto, que es la cantidad total de Bitcoin, por lo que no aumentará indefinidamente seguir

 

Después hay recompensa, nadie minero, no habría nadie para ayudar a confirmar el acuerdo?

Cuando eso sucede, los mineros se beneficiarán del bloque generado ingresos se convierte en una tasa de tramitación.

Por ejemplo, puede especificar los mineros pagados a la página de la cuenta generada 1% de la tasa en el momento de la transferencia, cada minero seleccionará alta prioridad confirmación de tarifa única transacción (en ese momento, Bitcoin gran escala, hay una gran cantidad de operaciones)

 

¿Cómo prevenir manipulado?

Debido a: bloquear el HASH = la SHA256 (la SHA256 (Version + prev_hash + Merkle_root + + fecha y hora actual dificultad + un Nonce ),

Atacar a 1: registros de transacciones de cambio dentro de un bloque, a continuación, raíces Merkle no corresponden

Ataque 2: atacante con las transacciones de cambio y la raíz Merkle , a continuación, los bloques no se corresponden HASH

Attack 3: A los malos los mineros no alcanzaron el grado de dificultad obligados a presentar un bloque, entonces cualquier persona será verificada de acuerdo con los errores de fórmula se encuentran requisitos difíciles, o tan largo como 51 por ciento de la gente admite errores que ataque fracasó

Atacar 4: El atacante cambia el contenido del bloque y el bloque de HASH , que dará lugar a ahorrar en los próximos distritosーcabecera de este bloque prev_hash no se corresponden, el 51% de las personas admite errores por lo que el ataque falla

Atacar a 5: Supongamos que el atacante el control del 51% o incluso mayor fuerza de operador, los ciudadanos se convierten en buenos ー ganancias legítimas serán más grandes y más seguro

 

Dian cinco criptografía de clave pública para lograr la identidad, la firma de la transacción

 

clave pública, sobre todo para las transacciones en el interior 

 

Los registros de transacciones y procesos

Por cada transacción (un número único), la firma pagador, bloque de firma en el registro de la transacción FIRMADO pagador privado (en la actualidad el comercio + beneficiario de clave pública)

Cualquiera puede verificar

Cualquier persona puede realizar un seguimiento del historial de transacciones

             Ningún cambio para la salida de los créditos de transacción bit igual a la entrada   

          libros de comercio

Criptografía de clave pública: Transacción completa / certificación disponible / no repudio

Tales como la validación de transacción 3:

Operando con 3 incluye: entrada y salida, la firma 2.Bob de la transacción, pública 3.Bob

Entrada Salida 0 de la transacción de la transacción 3 2

Entonces la clave pública de Bob para verificar que se convirtió a la dirección de cerco (ver página siguiente), y la salida de dirección cartera 0 (2 pagador negociado nombre firmado) 2 transacción hacer la comparación,

Si no son iguales, la transacción no es válida

Si es igual, entonces la clave pública de Bob para verificar la firma, verifica,

1) confirmó que Bob tiene una potencia de 2 0 de dinero de transacción

2) La operación se inicia por Bob

3) asegurar la integridad de la transacción

 

Por último, comprobar si la entrada de dinero es mayor que igual a la salida de dinero

 

 

 

 

 

algoritmo criptográfico SECP256K1 se basa en curva elíptica

RIPEMD160 es un algoritmo de hash

 

 

algoritmo de clave pública es SECP256K1 (basado ECC), teniendo en cuenta la intensidad relativamente alta del algoritmo y la clave pública del relativamente corto

 

 

 

anonimato

A pesar de que la clave pública de cada persona es anónima, pero los libros están abiertos, podemos ver el propietario pública Bitcoin, habría no todas sus cuentas están desprotegidos

1. Cada una de la verdadera identidad de la persona detrás del público es confidencial y 2. Él puede tener un número ilimitado de público

Si cada transacción con una clave pública diferente, así que no podemos localizar a todas las cuentas de la misma persona

 

resumen

完整性 Integridad → Firmas Digitales y criptográfica de hash es la moneda doble pasó? Un atacante puede revertir o cambiar las transacciones?

身份 标识 autenticación de clave pública → Crypto: Firma Digital estoy pagando a la persona adecuada? No algún otro imitador?

Privacidad Privacidad → seudónimos (participantes puede tener múltiples pública) Son mis transacciones privadas? Anónimos?

可用性 Disponibilidad → Transmitir mensajes a la P.2 almacenamiento P networkDistributed ¿Puedo hacer una transacción en cualquier momento que quiera?

 

Supongo que te gusta

Origin www.cnblogs.com/sjyu/p/12533990.html
Recomendado
Clasificación