🇪🇸 IOHK | Pizarra en blanco de Cardano; visión general con Charles Hoskinson (Parte 1 de 2)

:es: Transcripción al español de ¨IOHK | Cardano whiteboard; overview with Charles Hoskinson¨

Publicado el 26 de Octubre de 2017 en el canal de Youtube de IOHK

Ir a la versión doblada al español


¿Que tal? Soy Charles Hoskinson, Director General de Input Output Honk Kong y estoy aquí para hablar un poquito acerca de Cardano. Entonces, para entender Cardano primero tienes que entender de dónde vino Cardano. Hablemos de la primer generación de criptomonedas, la primera generación es Bitcoin, y el problema que Bitcoin estaba tratando de resolver era, ¿Podemos crear dinero descentralizado? ¿Podemos crear cierto tipo de token que viva en un cierto tipo de blockchain descentralizada, mantenida por gente del mundo entero? Y ese token será escaso, comercializable. Entonces cuando Alice y Bob quieren enviarse valor entre ellos, habrá un mecanismo para realizarlo, que no requiere de confiar en un tercero, un intermediario de confianza.

Esta fué una muy genial e interesante idea, tiene raíces muy viejas, comenzando en 1980 y en adelante. Pero Bitcoin fué el primero en poner todas estas ideas juntas, y fué un experimento tremendamente exitoso. Luego de un par de años Bitcoin no sólo obtuvo miles de usuarios, pero también comenzó a valer dinero real. Los tokens se fueron de menos de un centavo hasta un dólar, eventualmente a cien dólares y en ese período de tiempo vimos una enorme cantidad de gente decir ¨wow, esto es muy interesante"

Sin embargo el inconveniente es que la transacción entre Alice y Bob tiene más que el mero acto de mover dinero, hay una historia detrás de esa transacción, hay términos y condiciones, por ejemplo .¿Que pasa si Alice le dice a Bob te envio mi dinero si y sólo si reparas mi techo? Esto es un contrato, esta es la historia. La primer generación blockchain no era muy apropiada para esto, cada vez que alguien quería hacer un cambio a Bitcoin debían crear una nueva criptomoneda, o debían resolver cómo instalar un engorroso protocolo superpuesto como master coins o color coins

Entonces, en 2014, Vitalik Buterin, yo mismo y muchos otros nos juntamos y lanzamos la segunda generación de blockchain y esta es Ethereum. Ethereum es como cuando el Javascript llegó al navegador, fuimos de esas páginas simples y estáticas, no eran muy funcionales pero al menos hacían algo a páginas que eran completamente programables, que nos permitieron crear los Facebook, los Google, los Gmail, las experiencias que hemos llegado a conocer y querer. Ethereum trajo un lenguaje de programación a una blockchain, este paradigma de lenguaje de programación permitió a los contratos inteligentes, ser escritos para poder obtener transacciones personalizadas. Entonces cuando Alice envía ese valor a Bob, todos esos términos y condiciones pueden ser incrustados dentro de la transacción, puede ser hecho a la medida de sus necesidades particulares.

Este paradigma, como Bitcoin, también despegó y ahora Ethereum es una de las más importantes criptomonedas y tiene una gran comunidad de desarrolladores. Desafortunadamente, al igual que con Bitcoin, estamos entrando en una nueva esfera, vamos a pasar a la tercer generación. Nos dimos cuenta que Ethereum no puede escalar a millones de usuarios, billones de usuarios. Ethereum realmente no provee una buena experiencia para los desarrolladores, todas las criptomonedas realmente tienen una mala experiencia de gobernanza en este momento, cada vez que hay un desacuerdo, en vez de encontrar un modo de solucionarlo, terminamos diciendo cosas como Ethereum o Ethereum Classic o cosas como Bitcoin o Bitcoin Cash.

Además hay problemas de sustentabilidad en el espacio, es decir, después de que el dinero de una ICO ha sido enviado, para un proyecto que ha sido financiado de esta forma, digamos que el capital de riesgo se agota, ¿Quién financiará el crecimiento de la cadena, quién financiará de hecho el crecimiento del ecosistema? Estas son grandes preguntas abiertas. Entonces la tercera generación es acerca de tres grandes asuntos. Uno es escalabilidad, dos es interoperabilidad y finalmente esta noción de sustentabilidad.

En el proyecto Cardano, nuestra filosofía, nuestra visión es el cómo solucionar cada una de estas categorías de un modo que sentimos que va a heredar las mejores funciones y lecciones aprendidas de la primer y segunda generación, pero al mismo tiempo agregar un montón de nuevos conceptos y tecnología en el espacio. Y este proyecto, está construido con realmente buenos principios, en concreto dos. Primero, toda la ciencia, las guías, las soluciones a estos problemas atraviesan alguna noción de revisión por pares. Así que vamos a conferencias, escribimos documentos científicos apropiados, nos comprometemos con universidades, segundo, a toda la ingeniería, tenemos el objetivo de eventualmente implementar código de alta seguridad, lo que significa que el mismo tipo de técnicas que uno podría ver en un motor jet, donde la falla del sistema resulta en muertes humanas. Podemos aplicar estas técnicas a nuestros protocolos de ingeniería y desarrollo, entonces tendremos una mucha mayor creencia en la calidad del código, para prevenir eventos como el Dow, el Parity hacks y ese tipo de cosas que hemos visto en el espacio. Vayamos dentro de cada una de estas categorías en detalle, comenzando con escalabilidad.

La escalabilidad es una especie de término cargado y tiene un montón de significados, pero desde una perspectiva de criptomonedas, puedes pensar en escalabilidad en tres distintas perspectivas. Una es escalabilidad en términos de transacciones por segundo, así que a menudo escuchas a la gente decir ¨Bitcoin tiene 7 transacciones por segundo, Ethereum tiene 10 o 20 transacciones por segundo, este nuevo protocolo tiene 200 transacciones, 300 transacciones por segundo¨ Esta noción de cuantas transacciones puedes meter dentro de un bloque en un período finito de tiempo. Pero no es la única cosa de la que tienes que preocuparte, las transacciones llevan datos. A medida que tienes más transacciones requerirás de más recursos network. Entonces también está esta noción de ancho de banda o network, donde para que un sistema pueda escalar a millones y billones de usuarios, ese sistema puede requerir cientos de megabytes a gigabytes por segundo de ancho de banda para ser capaces de soportar todos los datos que lo están atravesando. Esto es común para empresas pero no donde debemos estar en un mundo peer to peer (de pares). Finalmente esta esta noción de escala de datos. Las blockchains guardan cosas, esperemos que para siempre, así que cada vez que incluyes una transacción, independientemente de si sea relevante o no, entra en un log, y a medida que tienes más y más transacciones por segundo, necesitas más datos, y como consecuencia, las blockhains van a crecer de megabytes a gigabytes a terabytes a petabytes y potencialmente incluso exabytes. De nuevo, esto está bien en el mundo network, pero cuando hablamos de un sistema replicado cuyo modelo de seguridad se basa en que cada nodo tiene una copia de la blockchain, esto no es manejable por dispositivos de consumo. Entonces, con Cardano, estamos tratando de solucionar estos problemas de un modo elegante, concretamente, a medida que agregamos gente a la red de trabajo, naturalmente ganamos más transacciones por segundo, obtenemos más recursos de red de trabajo y eventualmente tendremos una mayor capacidad total de almacenamiento de datos sin comprometer el modelo de seguridad.

Hablemos un poco de las innovaciones que ya hemos traído, a saber, hemos desarrollado un documento revisado por pares para un protocolo de prueba de participación probadamente seguro, llamado Ouroboros. Y Ouroboros es uno de los protocolos más eficientes dentro del espacio de criptomonedas y es en realidad el primero en ser probadamente seguro en una forma criptográfica muy rigurosa. La magia de Ouroboros es que fue diseñado en forma modular y está diseñado en su ADN para ser futuramente probado. Ouroboros funciona partiendo el mundo en épocas, toma una mirada a la distribución de los tokens y desde una fuente de números aleatorios realiza una elección y crea líderes de slot (franja), estos líderes de slot funcionalmente realizan la misma cosa que un minero haría en Bitcoin. Esto es básicamente lo mismo a que cuando una persona descubre y gana un bloque en Bitcoin. Pero la diferencia es que no requiere esa extensa cantidad de recursos computacionales que Bitcoin utiliza para construir un bloque, y como consecuencia, este sistema es considerablemente más barato de operar, teniendo incluso garantías de seguridad similares a las que Bitcoin actualmente disfruta, osea que es un gran avance. Pero la otra cosa realmente interesante es que el líder de slot no tiene que sólo mantener un único bloque, una única cadena, pueden en realidad mantener otros bloques y otras cadenas, porque el costo de construir un bloque es tán bajo, en realidad es posible hablar de consenso sobre un rango de blockchains en vez de una única cadena. Además, las épocas podrían ejecutarse en paralelo, entonces en vez de tener una época ejecutándose y luego otra época ejecutándose, la primera podría desarrollar un sistema usando Ouroboros donde las épocas se ejecutan en paralelo y las transacciones son en consecuencia fraccionadas. Lo que efectivamente esto significa es que que a medida que ganas más usuarios y tus usuarios ganan más habilidades, estos líderes serán capaces de mantener más tipos de blockchains y ejecutar el procesamiento de transacciones blockchain en paralelo. Este es un avance considerable, la otra cosa genial es que Ouroboros tiene estándares de seguridad muy rigurosos en términos de sus fundaciones teóricas así como también para las implementaciones, como consecuencia, a medida que desarrollamos más capacidades para el protocolo, estas capacidades son de alguna forma componibles, significa que estás capacidades también serán seguras, mientras que otros sistemas tienen que probar esto caso a caso y en algunas ocasiones teniendo que realizar modificaciones considerables a su sistema.

Además de esto, en Ouroboros intentaremos tener resistencia cuántica, con suerte en algún momento de 2018, cuando los líderes de slot firmen el bloque, estarán usando un esquema de firma de resistencia cuántica, osea que podemos tener un sistema futuro incluso más probado. Esa es una especie de primera vista ¿Cómo construímos una manera de mantener la red que no cueste 300 mil dólares por hora?, que es lo que actualmente Bitcoin cuesta, a la corriente cotización de mercado, que es cinco mil por moneda ¿Y cómo construimos un sistema que nos permita ir en paralelo y tambíen nos permita mantener muchas cadenas simultáneamente, este es el corazón de Ouroboros.

Como mencionamos anteriormente, una de las cosas más importantes al desarrollar una criptomoneda es asegurarse de que la criptografía es desarrollada en forma muy rigurosa y revisada por pares. De hecho, Ouroboros fué aceptado en Crypto 17, nuestro equipo fué ahí para presentarlo y las versiones futuras del protocolo continuarán atravesando más rigurosas revisiones por pares, dándonos certeza de que el diseño conceptual es correcto. La otra parte es que de hecho estamos modelando una especificación formal de Ouroboros usando cálculo lateral, el cual es un magnífico lenguaje de modelación formal que es comprensible por las máquinas, que eventualmente será capaz de ser conectado con el código Haskell en nuestro repo Github y de hecho mostrar que hemos implementado el código de forma correcta. Este es un estándar que actualmente no existe en nuestro ecosistema y estamos muy emocionados en ser los primeros en traerlo a este espacio.

Pero esa no es la única cosa requerida para la escalabilidad, también necesitas la habilidad de mover grandes cantidades de datos al mismo tiempo. A medida que nuestra red crece de unos pocos cientos de transacciones por segundo a miles, decenas de miles, a cientos de miles de transacciones por segundo, no puedes mantener una topología homogénea de red de trabajo. En otras palabras, no puedes tener una situación donde cada nodo tiene que relatar cada mensaje, porque habrá nodos que no tendrán esas capacidades, especialmente a medida que crecen. Así que actualmente estamos mirando a un nuevo tipo de tecnología llamada RINA, y esto significa Recursive Inter Network Architecture, entonces RINA básicamente es una nueva forma de estructurar las redes de trabajo, usando normas y principios de ingeniería muy inteligentes, mayormente concebidos por John Day, de la Universidad de Boston y el objetivo aquí es construir una network heterogénea que te da similares tipos de garantías de privacidad, garantías de transparencia, garantías de escalabilidad que esperarías tener en un protocolo TCP/IP, pero, construida de una forma en que realmente puedes razonar acerca de cómo la red de trabajo estará compuesta en una capacidad formal. En otras palabras, RINA es un gran paso adelante que nos dará una forma muy natural de afinar y configurar Cardano mientras crece de cientos a miles a decenas de miles de transacciones por segundo y algo que sin inconvenientes se conectará e interoperará con TCP/IP, estamos muy emocionados de traer esto en parte durante el 2018 y completamente alrededor de 2019 y pensamos que va a ser una gran solución para muchos de los problemas de sobrecarga en las redes de trabajo que tenemos

Finalmente, tenemos esta noción de escala de datos, y está entre uno de los problemas más difíciles de resolver, y es uno al que continuamos mirando y examinando. Pero la realidad es que no todo el mundo requiere todos los datos, las transacciones que Alice le envía a Bob no son necesariamente relevantes para Jane y Bill, son solamente relevantes en el contexto de que esta gente es capaz de transferir la propiedad de su dinero y saber que los tokens que están recibiendo son legítimos y correctos. Tienes técnicas como el pruning, técnicas como las suscripciones y alguna forma de compresión que al ser aplicadas en un entorno de una forma muy inteligente puede en realidad reducir sustancialmente la cantidad total de datos que un usuario tiene que tener. También está la idea de particionamiento, es donde un usuario en realidad no tiene una copia entera de la blockchain, más bien tienen un fragmento a diferencia de otros muchos fragmentos y esta noción de que puedes poner todas estas cosas juntas.

Uno de los objetivos del proyecto Cardano es estudiar esto de forma muy rigurosa y llegar a una nueva arquitectura blockchain a medida que se vuelve necesaria, que permitirá a la gente tener cantidades menores de datos, pero en un total, obteniendo el mismo nivel de garantías de seguridad de que las transacciones que reciben, que los cómputos que se han ejecutado son correctos.

Parte de esta investigación también involucra algunas de nuestras ideas acerca de cadenas laterales, hablaremos de ello en la sección de interoperabilidad pero como una mención resumida, todo lo que una cadena lateral es, son dos componentes, primero es la noción de crear una representación comprimida de una blockchain y esta esta noción de crear interoperabilidad entre las cadenas, estamos traduciendo transacciones entre cadenas.

Algunas de las cosas que hemos podido probar con nuestra reciente investigación en cadenas laterales nos dan esperanza de que podamos crear representaciones comprimidas de una blockchain mientras crece de gigabytes a terabytes a petabytes y que estas comprobaciones nos dan un alto nivel de certeza de que la transacción que estamos viendo, la historia que estamos viendo es correcta, incluso siendo estas pruebas tan pequeñas, de megabytes a kilobytes. Así que esta es nuestra solución para los datos, es enfocarla con una visión pragmática, donde estamos en algunos casos restringiendo lo que la gente ve en una muy inteligente base de caso a caso, particionamos las cosas donde y cuando podemos y encontramos formas criptográficas realmente inteligentes de comprimir historia, lo que nos da el mismo nivel de confianza incluso cuando no lo tenemos todo. Pero hacemos esto en una forma en que no remueves la duplicación original de garantía de seguridad que Bitcoin ha provisto al espacio

El otro hecho afortunado es que que las TPS tienden a crecer, los recursos de red también tienden a crecer. El almacenamiento todavía es relativamente barato y disponible así que creemos que el lado de la escala de datos de Cardano es algo que no tenemos la urgencia de resolver hasta fines de 2018, mitad de 2019. La investigación acaba de comenzar, en la Universidad de Edimburgo y tenemos intenciones de continuarla y creemos que tendremos las primeras aproximaciones probablemente a mediados de 2018 y eventualmente tener una solución total para el problema para fines del 2019 para el sistema.

Este es como el primer componente, construyamos un protocolo que nos permita escalar las transacciones por segundo, entonces a medida que ganamos más gente dentro del sistema obtenemos un mayor rendimiento. Creemos un apilamiento de red desarrollado por uno de los pioneros de la internet de los comienzos que ha aprendido de algunas de las lecciones que TCP/IP y otros sistemas tienen. Es un poco menos frágil y un poco más fácil de afinar y configurar por lo que puede manejar un gran número de redes heterogéneas basados en escenarios de la vida real y surjamos con alguna manera inteligente de manejar los datos en el sistema sin comprometer las garantías de seguridad. Cuando el particionamiento sea adoptado, algo parecido a BitTorrent, de hecho ganas un montón más de recursos para el almacenamiento total. Entonces, si no tenemos que replicar la base de datos, más bien la podemos distribuir, hay una esperanza de que podamos construir gran sistema de archivo distribuido para Cardano y tener totalmente disponible petabytes de datos incluso si un usuario particular sólo posee una pequeña cantidad.

Así que ese es el primer pilar, esta noción de escalabilidad, pero la tercera generación demanda dos más y por eso, para el proyecto Cardano haremos estas cosas. Primero, está esta idea de interoperabilidad que dice que no habrá un token para gobernarlos a todos, así que perdón Bitcoin. Tendrás muchas redes de trabajo, como Ethereum y Bitcoin y Ripple y sistemas heredados, como las networks tradicionales de bancos, ejecutándose en viejos protocolos como Swift y más antiguas networks de contabilidad como ACH, etc. Y todos estos sistemas hablan su propio idioma y todos estos sistemas tienen sus propias lógicas de negocio y sus propias reglas. Actualmente, es muy difícil para Ethereum y Bitcoin entenderse entre ellos, sustancialmente más para las viejas network bancarias, las cuales tienen el requisito agregado de metadatos y atribuciones a las transacciones.

El problema es que si no tienes un estándar, si no tienes una forma convencional de comunicarte con estos sistemas, entonces entras en una situación donde el valor se ve muy fragmentado. Así que independientemente de cuán descentralizado sea cualquiera de estos ecosistemas en particular, los hacedores de reyes serán los pequeños centros de embarque y desembarque que controlan los movimientos de valor entre los sistemas. Actualmente los vemos como exchanges (intercambiadores), pero hay otros que podrían venir y estos exchanges son muy frágiles, están sujetos a ser hackeados, están sujetos a severas regulaciones, ocasionalmente son cerrados debido a políticas regulatorias desacertadas o en algunos casos a acertadas políticas regulatorias. Y esta no es realmente una buena situación para estar en un supuesto ecosistema descentralizado desprovisto de permiso, el tener un pequeño número de actores que controlan si uno puede convertir su valor de un sistema a otro sistema. Además, cuando la gente hace negocios en este mundo, si estos negocios son regulados e incluso si son semi regulados, usualmente tienen que comunicarse e interactuar con el mundo financiero tradicional. Por ejemplo, digamos que eres una compañía de criptomoneda y emites un token ERC20. Digamos que tienes una venta en masa para ese token ERC20 y recaudas millones de dólares por valor de Ether, y como una compañía real, con una cuenta bancaria, en una jurisdicción legal empiezas a vender ese Ether y a depositar millones de dólares en tu cuenta bancaria. Bueno, el banco es una entidad regulada y la primer pregunta que te harán es ¿De dónde sacaste estos millones de dólares? Y el banco te pedirá que expliques, que proveas detalles y tu dirás ¨Ah sí, tuve una venta en masa y vendí un token ERC20 y recibí un montón de Ether¨ Te preguntarán quién te los dió, quienes son tus clientes y tu responderás ¨gente de la internet¨. Desafortunadamente esa no es una buena respuesta y esta entidad, como entidad de negocios regulada, tiene que presentar reportes de actividad sospechosa, tiene que lidiar con gente de su lado como el Departamento de Tesoro o quizás la Unión Europea, etc, estas entidades sienten que esta es una proposición muy riesgosa y esta es la desafortunada realidad en la que tendemos a vivir en nuestro mundo, tenemos enlaces cruzados frágiles a lo largo de las criptomonedas así como también en el sistema financiero tradicional y no hay forma de escalar transacciones en una forma muy natural para que cuando uno quiera hacer negocios con el mundo tradicional, esos metadatos, atribuciones, información de observancia que uno desearía tener no está presente y como consecuencia, cualquiera haciendo negocios aquí automáticamente se convierte en un negocio de alto riesgo, esta es una situación desafortunada.

La idea de la criptomoneda de tercera generación con respecto a la interoperabilidad, es una criptomoneda que tiene la capacidad de entender y mirar otras criptomonedas. Una criptomoneda que cuando ve a Ethereum y un evento ocurriendo aquí, puede de hecho verificar si el evento es verdadero o falso, por ejemplo, si Alice dice que tiene Ether y envía Ether a Bob, esta criptomoneda debería ser capaz de saber que la transacción es legítima si es algo que le concierne a la criptomoneda de tercera generación. Entonces las transacciones a través de las cadenas son fiables y deberían poder ser capaces de hacer esto sin la necesidad de una tercera parte, eso es lo más importante, porque queremos crear una internet de blockchains, una internet de valor que fluye tan fácilmente como Bitcoin lo hace o Ether lo hace, nos queremos mover a través de las cadenas.

El primer componente de esto es tener una cierta noción de las cadenas laterales, aunque esto no es una idea nueva, atomic swaps a través de las cadenas laterales han estado por aquí hace mucho tiempo, han sido propuestas en 2012, quizás antes. Pero el concepto básico es que hay alguna manera de estructurar la información desde una cadena a otra cadena de forma que cuando una transacción es enviada, esa compresión estructurada de información, te da la habilidad de saber si esa transacción es legítima o no. En otras palabras, la persona que te está enviando de hecho tiene ese valor y también ese valor no ha sido gastado dos veces, es un concepto muy importante. El otro lado de esto es que tienes que tener la habilidad de hacer esto en una forma muy comprimida, hay más de mil criptomonedas en uso, y las criptomonedas se están volviendo largas y más largas, entonces no puedes decir ¨Bueno, la única forma de entender la otra blockchain es teniendo una copia de la blockchain del otro sistema¨, esa no es una solución escalable, tienes que ser capaz de ver a estos sistemas de forma muy comprimida.

Ir a la Parte 2 de 2

3 Likes