Explicación: ¿Qué considerar al diseñar puentes entre cadenas?

PrincipianteJan 14, 2024
Este artículo explora algunos desarrollos en la tecnología de cadenas cruzadas.
Explicación: ¿Qué considerar al diseñar puentes entre cadenas?

Introducción

Desde el establecimiento de la industria blockchain, han surgido innumerables L1/L2 y casi todas las cadenas públicas han desarrollado su propio ecosistema DeFi. Algunas personas solo interactúan en cadenas públicas específicas, mientras que más personas esperan encontrar oportunidades de ganancias, como el comercio y la minería, en diferentes cadenas. Entre ellos, la transferencia de fondos entre cadenas se ha convertido en una necesidad indispensable.

Además de los usuarios comunes, muchas partes del proyecto también necesitan transferir fondos entre diferentes cadenas, guiar la liquidez en diferentes cadenas y lograr "un dinero para múltiples usos".

Sin embargo, las diferentes cadenas de bloques son sistemas de consenso aislados y no hay forma de que los fondos pasen directamente de una cadena a otra. La esencia de los fondos entre cadenas es que el puente entre cadenas actúa como una contraparte pública, recibe fondos de los usuarios en la cadena de origen y envía dinero a los usuarios en la cadena de destino. (Emitir activos asignados o liberar fondos para los usuarios del fondo de liquidez reservado por la cadena objetivo).

¿Cuál es la mejor manera de realizar fondos entre cadenas? Al principio, la gente todavía confiaba en los intercambios centralizados. Hubo un tiempo en que se decía: "Los intercambios centralizados son los mejores puentes entre cadenas". Sin embargo, la operación de "intercambio de participación-retirada" es muy engorrosa y la gente espera tener una cadena pura. De esta manera, los fondos se pueden encadenar de forma más directa.

Además, en comparación con los intercambios centralizados, los puentes entre cadenas pueden completar mensajes entre cadenas más generales, no solo limitados a transferencias de fondos. Por ejemplo, si utiliza una dApp de préstamos entre cadenas para proporcionar participación de la cadena A y prestar activos en la cadena B, debe utilizar mensajes entre cadenas.

Si examina el origen histórico de la cadena cruzada, se remonta a las primeras etapas del desarrollo de la tecnología blockchain. En ese momento, la aparición de diferentes cadenas públicas hizo que la gente se diera cuenta de que el problema de interoperabilidad entre cadenas debía resolverse, de lo contrario aparecerían muchas islas de información/fondos. Con el tiempo, la gente ha propuesto diferentes tipos de métodos de cadena cruzada, formando gradualmente el modelo general de cadena cruzada actual.

A continuación explicaremos algunos desarrollos en la tecnología de cadenas cruzadas.

1. Metodología

Encuentre contrapartes usted mismo, piénselo, ¿cuál es el método de cadena cruzada más intuitivo? Supongamos que tiene 100 USDT en la cadena A y desea transferirlos a la cadena B. Resulta que hay una persona que tiene 100 USDT en la cadena B y quiere transferir USDT a la cadena A. Ustedes dos vieron que esto era perfecto, así que os lleváis bien inmediatamente. Pero cuando transfirió USDT a la dirección de la otra parte en la cadena A, él se arrepintió y no transfirió su USDT en la cadena B a su dirección. Por lo tanto, este modelo de comercio P2P no es muy confiable. En primer lugar, la otra parte puede romper el contrato, provocando que usted sufra pérdidas sin garantía alguna; En segundo lugar, esta contraparte no es fácil de encontrar y es posible que tenga que esperar mucho tiempo para encontrar una que coincida exactamente con la cantidad que desea cruzar, pero la dirección de la cadena cruzada. Por el contrario, es posible que los usuarios ni siquiera puedan esperar. para tal contraparte por una eternidad.

2. Servicios notariales

2.1 Notario individual

Entonces pensamos que, dado que la otra parte puede incumplir el contrato, ¿puedo encontrar un tercero de confianza para realizar las transacciones? Primero le doy el dinero en la cadena de origen y luego él promete transferirme el dinero en la cadena de destino. Por ejemplo, esta persona tiene activos tanto en la cadena A como en la cadena B y luego garantiza que siempre que reciba 100 USDT de mí en la cadena A, me transferirá 100 USDT desde la cadena B.

Esto es mucho mejor que el primer intercambio de activos entre cadenas P2P, porque hay una contraparte pública confiable, que tiene una cosa mágica llamada "liquidez" en sus manos, y puedes comerciar con ella en cualquier momento.

En otras palabras, su transacción con él se convierte en una transacción "punto a grupo" en lugar de una transacción "punto a punto". Pero todavía te sientes incómodo. Si intercambias 100 USDT con él, está bien. ¿Qué pasa si quieres intercambiar 1 millón de USDT con él? Aunque tenía una reputación relativamente buena, tomó el dinero y se escapó.

Después de todo, este notario introduce una especie de centralización, que todavía no es el método de cadena cruzada Trustless que queremos.

2.2 Múltiples notarios (MultiSig)

¿Qué pasa si este notario no es una persona, sino un grupo de personas? Podemos establecer una cuenta coadministrada y varios firmantes administrarán la cuenta de forma conjunta. Tienen que firmar un mensaje. Sólo cuando el número de firmas alcance un umbral (normalmente 2/3) se transferirán los fondos.

En este caso, si un pequeño número de ellos (no más de 1/3) tienen una idea equivocada y quieren cobrarme dinero en la cadena de origen, pero no quieren enviarme dinero en la cadena de destino, o están desconectados, no importa. Otro notario honesto firmaría y transferiría el dinero que me corresponde.

Esta solución es más fiable, debilita el riesgo de centralización y es más segura. Por ejemplo, si en total hay 20 notarios acreditados, la probabilidad de que actúen mal al mismo tiempo sigue siendo muy baja. (Esto no incluye situaciones como Multichain donde 20 nodos son administrados por una sola persona, o situaciones como el puente de cadena cruzada de Axie donde los piratas informáticos robaron 2/3 de las claves de firma del notario).

2.3 Notario Público Múltiple (MPC)

Sin embargo, el método de gestión de cuentas con múltiples firmas también presenta muchos inconvenientes.

Las firmas múltiples hacen que las reglas de firma se expongan más fácilmente. Si se trata de un esquema de firma 5/7, el código de contrato inteligente de la billetera de firmas múltiples revelará cuántos firmantes hay, y los piratas informáticos pueden buscar a estos firmantes de manera específica y esperar oportunidades para robar la clave privada.

La firma múltiple requiere adaptación a diferentes cadenas públicas. Por ejemplo, algunas cadenas públicas no admiten contratos inteligentes, por lo que hay que utilizar las primitivas criptográficas especializadas de la cadena para implementar cuentas con múltiples firmas. Si esto no es compatible, su billetera multifirma no podrá funcionar.

El firmante de firmas múltiples no se puede cambiar una vez que se ha decidido el firmante. Por ejemplo, si desea cambiar el esquema de firma 5/7 al esquema 6/8, o si desea cambiar el firmante, debe volver a implementar el contrato de firmas múltiples y transferir los fondos al nuevo contrato de firmas múltiples. .

La primera solución de cadena cruzada para derivados de BTC, tBTC, utilizó el método de firma múltiple, que se eliminó porque era poco convincente y difícil de usar. La mayoría de los puentes entre cadenas actuales adoptan el método MPC más avanzado.

El nombre completo de Multi-Party Computation es Multi-Party-Computation (Multi-Party Secure Computation), que es una tecnología de fragmentación de claves privadas. Una cuenta de firmas múltiples administra una cuenta con múltiples claves privadas, mientras que una cuenta MPC administra una cuenta con una clave privada. La clave privada se divide en varios fragmentos. Varios firmantes tienen cada uno un fragmento de clave privada. Cuando el número de firmantes es Solo se puede sintetizar una firma completa cuando se alcanza el umbral y la clave privada completa no quedará expuesta durante el proceso de firma. Las cuentas MPC tienen las siguientes ventajas: son más confidenciales que las billeteras multifirma ordinarias . Cuando se requiere una firma, por ejemplo, se utilizan 5/7 fragmentos de clave privada para firmar cada uno y se fusionan varias subfirmas para formar una firma legal final. De esta forma, lo que ves en la cadena es una firma única y ordinaria. No se puede saber si proviene de la cuenta MPC, y mucho menos quién es el firmante detrás de ella, ni la cantidad de fragmentos de clave privada y las reglas de firma específicas. Puede adaptarse mejor a la mayoría de las cadenas públicas que las billeteras de firmas múltiples. MPC es una tecnología de firma y no tiene nada que ver con la cadena. Una cuenta MPC es una cuenta ordinaria. Independientemente de si una cadena pública admite contratos inteligentes, se puede construir una cuenta coadministrada a través de la tecnología MPC. El mecanismo de firma de reemplazo de MPC es más flexible. Puede admitir ajustes de reglas de firma más flexibles, como cambiar la cantidad de fragmentos de clave privada y umbrales de firma en cualquier momento, y también puede cambiar el firmante en cualquier momento. Sólo necesitas volver a compartir la clave privada.

3. Otras medidas de seguridad

3.1 Separación de frío y calor.

Después de que la cuenta de custodia del notario recibió mis 100 USDT en la cadena A, transfirió 100 USDT a mi dirección en la cadena B. ¿Cuál debería ser el proceso desencadenante de este comportamiento?

Supongamos que cada miembro notario tiene una máquina que monitorea las transacciones en la cadena A. Cuando descubrieron que transfirí 100 USDT a la cuenta de custodia del puente entre cadenas, esta transacción indicó que esperaba ser nombrado en la cadena B. Reciba estos USDT por dirección del usuario2.

En este momento, los notarios firmaron y transfirieron conjuntamente 100 USDT en la cuenta puente entre cadenas en la cadena B al usuario. Este proceso debe escribirse en código y ejecutarse automáticamente; de lo contrario, el notario tendría que estar en línea en tiempo real y operar inmediatamente después de recibir la solicitud, lo cual es demasiado poco realista.

Este programa automatizado contendrá varias partes.

  1. Programa de monitoreo: Responsable de monitorear las transacciones en la cadena de origen. Para filtrar transacciones irrelevantes o transacciones no válidas, este paso puede realizar alguna verificación de formato básica;

  2. Procedimiento de verificación: esto incluirá el cliente de nodo ligero (que también puede ser un nodo completo) de la cadena de bloques compatible, responsable de verificar que una transacción en la cadena de origen que interactúa con el contrato de puente entre cadenas se empaqueta en un bloque y se coloca. en la cadena. ;

  3. Procedimiento de firma: Responsable de firmar e iniciar transacciones de transferencia a los usuarios de la cadena de destino.

Pero la automatización también trae un problema: los programas automatizados pueden ser atacados y manipulados por piratas informáticos. Por ello, para controlar los riesgos, los puentes entre cadenas tomarán medidas para separar el frío y el calor. El programa automatizado controla la tecla de acceso rápido y el monto de la transferencia es limitado. Para transferencias grandes, el notario deberá utilizar la clave fría para firmar manualmente. Las reglas para la separación de frío y calor se pueden implementar en la cuenta MPC.

3.2 Aislamiento de riesgos

Si hay un error, ¿no le gustaría solucionarlo todo en un solo incidente? Por lo tanto, es necesario aislar el fondo de capital y utilizar múltiples cuentas de custodia para gestionar los fondos de liquidez. Por ejemplo, según el aislamiento entre diferentes cadenas públicas, A y B, B y C, y C y D son todos fondos de capital independientes.

3.3 TEE

Los programas automatizados de monitoreo y firma ejecutados por el notario se pueden ejecutar en dispositivos TEE, lo que puede aumentar en gran medida la dificultad de los ataques de piratas informáticos. TEE significa Trusted Execute Environment, que es un entorno informático que se ejecuta en un dispositivo determinado que está aislado del principal. sistema operativo, como un enclave.

Este aislamiento se aplica mediante hardware con una seguridad extremadamente alta, por lo que los TEE pueden ejecutar aplicaciones con requisitos de alta seguridad, como gestión de claves de cifrado, autenticación biométrica, procesamiento de pagos seguro, etc.

3.4 PoA va a la izquierda, PoS va a la derecha

Para hacer más seguros los puentes entre cadenas, existen dos direcciones en la selección de notarios:

Una es elegir en la medida de lo posible grandes empresas e instituciones reconocidas y con buena reputación. Para estas instituciones, el costo de hacer el mal es extremadamente alto y pueden perder años de buena voluntad. Además, trate de mantenerlos lo más diversos geográficamente posible (evitando la concentración en la misma jurisdicción).

Por ejemplo, el proyecto del puente entre cadenas Wormhole ha elegido este modelo. Sus 19 nodos están respaldados por grandes instituciones reconocidas con grandes tamaños y fondos sólidos. Este es el método PoA.

Otra forma es admitir a notarios sin permiso pero exigirles que apuesten. Si se portan mal, sus fondos apostados se verán recortados. Así es como funciona PoS. Esto es lo que usa ZetaChain.

Es difícil sacar directamente una conclusión arbitraria sobre cuál de los dos métodos es mejor y cuál es peor. Depende de qué tan bien les vaya a las partes del proyecto del puente entre cadenas en sus respectivas direcciones.

Ya sea PoA o PoS, puede convertir el puente entre cadenas directamente en una cadena pública. Cada nodo ejecuta el mismo programa y todas las solicitudes y procesos de procesamiento entre cadenas se registrarán en esta cadena. La propia cadena también puede albergar aplicaciones, convirtiéndose así en un centro ecológico.

3.5 Observador

Otra forma de mejorar la seguridad es establecer un papel de observador. Esta función es responsable de monitorear el comportamiento entre cadenas y, si se descubren problemas, informar sobre las transacciones en cadena y abortadas. Dado que los observadores necesitan un período de ventana para reaccionar, el tiempo de llegada de las transferencias entre cadenas puede retrasarse. Por lo tanto, los observadores solo intervendrán si los usuarios aceptan retrasos en las transferencias para transacciones de gran valor u operaciones sensibles entre cadenas.

Otras soluciones entre cadenasBloqueo HashVolvamos al primer método mencionado en este artículo: P2P que busca contrapartes para el intercambio de activos entre cadenas. Si tenemos miedo de que la contraparte incumpla el préstamo, podemos establecer un mecanismo. Una vez que alguien incumple, la otra parte puede recuperar el dinero y devolverlo intacto. Este es el bloqueo hash, que utiliza inteligentemente bloqueos hash y bloqueos de tiempo. Obliga al destinatario de los fondos a confirmar el pago antes de la fecha límite y generar un comprobante de recibo en la cadena de origen. Con este comprobante de recibo, el pagador podrá obtener los activos equivalentes del destinatario en la cadena de destino. De lo contrario, ambas partes se devolverán. Todos los fondos se devolverán por la ruta original.

Sin embargo, este método solo puede intercambiar fondos y no puede completar la transferencia general de información entre cadenas. Incluso desde la perspectiva de la transferencia de fondos entre cadenas, la experiencia del usuario de los bloqueos de tiempo de hash es muy mala: si la fluctuación de los precios de las divisas es desfavorable para la contraparte (proveedor de liquidez), racionalmente puede optar por no completar la transacción; para completar Para un intercambio entre cadenas, tanto el usuario como la contraparte deben firmar dos veces. por lo tanto, como solución entre cadenas, se han eliminado los bloqueos de tiempo de hash. Los primeros puentes entre cadenas (como cBridge y Connext) que utilizaban esta solución han cambiado sus formas. Cliente ligero en cadenaEste método consiste en implementar directamente el contrato de cliente ligero de la cadena de origen en la cadena de destino. Si implementa un contrato en una cadena, todos los nodos de la cadena ejecutarán el código de contrato que implementó.

Por lo tanto, la solución de cliente ligero en cadena permite que la cadena de destino verifique directamente las transacciones de la cadena de origen. Este método es extremadamente seguro pero también el más caro. El costo se refleja en los siguientes aspectos: El contrato de cliente ligero de la cadena de destino necesita recibir y verificar el nuevo encabezado de bloque de la cadena de origen en tiempo real. Este proceso consume mucho gas. Incluso si se utiliza ZK para lograr una prueba concisa, el consumo de gas para verificar una prueba ZK no será inferior a 400.000 gas (EVM por ejemplo). En el esquema MPC, todo lo que se requiere para verificar en la cadena es una firma. , y el consumo de gasolina es sólo de poco más de 20.000, ¡una diferencia de 20 veces! ¿Usarías un puente más seguro pero 20 veces más caro?

La cantidad de trabajo necesaria para desarrollar contratos ligeros con clientes es enorme. Para que el puente entre cadenas sea compatible con cadenas más heterogéneas, es necesario implementar los contratos de clientes ligeros de otras cadenas en entornos de desarrollo completamente diferentes de diferentes cadenas, lo cual es un desafío infernal para los desarrolladores. Esto conduce a una mayor probabilidad de errores en la redacción del contrato, es decir, la seguridad de un puente de cliente ligero es solo en el nivel teórico, pero en términos de la práctica de ingeniería, es muy inseguro. Para reducir la cantidad de trabajo de desarrollo, una solución factible es introducir una cadena de retransmisión y permitir que todas las cadenas establezcan contratos ligeros de clientes con esta cadena de retransmisión. De hecho, esto puede reducir la carga de trabajo de C (n, 2) an, pero aún no demasiado pequeña. La transferencia directa original entre cadenas de la cadena de origen a la cadena de destino se ha convertido en una transferencia de segundo orden de la cadena de origen → cadena de retransmisión → cadena de destino, lo que provocará un consumo adicional de gas y tiempo.

Por lo tanto, la solución técnica del cliente ligero actualmente no se puede utilizar para construir un puente entre cadenas más universal.

Fin del juego

En primer lugar, las diferentes cadenas públicas tienen diferentes enfoques y diferentes recursos para respaldarlas. Mientras no admitan la derrota, el ecosistema existirá. Incluso si el desarrollo no es muy bueno a corto plazo, es posible que algún día se actualice y vuelva a la vida. Lo que pasa con una infraestructura subyacente como ésta es ver quién puede persistir más tiempo y quién puede adaptarse rápidamente al mercado.

Bitcoin y Ethereum no pueden resolver todos los escenarios de aplicación, o en un determinado segmento, siempre hay personas a las que no les gusta el primer lugar, por lo que crean una nueva rueda, por lo que el futuro será multicadena. En el futuro, la capa inferior ya no será una cadena, por lo que el futuro debe ser multiecológico. ¡Cómo transferir fondos y mensajes entre múltiples ecologías requiere tecnología entre cadenas y ecologías cruzadas!

¿Qué es lo que más preocupa a los usuarios cuando se trata de cadenas cruzadas? Nada más que los siguientes puntos:

Velocidad: ¿Cuánto tiempo se tarda en completar una operación entre cadenas?

Tarifa: ¿Cuánto debo pagar por una operación entre cadenas?

Seguridad: ¿Es seguro el puente entre cadenas y se perderán fondos?

Liquidez: ¿Existe suficiente liquidez para respaldar mi operación y un impacto de precio aceptable?

Alcance de la conexión: ¿Cuántas cadenas admite? ¿Admiten las cadenas que necesito usar en operaciones entre cadenas?

Experiencia: ¿Es conveniente la operación entre cadenas, por ejemplo, si admite el pago de gas, si la estimación de costos es precisa, si admite la consulta de progreso y la visualización del navegador, si ocurren fallas con frecuencia, cómo manejar las fallas, etc.?

Primero echemos un vistazo a las características de algunos proyectos desde tres perspectivas relativamente claras: seguridad, costo y rango de conexión.


Haga clic en el enlace para ver la tabla clara (la tabla se actualiza constantemente):

https://docs.google.com/spreadsheets/d/1LKlbd5KJUnQIx3ZBTgyMADhxHtWVwBH9qDRm765tPMw/

Para explicar completamente el puente entre cadenas, hay muchos detalles dimensionales que deben discutirse, como todas las dimensiones y el análisis de datos en la tabla anterior. Entonces, ¿qué factores te importan al cruzar cadenas? ¿Qué puentes de cadenas cruzadas utilizas a menudo? ¿En qué aspectos cree que deberían centrarse los puentes entre cadenas para su optimización? Si tiene sus ideas, no dude en comunicarse con el autor.

Descargo de responsabilidad:

  1. Este artículo se reimprime de [极客Web3]. Todos los derechos de autor pertenecen al autor original [0xKooKoo]. Si hay objeciones a esta reimpresión, comuníquese con el equipo de Gate Learn y ellos lo manejarán de inmediato.
  2. Descargo de responsabilidad: los puntos de vista y opiniones expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas están a cargo del equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!
Создайте аккаунт