Divulgación vernácula: ¿Qué se debe tener en cuenta al diseñar un puente entre cadenas?

Autor: 0xKooKoo, consultor técnico de Geek Web3 y Moledao, ex líder técnico de Bybit

**Gracias a 0xmiddle por su ayuda en la redacción de este artículo. **

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 quieren encontrar oportunidades de ingresos, como el comercio y la minería en diferentes cadenas. Entre ellas, la transferencia de fondos entre cadenas se ha convertido en una necesidad rígida indispensable.

Además de los usuarios ordinarios, muchas partes del proyecto también tienen la necesidad de transferir fondos entre diferentes cadenas, guiar la liquidez en diferentes cadenas y lograr “un dinero para múltiples propósitos”.

Pero las diferentes cadenas de bloques son sistemas de consenso aislados, y no hay forma de que los fondos crucen 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 para recibir los fondos de los usuarios en la cadena de origen y enviar dinero a los usuarios en la cadena de destino (emitiendo activos mapeados o liberando fondos para los usuarios del fondo de liquidez de la cadena objetivo).

Al principio, la gente todavía confiaba en los exchanges centralizados, y había un dicho que decía que “los exchanges centralizados son los mejores puentes entre cadenas”. Sin embargo, la operación de “cobrar-intercambiar-retirar” es muy engorrosa, y la gente espera que haya un método on-chain puro para completar la cadena cruzada de fondos de forma más directa.

Además, en comparación con los exchanges centralizados, los puentes entre cadenas pueden completar mensajes más generales entre cadenas, no solo limitados a la transferencia de fondos. Por ejemplo, si utilizas una dApp de préstamos entre cadenas que proporciona garantías de la cadena A y presta activos en la cadena B, tendrás que utilizar la mensajería entre cadenas.

Si nos fijamos en los orígenes históricos de la cadena cruzada, podemos remontarnos 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 había que resolver el problema de interoperabilidad entre cadenas, de lo contrario habría muchos silos de información/capital. Con el tiempo, se han propuesto diferentes tipos de enfoques de cadena cruzada, formando gradualmente el patrón universal de cadena cruzada de hoy.

Echemos un vistazo a algunos de los desarrollos en la tecnología de cadena cruzada.

Metodología****

1. Encuentre su propia contraparte

Pensemos en ello, ¿cuál es la forma más intuitiva de hacer cross-chain? Supongamos que tienes 100 USDT en la cadena A y quieres 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. Los dos vieron que esto no estaba bien, así que se llevaron bien.

Pero cuando transfieres USDT a la dirección de la otra parte en la Cadena A, él se arrepiente y no transfiere sus USDT a tu dirección en la Cadena B.

Por lo tanto, este modelo de transacción P2P no es muy confiable, en primer lugar, la otra parte puede romper el contrato, por lo que usted sufre pérdidas, sin ninguna protección, y en segundo lugar, esta contraparte no es fácil de encontrar, es posible que tenga que esperar mucho tiempo para conocer a un usuario que coincida con la cantidad que desea salir, pero la dirección de la cadena cruzada es opuesta, y es posible que ni siquiera espere mucho tiempo para esperar dicha contraparte.

2. Esquemas notariales

2.1 Testigo notario único

Así que pensamos, dado que la otra parte puede incumplir, ¿puedo encontrar un tercero de confianza para operar?**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 mientras reciba mis 100 USDT en la Cadena A, definitivamente transferirá 100 USDT desde la Cadena B.

Esto es mucho mejor que el primer tipo de intercambio de activos P2P entre cadenas, porque hay una contraparte pública de confianza que tiene una cosa mágica en sus manos llamada “liquidez” con la que puedes operar en cualquier momento.

En otras palabras, su transacción con él se convierte en una transacción “peer-to-pool”, en lugar de una transacción “peer-to-peer”. Pero aún no te sientes seguro, si intercambias 100 USDT con él, está bien, ¿qué pasa si quieres intercambiar 1 millón de USDT con él?

A fin de cuentas, este notario ha introducido una especie de centralización, que todavía no es el método de cadena cruzada sin confianza que queremos.

2.2 Múltiples notarios (MultiSig)

¿Y si el notario no es una sola persona, sino un grupo de personas? Podemos configurar una cuenta de condominio, donde varios firmantes administran conjuntamente la cuenta, y tienen que firmar un mensaje, y el número de firmas alcanza un umbral (generalmente 2/3) antes de que se transfieran los fondos.

En este caso, si algunos de ellos (no más de 1/3) tienen una mente torcida y quieren cobrar mi dinero en la cadena de origen, pero no quieren enviarme dinero en la cadena de destino, o si se desconectan, no importa, otros notarios honestos seguirán firmando y transfiriendo el dinero que se me debe dar.

**Este esquema es más confiable, debilita el riesgo de centralización y es más seguro. Por ejemplo, hay un total de 20 notarios de renombre, y la probabilidad de que tengan mentes torcidas al mismo tiempo sigue siendo muy baja. (Esto no incluye los 20 nodos de Multichain realmente administrados por una persona, o los piratas informáticos que roban 2/3 de las claves de firma del notario, como el puente Axie). )

2.3 Notario Público Múltiple (MPC)

Sin embargo, también hay muchos inconvenientes en el método de administración de cuentas de la firma múltiple.

Multisig hace que las reglas de firma sean más fáciles de exponer. ** Si se trata de un esquema de firma 5/7, el código de contrato inteligente de la billetera multifirma expondrá cuántos firmantes hay, y los piratas informáticos pueden encontrar a estos firmantes de manera específica y esperar la oportunidad de robar la clave privada.

**Multisig debe adaptarse a las diferentes cadenas públicas. Por ejemplo, algunas cadenas públicas no admiten contratos inteligentes, debe usar las primitivas criptográficas especiales de la cadena para implementar cuentas multifirma, si esto no es compatible, su billetera multifirma no podrá hacerlo.

La firma múltiple no se puede cambiar si el firmante está establecido. Por ejemplo, si desea cambiar a un esquema de firma de 6/8, o si desea cambiar el firmante, debe volver a implementar el contrato de firma múltiple y también debe transferir los fondos al nuevo contrato de firma múltiple.

El esquema de cadena cruzada del primer derivado de BTC tBTC utiliza un método de firma múltiple, que se ha eliminado porque es muy aburrido y difícil de usar. ** La mayoría de los puentes de cadena cruzada actuales adoptan un enfoque MPC más avanzado. **

MPC son las siglas de Multi-Party-Computation, que es una tecnología de fragmentación de claves privadas. La cuenta de firma múltiple es una cuenta administrada por varias claves privadas, mientras que la cuenta MPC se administra mediante una clave privada para administrar una cuenta, la clave privada se divide en varios fragmentos y cada uno de los firmantes tiene un fragmento de clave privada, y se puede sintetizar una firma completa cuando el número de firmantes alcanza el umbral, y la clave privada completa no se expondrá durante el proceso de firma.

La cuenta MPC tiene las siguientes ventajas:**

**Más confidencialidad que los monederos multifirma normales. ** Cuando se requiere una firma, por ejemplo, se utilizan fragmentos de clave privada 5/7 para firmar entre sí, y varias subfirmas se fusionan en una sola pieza para formar una firma legal final. De esta manera, lo que se ve en la cadena es una firma única y ordinaria, y no se puede saber si es de una cuenta MPC, y mucho menos quién es el firmante detrás de ella, y no se puede saber el número de fragmentos de clave privada y las reglas de firma específicas.

** Se puede adaptar mejor a la mayoría de las cadenas públicas que las billeteras multifirma. MPC es una tecnología distintiva y es independiente de la cadena. Una cuenta MPC es en realidad una cuenta ordinaria, independientemente de si una cadena pública admite contratos inteligentes o no, puede crear una cuenta de condominio a través de la tecnología MPC.

**MPC es más flexible a la hora de cambiar firmas. ** Puede admitir un ajuste más flexible de las reglas de firma, como cambiar el número de fragmentos de clave privada y el umbral de firma en cualquier momento, y cambiar el firmante en cualquier momento, solo es necesario volver a compartir la clave privada.

3. Otras medidas de seguridad

3.1 Separación en frío y caliente

**Después de que la cuenta de depósito en garantía del notario recibiera mis 100 USDT en la Cadena A, transfirió 100 USDT a mi dirección en la Cadena B, ¿cómo desencadenar este comportamiento?

Digamos que cada notario tiene una máquina que escucha las transacciones en la cadena A, y cuando se enteran de que transferí 100 USDT a una cuenta de depósito en garantía de puente entre cadenas, y la transacción indica que quiero recibir estos USDT en una dirección llamada usuario2 en la cadena B.

En este momento, los notarios firmaron colectivamente y transfirieron 100 USDT de la cuenta puente entre cadenas en la Cadena B al usuario 2. Este proceso debe estar escrito en código y automatizado, de lo contrario, el notario tendrá que estar en línea en tiempo real y la solicitud tendrá que operarse de inmediato, lo cual es demasiado poco realista.

Habrá varias partes en este programa automatizado

  1. Oyente: Responsable de monitorear las transacciones en la cadena de origen, para filtrar transacciones irrelevantes o transacciones no válidas, este paso puede hacer una verificación de formato básica;

  2. Procedimiento de verificación: Esto incluirá el cliente de nodo ligero (o nodo completo) de la cadena de bloques compatible, que es responsable de verificar que una transacción en la cadena de origen que tiene una relación interactiva con el contrato de puente entre cadenas realmente se ha empaquetado en un bloque y se ha colocado en la cadena;

  3. Programa de firma: Responsable de firmar e iniciar la transacción de transferencia al usuario en la cadena de destino.

Pero la automatización también trae consigo el problema de que este programa automatizado puede ser hackeado y manipulado. Por lo tanto, con el fin de controlar el riesgo, el puente entre cadenas tomará medidas para separar el calor del frío. ** El programa automatizado controla la tecla de acceso rápido, el monto de la transferencia es limitado y, en el caso de una transferencia grande, el notario debe firmar manualmente con la tecla de acceso rápido. Las reglas para la separación en caliente y en frío se pueden implementar en la cuenta MPC.

3.2 Aislamiento de riesgos

Por lo tanto, es necesario hacer un buen trabajo de aislamiento del fondo de capital y utilizar múltiples cuentas de custodia para gestionar los fondos de liquidez, como aislar de acuerdo con diferentes cadenas públicas, como A y B, B y C, C y D son todos fondos de capital independientes.

3.3 TEE

** Los procedimientos automatizados de escucha y firma ejecutados por el notario se pueden ejecutar en el dispositivo TEE, lo que puede aumentar en gran medida la dificultad de los ataques de piratería. **TEE son las siglas de Trusted Execution Environment, que es un entorno informático que se ejecuta en un dispositivo determinado que está aislado del sistema operativo principal, como un enclave.

Este aislamiento se aplica por hardware con una seguridad extremadamente alta, por lo que los TEE pueden ejecutar aplicaciones con altos requisitos de seguridad, como la gestión de claves criptográficas, la autenticación biométrica, el procesamiento seguro de pagos y mucho más.

3.4 PoA a la izquierda, PoS a la derecha

Con el fin de hacer que los puentes entre cadenas sean más seguros, hay dos direcciones en la selección de notarios:

**Una es elegir una gran empresa o institución conocida con una buena reputación tanto como sea posible. Para estas organizaciones, el costo de hacer el mal es extremadamente alto, y puede costar años de buena voluntad. Además, trate de hacerlos lo suficientemente diversos geográficamente (evite que se concentren en la misma jurisdicción).

Por ejemplo, el proyecto de puente entre cadenas Wormhole ha elegido un modelo de este tipo, y sus 19 nodos son instituciones conocidas con un gran volumen y fondos sólidos, que es el camino de PoA.

La otra forma es que los notarios sin permiso admitan, pero están obligados a hacer una promesa, y si se comportan mal, sus fondos comprometidos serán recortados. Así es como funciona PoS. De eso se trata ZetaChain.

No es bueno sacar conclusiones directas y arbitrarias sobre quién es superior y quién es inferior en los dos sentidos. Depende de lo bien que lo estén haciendo las partes del proyecto de puente entre cadenas en sus respectivas direcciones.

Ya sea PoA o PoS, puede hacer un puente entre cadenas directamente en una cadena pública, donde 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 rol de observador. Este rol es responsable de supervisar el comportamiento entre cadenas y puede informar y abortar transacciones en la cadena si se encuentran problemas. Dado que el observador necesita una ventana para reaccionar, el tiempo de llegada de la transferencia entre cadenas puede retrasarse, por lo que el observador solo intervendrá si el usuario acepta el retraso en la transferencia para una transacción grande o una operación sensible entre cadenas.

Otras soluciones de cadena cruzada****

Bloqueo de hash

Volvamos al primer método mencionado en este artículo: P2P para encontrar una contraparte para los intercambios de activos entre cadenas. Si tenemos miedo de que la otra parte incumpla con la deuda, entonces podemos establecer un mecanismo, una vez que alguien se arrepienta, la otra parte puede recuperar el dinero y devolvérselo a Zhao.

Esto es el bloqueo de hash, que utiliza inteligentemente bloqueos de hash y bloqueos de tiempo para obligar al destinatario de los fondos a determinar el recibo antes de la fecha límite y generar un certificado de recibo en la cadena de origen, y el pagador debe obtener los activos equivalentes del destinatario en la cadena de destino con esta prueba de recibo, de lo contrario, los fondos de ambas partes se devolverán a la forma original.

Sin embargo, este método solo puede intercambiar fondos y no puede completar la transferencia general de información entre cadenas. E incluso desde la perspectiva de la transferencia de fondos entre cadenas, la experiencia del usuario del bloqueo de tiempo de hash es muy mala:

Si la fluctuación del precio de la divisa es desfavorable para la contraparte (proveedor de liquidez), puede optar racionalmente por no ejecutar;

Para completar un intercambio entre cadenas, tanto el usuario como la contraparte deben realizar dos firmas.

Como resultado, los bloqueos de tiempo de hash, como solución entre cadenas, se han eliminado en gran medida. ** Los primeros puentes de cadena cruzada que utilizaron esta solución (por ejemplo, cBridge, Connext) han cambiado de rumbo.

Cliente ligero en cadena

Este método consiste en implementar el contrato de cliente ligero de la cadena de origen directamente en la cadena de destino. Si implementa un contrato en una cadena, todos los nodos de esa cadena ejecutarán el código de contrato que implementó. Por lo tanto, la solución de cliente ligero en cadena es en realidad permitir que la cadena objetivo verifique directamente la transacción de la cadena de origen.

Este método es extremadamente seguro, pero también es el más caro. Costoso de las siguientes maneras:**

El contrato de cliente ligero de la cadena objetivo necesita recibir y verificar el nuevo encabezado de bloque de la cadena de origen en tiempo real, este proceso es muy intensivo en gas, incluso si se usa ZK para lograr pruebas concisas, el consumo de gas de verificar una prueba ZK no será inferior a 400,000 gases (EVM, por ejemplo), y en el esquema MPC, la cadena solo necesita verificar una firma, y el consumo de gas es solo más de 20,000, ¡que es 20 veces peor!Un puente más seguro, pero 20 veces más caro, ¿lo usará?

La cantidad de trabajo que implica el desarrollo de contratos de clientes ligeros es enorme, y para que los puentes entre cadenas sean compatibles con cadenas más heterogéneas, es necesario implementar contratos de clientes ligeros para cada una de las dos cadenas en entornos de desarrollo completamente diferentes en diferentes cadenas, lo cual es un desafío infernal para los desarrolladores. Esto conduce a una mayor probabilidad de errores en la redacción de contratos, es decir, la seguridad del puente de cliente ligero es solo a nivel teórico, y es muy inseguro en términos de práctica de ingeniería. **

Con el fin de reducir la cantidad de trabajo de desarrollo, una solución factible es introducir una cadena de retransmisión, de modo que todas las cadenas y esta cadena de retransmisión puedan establecer contratos de clientes ligeros entre sí, lo que de hecho puede reducir la carga de trabajo de C(n,2) a n, pero aún no es demasiado pequeña. Lo que originalmente era una transferencia directa entre cadenas de la cadena de origen a la cadena de destino también se ha convertido en una transmisión de segundo orden entre la cadena de origen → la cadena de relés → la cadena de destino, lo que generará un consumo adicional de gas y tiempo.

Por lo tanto, las soluciones técnicas de los clientes ligeros, en la actualidad, no se pueden utilizar para construir puentes entre cadenas más universales.

Fin del juego****

En primer lugar, las diferentes cadenas públicas tienen diferentes prácticas y hay diferentes recursos detrás de ellas, mientras no admitan la derrota, la ecología definitivamente existirá, incluso si el desarrollo no es muy bueno a corto plazo, tal vez algún día vuelvan a la vida después de hacer una actualización. Lo que pasa con este tipo de infraestructura subyacente es ver quién dura mucho tiempo y quién se adapta rápidamente al mercado. **

Bitcoin y Ethereum no pueden resolver todos los escenarios de aplicación, o en una determinada subdivisión, siempre hay personas a las que no les gusta el primer lugar, por lo que crean una nueva rueda, por lo que el futuro definitivamente será multicadena. O en el futuro, la capa inferior no será una cadena, entonces el futuro debe ser multiecológico, cómo transmitir fondos e información entre múltiples ecosistemas, ¡debe haber tecnología de cadena cruzada / ecológica cruzada!

¿A qué prestan más atención los usuarios en materia de cross-chain?

Velocidad: Cuánto tiempo tarda en completarse una operación de cadena cruzada

Tarifas: Cuánto debo pagar por una operación de cadena cruzada

Seguridad: Si el puente entre cadenas es seguro y si no se perderán fondos

Liquidez: ¿Hay suficiente liquidez para respaldar mis operaciones y un impacto aceptable en el precio?

Rango de conexión: ¿Cuántas cadenas admiten y si admiten las cadenas que necesito para mi operación de cadena cruzada?

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

**Primero vamos a dar una visión general de las características de algunos proyectos desde tres perspectivas claras: seguridad, coste y rango de conexión. **

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

Para explicar completamente el puente entre cadenas, en realidad hay muchas dimensiones que deben discutirse, como todas las dimensiones y el análisis de datos en la tabla anterior. Entonces, ¿qué elementos te importan cuando haces cross-chaining?¿Cuáles son los puentes cross-chain que utilizas a menudo?¿En qué crees que deberían centrarse los puentes cross-chain?Si tienes tus ideas, bienvenido a comunicarte con los autores.

Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • Comentar
  • Republicar
  • Compartir
Comentar
0/400
Sin comentarios
  • Gate Fun en tendencia

    Ver más
  • Cap.M.:$3.58KHolders:2
    0.14%
  • Cap.M.:$3.52KHolders:1
    0.00%
  • Cap.M.:$3.52KHolders:1
    0.00%
  • Cap.M.:$3.52KHolders:1
    0.00%
  • Cap.M.:$3.51KHolders:1
    0.00%
  • Anclado

Opera con criptomonedas en cualquier momento y lugar
qrCode
Escanea para descargar la aplicación de Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)