Una tecnología fundamental de la interoperabilidad de la blockchain es el puente (bridge) de la blockchain. Los puentes de blockchain son formas de comunicación entre dos cadenas económicamente soberanas y tecnológicamente diversas. Los diseños de los puentes vienen en una gama de opciones que van desde los centralizados y de confianza hasta los más descentralizados y sin confianza. Polkadot favorece estos últimos diseños de puentes para su ecosistema. Sin embargo, no hay nada que impida a un equipo de desarrollo construir y desplegar los primeros.
Aunque los diseños de puentes están llegando a un punto en el que están suficientemente planificados, no se han utilizado demasiado en producción. Por ello, puedes considerar esta página como un trabajo en curso. Se actualizará a medida que se determine y esté disponible más información.
- Los puentes son específicamente para hacer que el ecosistema Polkadot sea compatible con blockchains externas como Bitcoin, Ethereum, o Tezos (entre otros). Para obtener información sobre XCM, la tecnología nativa de interoperabilidad que permite a las parachains comunicarse de forma fiable, por favor, consulte la página dedicada al consenso cruzado en la Wiki.
Métodos de Puente #
La construcción de un puente lo más descentralizado y sin confianza posible puede hacerse a través de cualquiera de los siguientes métodos (ordenados por metodología sugerida):
- Paletas puente – Para las cadenas nativas de Substrate, usa una paleta puente (por ejemplo, Kusama
\<\>
Polkadot bridge, ya que las parachains de ambas redes utilizan Substrate). - Contratos inteligentes – Si la cadena no está en Substrate, deberías tener contratos inteligentes en la cadena no-Substrate para hacer el puente (por ejemplo, la mainnet de Ethereum tendrá un contrato inteligente puente que inicia las transacciones Eth basadas en los mensajes XCMP entrantes).
- Protocolos de orden superior – Si tu cadena no admite contratos inteligentes (por ejemplo, Bitcoin), deberías utilizar XClaim o protocolos similares para hacer el puente.
a través de Paletas Puente #
Recibir mensajes en Polkadot desde una blockchain externa, no parachain, puede ser posible a través de una paleta Substrate. La instancia de Substrate puede entonces desplegarse en Polkadot, ya sea como una parachain a nivel de sistema (extensión nativa del núcleo del software Polkadot) o como una parachain operada por la comunidad.
Un ejemplo de un puente que utilizaría estrictamente paletas puente sería un puente Kusama \<\>
Polkadot, ya que ambos utilizan parachains basadas en Substrate.
Para las cadenas independientes que no tendrán un módulo de puente de parachain en Polkadot (no-Substrate), será necesario desplegar contratos puente (ver más abajo).
a través de Smart Contracts #
Dada la generalidad de las plataformas de blockchain con lenguajes de contratos inteligentes completos de Turing, es posible hacer un puente entre Polkadot y cualquier otra blockchain capaz de realizar contratos inteligentes.
Aquellos que ya están familiarizados con Ethereum pueden conocer el ahora archivado Parity Bridge y los esfuerzos que se están haciendo para conectar las sidechains de PoA a la mainnet de Ethereum. El puente de Parity es una combinación de dos contratos inteligentes, uno desplegado en cada cadena, que permite las transferencias de valor entre cadenas. Como ejemplo de uso, la prueba de concepto inicial de Parity Bridge conecta dos cadenas de Ethereum, main
y side
. El ether depositado en el contrato en main
genera un saldo denominado en tokens ERC-20 en side
. A la inversa, los tokens ERC-20 depositados en el contrato en side
pueden liberar Ether en main
.
- Para saber más sobre cómo Bitcoin y Ethereum pueden Cooperar y Colaborar a través de Polkadot, consulta este video explicativo aquí
a través de Protocolos de Orden Superior #
Los protocolos de orden superior (como XCLAIM) pueden usarse para hacer de puente, pero sólo deberían usarse cuando no hay otras opciones disponibles. XCLAIM, en particular, requiere que cualquier activo intercambiable esté respaldado por una garantía (collateral) de mayor valor que los activos intercambiables, lo que añade una sobrecarga adicional.
Un ejemplo de una red que se adaptaría bien a los protocolos de orden superior sería Bitcoin, ya que no admite contratos inteligentes y no se basa en Substrate.
Ejemplos #
Ethereum Bridge (Smart Contracts \<> Polkadot) #
Tal y como explica el Dr. Gavin Wood en un post de su blog de finales de 2019, hay tres formas de hacer un puente entre el ecosistema de Polkadot y Substrate y el de Ethereum.
- Polkadot <-> Puente público de Ethereum.
- Substrate <-> Puente de Parity Ethereum (Openethereum).
- El módulo EVM de Substrate.
Por favor, lee el artículo del blog para una descripción más completa de cada una de estas opciones.
Puente Bitcoin (XCLAIM \<> Substrate \<> Polkadot) #
El equipo de Interlay ha escrito una especificación sobre un puente Bitcoin que se basa en el documento de diseño de XCLAIM. El protocolo permite un puente bidireccional entre Polkadot y Bitcoin. Permite a los tenedores de BTC “teletransportar” sus activos a Polkadot como PolkaBTC, y a los tenedores de PolkaBTC quemar sus activos por BTC en la cadena Bitcoin.
El puente Bitcoin, tal y como se documenta en la especificación, está compuesto por dos componentes lógicamente diferentes:
- El componente XCLAIM mantiene todas las cuentas que poseen PolkaBTC.
- El BTC-Relay es responsable de verificar el estado de Bitcoin cuando se envía una nueva transacción.
Para conocer todos los detalles de su funcionamiento, consulta la especificación.
Ahora hay una implementación de referencia y una red de pruebas disponibles.
Recursos Adicionales y Ejemplos #
Para los Constructores de Puentes #
Si tu equipo está interesado en construir un puente entre una cadena externa y Polkadot, puede haber financiación disponible en el programa de subvenciones del W3F. Por favor, comprueba primero que la cadena entre la que pretendes tender un puente no ha sido ya construida o está en proceso de creación por otro equipo. Se dará prioridad a las cadenas más populares con casos de uso claros, y los diseños de puentes novedosos son bienvenidos.
Recursos y Ejemplos #
- Recursos Comunes de los Puentes de Parity
- Substrate/Ethereum Bridge – ChainSafe y Centrifuge recibieron una subvención en la Wave 5 de W3F para construir un puente bidireccional entre Substrate y Ethereum.
- PolkaBTC (Puente Bitcoin \<> Polkadot)
- EOS Bridge – El equipo de Bifrost recibió una subvención en la Wave 5 de W3F para construir un puente hacia EOS.
- Puente a Tendermint – ChorusOne recibió una subvención en la Wave 5 para construir un cliente ligero GRANDPA en Tendermint.
- Puente BTC de Interlay – El equipo de Interlay recibió una subvención en la Wave 5 de W3F para construir un puente BTC de confianza minimizada.
- ChainX BTC Bridge – ChainX ha implementado un puente BTC a Substrate para su parachain.
- Red POA
- Estudio de caso de la implementación por parte de POA Network de la solución de cadena de puentes de Parity.
- Edgeth Bridge – un puente de Ethereum a la cadena Edgeware (una cadena basada en Substrate) – ahora está desaparecido y no se mantiene, pero es un buen ejemplo.
- XCLAIM – XCLAIM es un marco para lograr intercambios entre cadenas sin confianza y eficientes utilizando activos respaldados por criptomonedas