
Como la primera criptomoneda del mundo, Bitcoin (BTC) se ha convertido gradualmente en la piedra angular de los activos digitales y las finanzas descentralizadas desde su debut en 2009.Sin embargo, a medida que aumenta el número de usuarios y el volumen de transacción,Los problemas de la red BTC se están volviendo cada vez más evidentes, principalmente manifestados en los siguientes puntos:
-
Altas tarifas de transacción: Cuando la red de bitcoin está congestionada, los usuarios deben pagar tarifas más altas para garantizar que las transacciones puedan confirmarse lo antes posible.
-
Tiempo de confirmación de transacciones: La cadena de bloques de Bitcoin genera un nuevo bloque cada 10 minutos en promedio, lo que significa que las transacciones en la cadena generalmente deben esperar a que se consideren la confirmación final de múltiples bloques.
-
Limitaciones de contratos inteligentes: Las características del lenguaje de secuencias de comandos de Bitcoin son limitadas y es difícil implementar contratos inteligentes complejos.
En este artículo, nos referimos colectivamente a Lightning Network, Sidechains, Rollup y otras tecnologías como soluciones de expansión BTC Layer2.La introducción de la tecnología LAY2 puedeMejorar la velocidad de transacción y reducir los costos de transacción, optimizar la experiencia del usuario y expandir la capacidad de la red,Proporciona un importante soporte técnico y direcciones innovadoras para el desarrollo futuro de BTC.
En la actualidad, Beosin se ha convertido en el socio de seguridad oficial de BTC Layer2, como Merlin Chain, auditó múltiples protocolos ecológicos BTC, comoBitmap.games, protocolo de surf, savmswap, mineral.En auditorías pasadas, varias cadenas públicas conocidas han aprobado la auditoría de seguridad de la cadena pública de Beosin, incluidaRonin Network, Clover, Auto cadena, Network de cortezaesperar.Beosin ahora lanza un plan de auditoría para BTC Layer2, proporcionando servicios de auditoría de seguridad integrales y confiables a todo el ecosistema BTC.
Red de rayos
El primer concepto de red de rayos se llamaba «canal de pago»..Cuando Satoshi Nakamoto creó Bitcoin en 2009, ya había propuesto la idea de un canal de pago e incluyó un borrador de código para el canal de pago en Bitcoin 1.0, que permite a los usuarios actualizar el estado de la transacción antes de confirmar la transacción.Sin embargo, no fue hasta el lanzamiento del Libro Blanco «The Bitcoin Lightning Network: pago instantáneo fuera de la cadena» que la red Lightning realmente nació y entró en el ojo público.
Hoy, las soluciones de implementación para los canales de pago y la red Lightning son muy maduras.A partir de ahora, Lightning Network tiene 13,325 nodos y 49,417 canales, y la cantidad total de BTC de apuesta ha alcanzado 4,975.
https://1ml.com/
En la red Lightning, es muy importante garantizar la seguridad de los activos del usuario durante el proceso de transferencia.A continuación se explicará cómo funciona la red Lightning y cómo proteger la seguridad de los activos del usuario en función de la escala de los nodos de red.
Los usuarios de ambas partes envían dos transacciones a la red principal de Bitcoin: una se usa para abrir el canal y la otra se usa para cerrar el canal.Se divide aproximadamente en los siguientes tres pasos:
1. Apertura del canal:
Primero, los usuarios de ambas partes comprometen Bitcoin a la billetera de firma múltiple de Lightning Network en BTC.Una vez que Bitcoin se compromete y bloquea con éxito, el canal de pago se abre y ambas partes pueden realizar transacciones fuera de cadena en este canal.
2. Transacciones fuera de la cadena:
Una vez que se abre el canal, todas las transacciones de transferencia entre usuarios se procesarán en la red Lightning y estas transacciones fuera de cadena no están limitadas por el número de veces.Por supuesto, estas transacciones no necesitan enviarse inmediatamente a la red principal de Bitcoin, pero se completan instantáneamente a través del mecanismo fuera de la cadena de la red Lightning.
Este método de procesamiento fuera de la cadena mejora significativamente la velocidad y la eficiencia de la transacción, evitando la congestión y las altas tarifas de transacción en la red principal de Bitcoin.
3. Cierre de canales y liquidación de cuenta:
Cuando el usuario de cualquiera de las partes decide salir del canal, se realizará el liquidación final.Este proceso garantiza que todos los fondos en el canal se asignen en el último estado.Al mismo tiempo, los usuarios de ambas partes retirarán el saldo de la liquidación de la billetera de firma múltiple, que refleja la asignación de fondos real cuando el canal está cerrado.Finalmente, el canal enviará la transacción final del libro mayor a la red principal de bitcoin.
La ventaja de la red Lightning es:
-
Aumento de la velocidad de transacción.Lightning Network permite a los usuarios intercambiar la cadena fuera de la cadena, lo que significa que las transacciones se pueden completar casi instantáneamente sin esperar el tiempo de confirmación del bloque.Esto puede lograr la velocidad de transacción en el segundo nivel, mejorando en gran medida la experiencia del usuario.
-
Privacidad mejorada.Las transacciones fuera de la cadena de Lightning Network no necesitan registrarse públicamente en la cadena principal de Bitcoin, lo que mejora la privacidad de las transacciones.Solo la apertura y el cierre del canal deben registrarse en la cadena principal, por lo que el comportamiento de transacción del usuario no se revelará por completo.
-
Soporte de micropapa.Lightning Network es muy adecuado para manejar pequeños pagos (micro pagos), como pagos de contenido, pagos de dispositivos de Internet de las cosas, etc.Las transacciones tradicionales de bitcoin no son adecuadas para pagos pequeños frecuentes debido a sus altas tarifas de manejo, y Lightning Network resuelve este problema.
Los desafíos que enfrentan la red de rayos:
-
Problemas de liquidez de la red: Lightning Network se basa en bitcoins que están previamente bloqueados en el canal.Esto significa que los usuarios deben depositar suficiente bitcoin en su canal de pago por adelantado para las transacciones.La liquidez inadecuada puede conducir a una falla del pago, especialmente cuando se realizan pagos más grandes.
-
Problemas de enrutamiento: Encontrar una ruta válida desde el remitente del pago al receptor puede ser un problema complejo, especialmente cuando la red es grande.A medida que aumentan los nodos de red y los canales, también se vuelve más difícil garantizar la finalización de los pagos sin problemas.
-
Problemas de fideicomiso de custodia del fondo: Los nodos pueden encontrar ataques maliciosos, y los usuarios deben confiar en los nodos a los que están conectados no intentarán robar fondos.¿Pueden los nodos evitar la fuga de llave privada?
-
Estándares técnicos e interoperabilidad: Existen estándares y protocolos técnicos consistentes entre las diferentes implementaciones de la red de rayos para garantizar la interoperabilidad.Actualmente, múltiples equipos de desarrollo están desarrollando diferentes implementaciones de redes de rayos, lo que puede conducir a problemas de compatibilidad.
-
Problemas de privacidad: Aunque Lightning Network ha mejorado la privacidad de las transacciones de Bitcoin, la información de transacciones aún se puede rastrear o analizar.Además, los operadores de nodo de red pueden ver transacciones a través de sus nodos, lo que puede revelar cierta información de privacidad.
La seguridad de la red Lightning afecta directamente las capacidades de expansión fuera de la cadena de Bitcoin y la seguridad de los fondos del usuario.por lo tantoAdemás de los elementos de auditoría general de las cadenas públicas(Consulte el apéndice al final de este artículo para más detalles)afuera,Lightning Network también debe prestar atención a los siguientes puntos importantes de riesgo de seguridad:
-
Congestión del canal: verifique la amplitud del diseño del sistema de red Lightning y si la congestión del canal será causada por ataques tristes.
-
Interferencia del canal: verifique la seguridad de la estructura del canal de la red Lightning y si será atacada por interferencia del canal.
-
Bloqueo y desbloqueo de activos del canal: revise el proceso de bloqueo y desbloqueo de activos en la red Lightning para garantizar que la transferencia de fondos dentro y fuera de la cadena sea seguro y confiable al abrir o cerrar el canal de pago.
-
Actualización de estado y cierre: evalúe el proceso de actualización de estado y el mecanismo de cierre de fuerza del canal para garantizar que el estado más reciente pueda identificarse y ejecutarse correctamente cuando ocurra una excepción.
-
Bloqueo de tiempo y contrato de bloqueo hash (HTLC): evalúe la implementación de HTLC para garantizar que las condiciones de bloqueo de tiempo y bloqueo hash puedan ejecutarse correctamente y evitar pérdidas de fondos causadas por problemas de ventanas de tiempo.
-
Dependencia de la marca de tiempo blockchain: evalúe la dependencia de la red Lightning en las marcas de tiempo de blockchain de bitcoin, asegúrese de que el tiempo de cadena y fuera de la cadena pueda coordinarse correctamente y evitar ataques de tiempo.
-
Seguridad del algoritmo de enrutamiento: verifique la eficiencia y la seguridad del algoritmo de enrutamiento para evitar la exposición a la privacidad del usuario y los riesgos de manipulación de enrutamiento malicioso.
-
Almacenamiento del canal y recuperación de datos: verifique el mecanismo de almacenamiento del canal y la estrategia de recuperación de datos para garantizar que el estado del canal pueda restaurarse cuando el nodo falle o se desconecte inesperadamente, y evita la pérdida de fondos.
Cadena lateral
A diferencia de Lightning Network, Sidechain es una cadena de bloques independiente que corre paralela a la cadena principal (como la cadena de bloques BTC) e introduce con la cadena principal a través de anclaje bidireccional (PEG bidireccional).El propósito de las cadenas laterales es lograr más funciones y mejorar la escalabilidad sin cambiar el protocolo de la cadena principal.
Como una cadena de bloques independiente, la cadena lateral tiene su propio mecanismo de consenso, nodos y reglas de procesamiento de transacciones..Puede adoptar tecnologías y protocolos diferentes de la cadena principal de acuerdo con las necesidades de escenarios de aplicación específicos.A través del mecanismo de anclaje bidireccional (2WP), la cadena lateral se comunica con la cadena principal, asegurando la transferencia libre y segura de activos entre los dos.El mecanismo operativo del mecanismo de anclaje bidireccional (2WP) es aproximadamente el siguiente:
1. El usuario bloquea BTC en la cadena principal, y la Agencia de confianza 1 adquiere y utiliza la verificación SPV 2 para garantizar que el usuario bloquee la transacción.
2. Las instituciones de confianza emitirán tokens de valor equivalente a los usuarios en la cadena secundaria.
3. Después de la transacción libre del usuario, bloquea las fichas restantes en la cadena lateral.
4. Después de verificar la legitimidad de la transacción, una organización de confianza desbloquea y libera el valor correspondiente de BTC al usuario en la cadena principal.
Nota 1:Instituciones de confianzaJuega un papel clave en el mecanismo de anclaje bidireccional, responsable de administrar el bloqueo y la liberación de activos.Estas instituciones deben tener un alto nivel de credibilidad y capacidades técnicas para garantizar la seguridad de los activos del usuario.
Nota 2:Verificación SPVPermite que los nodos verifiquen la validez de una transacción específica sin descargar la cadena de bloques completa.El nodo SPV simplemente descarga el encabezado del bloque y verifica si la transacción se incluye en el bloque a través del árbol de Merkle.
Elementos representativos de las cadenas laterales:
CKB (Netwer Network)
Netros Network es un ecosistema de blockchain público de código abierto diseñado para aprovechar la seguridad y la descentralización del mecanismo de consenso POW de BTC, al tiempo que introduce un modelo UTXO más escalable y flexible para manejar las transacciones.Su núcleo es la base de conocimiento común (CKB), que es una cadena de bloques de capa 1 basada en RISC-V y usa POW (prueba de trabajo) como un consenso.Expande el modelo UTXO en un modelo de celda, lo que le permite almacenar cualquier dato y admite que las secuencias de comandos en cualquier idioma se ejecutarán en la cadena como un contrato inteligente.
Pilas
Las pilas conecta cada bloque de pilas con un bloque de bitcoin a través de su mecanismo de viruela (prueba de transferencia).Para desarrollar contratos inteligentes, Stacks diseñó un lenguaje de programación de claridad especial.En claridad, ¿la función Get-Burn-Block-Info?Al mismo tiempo, la palabra clave Burn-Block-Weight puede obtener la altura actual del bloque de la cadena de bitcoin.Estas dos funciones permiten que Clarity Smart Contracts lea el estado de la cadena básica de Bitcoin, lo que permite que las transacciones de Bitcoin actúen como desencadenantes de contrato.Las pilas amplían las capacidades de Bitcoin ejecutando automáticamente estos contratos inteligentes.
Para un análisis detallado de las pilas, puede leer el artículo de investigación anterior de Beosin: «¿Qué son las pilas?¿Qué desafíos pueden enfrentar las pilas de red de la capa 2 de BTC?》
La ventaja de las cadenas laterales es:
-
Sidechains puede adoptar diferentes tecnologías y protocolos para realizar diversos experimentos e innovaciones sin afectar la estabilidad y la seguridad de la cadena principal.
-
Las cadenas laterales pueden introducir funciones que la cadena principal no tiene., como contratos inteligentes, protección de la privacidad, emisión de tokens, etc., enriquecen los escenarios de aplicación del ecosistema blockchain.
Desafíos que enfrentan cadenas laterales:
-
Las cadenas laterales tienen mecanismos de consenso independientes, probablemente no sea tan seguro como la cadena principal de BTC.Si el mecanismo de consenso de la cadena lateral es débil o hay vulnerabilidades, puede conducir a un 51% de ataques u otras formas de ataques, lo que afecta la seguridad de los activos del usuario.La seguridad de la cadena principal de BTC depende de su enorme potencia informática y su extensa distribución de nodos, mientras que la cadena lateral puede no cumplir con los mismos estándares de seguridad.
-
La implementación de un mecanismo de anclaje bidireccional requiere algoritmos de cifrado complejos y protocolos.
-
Para encontrar un equilibrio entre la velocidad y la seguridad, la mayoría de las cadenas lateralesMayor centralización que la cadena principal.
Layer2 es un sistema de blockchain completo, por lo que los elementos de auditoría general de las cadenas públicas también son aplicables a las cadenas laterales, consulte el apéndice al final de este artículo para más detalles.
también,Debido a su particularidad, la cadena lateral también requiere algunas auditorías adicionales:
-
Seguridad del protocolo de consenso: revise si los protocolos de consenso (como POW, POS, DPO) de la cadena lateral se han verificado y probado por completo, y si existen vectores potenciales o vectores de ataque, como ataques del 51%, ataques de largo alcance, etc.
-
Seguridad del nodo de consenso: evalúe la seguridad de los nodos de consenso, incluida la gestión de claves, la protección del nodo y la copia de seguridad redundante, para evitar que los nodos sean comprometidos o abusados.
-
Bloqueo y liberación de activos: revise el mecanismo de anclaje de activos bidireccional entre la cadena lateral y la cadena principal para garantizar que el contrato inteligente para bloquear y liberar los activos sea seguro y confiable, y evite el doble gasto, la pérdida de activos o la falla de bloqueo.
-
Verificación de la cadena cruzada: verifique la precisión y seguridad de la verificación de la cadena cruzada para garantizar que el proceso de verificación sea descentralizado y a prueba de manipulaciones, y prevenir la falla de verificación o la verificación maliciosa.
-
Auditoría del código de contrato: auditar profundamente todos los contratos inteligentes que se ejecutan en la cadena lateral, detectando posibles vulnerabilidades o puertas traseras, especialmente la lógica del contrato al manejar las operaciones de la cadena cruzada.
-
Mecanismo de actualización: verifique si el mecanismo de actualización de los contratos inteligentes es seguro y si existen procesos adecuados de auditoría y consenso de la comunidad para prevenir actualizaciones maliciosas o manipulación de contratos.
-
Comunicación del internodo: verifique si el protocolo de comunicación entre los nodos de la cadena lateral es seguro y si se utiliza un canal encriptado para evitar ataques del hombre en el medio o fuga de datos.
-
Comunicación de cadena cruzada: verifique el canal de comunicación entre la cadena lateral y la cadena principal para garantizar la integridad y la autenticidad de los datos, y evitar que la comunicación sea secuestrada o manipulada.
-
Tiempo de tiempo y tiempo de bloque: Verifique el mecanismo de sincronización de tiempo de la cadena lateral para garantizar la consistencia y precisión del tiempo de generación de bloques, y evitar ataques o reversiones de bloque causadas por la diferencia de tiempo.
-
Seguridad de gobernanza en la cadena: revise los mecanismos de gobernanza de las cadenas laterales para garantizar la transparencia y la seguridad de la votación, las propuestas y los procesos de toma de decisiones, y prevenir el control o ataques maliciosos.
-
Auditoría económica del token: verifique el modelo económico de token de la cadena secundaria, incluida la asignación de tokens, los mecanismos de incentivos y los modelos de inflación, para garantizar que los incentivos económicos no conduzcan a un comportamiento malicioso o inestabilidad del sistema.
-
Mecanismo de tarifas: verifique el mecanismo de tarifas de transacción de la cadena lateral para garantizar que coincida con las necesidades de los usuarios principales de la cadena y la cadena lateral, y previene la manipulación de la tarifa o la congestión de la red.
-
Seguridad de los activos: el mecanismo de gestión de los activos en la cadena de auditoría garantiza que el almacenamiento, la transferencia y la destrucción de los activos son seguros y confiables, y no existe riesgo de acceso o robo no autorizados.
-
Gestión de claves: verifique la política de gestión de clave de Sidechain para garantizar el control de seguridad y acceso de la clave privada, y evitar que la clave se filtre o se robe.
Acurrucado
Rollup es una solución de escala LAY2 diseñada para mejorar el rendimiento de la transacción y la eficiencia de blockchain.Reduce en gran medida la carga en la cadena principal empacando una gran cantidad de transacciones («Rollup») y procesando fuera de la cadena, solo enviando el resultado final a la cadena principal.
El rollup se divide principalmente en ZK-Rollup y OP-Rollup.Pero a diferencia de ETH,Debido a la incompletitud de BTC, es imposible usar contratos en BTC para la verificación de prueba de conocimiento cero.Las soluciones tradicionales de ZK-Rollup no se pueden implementar en BTC.Entonces, ¿cómo implementar BTC Layer2 usando ZK-Rollup?A continuación, tome el proyecto de red B² como ejemplo:
Para completar la verificación de prueba de conocimiento cero en BTC, B² Network creó un script de taproot que combina la verificación de prueba de conocimiento cero de ZK-Rollup y el desafío motivador de OP-Rollup.Su mecanismo operativo es más o menos como sigue:
1. B² Network primero roda todas las transacciones iniciadas por los usuarios.
2. Después de clasificar las transacciones enrolladas utilizando el clasificador, guarde las transacciones enrolladas usando almacenamiento descentralizado y entregalas a ZKevm para procesar al mismo tiempo.
3. Después de que ZKEVM sincroniza el estado de la cadena BTC, procesa la ejecución del contrato y otras transacciones, y combina y empaqueta los resultados y los envía al agregador.
4. Prover genera pruebas de conocimiento cero y las envía al agregador, y los envía a los nodos B² a través de la transacción y pruebas de agregación del agregador.
5. Los nodos B² realizan una verificación a prueba de conocimiento cero y crea scripts de taproot basados en los datos de lagrada en el almacenamiento descentralizado.
6. Taproot es un UTXO con un valor de 1 satoshi.Después de pasar el mecanismo de desafío de incentivos, se enviará a BTC como una promesa basada en la verificación de la prueba de ZK.
Las ventajas del rollo son:
-
AcurrucadoHeredado la seguridad y la descentralización de la cadena principal.La integridad y la transparencia de los datos se aseguran enviando datos y estado de transacciones a la cadena principal regularmente.
-
Rollup puede integrarse perfectamente en las redes blockchain existentes, como Ethereum, lo que permite a los desarrolladores aprovechar fácilmente sus ventajas sin tener que modificar significativamente los contratos y aplicaciones inteligentes existentes.
-
El acurrucado ha mejorado enormemente las capacidades de procesamiento de transacciones mediante el procesamiento de una gran cantidad de transacciones fuera de la cadena y las empaquetan en un lote para enviarlas a la cadena principal, lo que resulta en un aumento significativo en el número de transacciones por segundo (TPS).
-
Las transacciones enrollables solo deben procesarse fuera de la cadena, lo que reduce en gran medida los recursos informáticos y el espacio de almacenamiento requerido para las transacciones en la cadena, lo que reduce significativamente las tarifas de transacción de los usuarios.
Desafíos que enfrentan:
-
Si los datos fuera de la cadena no están disponibles, es posible que los usuarios no puedan verificar las transacciones y restaurar los estados.
-
Las transacciones enrollables deben procesarse en lotes y finalmente someterse a la cadena principal, lo que puede resultar en un tiempo de liquidación más largo.Especialmente en OP-Rollup, hay un período controvertido, y los usuarios pueden tener que esperar mucho tiempo antes de que finalmente puedan confirmar la transacción.
-
Aunque ZK Rollup proporciona una mayor seguridad y confirmación instantánea, sus requisitos de computación y almacenamiento son altos, y la generación de pruebas de conocimiento cero requiere una gran cantidad de recursos informáticos.
Dado que la solución adoptada es el encierro, sus elementos clave de auditoría de seguridad son básicamente los mismos que ETH Layer2.
Otros (Babilonia)
Además de la capa BTC tradicional2, hay algunos conceptos nuevos de acuerdos de terceros relacionados con el ecosistema BTC recientemente, como Babilonia:
El objetivo de Babilonia es convertir 21 millones de BTC en activos de apuestas descentralizados.A diferencia de otras capas2 de BTC, Babilonia no expanda la cadena BTC.Es una cadena única con un protocolo especial de BTC.
La arquitectura se divide en tres capas:
Capa de bitcoin: Esta es una base sólida para Babilonia, aprovechando la conocida seguridad de Bitcoin para garantizar que todas las transacciones sean súper seguras, al igual que en la red de Bitcoin.
Capa babilónica: En el corazón de Babilonia está la capa de Babilonia, una cadena de bloques personalizada que conecta Bitcoin con varias cadenas de prueba de estaca (POS).Procesa transacciones, ejecuta contratos inteligentes y asegura que todo salga bien en todo el ecosistema.
Capa de cadena: La capa superior consta de múltiples cadenas POS, cada cadena POS se selecciona por sus ventajas únicas.Esto le da a Babilonchain increíble escalabilidad y flexibilidad, lo que permite a los usuarios disfrutar de las mejores características de diferentes blockchains de POS.
La operación es proteger la cadena POS utilizando el bloque final firmado en la cadena BTC.Esto esencialmente extiende el protocolo subyacente con rondas de firma adicionales.Estas firmas en la última ronda +1 tienen una característica única: son firmas extraíbles de una sola vez (EOTS).El propósito es integrar los puntos de control de POS en BTC para resolver los problemas de los períodos de desapercibencia a largo plazo y los ataques remotos de POS.
Las ventajas de Babilonia son:
-
Hacer el período de desagüe de POS más rápido
-
Debido a que BTC se compromete, el precio está vinculado a BTC, que puede aliviar la presión de inflación de la red POS correspondiente
-
Abriendo nuevas formas de ganar BTC
Desafíos Babilonia:
-
Los diseños económicos como la tasa de retorno de la compromiso tienen un gran impacto en el entusiasmo del compromiso de BTC
-
Falta de regulaciones de consistencia de recompensa entre las cadenas POS
Los puntos de seguridad de los acuerdos de terceros no son consistentes dependiendo de su implementación.:
1. Seguridad de contrato inteligente: El contrato de replanteo en BTC se implementa a través de los scripts de UTXO, y debe prestarse atención a su seguridad.
2. Seguridad del algoritmo de firma: El contrato utiliza firmas para administrar la apuesta del usuario, y su seguridad de algoritmo está relacionada con la generación y verificación de firmas.
3. Diseño del modelo económico del protocolo: Si el modelo económico del acuerdo se establece razonablemente en términos de recompensas y castigos, y si conducirá a la pérdida de activos del usuario.
apéndice:
Cadena pública y amp;
-
Desbordamiento de enteros: verifique el desbordamiento del entero y el bajo flujo de Integer
-
Dead Loop: verifique si las condiciones de juicio del bucle del programa son razonables
-
Llamada recursiva infinita: verifique si las condiciones de salida de la llamada recursiva del programa son razonables
-
Condición de la carrera: verifique la operación de acceso a recursos compartidos en un estado concurrente
-
Crash de excepción: verifique el código de lanzamiento de excepción que permite que el programa salga activamente
-
Dividir 0 vulnerabilidad: verifique si hay alguna situación en la que la división sea 0
-
Tipo de conversión: verifique si la conversión de tipo es correcta y si se pierde información importante durante el proceso de conversión
-
Matriz fuera de los límites: verifique si acceder a elementos que excedan los límites de la matriz
-
Vulnerabilidad de deserialización: verifique si hay algún problema durante la deserialización
-
Seguridad funcional: verifique si existen riesgos de seguridad en cada implementación de la interfaz RPC y si es efectiva en la interfaz con RPC.
-
Puede diseñar para que coincida
-
Es la configuración de permiso para la interfaz RPC sensible razonable: verifique la configuración de permiso de acceso para obtener interfaces RPC confidenciales
-
Mecanismo de transmisión cifrado: verifique si se usa un protocolo de transmisión cifrado, como TLS, etc.
-
Solicitar análisis de formato de datos: verifique el proceso de análisis de formato de los datos solicitados
-
Ataque de desbloqueo de billetera: cuando un nodo desbloquea su billetera, RPC lo solicita para robar fondos
-
Seguridad web tradicional: verifique las siguientes vulnerabilidades: Scripting de sitios cruzados (XSS) / Inyección de plantilla /
-
Vulnerabilidad de componente de terceros / parámetro HTTP Contaminación / inyección SQL / inyección de entidad xxe
-
Vulnerabilidades tradicionales, como las vulnerabilidades SSRF / inyección de código / inclusión de archivo local / inyección de ejecución de la inclusión del archivo remoto.
-
Autenticación de identidad de nodo de red Mecanismo de identificación: verifique si hay un mecanismo de identificación de identidad de nodo y si el mecanismo de identificación de identidad del nodo puede revertirse.
-
Contaminación de la tabla del enrutador: verifique si la tabla de enrutamiento se puede insertar o sobrescribir a voluntad
-
Algoritmo de descubrimiento de nodos: verifique si el algoritmo de descubrimiento de nodo es equilibrado e impredecible, como el desequilibrio del algoritmo de distancia y otros problemas
-
Auditoría para el número de conexiones: verifique si el límite y la administración del número de nodos conectados a la red P2P es razonable
-
Ataque del eclipse: evalúe el costo y el daño de los ataques de eclipse y proporcione un análisis cuantitativo si es necesario
-
Ataque de brujas: evaluar los mecanismos de consenso de votación y analizar las estrategias de verificación de calificación de votación
-
Ataque de altura: verifique si el protocolo de comunicación filtra la privacidad
-
Ataque alienígena: evalúe si un nodo puede identificar nodos de cadena similares
-
Scalacking de tiempo: verifique el sistema informático de tiempo de red de los nodos
-
Ataque de agotamiento de la memoria: verifique dónde se consume la memoria grande
-
Ataque de agotamiento del disco duro: verifique dónde se almacenan los archivos grandes
-
Ataque de presión del enchufe: una estrategia limitante para verificar el número de enlaces
-
Ataque de agotamiento del manejo del núcleo: verifique las limitaciones de la creación del mango del kernel, como manijas de archivos, etc.
-
Fugas de memoria continua: verifique dónde están las filtraciones de memoria
-
Algoritmo de hash Seguridad: verifique la resistencia a la colisión del algoritmo hash
-
Seguridad del algoritmo de firma digital: verifique la seguridad del algoritmo de firma y la seguridad de la implementación del algoritmo
-
Seguridad del algoritmo de cifrado: verifique la seguridad del algoritmo de cifrado y la seguridad de la implementación del algoritmo
-
Seguridad del generador de números aleatorios: verifique si el algoritmo clave de generación de números aleatorios es razonable
-
Seguridad de implementación de BFT: evalúe la seguridad de implementación del algoritmo BFT
-
Reglas de selección de horquillas: Verifique las reglas de selección de bifurcaciones para la seguridad
-
Determinación de la centralización: identificando si hay un diseño demasiado centralizado en el diseño del sistema
-
Auditoría del mecanismo de incentivos: evaluar el impacto de los mecanismos de incentivos en la seguridad
-
Ataque doble dulce: verifique si el consenso puede defenderse contra el ataque doble dulce
-
Auditoría de ataque MEV: verifique el impacto de MEV en la justicia en la cadena de los nodos de embalaje de bloques
-
Auditoría del proceso de sincronización de bloque: verifique los problemas de seguridad durante el proceso de sincronización
-
Auditoría del proceso de análisis del formato de bloque: verifique los problemas de seguridad durante el análisis del formato, como los errores de análisis que conducen a bloqueos
-
Auditoría del proceso de generación de bloques: verifique los problemas de seguridad durante la generación de bloques, incluyendo si el método de construcción de raíz de árbol de Merkle es razonable
-
Auditoría del proceso de verificación de bloque: verifique si los elementos de contenido de firma de bloque y la lógica de verificación son suficientes
-
Auditoría lógica de confirmación de bloque: verifique si el algoritmo de confirmación de bloque y la implementación son razonables
-
Bloque de colisión de hash: verifique el método de construcción de la colisión de hash de bloque y si el procesamiento durante la colisión es razonable
-
Limitaciones de recursos de procesamiento de bloques: verifique si las agrupaciones de bloques huérfanos, la computación de verificación, el direccionamiento del disco duro y otras limitaciones de recursos son razonables
-
Auditoría del proceso de sincronización de transacciones: verifique los problemas de seguridad durante el proceso de sincronización
-
Colisión de hash de transacción: verifique el método de construcción de la colisión de hash de transacción y el procesamiento durante la colisión
-
Análisis del formato de transacción: verifique los problemas de seguridad durante el análisis de formato, como los errores de análisis que conducen a bloqueos
-
Verificación de legalidad de transacción: verifique si los elementos de contenido y la lógica de verificación de cada tipo de firma de transacción son suficientes
-
Limitaciones de recursos de procesamiento de transacciones: verifique si las limitaciones de recursos, como el grupo de transacciones, el cálculo de la verificación, el direccionamiento del disco duro son razonables
-
Ataque de extensibilidad de la transacción: puede una transacción cambiar los campos internos (como scriptsig) y cambiar el hash de la transacción sin afectar la validez de la transacción
-
Auditoría de ataque de repetición de comercio: verifique la detección del sistema de la repetición de transacciones
-
Verificación del código de byto de contrato: verifique los problemas de seguridad del proceso de verificación de contratos en máquinas virtuales, como desbordamiento de enteros, bucle muerto, etc.
-
Ejecución de Bytecode de contrato: verifique los problemas de seguridad del proceso de ejecutar bytecode en máquinas virtuales, como desbordamiento entero, bucle muerto, etc.
-
Modelo de gas: Verifique si las tarifas de manejo correspondientes para cada operación atómica ejecutada por procesamiento/contrato de transacciones son proporcionales al consumo de recursos
-
Integridad de registro: verifique si la información de la clave está registrada
-
Seguridad del registro: verifique si los problemas de seguridad causados por el procesamiento inadecuado durante el procesamiento de registros, como el desbordamiento entero, etc.
-
El registro contiene información de privacidad: verifique si el registro contiene información de privacidad como claves.
-
Almacenamiento de registro: verifique si el registro registra demasiado contenido, lo que resulta en el consumo de recursos de nodo
-
Código de nodo Seguridad de la cadena de suministro: verifique todas las bibliotecas de terceros, componentes y marcos de cadena pública para problemas conocidos