Muchas personas que han estado usando criptomonedas durante un tiempo han sufrido algún tipo de pérdida en un intercambio, incluidas las pérdidas en los hacks de Gox y Bitfinex. ¡Nunca en la historia los ladrones se habían llevado tan fácilmente una recompensa tan grande!

Los tokens criptográficos son únicos porque existen solo en el ciberespacio y no se pueden recuperar fácilmente una vez robados (aunque el próximo sistema nervioso blockchain en la cadena DFINITY puede hacer algo al respecto), lo que los hace extremadamente vulnerables a otros piratas informáticos y al robo de información privilegiada. .

Es decir, a menos que podamos crear intercambios verdaderamente descentralizados en los que no tengamos que transferir tokens y dinero a intermediarios.

Un intercambio totalmente descentralizado y a prueba de manipulaciones también debería reducir significativamente las tarifas de transacción, lo cual es un paso crucial en la maduración continua de nuestra industria, pero hasta ahora este objetivo ha sido difícil de alcanzar.

Sin embargo, en este artículo explicaré cómo algunas de las últimas innovaciones en criptografía han hecho posibles las ideas actuales.

Este artículo explicará cómo crear un intercambio de tokens descentralizado (para un paquete listo para usar como una imagen de Docker) a partir de un contrato inteligente escrito en Solidity y una interfaz de usuario de Dapp escrita en HTML/Js (del tipo que puede crear usando Truffle). ) Entorno de desarrollo, incluido Cloud9 IDE, así como Truffle y otras herramientas, consulte instant-dapp-ide).

Si bien también será necesario crear algunos clientes de software especiales para aplicar la criptografía, no necesitaremos cadenas laterales, canales estatales, centros de consenso especiales ni cualquier otra cosa que no exista o que tenga sus propios defectos graves.

¡No se necesita nada excepto lo que ya está disponible hoy!

Por lo tanto, cubriremos cómo crear un intercambio de cripto a cripto en Ethereum (o eventualmente DFINITY) que permitirá operar con BTC/ETH y otros pares de divisas de forma segura y económica.

Paso 1: Lógica de contrato inteligente

Los contratos inteligentes de Ethereum ya nos brindan los medios para ejecutar la lógica de dos transacciones de subasta consecutivas (como GDAX, Bitfinex, Kraken o Poloniex) en la computadora blockchain.

La velocidad de las redes actuales presenta desafíos prácticos en términos de experiencia del usuario, ya que el mercado puede reorganizarse minutos después de que se envía una nueva orden y aparentemente se ejecuta una operación, pero las soluciones ya están comenzando.

La retransmisión de umbral reducirá la finalidad a segundos (más de 50 veces más rápido hoy en día en comparación con Ethereum), y el equipo de Casper también está trabajando en una solución, por lo que probablemente tengamos algo de tiempo.

El verdadero desafío es que los tokens que creamos en contratos inteligentes no pueden conectarse sin confianza a tokens nativos valiosos en otras cadenas. Por ejemplo, no podemos crear tokens XBT en un contrato inteligente de Ethereum que esté conectado a Bitcoin de forma no confiable, que luego podamos intercambiar por Ethereum nativo.

Nota técnica de alto nivel: Aquí hay un ejemplo de dos códigos de intercambio de estilo de subasta consecutivos en Solidity para aquellos interesados ​​(este fue en realidad mi primer contrato de Solidity, escrito cuando el idioma estuvo disponible por primera vez).

Hay varias consideraciones de diseño que se deben considerar, como la necesidad de abordar el problema del "francotirador" de HFT por parte de los arbitrajistas que observan cambios de precios en operaciones rápidamente concentradas. También hay buenas razones para considerar el uso de otros modelos de intercambio, como las subastas por lotes a precio unitario. Estas consideraciones merecen volver a publicarse si el tiempo lo permite.

Paso 2: Crack de firma de umbral

En aras de la simplicidad, de ahora en adelante solo discutiremos la cuestión de alojar Bitcoin en intercambios alojados en Ethereum, aunque en realidad la tecnología es igualmente aplicable a alojar cualquier token criptográfico nativo de una cadena de transacciones autorizadas que utilicen firmas ECDSA.

Nuestro requisito es que una gran cantidad de partes independientes controlen colectivamente una dirección de Bitcoin estándar para que los usuarios puedan enviar Bitcoin allí, pero Bitcoin solo se puede transferir después de un acuerdo entre una cierta proporción umbral de estas partes.

Por ejemplo, digamos que nuestro intercambio tendrá 50 "guardianes" provenientes de personas y empresas reconocidas e independientes dentro de la industria de la criptografía.

Deben controlar una dirección de Bitcoin donde los usuarios puedan enviar Bitcoin a cambio de tokens XBT alojados en un intercambio de Ethereum, y deben poder distribuir Bitcoin desde esa dirección a quienes canjeen los tokens XBT.

Tradicionalmente, en criptografía, dicha funcionalidad se crea mediante "firmas de umbral".

Nota técnica de alto nivel: la red Bitcoin solo transmite transacciones locales "multifirma" para hasta 3 participantes, el pago por hash de secuencia de comandos elimina parte de la carga, pero aún limita a los participantes a 15.

Ahora, podemos trazar una línea para los impacientes: aunque las transacciones de Bitcoin y Ethereum se firman utilizando firmas ECDSA estándar, y ninguna de las dos admite de forma nativa firmas de umbral, algunos investigadores innovadores demostraron recientemente una manera de explotar las firmas ECDSA estándar que utilizan Bitcoin y Ethereum y puede producir firmas de umbral compatibles con versiones anteriores.

Es decir, nuestros guardianes pueden crear firmas de umbral para direcciones que serán aceptadas por la red Bitcoin como firmas ECDSA estándar para desbloquear UTXO.

Puede encontrar el documento que describe cómo hacerlo aquí:

• https://eprint.iacr.org/2016/013.pdf

• https://www.cs.princeton.edu/~stevenag/threshold_sigs.pdf

Para ser claros, estos esquemas de firma de umbral no son los mismos que el sistema BLS optimizado que utilizamos en DFINITY Threshold Relay, que puede combinar la salida de cientos de firmantes para crear una firma de umbral determinista única en milisegundos.

De hecho, este sistema es tan ineficiente que combinar la salida de la firma de nuestro guardián lleva mucho tiempo y su CPU se calienta, pero eso no es un problema.

Es perfectamente aceptable cobrar una modesta tarifa de retiro para cubrir los costos computacionales y exigir que los retiros de nuestro intercambio financiero basado en Ethereum demoren un tiempo en procesarse. Después de todo, ¡muchas personas estarían felices de que sus fondos se intercambiaran de forma segura por conveniencia!

La aplicación de esta tecnología nos permitirá descentralizar la confianza entre un cierto número de guardianes, permitiéndoles recibir Bitcoins a cambio de distribuciones de XBT y distribuir Bitcoins al canjear tokens XBT, actuando así de manera segura y sin confianza para vincular Bitcoin a Ficha XBT.

Por supuesto, hay que tener en cuenta que algunos tutores pueden perder sus claves de firma o ser atropellados por el autobús metafórico, pero la firma por umbral nos permite solucionar este problema. Simplemente podemos requerir la salida de sólo 35 de los 50 guardianes para crear una nueva firma.

Paso 3: Recompensas del tutor

Necesitamos un programa de incentivos para los tutores porque queremos involucrar y promover a personas y empresas confiables que no desaparecerán ni se confabularán.

La forma más sencilla es ofrecerles una pequeña tarifa comercial por todos los retiros realizados por el intercambio.

Paso 4: Gobernanza

Las transacciones financieras descentralizadas requieren su propio sistema de gestión, ya que se deben elegir tutores, actualizaciones de software para los contratos inteligentes adoptados, etc. Por lo tanto, diseñaremos el conmutador como una DAO (Organización Autónoma Descentralizada).

Si estos sistemas están disponibles a tiempo, es posible que incluso obtengamos sistemas nerviosos de gobernanza más avanzados a partir de la tecnología del sistema nervioso blockchain de DFINITY (el equipo de DFINITY tiene muchas esperanzas de que BNS se reutilice de esta manera).

Dentro del sistema de gobernanza, habrá poseedores de tokens con “derechos de voto” que compartirán proporcionalmente las escasas tarifas cobradas por las transacciones. El contrato inteligente organiza periódicamente "concursos de belleza" en los que los tutores potenciales pueden postularse para puestos, que en última instancia son asignados por los votantes.

Nota técnica de alto nivel: un atacante puede intentar comprar todos los tokens de votación, luego reemplazar a los guardianes con sus propios títeres (generalmente un ataque DAO del 51 %) y robar los fondos depositados.

Por esta razón, después de la votación, el contrato solo debe salir del guardián después de un cierto retraso, lo que puede dar a los titulares de criptomonedas tiempo suficiente para retirar sus fondos de forma segura si se produce un ataque de este tipo. Esto también se aplica a la adopción de actualizaciones de software.

Paso 5: Configuración de cifrado de umbral

Una vez configurado el conjunto de tutores, deben configurar su esquema de firma de umbral. Esto significa que se debe ejecutar algún tipo de proceso o protocolo para garantizar que, al finalizar, cada uno de nuestros 50 guardianes tenga una "clave compartida" privada que se utilice para producir colectivamente una firma de umbral que pueda usarse como una autorización única para ECDSA ECDSA simple. firma. La red distribuye Bitcoins desde direcciones de depósito.

Como se mencionó anteriormente, los esquemas de firma de umbral citados son en realidad hacks que crean firmas que son compatibles con firmas ECDSA regulares utilizadas actualmente por las redes Bitcoin y Ethereum. Esto significa que la configuración es más desafiante que el esquema de firma de umbral BLS utilizado por DFINITY Threshold Relay.

El enfoque más simple sería realizar una configuración confiable en una ceremonia segura, como lo hizo recientemente la red Z-Cash, y hacer que cada guardián indique al contrato inteligente del intercambio que está contento con la salida.

Aunque el proceso de configuración confiable será mucho más sencillo de implementar que el utilizado por Z-Cash, muchas personas quieren implementar una configuración distribuida sin confianza, especialmente porque es más fácil de repetir cuando es necesario rotar el guardián. Éste constará de dos partes.

El primero implica distribuir claves ordinarias entre los guardianes y se puede hacer de manera muy simple aplicando, por ejemplo, IPFS como un registro que agrega y comparte los mensajes involucrados en un protocolo de generación de claves distribuidas.

La segunda parte (que se hace necesaria debido a las técnicas de cifrado homomórfico utilizadas en la piratería) implica la distribución de claves compartidas de Paillier. Si desea que su conmutador esté en funcionamiento rápidamente, ¡esta última parte requiere un análisis cuidadoso del costo de implementación!

Paso 6: Software cliente Guardian

Tuvimos que crear un "software de cliente guardián" especial que monitorea los contratos inteligentes del intercambio y coopera regularmente para firmar transacciones de Bitcoin cuando un usuario desea canjear XBT.

Paso 7: financiación colectiva

Se debe realizar crowdfunding para recaudar fondos para I+D, y puede haber incentivos para ser el primero en mover los fondos allí (quizás exclusivamente bloqueados allí por un período de tiempo) para ayudar a guiar la liquidez.

Tenga en cuenta que podríamos comenzar con un sistema de gobernanza y luego permitirle asignar fondos a los desarrolladores para completar las transacciones.

Una vez que comience el comercio, ¡deberíamos esperar que el volumen aumente rápidamente! Los costos básicos involucrados en el comercio descentralizado son órdenes de magnitud más bajos que los del comercio centralizado administrado por empresas, y esto se reflejará en las tarifas de transacción.

Además, el sistema descentralizado descrito también es más resistente a los piratas informáticos y los ataques, y puede esperar depositar e intercambiar de forma segura grandes cantidades de criptomonedas en dicho intercambio.

¡Con los dedos cruzados, alguien construye esto!

Nota final: A primera vista, los intercambios financieros descentralizados parecen hacer posible el comercio entre criptomonedas. A corto plazo esto puede ser cierto. Pero aquellos interesados ​​deberían consultar el sistema PHI que actualmente están desarrollando investigadores asociados con String Labs en Palo Alto.

Esto imita cómo funciona el sistema bancario comercial y crea una “criptomoneda” descentralizada que está garantizada por una garantía de préstamo.

Una vez que tengamos el token en Ethereum y la cadena DFINITY (y con suerte dentro de dos años), será posible almacenar el token en un intercambio descentralizado donde el valor del token sea igual al valor de alguna moneda fiduciaria similar.

Contenido IC que te interesa

Progreso tecnológico | Información del proyecto | Eventos globales

Recopile y siga el canal IC Binance

Manténgase actualizado con la información más reciente