
Construcción de seguridad de Blockchain
En este artículo, presentamos principalmente varios aspectos de la auditoría de cadenas públicas que merecen atención. Para los auditores de seguridad y los desarrolladores de cadenas públicas, este es un proyecto digno de referencia y reflexión.
Antes de presentar la construcción del sistema de cadena pública, veamos la arquitectura de blockchain:
Era Blockchain 1.0:
Arquitectura: como se muestra en la siguiente figura
Productos representativos: bitcoin, reborn coin, dogcoin, Leyte coin, MasterCard coin, etc.

Era Blockchain 2.0:
Arquitectura: como se muestra en la siguiente figura
Productos representativos: Ethereum, lisk, hyperledger, etc.
Principales cambios:

Era Blockchain 2.0
Arquitectura: como se muestra en la siguiente figura
Productos representativos: EOS, VaR, AE, ash, ELA, dfinity
Principales cambios: los escenarios de aplicación de blockchain en todos los ámbitos fuera de la industria financiera pueden satisfacer una lógica de negocio más compleja

A continuación, haremos una breve introducción a los problemas que merece la pena considerar en la construcción de la seguridad de la cadena pública de blockchain, de acuerdo con la arquitectura de blockchain. Aproximadamente el 75% de los problemas han causado problemas de seguridad en la cadena pública, que también son algunos de los puntos que merecen atención en la auditoría de seguridad de la cadena pública. Aquí, los presentamos en forma de preguntas para suscitar nuestra reflexión. Si desea profundizar en el debate, puede hacerlo directamente en issue:
La capa de datos es la tecnología de nivel inferior, y sus funciones principales son el almacenamiento de datos, la implementación de cuentas y transacciones y la seguridad. El almacenamiento de datos se basa principalmente en el árbol de Merkle, que se realiza mediante la estructura de bloques y cadena. La mayoría se persisten mediante bases de datos kV, como bitcoin y leveldb adoptados por Ethereum.
La capa de datos plantea los siguientes puntos dignos de reflexión:
El objetivo principal de la capa de red es realizar la interacción de información entre los nodos de la red blockchain. La esencia de blockchain es una red entre pares (P2P). Cada nodo puede recibir información y también producir información. Los nodos mantienen la comunicación manteniendo una blockchain común. En la red blockchain, cada nodo puede crear un nuevo bloque. Una vez creado el nuevo bloque, se notificará a otros nodos mediante difusión. A su vez, otros nodos verificarán el nodo. Cuando más del 51% de los usuarios de la red blockchain superen la verificación, el nuevo bloque se añadirá a la cadena principal.
Hay varios puntos que merece la pena considerar sobre la capa de red:
¿Es razonable el diseño del algoritmo de descubrimiento de nodos de la cadena pública?
¿Es razonable el diseño de los nodos de la cadena pública?
¿Es razonable el diseño del mecanismo de sanción?
¿Es razonable el diseño del protocolo de comunicación?
¿Es razonable el diseño de procesamiento de solicitudes de los nodos de la cadena pública?
¿Hay un límite en el tamaño del paquete de procesamiento de solicitudes?
¿Es razonable el diseño del mecanismo de comunicación de transacciones de la cadena pública?
¿Es razonable el mecanismo de sincronización de datos de bloque?
¿Es razonable el diseño de la lógica de procesamiento de transacciones?
La capa de consenso permite que nodos altamente dispersos alcancen un consenso sobre la validez de los datos de bloque en un sistema descentralizado. Cada blockchain en funcionamiento necesita un algoritmo de consenso para garantizar la validez y el orden de salida de los bloques. Los algoritmos de consenso comunes incluyen pow, POS, dpos, Poa, POC, etc.
A nivel de consenso, debemos considerar los siguientes puntos:
¿Es seguro el diseño del algoritmo de consenso de la cadena pública?
¿Es razonable el diseño de la verificación de consenso de la cadena pública?
¿Es razonable el diseño de la confiscación por consenso de la cadena pública?
¿Es razonable el diseño de la tarifa de servicio de la cadena pública?
¿Es razonable el diseño de la minería de la cadena pública?
¿Es razonable el diseño de ajuste dinámico de la dificultad del bloque?
¿Es razonable el diseño de la lógica de verificación de la dificultad del bloque?
¿Diseño de reorganización de cadena, restablecimiento de cadena, bifurcación de cadena, etc.?
El propósito de la capa de incentivos de la cadena pública es proporcionar ciertas medidas de incentivo para animar a los nodos a participar en la verificación de seguridad de la blockchain, y garantizar el equilibrio y el desarrollo saludable del ecosistema blockchain. En la cadena común descentralizada, es necesario establecer el mecanismo de incentivo correspondiente para animar a los nodos contables participantes que cumplen las reglas, y establecer el mecanismo de sanción para castigar a los nodos contables participantes que no cumplen las reglas. La capa de incentivos de blockchain introduce factores económicos en el sistema tecnológico de blockchain, lo que mejora la eficiencia de la cooperación organizativa y el intercambio de valor dentro del ecosistema. El mecanismo de incentivos de la cadena pública es un mecanismo importante para garantizar el desarrollo virtuoso de blockchain.
Hay varios puntos que merecen nuestra consideración sobre el nivel de incentivos:
¿Es razonable el diseño del mecanismo de emisión de la cadena pública?
¿Es razonable el diseño del mecanismo de sanción de la cadena pública?