Notas del episodio
- Cuenta de Twitter de Ricardo Rius.
- Cuenta de Twitter de Miguel.
- La web de Parity, Polkadot.
- Sobre la seguridad compartida que plantea Polkadot.
- ¿Qué es una ‘Parachain’, según Polkadot?
- El proyecto de Substrate.
- El sistema de governanza en Polkadot.
- Rust, el lenguaje de programación (Wikipedia).
- El producto desarrollado junto a la Fundación Zcash: Zebra.
- Que es un Atomic Swap.
- El comentario en el blog de Polkadot, sobre las ‘Relay Chains‘.
- Qué es xDai.
- El anuncio de la red Kusama en Polkadot.
- La Web3 foundation.
- IoT es el Internet de las cosas, por sus siglas en inglés: Internet of Things (Wikipedia).
- El Devcon de Ethereum en Japón.
- Qué es WebAssembly. La respuesta corta es: Un formato de instruccion binario, que se usa en máquinas virtuales.
Transcripción del episodio
Elena: Bienvenidos una vez más a En Consenso. Esta vez no me acompaña José. José está de paternity leave. José te mandamos un beso, un abrazo y muchas felicitaciones desde aquí. Esta vez me acompaña Miguel, del equipo de CriptoNoticias. No sé si lo saben, pero Miguel es el que está detrás de todos los tutoriales que tenemos en la página de CriptoNoticias, una maravilla para enseñar a la gente a usar nuevas tecnologías y hacer las críticas. Hola Miguel, bienvenido.
Miguel: Hola Elena, gracias por la invitación.
Elena: Nuestro invitado de hoy es un invitado de lujo, tenemos a Ricardo Rius. Ricardo es desarrollador, es un apóstol de la tecnología, así como nos gusta a nosotros que nos hable de las maravillas que hay en el ecosistema. Ricardo es la voz de Parity, de Polkadot y de un nuevo producto que se llama Substrate. Acuérdense que todos los links van a estar en las notas del episodio por si quieren investigar por su lado. Muy bienvenido Ricardo, gracias por estar con nosotros.
Ricardo: Muchas gracias Elena. De verdad que está muy padre participar aquí con ustedes. Muchas gracias por la invitación.
Elena: El honor es todo nuestro. A ver, cuéntame Ricardo. Vamos a empezar de lo más conocido a lo menos conocido, háblame de Parity ¿Qué es? Y ¿Qué pasó?
Ricardo: Bueno, la empresa es Parity Technologies. Esta empresa fue fundada alrededor del año 2015 por Gavin Wood y Jutta Steiner (y Björn Wagner). Ellos son, prácticamente Gavin Wood es el cofundador de Ethereum. Él fue uno de los primeros desarrolladores del lenguaje de programación de Ethereum que se llama Solidity, él prácticamente creó junto con otros desarrolladores la base para que Ethereum empiece a tener todos los smarts contracts. De ahí, nosotros siempre hemos estado muy conectados a todo el ecosistema Ethereum. Hemos estado desarrollando, por ejemplo, el cliente de Parity Ethereum, que es uno de los clientes como más avanzados en el ecosistema, y realmente permite mucha flexibilidad en todo este sistema y, prácticamente también hemos desarrollado otros productos como Parity Bitcoin y recientemente hubo una asociación con Zcash y, bueno, la Fundación Zcash, donde se hizo un producto que se llama Zebra que es la implementación en Rust, que es el lenguaje de programación que más usamos aquí en Parity y nos permite justo manejar las cosas de una forma mucho más segura.
Elena: Entonces, según lo que me estás diciendo, Parity sigue con Ethereum, no hay ningún problema con Ethereum, no se divorciaron de Ethereum, no se pelearon con Ethereum, todo está bien.
Ricardo: Claro, totalmente. De hecho, qué bueno que lo preguntas porque realmente hay cierta confusión en todo el ecosistema, pero la realidad es que Parity es uno de los equipos que está desarrollando uno de los clientes para Ethereum 2.0, aparte del cliente que tenemos actual para Ethereum 1.0. Realmente estamos completamente a bordo del barco de Ethereum 2.0, pero aparte tenemos otro de nuestros grandes productos que se Polkadot.
Elena: Es una especie de, que pasaron de una relación monógama a una especie de políamor.
Ricardo: Es correcto.
Elena: Bueno, cuéntame de Polkadot entonces.
Ricardo: Okey. Polkadot realmente, lo que viene a solucionar es toda esta… Actualmente en el ecosistema tenemos muchos problemas de cómo podemos interoperar entre diferentes blockchains, todos se encuentran hoy día aislados ¿No? Si tú quieres hacer una transacción desde Ethereum, digamos, un smart contract que quiera hacer algo en Bitcoin pues, no es posible, realmente tendrías que hacerlo a través de un ente centralizado y esto prácticamente nos trae muchos problemas ¿No? Entonces Polkadot viene a ser este nuevo protocolo, que realmente más que considerarlo como un blockchain se considera como un protocolo de red que permite prácticamente justo interactuar con diferentes blockchains y, de la forma como está diseñado es que realmente Polkadot tiene un relay chain, que este relay chain es como un blockchain central con la mínima cantidad necesaria de información para mantener esta comunicación entre diferentes blockchains ¿No? Nuestro objetivo no va a tener smart contracts, Polkadot realmente no está diseñado para tener smart contracts porque, realmente, lo que busca es ser este protocolo de comunicación
Elena: Bueno, vamos a parar un momento aquí porque me estás poniendo nuevos conceptos dentro de la pregunta y creo que estamos generando más dudas que respuestas. Explícame ¿Cómo es esto de la diferencia entre un protocolo y una blockchain? Tengo entendido, por lo que vi en la página de Polkadot son varias blockchain. Me acabas de decir también que estamos trabajando con Zcash, con Bitcoin, Ethereum o ¿Eso solo es Parity?
Ricardo: Eso es solo Parity, pero al final va a estar conectado con todo lo que es Polkadot, porque, a lo que voy es que Polkadot permite esta interacción con diferentes blockchains, entonces Parity tiene varios clientes que prácticamente van a ir evolucionando para poderse conectar a Polkadot y, de esta misma forma, van a poder interactuar con blockchains que están aislados hoy en día y gracias a Polkadot van a poderse interconectar.
Elena: Ajá. Eso es distinto de la atomic swap y todas esas cosas.
Ricardo: Correcto. Es distinto al atomic swap. De hecho, una de las cosas importantes de Polkadot, es que permite mandar mensajes entre diferentes blockchains y no solamente hacer un intercambio de tokens, porque un blockchain permite mucho más que solamente dar acceso a tokens.
Elena: Okey ¿Qué significa eso de mandar mensajes entre blockchains? ¿Cómo se lee eso de cara a alguien que está usando las criptomonedas como monedas de cara al que está usando las blockchains para crear herramientas?
Ricardo: Hoy en día, uno de los usos más conocidos realmente de un blockchain serían las criptomonedas, pero eso no implica que realmente sea el único uso. Por ejemplo, tenemos otros casos que son los DAO que probablemente hayan escuchado mucho, como el caso de Maker DAO el cual es uno muy conocido.
Elena: Sí, tuvimos a Natalia que nos explicó hermosamente qué es Maker DAO y cómo funcionan las organizaciones descentralizadas.
Ricardo: Excelente. Sí, son un gran jugador dentro del ecosistema y realmente, por ejemplo, utilizando como este caso sería que ellos permitirían como interactuar, que tú pudieras tomar decisiones a partir de otro blockchain, o sea, digamos que tomar una decisión que a lo mejor sucede en otro DAO e interactuar directamente con el DAO de Maker DAO ¿No? Muchas veces los DAO en este caso tendrían que estar viviendo en el mismo blockchain, que sería Ethereum en ese caso, pero ¿Qué sucede si tú decides desarrollar una de estas organizaciones descentralizadas en tu propio blockchain? ¿Cómo vas a hacer que se comuniquen con Maker DAO para cualquier cosa financiera? O mover simplemente votos, dinero, entonces…
Elena: Ajá.
Ricardo: A través de esto podemos utilizar Polkadot para poder mandar estos mensajes, que permite de forma segura mandar al DAO de Maker DAO y poner tu voto para tomar una decisión en ese DAO sin tener que transaccionar con Ethereum
Miguel: Este, una pregunta ¿Polkadot viene siendo algo así como una especie de canal de comunicación entre blockchain? Entiendo que, o sea, además de canal de comunicación, entiendo que son una serie de herramientas.
Ricardo: Sí, es completamente correcto. Un blockchain que tú estés creando va a poder directamente interactuar con otros blockchains. Para esto, por ejemplo, aquí podría entrar la herramienta que estamos creando en Parity que se llama Substrate. Substrate nos permite justamente como facilitarle a la gente poder crear una blockchain desde cero y poder sacar todos los beneficios de tener que evitar crear entre las capas de lo que se conoce como ‘Layer 1’ que es crear todo el protocolo, todas esas cosas técnicas en donde tienes que dar seguridad a la red, cómo se comunican los diferentes nodos en una red, prácticamente hasta el mismo lenguaje de smart contracts.
Elena: A ver ¿Cómo funciona eso de cara al consenso? Por ejemplo.
Ricardo: Por ejemplo, lo que ofrece Substrate es que es un framework o, digamos de otra forma, un conjunto de librerías que le permite escoger de forma modular qué módulos tú quieres implementar en tu blockchain. Entonces, tenemos a lo mejor un consenso, que es un consenso digamos, famoso y normal que utiliza Bitcoin o Ethereum que es proof of work y podemos tener otro consenso que es proof of authority, por ejemplo, hoy en día side chains como digamos xDai que es un conjunto de Maker DAO. Puedes tener otros consensos tipo proof of stakes, pero lo que te permite esto es tenerlos cada uno en su propio módulo, de tal forma que podemos escoger qué tipo de consenso es el que quieres, simplemente integras eso en tu módulo. También puedes integrar, por ejemplo, si quieres que tu blockchain tenga smart contracts o no tenga smart contracts, simplemente integras el módulo de smart contracts y así junto con más y más cualidades, sino que también tú puedes crear tu propio módulo personalizado que te permite implementar tu propia lógica.
Elena: Lo que pasa es que, cuando me hablas de módulos personalizados y hacer interactuar los distintos sistemas de consenso, me parece que quedará claro para gente como Miguel o gente como tú que están iniciados en la alquimia del desarrollo de cara al web, pero gente como yo, que somos choferes de ratón, es todo muy oscuro. Entonces ¿Cómo me suena a mí en la cabeza? Y tú me corriges por favor en lo que esté equivocada. Da la sensación de una serie de soluciones en módulos tipo piezas de LEGO y, si yo quiero implementar alguna herramienta que interactúe con distintas blockchains, que además tienen distintos tipos de consenso o si quiero implementar algo como una Organización Autónoma Descentralizada, yo puedo tomar un LEGO verde, un LEGO amarillo, un LEGO de tres piezas, un LEGO de cuatro puntitos y armo con ello una especie de herramienta a mi medida tomando lo mejor de cada quien, eso ¿Es así? O ¿Estoy hablando de pura ciencia-ficción?
Ricardo: No, es correcto. De hecho, es una buena abstracción. Realmente Substrate justo para mí es esa flexibilidad si quieres tener un blockchain que permita solamente utilizar un tipo de consenso, puedes escoger como mencionabas, digamos, el proof of stake y darle todas estas reglas a tu red.
Elena: Bueno, entonces hasta ahora no me has perdido en el camino, estoy todavía montada en el tren y entendiendo más o menos qué es lo que quieres, qué es lo que estás planteando como solución con Substrate. Ahora, explícame algo, una solución como esa que es además una librería de “ármelo usted mismo según sus medidas”, que además es capaz de hacer interactuar distintas blockchains y generar soluciones de cara al consumidor final ¿Por qué eso no está puesto en un pedestal y estamos todos encendiéndole velas y adorándolo? ¿Qué es lo que está fallando o qué es lo que no está funcionando? ¿Por qué no estamos saliendo todos para allá como la solución a todos los problemas? O ¿Qué le falta? ¿Está todavía en período de producción? ¿Qué es lo que le falta? Porque me suena a la solución de todos los problemas y listo ¡Ya está!
Ricardo: En realidad es muy emocionante esta tecnología y sí tienes razón. La verdadera razón por la que todavía esto necesita más impulso es porque justamente se encuentra en evolución constante ¿No? Apenas estamos, bueno, ya estamos sacando prácticamente la versión 2 de Substrate, está en proceso de, y esto es lo que le está dando con lo que está desarrollado la versión previa a Polkadot que es Kusama. Kusama ya es una red que está afuera, hoy en día está utilizando, por ejemplo, estos módulos de Substrate. Kusama y Polkadot, las versiones iniciales van a estar construidas utilizando Substrate y esta primera versión de Kusama tiene un proof of autority por el momento, esto conforme vayan encontrándose algunos errorcitos, a algunas cosas se le hagan correcciones en la marcha. En las próximas semanas, posiblemente un mes, se va a seguir utilizando y actualizando poco a poco este protocolo. Poco a poco se va a abrir, se va a hacer en vez de ser proof of autority empiece a entrar más los validadores que tengan algo stake, va a pasar a ser un proof of stake completamente, pero con unas ciertas modificaciones en donde la gobernanza se convierte completamente en on-chain, pero tiene algún tipo de pues, como de Web3. Okey, aquí habría que mencionar un poco, es que es enorme este proyecto, pero aquí hablaríamos justamente de cómo está creado el proyecto ¿No? Veamos, Parity Technologies está desarrollando Polkadot, pero, la asociación que realmente lleva el desarrollo de Polkadot se llama Web3 Fundation. Esta asociación, esta fundación es la que está impulsando todo el ecosistema de todo lo que es blockchain, pero está ahorita muy enfocado en Polkadot. Ésta prácticamente nos tiene contratados a Parity Technologies para estar desarrollando la primera versión de Polkadot. Entonces, el objetivo que tiene Web3 Fundation es crear clientes en diferentes tecnologías, no solamente con Substrate, entonces permite realmente que esto sea mucho más descentralizado ¿No?
Elena: ¿Web3 Fundation es una fundación sin fines de lucro, una organización sin fines de lucro o es una empresa privada?
Ricardo: Web3 Fundation es como tú dices una fundación sin fines de lucro, fue fundada por Gavin Woods y de ahí esa relación estrecha que tenemos con ellos, pero son dos partes separadas Parity Technologies y Web3 Fundation, son dos cosas completamente separadas
Elena: ¿Separadas cómo está separada Libra de Facebook? O ¿Separadas, separadas?
Ricardo: Realmente es separadas, separadas, o sea, completamente. Lo único que sucedes es que aquí tenemos un contrato para desarrollar Polkadot y una vez que Polkadot igual esté desarrollado, nosotros igual podemos seguir haciendo como diferentes proyectos ¿No? No solamente depender de mantener Polkadot como tal. Bueno, Substrate es un producto hecho por Parity Technologies y es justamente esta primera implementación de Polkadot va a ser desarrollada con Substrate, pero, Web3 Fundation está también dando grants y está consiguiendo otras empresas, startups que están desarrollando clientes de Polkadot en diferentes lenguajes de programación. Estos no van a depender forzosamente de Substrate, pero Substrate va a ser la herramienta principal si quieren realmente desarrollar algo súper rápido y algo súper, con las mejores prácticas que existen hoy en día en el ecosistema para hacer tu propio blockchain y unirte a Polkadot
Elena: Okey. Entonces, ya estamos hablando de hacer tu propio blockchain, no de hacer un protocolo que interactúe con blockchain. Esas propias blockchains ¿Sobre qué se hacen? ¿Cualquier protocolo que a mí me guste? ¿Cualquier blockchain?
Ricardo: Prácticamente sí, tú puedes escoger las reglas que quieras para meterlas en tu propio blockchain. Simplemente podría estar creándose un consorcio, o mejor digamos, de aseguradoras, y las aseguradoras entre ellas quieren tener su propio blockchain…
Elena: Uh, eso suena a alianza del mal, las aseguradoras con una blockchain.
Ricardo: Claro, digamos, es un ejemplo ¿No?
Elena: ¿Pero no tienes uno que sea menos asustador? Dame uno más suavecito.
Ricardo: Okey ¿Qué otro tenemos? A ver.
Elena: Dame uno de gatitos, quiero hacer una cadena de gatitos.
Ricardo: Bueno, ese es uno de los clásicos ejemplos que tenemos ¿No? De hecho, tenemos los tutoriales para poder hacer tu cadena con puros gatitos.
Elena: Ese me gusta.
Ricardo: Ese sería un ejemplo, pero, otro muy interesante es, por ejemplo, Parity Technologies ha trabajado mucho con la ONU, con un proyecto que lo lleva la parte de World food program que trabaja con los refugiados. Ese proyecto, por ejemplo, hoy en día está utilizando Parity Ethereum para justamente poder crear un tipo de ecosistema y poderle dar, crear una mini economía con los refugiados, pero se están enfrentando a muchos problemas de escalabilidad que existen hoy en día con la tecnología de Ethereum. Entonces, está muy interesante cómo realmente les ven mucho beneficio a otras tecnologías, por ejemplo, Substrate podría ser una gran alternativa para ellos, pero bueno, esto ya lo tendrán que ir analizando poco a poco ellos. Sin embargo, permite justamente poder crear diferentes instituciones dentro de la ONU, podrían entre ellos crear un blockchain abierto para que las ONG se unan y puedan interactuar directamente con la ONU sin depender de otros intermediarios. Lo que comentaba sí era sobre, por ejemplo, cómo la ONU está utilizando tecnologías desarrolladas por Parity Technologies para ayudar a los refugiados y tenían muchos problemas de escalabilidad, exactamente por la forma en como hoy en día funciona Ethereum y como escala. Entonces, realmente una gran aproximación que pueden empezar a utilizar sería Substrate para crear diferentes blockchains dependiendo de las aplicaciones que requiera cada área de la ONU y entre ellos se conectan al final a un, digamos, a un (21:25) que va a estar conectado a Polkadot. Entonces, cualquier ONG que quisiera interactuar con la ONU pueda abiertamente interactuar a través de estos blockchains y no depender de tener las viejas interacciones centralizadas.
Elena: Viejas interacciones centralizadas. Estás hablando, no de Ethereum, no de otras blockchains sino de los protocolos anteriores a blockchain.
Ricardo: Correcto. Muchas veces, utilizaban o realmente la forma como funcionaban era que repartían vales, pero estos vales muchas veces se pierden en el camino, son propensos a que se vendan, entonces, en el momento en que metes un blockchain en una economía de este estilo, que es una economía pues, prácticamente chica, para refugiados, permite a los refugiados hacer uso realmente del apoyo que están recibiendo a través de la ONU en lugar de depender de que alguien les esté cobrando o vendiendo más caros los vales o cualquier cosa de ese estilo.
Elena: Un mercado secundario. Lo que pasa es que todavía estoy teniendo problemas para entender que hablemos de blockchain en términos abstractos, en el aire y después nos referimos a blockchains particulares como Zcash o como Ethereum, como Bitcoin y después volvemos a hablar de Bitcoin en el aire como proyectos futuros por ver o por ser y las interacciones que me estás hablando de Substrate, Polkadot también son soluciones futuras ¿Qué es lo que se está haciendo en este momento? ¿Por qué Ethereum se quedó corta o tiene problemas de escalabilidad y tuvieron que implementar más soluciones para añadir más blockchains distintas? ¿Qué fue lo que pasó allí?
Ricardo: Bueno, la versión inicial de Ethereum realmente es una gran prueba de concepto, es sumamente útil, pero el detalle que tiene allí es que, igual que Bitcoin, tiene un límite de la cantidad de transacciones que puedan suceder en un cierto período de tiempo. Entonces, estas transacciones realmente estás hablando que pueden ser desde transferencia de ethereum o de tokens o puede ser una transacción de una votación que se tenga que hacer en una cuestión descentralizada ¿No? Digamos una organización descentralizada, entonces puede ser que en una organización descentralizada tengas que tener tu voto en un cierto período de tiempo, pero al final no puedas dar tu voto porque la red está saturada. Entonces, la forma como solucionas esto, hay muchas formas, una de ellas es empezar a crear, lo que se ha experimentado en Ethereum que es crear side chains para poder como descargar un poco esta carga principal y ponerla en otros blockchains que van prácticamente separados, pero la forma en cómo interactúan hoy en día esos side chains con la Mainnet de Ethereum es muy centralizado, al final dependen de una conexión centralizada entre ellos, alguien que pueda pasar del punto A al punto B la transferencia ¿No? Entonces, pues, he ahí una de las razones principales.
Elena: Okey ¿El uso de otras blockchains lo solucionó? Porque da la sensación, volviendo a la metáfora del LEGO es que, estamos, por un lado, hablando de módulos, librerías para crear soluciones a la medida, dependiendo de qué cadena, de qué blockchain escoja tu cliente potencial y, al mismo tiempo, al hablar de las limitaciones de Ethereum, de Bitcoin, porque también tiene limitantes Bitcoin, vamos a decirlo todo, de Zcash, de Dai, estamos hablando como de otro horizonte de intervención, otro horizonte de solución distinto y, entonces, estamos hablando también de, por lo que me acabas de decir, de side chains que no han sido creadas.
Ricardo: Exacto, es correcto. Lo que sucede es que sí tenemos todas esas limitantes hoy en día en el ecosistema, pero, una de las formas más prácticas de escalar es crear side chains o blockchains, en el caso de Polkadot realmente se llaman parachains y estas utilizan la validación que se da hoy en día, bueno, que se va a dar en Polkadot ¿No? No requieres que todos tengan sus validadores por separado como en el caso de todos los side chains, que prácticamente un side chains requiere que tengas, depende del ‘proof of’ o del consenso que escojas, va a depender de que tengas tus propios mineros o tengas tus propios validadores y te fortalezcas de la seguridad de la red. Polkadot una de las cosas que ofrece, y es una de las razones por las que también se considera que es una red de siguiente generación, mientras que Ethereum 1.0 sería de primera generación, tenemos segunda generación que es Polkadot que permite utilizar la seguridad que existe dentro de Polkadot, dentro de todo este relay chain y, cuando tú conectas un parachain o un side chains como podrías abstraerlo, realmente no tienes que tener todos estos validadores, sino que, heredan toda la seguridad que ya tienen.
Miguel: Ricardo ¿Parachain es simplemente un nombre que le dan en Polkadot o hay algo detrás? ¿Algún significado especial detrás de eso?
Ricardo: Es correcto, parachain es el término que se le da en Polkadot porque prácticamente significa que son changes en paralelo, de ahí viene el nombre. Todas pueden estar trabajando al mismo tiempo, no necesitan ser secuenciales para poder hablar o para poder poner sus pruebas o validación en Polkadot. Entonces, todas están trabajando en paralelo, de ahí viene realmente el término de parachain que sería el equivalente de un side chain.
Miguel: Ah okey. Otra pregunta que tenía era que las cadenas que permiten crear Polkadot son totalmente independientes porque tenía esa confusión con una side chain, que en el caso de que desarrollen sobre Ethereum, dependen netamente de Ethereum o las comprobaciones se hacen sobre Ethereum. En este caso, yo puedo crear mi blockchain, vamos a poner que vamos a crear la blockchain de gatitos de Elena, es totalmente independiente de mis reglas.
Ricardo: Es correcto. Tú podrías crear tu propio blockchain por separado, es una de las cosas que permite Substrate, podrías nunca conectarte, sin embargo, eso trae muchos más retos a que si realmente creas un parachain que esté conectado completamente o directamente con Polkadot ¿No?
Miguel: Sí, sí, claro.
Ricardo: Trae muchos más beneficios si realmente te conectas porque puedes interactuar con todo el ecosistema con parachains de perritos, no solo con los de gatitos y al mismo tiempo con Bitcoin, con Ethereum, todo esto utilizando este Polkadot, este protocolo de red.
Elena: La verdad es que, desde aquí, suena peligroso.
Ricardo: ¿Peligroso?
Elena: Sí. O sea, da como yuyito. Da la sensación de que pueda haber un problema de seguridad importante.
Miguel: No, bueno, esa era otra pregunta que le tenía a Ricardo. O sea, obviamente al uno desarrollar blockchains individuales, uno define sus reglas ¿Qué hace? Bueno, uno dice “yo quiero prueba de trabajo, quiero no sé qué” y la seguridad de la blockchain vendría dada por los mineros, pero si él me dice que si yo me conecto a Polkadot recibo los beneficios o la seguridad que me da Polkadot ¿No? ¿Fue la que mencionaste? Y yo al conectarme a ellos recibo esos beneficios que ofrece una blockchain así de esa forma
Ricardo: Es correcto. La forma en como realmente esto funciona es que no te deshaces completamente la necesidad de tener cierto tipo de validadores en tu propio parachain o side chains, si así lo quieren ver, necesitas tener de todas formas estos validadores que al final tienen que validar las reglas de tu propia red. Sin embargo, no necesitas, ahí depende completamente de la lógica que tú quieras y la economía que quieras meter en tu propio blockchain, pero no necesitas realmente tener demasiados validadores en tu propia red sino tienes los que tú quieras en tu propia red y solamente les das unas ciertas pruebas criptográficas al validador principal del relay chain que es realmente donde la seguridad más grande se mantiene ¿No? O sea, en Polkadot.
Miguel: O sea, me deja ser independiente pro me da la opción de no irme completo de la casa. Está chévere eso.
Ricardo: Completamente.
Elena: A mí me asusta mucho la idea de una parachain que no esté armado sobre un time stamp.
Ricardo: Bueno, completamente están armados con time stamp y tienen, digamos, que puede tener un validador muy poderoso que utilice como muchos recursos o como se gastan hoy en día en proof of work, o incluso proof of stake también va a requerir computadoras o servidores con algo de potencia. Realmente puedes tener muchos más separados, digamos, podría ser hasta en teléfonos celulares, podríamos estar hablando de un blockchain que funcione para IoT solamente computadoras muy chiquitas, podrían usar ciertos validadores y estos le dan realmente ya la prueba final al validador que vive en Polkadot y esto realmente es lo que le da finalidad a tu transacción. El hecho cuando tú pones en Polkadot, pones tu transacción final ahí es cuando queda como finalizada mientras que en tu propio blockchain lleva una finalidad probabilística, depende de qué algoritmo estés utilizando en tu propio blockchain.
Elena: Estoy teniendo problemas para entender todo esto. Me resultan demasiados conceptos nuevos y no sé ni siquiera dónde están mis dudas. Da la sensación de que es como un concepto completamente nuevo. Estamos hablando de cadenas paralelas, o sea, cadenas de bloques que funcionan en vez de forma hilada, en paralelo, hijas de una cadena madre, obviamente, que ya ha sido abandonada, eso, por un lado. Por el otro, módulos de solución de código, en forma de módulos que se arman entre ellos a la medida para interactuar con esas cadenas. Al mismo tiempo esas cadenas interactúan con proyectos que ya están en funcionamiento y que tienen sus propias dinámicas e incluso su propia cantidad de adopción, de público que lo usa y que tienen fe en ese código. No hablemos de los maximalistas que, de repente, se agarran de las greñas por detalles ¿No? Vamos a hablar de gente que realmente está intentando, no sé, explorar el territorio salvaje y está dispuesto a correr riesgos con eso. Son como muchas capas de significados, unos encima del otro.
Ricardo: Es correcto. Es que, sí, realmente requerimos de muchísimas tecnologías distintas aquí y lo importante es que, por ejemplo, Parity Technologies, la razón por la que este proyecto es tan grande y tan poderoso es porque hay mucho aprendizaje detrás de esto. Parity Technologies ha sido pionero siempre en el área de blockchain, tiene realmente ingenieros que han estado metidos en el tema desde el principio, desde que nació, algunos conocen muy bien desde que estuvo Bitcoin, otros realmente han sido fundadores de la comunidad de Ethereum, entonces hemos aprendido prácticamente de todos los protocolos que hay, las implementaciones que hemos realizado como mencionabas de Zcash, Parity Bitcoin, Ethereum, etcétera, realmente nos dejan ver que hay muchos patrones parecido en esas implementaciones y eso fue lo que logramos abstraer para meter en Substrate y, a partir de Substrate se empieza a armar todo este nuevo producto que es Polkadot, que permite justamente demostrar que Substrate es lo suficientemente flexible para poder crear un ecosistema alrededor de una tecnología completamente innovadora ¿No?
Miguel: Un concepto bastante grueso y amplio y cuesta digerirlo. Elena está tratando, me dice que estoy aquí y estoy allá.
Elena: En Venezuela hay una expresión para esto: yo estoy pasando más trabajo que un perro en una autopista. No sé ni a donde mirar y por todos lados me entran nuevos conceptos que no sé dónde encajar. Realmente me resulta sumamente complejo y me da la sensación de que, por un lado, son soluciones dirigidos, en el manejo, por ejemplo, de vales que estabas hablando en el trabajo con refugiados ¿Qué otras soluciones están presentando distintas a la del dinero, por ejemplo? ¿Contratos inteligentes? ¿Dirigidos a qué?
Ricardo: Prácticamente podrías crear un blockchain que sí tenga contratos inteligentes, pero, lo que hoy en día está buscando Polkadot al crear esta infraestructura base es justo, primero que nada, como crear estos primeros proyectos que permitan crear nuevos ecosistemas, diferentes comunidades ¿No? O sea, tenemos en caso de que, si creas un smart contract estás creando solo una aplicación, una DApp y, a diferencia de si estás creando un blockchain, estás creando un ecosistema. Entonces, lo que realmente está creando aquí es que, si tú puedes crear tu propio blockchain que se una a Polkadot vas a estar creando un ecosistema dentro de otro ecosistema, entonces, al final vas a tener muchos ecosistemas que viven en paralelo y no solamente dependes de uno principal que en el que construyes las aplicaciones ¿No? Sino que, cada ecosistema puede tener su tipo de aplicaciones distintas y ese es justamente uno de los grandes beneficios.
Elena: Y de todas las soluciones que están planteadas, me imagino que ustedes tienen, aunque sea la idea de varias soluciones concretas para levantar como el tema de los refugiados y los vales de comida para los refugiados. De todas las soluciones que se están planteando ¿Cuáles son las que a ti te resultan más atractivas, que te parezcan que tengan mayor potencial?
Ricardo: Por ejemplo, el área identidad es una parte muy interesante y muy práctica en todo el ecosistema de blockchain. Hay varios proyectos, por ejemplo, en Ethereum que están buscando ver como lo implementan, pero al final no es eficiente porque dependen demasiado de la ejecución de smart contracts y, entonces, tú solamente quieres validar quién eres, tienes que pagar una transacción bastante cara para que valide realmente quién eres y esto, por ejemplo, esta lógica en vez de tener un smart contract la puedes bajar perfectamente a tu propio blockchain. Al hacer esto permite que estas reglas definidas que permiten validar quién eres y validar que edad tienes sin que tengas que decir que edad tienes, solamente te pregunta ¿Eres mayor de edad o no? Y simplemente el blockchain por criptografía y pruebas permite contestar esta respuesta y no tienes que exponer la información privada de la persona nunca ¿No? Entonces, este es un caso sumamente práctico, sumamente importante que sería cómo poder crear una identidad a través del blockchain. Prácticamente podrías…
Elena: Ajá. Y ¿Qué tan adelantado está eso? Porque el tema de las identidades es un tema que ya lleva rato que se está planteando como posible problema a solucionar con un blockchain, pero no he conocido ningún proyecto real que realmente haya llegado muy lejos.
Ricardo: Justamente esa es una de las razones, porque todos dependen hoy en día de smart contracts y la ejecución de un smart contract lleva sus costos y problemas de escalabilidad, justamente los mismos que está teniendo Ethereum de diferente forma. Pero, lo importante aquí es justamente si esas reglas las puedes establecer directamente en un ecosistema, digamos, en uno de estos blockchains que tenga más blockchains o parachains (así como se conocen en Polkadot), permite realmente poder extender estas capacidades más allá solamente de la ejecución de un smart contract.
Elena: Ya va. Déjame hacerte una pregunta que me está dando vueltas ¿Por qué parachains y no chains laterales? ¿Qué los diferencia?
Ricardo: Eso mismo, es prácticamente el mismo concepto. Lo que sucede es que estos parachains viniendo del hecho de ser del término de un chain paralelo permite realmente que, mientras va creciendo tu comunidad o simplemente si estás haciendo pruebas de un producto nuevo, lo conectas directamente a Polkadot sin tener que estar convenciendo a toda una comunidad, a todo un consorcio o lo que sea en este caso, que todos tengan que tener su computadora, sus validadores y realmente permite justamente como extender…
Elena: Extender las posibilidades del blockchain sin tener que ser tan económico con los recursos. Una cosa así.
Ricardo: Sí, es correcto. A ver, permite extender las posibilidades y el alcance sin realmente consumir tantos recursos. No necesitas tú estar poniendo tanto dinero de frente como realmente requiere hoy en día mantener el ecosistema de Bitcoin o el ecosistema Ethereum. Realmente hay muchos mineros que hoy en día prácticamente no están recibiendo ganancias, están en un punto cero y esto, pues, también afecta a la seguridad y mantiene como los costos muy altos. Entonces, si tú realmente quieres empezar a construir sobre un blockchain muchas veces es mejor que empieces tú con tu propio blockchain y prototipos y poco a poco lo vayas escalando y la mejor forma de que creas esto es que hagas un parachain y lo conectes realmente a Polkadot.
Elena: Okey. Entonces, a mí me da la sensación que estamos hablando de un producto que debe ser muy interesante para los desarrolladores pero que está todavía en sus primeros pinitos y que nosotros, los usuarios veremos cuando se transformen en herramientas concretas que podamos ponerle la mano real, es así ¿No? Ese es el gran conflicto que estoy teniendo por entender todas las abstracciones que me estás comentando ¿No?
Ricardo: Correcto, sí. Justamente es eso, estamos creando las capas base ahorita en Polkadot y poco a poco se van a ir creando diferentes parachains, diferentes blockchains que van a estar conectados a Polkadot, que van a permitirle al usuario final tener diferentes tipos de interacción.
Elena: Magnífico. Ustedes tienen en este momento un evento que se llama “Hacktoberfest” y están invitando a innovadores de la blockchain a participar.
Ricardo: Sí, exactamente. Este evento justamente busca crear una comunidad global, no solamente es un evento local en Alemania, sino que, realmente, por ejemplo, tenemos gente que está en Japón en este evento en el Devcon de Ethereum y, pues, prácticamente también hay en paralelo en bueno, en algunos otros momentos hay ciertos workshops, ciertos eventos de comunidad justamente para incentivar que la gente realmente empiece a explorar esta nueva tecnología.
Elena: ¿La gente o los desarrolladores o las empresas?
Ricardo: Los desarrolladores. Principalmente sí, desarrolladores y realmente los aventurados que realmente quieren hacer algo…
Elena: Ponerle la mano a un modulito de un montón de librerías con las que pueden ir armando juguetitos y probar.
Ricardo: Exactamente. Un montón de estas librerías que permiten crear algo nuevo y sobre eso ya crear una aplicación.
Elena: Bueno, entonces, a nuestros oyentes desarrolladores les informo que el enlace va a estar en las notas del episodio por si se interesan. El evento está abierto, ya hay documentación, están invitando a unirse a la comunidad y tutoriales diversos para que se diviertan un rato.
Ricardo: Sí, realmente justo en ese enlace, el de Substrate.dev tenemos muy buenos tutoriales que cada vez se van extendiendo y actualizando para explicar más a detalle cómo puedes crear tus propios blockchains y unirlos justamente a Polkadot.
Elena: Exacto, y ahí están los enlaces, tienen las GitHub y un montón de juguetitos para que se entretengan un rato. Lo que sí quedó es la sensación de que hay como bandos y la sensación de que hay gente que dice que así no se puede desarrollar y que esa no es la manera y que uno debe ser fiel a un dios blockchain y rendirle tributos a un solo dios blockchain, me parece que eso también lo están disrrumpiendo ustedes, o sea, no están contentos con disrumpir una cosa, sino que…
Ricardo: Una de las cosas principales justo que Gavin ha dicho mucho en sus conferencias es que no creemos en que un solo blockchain va a ser realmente la solución a todo, va a ser el que acapare todo el mercado y el que gane todo, sino que, realmente los blockchains se van a crear conforme a las necesidades que existan en el ecosistema, necesidades sean de negocios, sean diferentes necesidades que ayuden a ONG o a cualquier cosa en ese estilo ¿No? Entonces, prácticamente estas reglas de negocio van a estar desarrolladas más a nivel de un blockchain no forzosamente a nivel de smart contracts que reducen muchísimo la escalabilidad si solo nos quedamos con smart contracts.
Elena: Solamente nos quedamos con smart contracts suena ya eso solito como una herejía.
Ricardo: Pues sí, justamente hay muchas cosas que podemos pensar y crecer, crear nuestros propios módulos, podrías crear tus propios smart contracts con una cosa súper innovadora y prácticamente se lo puedes dar a la comunidad con Substrate, y la comunidad podría estar utilizándolo. O sea, la otra ventaja de Substrate es que, pues, todo es abierto, entonces, si tú creaste tu propio módulo, ese módulo se lo puedes dar a la comunidad y la gente podría estar utilizándolo y prácticamente es como crecer el ecosistema más allá de solamente tener todas las reglas establecidas para un blockchain específico.
Elena: Magnífico. La diversidad, yo estoy muy a favor de la diversidad, el poli amor, muy a favor del poli amor, y entonces, bueno, Ricardo nos está invitando a participar en una comunidad de desarrolladores llena de soluciones, estamos buscando problemas, por favor traigan problemas.
Ricardo: Perfecto, sí. Lo que necesitamos justamente es encontrarles soluciones a estos problemas.
Elena: Bueno, Ricardo tiene Twitter, está en @RiusRicardo todo junto, por si acaso quieren comunicarse con él, hacerle preguntas, invitarlo a algún lado o sumarse a la comunidad del planteamiento que está haciendo la comunidad de Substrate que parece muy interesante. A ver Ricardo, cuéntame algo, de todas las cosas que está entregando Polkadot, que está entregando Substrate ¿Qué es eso que solamente tú sabes y que todo el mundo tiene que saber?
Ricardo: Bueno, una de las cosas más importantes también que tenemos, que tiene hoy en día la versión previa de Polkadot y que está desarrollado a través de Substrate es la forma en cómo se actualiza la red.
Elena: Okey.
Ricardo: La forma de actualizar hoy en día, por ejemplo, Bitcoin o Ethereum, resulta que debes hacer un fork aunque realmente mucha gente no se da cuenta de esto. Cada vez que creas una nueva regla prácticamente podrías dividir a la red ¿No? Dividir si la gente no actualiza a tiempo sus nodos.
Elena: Sí, todos sabemos lo traumáticos que son los forks. Son peor que un divorcio. La gente se apuñala en la espalda, se pelean por los hijos, es una cosa horrible.
Ricardo: Es una cosa espantosa, pero, digamos que en este caso lo que sucedes es que, por la forma en cómo está desarrollado utilizamos una nueva tecnología también aquí que se llama WebAssembly que…
Elena: ¡Otra nueva tecnología! ¡Justo lo que me hacía falta!
Ricardo: Otra cosa innovadora, pero la ventaja de esta tecnología es que, gracias a esta tecnología realmente nos permite no actualizar con forks. WebAssembly es una máquina virtual chiquita, una forma de tener estas reglas de negocio que vamos a utilizar directamente en nuestro nodo solamente cuando han cambiado las reglas de negocio. En lugar de que, porque nosotros, o sea, la actualización hoy en día, todavía se da por proof of autority, después va a pasar con gobernanza de proof of stake y entonces la comunidad va a empezar a sugerir cambios y cosas de ese estilo, cuando esos cambios se den lo que va a suceder es que vamos a actualizar sin realmente generar este fork, y esto es prácticamente que va a checar este código, esta es una de las ventajas de WebAssembly que es un código súper chico, súper compacto, lo vamos a poner directamente en el blockchain de Polkadot y cada cliente, cada nodo que esté conectado a este blockchain va siempre a estar leyendo ese código y leer el código que él tiene registrado. Si el código del blockchain es más nuevo, o sea, este código de WebAssembly es más nuevo que el código que tiene el nodo actualmente, va a ejecutar este de WebAssembly, por lo tanto, siempre va a estar ejecutando las nuevas reglas y nunca vas a tener un fork, siempre vas a estar a la vanguardia allí.
Elena: Okey. Da la sensación entonces de que el fork no es opcional, todo el mundo a caminar derechito con la línea marcada.
Ricardo: Correcto, sí. Todo mundo va a seguir estas mismas reglas porque, simplemente, cada vez que se hace sin tener que decir, así como el fork, el fork viene en estos divorcios como mencionabas. Siempre los forks se dan cada vez que hay una actualización. El 90% de las veces que se actualiza un cliente hay cierto tipo de fork, por ejemplo, porque se cambian las reglas de negocio ¿No? Entonces se empiezan a rechazar los bloques anteriores y todo mundo tiene que empezar a utilizar los nuevos bloques, tienen que aceptar los nuevos bloques. Al hacer esto, pues, justamente sin querer, se crean forks, pero como toda la gente entra en consenso de que quieren seguir las nuevas reglas de negocio, todo el mundo agarra y baja el nuevo código y lo mete en su nodo, en su validador y muchas veces esto requiere, por ejemplo, ocurrió en el caso de Ethereum que hubo una propuesta que podía introducir un problema, un ataque, entonces, rapidísimo tuvo que comunicarse a toda la comunidad en cuestión de horas que no actualizaran porque justamente iban a introducir un ataque y todo se volvió un dilema hacer esta actualización y entonces se tuvo que hablar con muchísimas personas de la comunidad y todo para que esparcieran rápido esta información y se logró prevenir este fork. Simplemente este no sería el caso para Polkadot o para cualquier blockchain construido sobre Substrate por esta gran ventaja que trae utilizar WebAssembly para evitar justamente tener este tipo de forks y actualizar de forma súper limpia.
Elena: Sí, da miedo. De nuevo, los sustos que me dan a mí. Este tipo de disrupciones tan masivas a tantos niveles, de repente se me ocurren cosas como, por ejemplo, así como Ethereum con todo y el cuidado que tiene su comunidad tuvo que hacer un abort de la actualización porque viene con más problemas que soluciones, una actualización automática pues tiene más riesgos no menos.
Ricardo: En realidad sí son menos riesgos, pero, la cuestión es que, en lugar de que sea como automática prácticamente digamos que tiene el mismo proceso que en Ethereum, solo que, la diferencia en este caso sería que, en lugar de tener que decirle a toda la gente, así como “realmente todo el mundo aje el código, etcétera”, se hace esta votación y si la mayoría votó justamente una votación descentralizada, votó porque se haga el cambio o se revierta el cambio se mete el código de esa forma. Entonces, trae muchos más beneficios porque permite hacer estas actualizaciones mucho más limpias y evitar que la red se divida y divida todo este poder y todo el gasto de energía que hay.
Elena: Bueno, entonces mantenerlos en la vista y seguirles la pista para ver cuáles son las soluciones que van a traer a los nuevos ecosistemas.
Miguel: ¿Existe alguna opción en el caso de que alguna actualización automática sea malévola o sea dañina? O sea ¿Hay algo que la detenga? En el caso de que pase sin querer.
Ricardo: Digamos que es el mismo riesgo de todos los blockchains en este sentido ¿No? O sea, no hay como esa razón para que exista una actualización automática como tal, simplemente todo es igual, hay un consenso, es la misma forma, el código está libre para cualquier cliente de Bitcoin, de Ethereum o, en este caso, igual va a ser Polkadot o Substrate, prácticamente la gente decide cómo actualizar ¿No? En el caso de que no haya una actualización o una actualización sea, pues, maligna, prácticamente ese problema se propaga a todos los clientes y en nuestro caso igual, hay que tomar las mismas precauciones que existen para cualquier otro hecho.
Miguel: Realmente no. Me parece una tecnología bastante interesante, me parece que, digamos que, da miedo porque cuando hablamos de…
Elena: Me tranquiliza que a ti también te de miedo.
Miguel: Sí, no, no. Da miedo en el sentido de que es algo muy grande, la seguridad es vital en este sentido. Hay cositas que obviamente no importa el nivel de usuario creo que sí da miedo que son, por ejemplo, las actualizaciones, las formas y las reglas para que funcione cada blockchain y todo esto. Pero, en cuanto a propuestas, está súper interesante, como dice Elena, vamos a ponerle el ojo, vamos a seguirlo porque de verdad que sí, lo que dijo al principio ¿Por qué no estamos ya rezándole y diciendo okey esto es lo que se viene?
Elena: Y no hemos tocado temas como, por ejemplo, anonimato, privacidad, reversibilidad. No hemos tocado temas como redes privadas, a ver cómo funciona una blockchain privada con un módulo como este, o cómo funcionan las públicas. Realmente, lo único que hicimos fue un “vuelo de pájaro” muy superficial, la idea era que nos aclaráramos un poco y la sensación que me deja es que no nos aclaramos nada. Lo único es que estamos todos abrumados de la profundidad y de lo amplio de la propuesta que tiene Substrate y Polkadot.
Ricardo: Es completamente entendible justamente todas estas nuevas cosas que vienen en camino, por eso es red de siguiente generación y no solamente ya…
Miguel: Es la típica resistencia al cambio de los usuarios, o sea ¿Cómo paso? Estoy aprendiendo a gatear con Bitcoin y ahora tú me dices de redes paralelas, de las side chains, que tengo mis reglas, entonces ese montón de conceptos que empiezo a digerir que, epa, ya va…
Elena: Para redes, para blockchain, protocolos distintos, soluciones modulares, comunidades de desarrolladores trabajando en distintas blockchains cada uno con soluciones modulares.
Ricardo: No, claro. Entiendo, entiendo realmente la complicación que tiene, pero sí es, es realmente súper emocionante poder estar en este lado de la tecnología y poder ver como el ecosistema está creciendo y exploramos nuevas soluciones que puedan tener un gran impacto.
Elena: Y sí. Todavía no hemos tocado para nada los problemas existenciales, sociales que pueden disrumpir un planteamiento como este, no lo hemos ni tocado. Así que, de verdad, qué época tan maravillosa para estar vivos.
Ricardo: Totalmente de acuerdo.
Elena: Ricardo, te agradezco muchísimo la paciencia, sobre todo mis preguntas no deben haber sido las que usualmente recibes, gracias por la paciencia de responder y tratar de hacer entendible una cosa tan profundamente compleja a tantos niveles. Miguel, muchísimas gracias por surfear todos los problemas técnicos que has tenido y que sin embargo has estado aquí.
Miguel: Gracias a ti Elena por soportarme.
Elena: No, para nada, para nada. Ha sido un gusto. Ricardo, de verdad un gusto.
Ricardo: De verdad, muchísimas gracias. Agradezco tu tiempo Elena, gracias Miguel. Realmente ha sido muy padre participar aquí con ustedes.
Elena: Extendemos la invitación a todos nuestros oyentes, si quieren saber más del tema vamos a dejar los enlaces en las notas del episodio y Ricardo se ha puesto a la orden por su Twitter @RiusRicardo. A todos nuestros oyentes, gracias por escuchar.