Autor | Fausto y Abismo, Geek Web3

Resumen: Desde la aparición de varios puentes entre cadenas, varios ataques de piratas informáticos casi nunca se han detenido. El robo de 620 millones de dólares del puente entre cadenas oficial de Axie en 2022 conmocionó al mundo e innumerables personas comenzaron a pensar en cómo resolverlo. el puente entre cadenas de seguridad y confianza, pero hoy en día todavía hay muchos problemas sin resolver en este campo.
 
Sin embargo, al igual que la cadena pública, el puente de cadenas transversales también tiene un "triángulo imposible" en sus ideas de diseño, y todavía hoy no se puede romper. Para tener ventajas en costo y UX, la mayoría de los puentes entre cadenas adoptan un modelo de testigo similar a la firma múltiple, y esta solución ha sido popular entre los piratas informáticos desde el primer día en que se implementó.
 
La trágica experiencia histórica nos dice que los puentes testigo sin medidas de protección tarde o temprano causarán problemas, pero tales puentes ya son comunes en todo el ecosistema Bitcoin, lo que hace que la gente se sienta espeluznante.
 
La red Bool que se presentará en este artículo, sobre la base de proporcionar testigos que rotan dinámicamente para proyectos de puentes entre cadenas, combina computación de privacidad y claves encapsuladas TEE, intenta optimizar aún más el modelo de seguridad de los puentes de testigos tradicionales y resolver los problemas. de puentes entre cadenas La cuestión de la descentralización puede traer esperanzas de un gran avance en el puente entre cadenas de Bitcoin.

El estado actual del ecosistema Bitcoin: la firma múltiple está en todas partes
 
La esencia de un puente entre cadenas es demostrarle a la cadena B que alguien en la cadena A inició una solicitud entre cadenas y que la parte interesada pagó la tarifa de acuerdo con las regulaciones. Para demostrarlo, existen diferentes caminos de implementación.
 
Los puentes de clientes ligeros a menudo implementan contratos inteligentes en la cadena y verifican de forma nativa los mensajes entre cadenas en la cadena. Este tipo de puente tiene la mayor seguridad, pero también es el más caro y no se puede implementar en la cadena de Bitcoin (actualmente bajo el. nombre de Bitcoin El lado del proyecto de la bandera del puente ZK solo puede garantizar que BTC usará el puente ZK al cruzar a otras cadenas, y BTC no puede volver a cruzar a través del puente ZK).
 
Optimistic Bridge, representado por BitVM, utiliza prueba de fraude para garantizar que los mensajes entre cadenas se procesen de manera veraz, pero esta solución es extremadamente difícil de implementar. La gran mayoría de los puentes entre cadenas de Bitcoin finalmente adoptan el modelo de testigo, donde varios testigos son designados fuera de la cadena, y los testigos verifican y confirman todos los mensajes entre cadenas.
 
Aunque el puente DLC representado por DLC.link introduce la idea de canales de pago sobre la base de firmas múltiples de oráculos/testigos para limitar al máximo los escenarios de testigos que cometen el mal, todavía no puede eliminar por completo los peligros ocultos de las múltiples firmas. -firma en la raíz.



(El triángulo imposible de los puentes entre cadenas se refiere principalmente a: 1. Escalabilidad: si puede soportar la transmisión de mensajes arbitrarios 2. No hay necesidad de confianza: no se introducen o se introducen tan pocas suposiciones de confianza como sea posible 3. Facilidad de adaptabilidad: dificultad de implementación, capacidad de adaptación (incluidas diferentes cadenas públicas, incluido Bitcoin)

Al final, encontraremos que antes de que se lance BitVM, a excepción de los proyectos basados ​​en la verificación del cliente o el enlace isomórfico como Lightning Network/Payment Channel o RGB++, otros puentes entre cadenas de Bitcoin son esencialmente de firmas múltiples.

La historia ha demostrado durante mucho tiempo que si no se resuelve el problema de la falta de confianza en los puentes entre cadenas de firmas múltiples e incluso en las plataformas de gestión de activos a gran escala, será sólo cuestión de tiempo antes de que se roben los fondos.

En este sentido, algunas partes del proyecto han pedido a los testigos que sobregaranticen sus activos, utilizando el potencial Slash como condición disciplinaria, o que grandes instituciones actúen como testigos para proporcionar respaldos crediticios para debilitar los riesgos de seguridad de los puentes entre cadenas. Pero en última instancia, el modelo de seguridad de un puente basado en el modo testigo es básicamente el mismo que el de una billetera multifirma. Al final, el modelo de confianza debe determinarse de acuerdo con un umbral, como M/N. Y la tasa de tolerancia a fallas es relativamente limitada.



Cómo configurar y manejar firmas múltiples, cómo hacer que las firmas múltiples sean lo más confiables posible y cómo evitar que los testigos hagan el mal o aumenten el costo de los ataques externos serán cuestiones que el puente entre cadenas de capa 2 de Bitcoin debe abordar. pensar durante mucho tiempo.

¿Hay alguna manera de dificultar que los participantes de múltiples firmas conspiren para hacer el mal y que los piratas informáticos roben las claves del mundo exterior? Bool Network intenta solucionar el problema de seguridad del puente testigo a través de una solución integral basada en el algoritmo ZKP-RingVRF y TEE.

Bool Network: infraestructura informática privada diseñada para puentes entre cadenas y más

De hecho, ya sea KYC, POS o POW, la esencia es descentralizar y resistir a las brujas, y evitar que importantes derechos de gestión se concentren en manos de unas pocas personas. El uso del esquema de firma múltiple/MPC además de POA y KYC puede mitigar los riesgos de seguridad a través del respaldo crediticio de grandes instituciones, pero este modelo no es esencialmente diferente de los intercambios centralizados. Aún debe confiar en estos testigos designados para malversar el dinero. el fondo de capital del puente entre cadenas es en realidad una cadena de consorcio, lo que viola fundamentalmente la esencia sin confianza de la cadena de bloques.

La solución MPC/multifirma basada en POS es más confiable que POA y el umbral de entrada es mucho más bajo que este último, pero aún enfrentará varios problemas, como la fuga de privacidad del nodo.

Supongamos que hay docenas de nodos que forman una red testigo para servir a un determinado puente entre cadenas. Dado que estos nodos necesitan intercambiar datos con frecuencia, sus claves públicas, direcciones IP u otra información de identidad se exponen fácilmente al mundo exterior. Las rutas de ataque a menudo conducen al robo de claves de ciertos nodos. Además, los testigos también pueden confabularse entre ellos, lo que es fácil de suceder cuando el número de nodos es relativamente pequeño.

Entonces, ¿cómo solucionamos el problema anterior? Es posible que instintivamente piense que necesita reforzar las medidas de protección de sus claves para evitar que sean espiadas por el mundo exterior. Un método más confiable es encapsular la clave en un TEE (Trusted Execution Environment).

TEE permite que los dispositivos de nodo ejecuten software en un área local segura y otros componentes del sistema no pueden acceder a sus datos. Puede aislar datos o programas privados en un entorno de ejecución seguro para evitar que se filtren o manipulen maliciosamente datos confidenciales.

La pregunta aquí es, ¿cómo garantizar que el testigo realmente almacene la clave en el TEE y genere la firma? De hecho, siempre que el testigo muestre la información de certificación remota de TEE, podemos verificar si se está ejecutando en TEE. Solo necesitamos verificar la certificación TEE en cualquier cadena y el costo es casi insignificante.

(No hace mucho, Scroll también anunció el uso de TEE como probador auxiliar además de ZKEVM y verificó todos los bloques en su red de prueba Sepolia)



Por supuesto, el problema no termina con la ETE. Incluso si introduce TEE, si el número total de testigos no es grande, por ejemplo, solo hay 5, todavía encontraremos varios problemas. Incluso si la clave encapsulada en TEE no se puede "ver", está compuesta por unos pocos. El comité de testigos aún no puede garantizar la resistencia y disponibilidad a la censura. Por ejemplo, si los cinco nodos anteriores se escapan colectivamente, paralizando el puente entre cadenas, los activos del puente no se pueden bloquear ni canjear sin problemas, lo que básicamente equivale a estar congelados permanentemente.

Después de considerar exhaustivamente factores como la compatibilidad, la descentralización y el costo, Bool Network propuso esta idea:

Construimos una red de testigos de candidatos sin permiso a través de la promesa de activos. Siempre que prometa suficientes activos, puede unirse cuando la escala de la red sea lo suficientemente grande, por ejemplo, después de que se conecten cientos o miles de dispositivos, seleccionamos regularmente algunos nodos; la red para actuar como testigos para puentes entre cadenas para evitar el problema de la "solidificación de clase" de los testigos (esta idea también se refleja en el actual POS Ethereum)

Entonces, ¿cómo hacer que el algoritmo de lotería sea aleatorio? Las cadenas públicas de POS tradicionales, como Algorand y Cardano, introducen la función VRF para generar periódicamente números pseudoaleatorios y extraer bloqueadores a través de los resultados de salida. Sin embargo, los algoritmos VRF tradicionales a menudo no protegen la privacidad. Quién participa en el proceso de cálculo de VRF y quién es la persona seleccionada asociada con el número aleatorio generado por VRF está casi expuesto al sol.
 


Los testigos dinámicos de los puentes entre cadenas tienen diferentes cuestiones que considerar al seleccionar dinámicamente productores de bloques en cadenas públicas de POS. Incluso si se filtran las identidades de los productores de bloques de cadenas públicas, a menudo es inofensivo porque los atacantes tienen escenarios malignos limitados y estarán sujetos a ellos. muchas restricciones.
Una vez que se filtre la identidad de los testigos del puente entre cadenas, siempre que los piratas informáticos obtengan sus claves o exista una connivencia interna entre estos testigos, todo el conjunto de activos del puente estará completamente en crisis. De todos modos, los modelos de seguridad de los puentes entre cadenas y las cadenas públicas de POS son muy diferentes y se debe prestar más atención a la confidencialidad de las identidades de los testigos.

Nuestra idea instintiva es que es mejor ocultar la lista de testigos. En este sentido, Bool Network utiliza un algoritmo VRF de anillo original para ocultar la identidad del testigo seleccionado entre todos los candidatos. Los detalles generales son relativamente complicados. expresado de la siguiente manera:

1. Antes de ingresar a la red Bool, todos los candidatos primero deben pignorar sus activos en Ethereum o en una cadena creada por el propio Bool, dejando una clave pública como información de registro. Esta clave pública también se denomina "clave pública permanente". El conjunto de "claves públicas permanentes" de todos los candidatos es públicamente visible en la cadena. Para decirlo sin rodeos, esta clave pública permanente es la información de identidad de todos;

2. Cada pocos minutos a media hora, la red Bool seleccionará aleatoriamente varios testigos a través de la función VRF. Pero antes de eso, cada candidato debe generar una "clave pública temporal" única localmente y generar ZKP para demostrar que la "clave pública temporal" está relacionada con la "clave pública permanente" registrada en la cadena, en otras palabras, use ZK; demostrar que está en la lista de candidatos, pero no revelar quién es;

3. ¿Cuál es la función de la "clave pública temporal"? Sólo para proteger la privacidad. Si sortea directamente de la colección de "claves públicas permanentes", cuando se anuncien los resultados del sorteo, todos sabrán directamente quién fue elegido y la seguridad se verá muy comprometida en este momento.

Si todos envían temporalmente una "clave pública temporal" única y luego seleccionan algunos ganadores del conjunto de "claves públicas temporales", como máximo solo sabrá que ha ganado, porque no sabe quién es el otro ganador temporal. Las claves públicas corresponden a .

4. Aún no ha terminado. La red Bool planea hacer esto: informarle directamente cuál es su "clave pública temporal". ¿Como hacer esto? Simplemente coloque el texto sin formato de la clave pública temporal en el TEE y cifrelo en "código confuso" antes de enviarlo.



También podemos generar una "clave pública temporal" en TEE. Dado que TEE puede mantener la confidencialidad de los datos y los cálculos, no tiene idea de lo que está sucediendo en TEE. Cuando se genera la "clave pública temporal", se cifrará en un "código confuso" y luego se enviará al exterior del TEE. En este momento, no tiene idea de cuál es el texto original de su "clave pública temporal". Solo se puede ver un texto cifrado cifrado (Cabe señalar que el ZKP mencionado en el segundo párrafo, que demuestra que la clave pública temporal está relacionada con una clave pública permanente, también está cifrado junto con la clave pública temporal).

5. El candidato debe enviar el texto cifrado de “clave pública temporal” confuso al nodo Retransmisor designado. Relayer es responsable de descifrar estos textos cifrados confusos y restaurar todos los textos originales de "clave pública temporal".

Hay un problema aquí, es decir, el Retransmisor sabe quién es el remitente de cada texto cifrado. Siempre que analice cada texto cifrado en una "clave pública temporal", naturalmente sabrá a qué persona corresponde cada "clave pública temporal". Por lo tanto, el trabajo anterior también debe realizarse en TEE. El texto cifrado de clave pública de cientos de personas ingresa a TEE y, una vez que sale, se convierte en el texto de clave pública original, como un mezclador de moneda, que puede proteger eficazmente la privacidad.

6. Después de que el Retransmisor obtiene las "claves públicas temporales" originales, las recopila y las envía a la función VRF en la cadena para seleccionar a los ganadores, es decir, selecciona varios ganadores de estas "claves públicas temporales", formando el próximo comité de testigos del puente de las cadenas cruzadas.

De esta manera, la lógica general es realmente clara: regularmente seleccionamos al azar algunas del conjunto de claves públicas temporales de testigos para que sirvan como testigos temporales para el puente entre cadenas. Este diseño se denomina DHC (Comité de ocultación dinámica).

Debido a que cada nodo ejecuta TEE, el fragmento de clave privada de MPC/TSS, el programa central ejecutado por el testigo, y todos los procesos de cálculo están ocultos en el entorno TEE, nadie sabe qué incluye el contenido de cálculo específico. no saber que ha sido seleccionado, lo que puede evitar fundamentalmente colusiones o ataques externos.



Ciclo de vida del mensaje entre cadenas de Bool Network
 
Después de presentar la idea general de que Bool oculta las identidades y claves de los testigos, analicemos el flujo de trabajo de Bool Network. Suponemos que la cadena de origen está a la izquierda y la cadena de destino a la derecha. El diagrama completo anterior constituye el ciclo de vida completo de los activos desde la cadena de origen hasta la cadena de destino. A partir de esto, analizamos los cuatro procesos de Bool Network. cadena cruzada desde la perspectiva del flujo de datos:



Primero, después de que el retirador inicia una acción de retiro en la cadena de origen, el Realyer envía el mensaje a la capa de mensajería; después de que el mensaje llega a la capa de mensajería, el comité dinámico verifica el mensaje para confirmar que existe y es válido; en la cadena de origen y luego Hacer una firma.

Alguien puede preguntar, ya que como se mencionó anteriormente, todos no saben si han sido elegidos para el comité de testigos, ¿cómo pueden entregar el mensaje a las personas designadas y lograr que firmen? De hecho, esto es fácil de resolver, ya que no sabemos quién es el testigo seleccionado, simplemente podemos transmitirlo a toda la red y pasar el mensaje pendiente entre cadenas a todos.

Mencionamos al principio que la clave pública temporal de todos se genera y encapsula en el TEE local, y la clave pública temporal no se puede ver fuera del TEE. Para verificar si su clave pública temporal está seleccionada, esta parte de la lógica se implementa directamente en TEE. Siempre que el mensaje entre cadenas a procesar se ingrese en TEE, el programa dentro de TEE determinará si el mensaje debe firmarse. y confirmado.



Después de firmar el mensaje entre cadenas en TEE, la firma digital no se puede enviar directamente, porque si envía la firma directamente al exterior, todos encontrarán que ha adjuntado una firma al mensaje entre cadenas y adivinarán que es uno. de los testigos seleccionados. Por lo tanto, si desea encontrar una manera de evitar que el mundo exterior sepa si ha firmado un mensaje entre cadenas, la mejor manera es cifrar la información de la firma en sí, que es similar a la idea de cifrar claves públicas temporales. mencionado anteriormente.

El resumen es: Bool Network se difundirá a través de P2P y entregará el mensaje entre cadenas para que lo firmen todos. El testigo seleccionado verificará y firmará el mensaje en el TEE, luego transmitirá el texto cifrado y otros lo recibirán. el texto cifrado se descifra, se coloca en el TEE para su descifrado y el proceso anterior se repite hasta que todos los testigos seleccionados hayan firmado. Finalmente, el retransmisor lo descifra en el formato original de la firma TSS, completando el mensaje entre cadenas. proceso de confirmación y firma.

El núcleo es que casi todas las actividades tienen lugar dentro del TEE y es imposible saber qué sucede desde fuera. Cada nodo no sabe quiénes son los testigos o si es el testigo seleccionado, lo que fundamentalmente previene la colusión y aumenta en gran medida el costo de los ataques externos.

Para atacar un puente entre cadenas basado en Bool Network, debe determinar quiénes son los testigos en el comité dinámico, pero simplemente no sabe quiénes son. En este caso, solo puede atacar a toda la Bool Network. Para infraestructuras de puentes entre cadenas como ZetaChain que se basan exclusivamente en POS y MPC, las identidades de todos los testigos están expuestas. Suponiendo que el umbral es 100/200, solo necesita atacar al menos la mitad de los nodos de la red.

Pero después de cambiar a Bool, debido a la protección de la privacidad, en teoría hay que atacar todos los nodos. Además, todos los nodos Bool ejecutan TEE y la dificultad del ataque aumentará nuevamente.

Además, Bool Network es esencialmente un puente testigo. El puente testigo solo necesita enviar una firma en la cadena de destino para completar el proceso de procesamiento entre cadenas al menor costo. Dado que no existe un diseño de cadena de relés redundante como Polkadot, que evita la redundancia de la verificación de segundo orden, la velocidad entre cadenas de Bool puede ser muy rápida. Este modelo de cadena cruzada satisface las necesidades tanto de la cadena cruzada de activos como de la cadena cruzada de mensajes, y tiene buena compatibilidad.

¿Cómo evalúa las ideas de diseño de productos de Bool?

Aquí planteamos dos puntos de vista. En primer lugar, los activos entre cadenas son un producto de ToC y, en segundo lugar, los puentes entre cadenas son más competitivos que la cooperación. A largo plazo, debido a que las barreras para los protocolos entre cadenas son altas y la demanda es relativamente homogénea, la concentración de fondos relacionados con los puentes entre cadenas será cada vez mayor. Esto se debe a que los protocolos entre cadenas tienen barreras de foso relativamente fuertes. incluidos los efectos de escala y los costos de cambio.

Como infraestructura dedicada de nivel inferior que el puente entre cadenas, Bool en realidad tiene una perspectiva comercial más amplia que el lado del proyecto del puente entre cadenas de nivel superior. Incluso puede asumir la función de un oráculo, y no se limita a la parte cruzada. La verificación de mensajes en cadena, en teoría, ha entrado en la pista del oráculo de cadena completa, realmente construyendo un oráculo descentralizado y brindando servicios informáticos privados.