Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
BlockChainConstruction — BlockChain Security Construction | Kitploit
Herramientas/GitHubGitHub/al1ex/blockchainconstruction
Vulnerability AnalysisCode AnalysisNetwork SecurityCryptographyLearning & EducationCurated Resources
GitHubal1ex/blockchainconstruction

BlockChainConstruction

BlockChain Security Construction

Ver Repositorio
31hace 5 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Prefacio

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.

Arquitectura

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.

blockchain

Era Blockchain 2.0:

Arquitectura: como se muestra en la siguiente figura

Productos representativos: Ethereum, lisk, hyperledger, etc.

Principales cambios:

  • Capa de aplicación: incorporación de contratos inteligentes
  • Capa de incentivos: reducir el tiempo de bloqueo a 16 segundos
  • Capa de consenso: añadir dpos, POS, pbft
  • Capa de datos: ampliar el bloque, admitir el envío de datos y variables, utilizando un algoritmo de cifrado optimizado y un árbol de Merkle

blockchain

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

blockchain

Construcción de seguridad

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:

Capa de datos

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:

  1. ¿Es razonable el diseño de la estructura de datos del bloque de la cadena pública?
  2. ¿El algoritmo de cifrado de la cadena pública cumple los requisitos de la criptografía?
  3. ¿Es razonable el diseño del árbol de Merkle?
  4. ¿Es razonable el diseño CRUD de los nodos del árbol de Merkle?
  5. ¿Es razonable el diseño de la lógica de verificación de la marca de tiempo del bloque de la cadena pública?
  6. ¿Seguridad del almacenamiento de datos y del CURD de datos en la base de datos de la cadena pública?
  7. ¿Es suficientemente seguro el algoritmo de generación de claves públicas/mnemónicas?
  8. ¿Se cifran las claves públicas/mnemónicas?
  9. ¿Hay algún abuso/residuo de memoria en las claves públicas/mnemónicas?

Capa de red

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:

  1. ¿Es razonable el diseño del algoritmo de descubrimiento de nodos de la cadena pública?

  2. ¿Es razonable el diseño de los nodos de la cadena pública?

  3. ¿Es razonable el diseño del mecanismo de sanción?

  4. ¿Es razonable el diseño del protocolo de comunicación?

  5. ¿Es razonable el diseño de procesamiento de solicitudes de los nodos de la cadena pública?

  6. ¿Hay un límite en el tamaño del paquete de procesamiento de solicitudes?

  7. ¿Es razonable el diseño del mecanismo de comunicación de transacciones de la cadena pública?

  8. ¿Es razonable el mecanismo de sincronización de datos de bloque?

  9. ¿Es razonable el diseño de la lógica de procesamiento de transacciones?

Capa de consenso

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:

  1. ¿Es seguro el diseño del algoritmo de consenso de la cadena pública?

  2. ¿Es razonable el diseño de la verificación de consenso de la cadena pública?

  3. ¿Es razonable el diseño de la confiscación por consenso de la cadena pública?

  4. ¿Es razonable el diseño de la tarifa de servicio de la cadena pública?

  5. ¿Es razonable el diseño de la minería de la cadena pública?

  6. ¿Es razonable el diseño de ajuste dinámico de la dificultad del bloque?

  7. ¿Es razonable el diseño de la lógica de verificación de la dificultad del bloque?

  8. ¿Diseño de reorganización de cadena, restablecimiento de cadena, bifurcación de cadena, etc.?

Capa de incentivos

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:

  1. ¿Es razonable el diseño del mecanismo de emisión de la cadena pública?

  2. ¿Es razonable el diseño del mecanismo de sanción de la cadena pública?

Capa de contratos

La capa de contratos encapsula varios tipos de códigos de script y algoritmos del sistema blockchain, así como los contratos inteligentes más complejos que se generan a partir de ellos. Si los tres niveles de datos, red y consenso, como "máquina virtual" subyacente de la blockchain, asumen respectivamente las funciones de representación de datos, difusión de datos y verificación de datos, la capa de contratos es la lógica de negocio y los algoritmos basados en la máquina virtual de blockchain, que es la base para lograr la programación flexible y la operación de datos del sistema blockchain. La mayoría de las criptomonedas digitales, incluido bitcoin, utilizan código de script simple no Turing completo para programar y controlar el proceso de transacción, que también es el rudimento del contrato inteligente. Con el desarrollo de la tecnología, hay lenguajes de script Turing completos como Ethereum que pueden realizar contratos inteligentes más complejos y flexibles. Blockchain puede soportar muchas aplicaciones de sistemas financieros y sociales macro.

Debemos considerar los siguientes puntos sobre la capa de contratos:

  1. ¿Diseño de seguridad de la máquina virtual de contratos?

  2. ¿Despliegue/ejecución/interfaz de contratos?

  3. ¿Seguridad relacionada con los contratos inteligentes?

Capa de aplicación

La capa de aplicación encapsula varios escenarios de aplicación y casos de uso de blockchain, similar a varios programas de software en los ordenadores. Es un producto que los usuarios comunes pueden usar realmente de forma directa, y también puede entenderse como el navegador de los productos de arquitectura B/S.

Debemos considerar los siguientes puntos sobre la capa de aplicación (solo cadena pública, no billeteras App/Exchange/DEFI, etc.):

Relacionado con la cuenta

  1. ¿Diseño de la lógica CRUD de la cuenta de billetera?

  2. ¿Comprobar los permisos de importación y exportación de la billetera?

  3. ¿Diseño de la complejidad de la contraseña de la billetera?

  4. ¿Comprobar la validez de la dirección de la cuenta de la billetera?

Relacionado con RPC

  1. ¿La interfaz RPC pública necesita una red pública externa?

  2. ¿Están claramente divididos los permisos de la interfaz RPC de la cadena pública?

  3. ¿La interfaz RPC pública tiene operaciones de clase sensible?

  4. ¿La interfaz RPC pública maneja excepciones?

  5. ¿El límite máximo de procesamiento de datos de la interfaz RPC de la cadena pública?

  6. ¿Codificación y decodificación de datos de solicitudes de la interfaz RPC de la cadena pública?

  7. ¿Está habilitado SSL para el procesamiento de solicitudes RPC de la cadena pública?

Relacionado con la concurrencia

  1. ¿Diseño del procesamiento de solicitudes de alta concurrencia en la cadena pública?

  2. ¿Establecer el número máximo de conexiones?

  3. ¿La interfaz Web UI de la cadena pública permite el acceso remoto?

  4. ¿Hay una vulnerabilidad de tipo web en la interfaz webui de la cadena pública?

  5. ¿La interfaz webui de la cadena pública permite almacenar información de contraseñas localmente?

Capa de código

Es cierto que no existe una "capa de código" en la cadena pública. Aquí, el autor la propone principalmente para clasificar los problemas que pueden necesitar considerarse en el proceso de desarrollo de la cadena pública:

  1. Características del lenguaje de desarrollo de la cadena común, como readall (), características de append en la lectura de datos del lenguaje go

  2. Versión del lenguaje de desarrollo de la cadena pública, por ejemplo, algunas versiones del lenguaje go tienen ejecución remota de comandos

  3. Codificación de especificaciones de desarrollo de la cadena pública, como puntero nulo, segmentación, manejo de excepciones y otras operaciones

  4. Procesamiento de cifrado y descifrado de la cadena pública, como codificación y decodificación de alta complejidad sin verificación de longitud

  5. Procesamiento de conversión de tipos de datos, como hextobyte, integer. Parseint(), etc.

  6. Diseño de lógica de negocio básica, por ejem

Otros elementos

Además de los problemas anteriores dignos de consideración a nivel de arquitectura de blockchain, también debemos considerar los siguientes problemas de seguridad:

Seguridad de nodos

  1. ¿Están cifrados los datos almacenados?

  2. ¿Son razonables los permisos de archivo?

  3. ¿Es seguro el entorno de ejecución?

  4. ¿El nodo no se inicia como root?

  5. ¿Hay algún servicio web vulnerable en el lado del nodo?

  6. ¿Hay alguna configuración insegura en el lado del servidor del nodo?

  7. ¿Hay una vulnerabilidad de acceso no autorizado en el lado del servidor del nodo?

  8. ¿Se ha filtrado la contraseña de la cuenta SSH en el lado del servidor del nodo?

Ataque de potencia de cálculo

  1. Ataque del 51%

  2. Bifurcación dura de la cadena común

  3. Secuestro de cómputo (gusanos infectan máquinas mineras)

Biblioteca de terceros

Si se utilizan bibliotecas de terceros con vulnerabilidades, como Jackson databind, fastjson, etc.

Middleware

Uso de middleware vulnerable, como versiones inferiores de tendermint

Necesidad de cadena cruzada

  1. ¿El modo de cadena cruzada es fiable y apropiado?

  2. ¿Esquema de implementación de cadena cruzada isomórfica y cadena cruzada heterogénea?

  3. Repetir los problemas de seguridad de la sección anterior

Mantenimiento

  • Al1ex@Heptagram

Discusión

Participa directamente en la discusión de los problemas relacionados en issue.

Descargar herramienta