¿Qué es la Blockchain Cardano? La guía más completa de la historia! Parte 1 de 2

Traducción al español :es:

Documento original por cortesía de Blockgeek y compartido en Adaevo.
Publicado en Abril 2018.

¿Qué es Cardano?..

Uno de los proyectos más interesantes que se han realizado es el de Cardano. Similar a Ethereum, Cardano es una plataforma de contrato inteligente, sin embargo, Cardano ofrece escalabilidad y seguridad a través de una arquitectura en capas.

El enfoque de Cardano es único en el espacio en sí, ya que se basa en la filosofía científica y en la investigación académica revisada por expertos. En esta guía, vamos a hacer un estudio detallado de Cardano y comprobar algunas de las innovaciones más interesantes que trae a la mesa. Si estás más interesado en aprender a construir tu propio Cardano - por favor, echa un vistazo a nuestros cursos de cadenas de bloques (blockchain).

Los orígenes de Cardano

Cardano fue conceptualizado por Charles Hoskinson, uno de los cofundadores de Ethereum.

En la foto de abajo: Charles Hoskinson. Crédito de la imagen: IOHK.

image

Mientras que Ethereum hace un trabajo admirable como plataforma de contrato inteligente, según Hoskinson es una cadena de bloques de segunda generación (más sobre esto más adelante) y necesita evolución. Lo que hace que Cardano sea extremadamente notable es la gran cantidad de cuidados que se dedican a su mantenimiento. Hay tres organizaciones que trabajan a tiempo completo para desarrollar y cuidar a Cardano.

Lo son:

  • Fundación Cardano.

  • IOHK.

  • Emurgo.

La Fundación Cardano es una entidad regulada sin fines de lucro que es la organización de custodia de Cardano. Su función principal es "estandarizar, proteger y promover la tecnología del Protocolo Cardano".

En 2015, junto con Jeremy Wood, Hoskinson fundó IOHK (Input Output Hong Kong). IOHK es una "compañía de investigación y desarrollo comprometida a usar las innovaciones de la cadena de bloques para construir servicios financieros accesibles para todos". Han sido contratados para construir, diseñar y mantener Cardano hasta 2020.

Por último tenemos a Emurgo. Emurgo es una empresa japonesa que "desarrolla, apoya e incuba empresas comerciales que quieren revolucionar sus industrias utilizando tecnología de cadenas de bloques". Gran parte del financiamiento de IOHK proviene de un contrato de 5 años con Emurgo.

Estas tres organizaciones trabajan en sinergia para asegurar que el desarrollo de Cardano continúe a buen ritmo. Por lo tanto, ahora usted probablemente está pensando en por qué Cardano fue requerido en primer lugar. Cardano se describe a sí mismo como una cadena de bloques de tercera generación. Veamos qué significa eso.

Las tres generaciones de Blockchain

Según Charles Hoskinson, hemos pasado por tres generaciones de cadenas de bloques.

Generación 1: Bitcoin y transferencia de dinero

Bitcoin fue creado porque todos hacían las mismas preguntas.

¿Será posible crear una forma de dinero que pueda ser transferido entre dos personas sin intermediarios?

Traducción de los 3 textos del cuadro de arriba:

Un contrato de opción entre las partes se escribe como código en la cadena de bloques. Las personas involucradas son anónimas, pero el contacto es el libro de contabilidad público.

Un evento desencadenante como una fecha de caducidad y un precio de ejercicio se produce cuando el contrato se ejecuta a sí mismo según las condiciones codificadas.

Los reguladores pueden utilizar la cadena de bloques para comprender la actividad en el mercado, manteniendo al mismo tiempo la privacidad de las posiciones de los actores de individual´s

¿Será posible crear un dinero descentralizado que pueda funcionar en algo como la cadena de bloques?

Satoshi Nakamoto respondió a estas preguntas cuando creó bitcoin. Finalmente tuvimos un sistema monetario descentralizado que puede transferir dinero de una persona a otra.

Sin embargo, había un problema con bitcoin, que es un problema con todas las cadenas de bloques de primera generación, que sólo permitían las transacciones monetarias, no había forma de añadir condiciones a esas transacciones.

Alice puede enviar a Bob 5 BTC, pero no pudo imponer condiciones a esas transacciones. Ella no podía decirle a Bob que él obtendría el dinero sólo si realizaba ciertas tareas.

Estas condiciones requerirían una secuencia de comandos extremadamente complicada. Se necesitaba algo para que el proceso fuera más fluido.

Generación 2: Ethereum y contratos inteligentes

Y ese "algo" fue un contrato inteligente.

¿Qué es un contrato inteligente?

Los contratos inteligentes le ayudan a intercambiar dinero, propiedades, acciones o cualquier cosa de valor de forma transparente y sin conflictos, evitando los servicios de un intermediario.

Ethereum de Vitalik Buterin es fácilmente el más fiel de esta generación. Mostraron al mundo cómo la cadena de bloques puede evolucionar de un simple mecanismo de pago a algo mucho más significativo y poderoso.

Sin embargo, esta generación también tuvo algunos problemas.

A medida que salían más y más casos de uso interesantes de la cadena de bloques, se iban haciendo más y más aceptados.

El problema era que estas generaciones de cadenas de bloques no tenían realmente buenas provisiones para la escalabilidad. Junto con eso, el sistema de gobierno de estas cadenas de bloques no estaba tan bien pensado. Por ejemplo, la división entre Ethereum y Ethereum Classic, según Hoskinson, es un ejemplo clásico de mala gobernanza.

Aquí es donde entra en juego la tercera generación.

Generación 3: Cardano

Hoskinson sabía que la cadena de bloques necesitaba evolucionar aún más. Tomó los elementos positivos de las dos primeras generaciones de blockchain y añadió algunos elementos propios. Lo que surgió de eso fue Cardano.

Los tres elementos que Cardano quería resolver eran:

  • Escalabilidad.

  • Interoperabilidad.

  • Sostenibilidad.

Como se mencionó anteriormente, Cardano es único en el sentido de que se basa en la filosofía científica y en la investigación académica revisada por pares. Toda la ingeniería que entra en él tiene el objetivo final de ser "High Assurance Code". Esto se hace para asegurarse de que hay una creencia mucho mayor en la calidad del código utilizado (más sobre esto más adelante en la sección "Haskell y Plutus"). Esto, según Hoskinson, evitará que ocurran casos futuros como la división ETH-ETC.

Así que, antes de seguir adelante, exploremos la filosofía de Cardano.

La filosofía de Cardano

El equipo de Cardano quiere adherirse a un conjunto de principios y filosofías. No se establecieron con una hoja de ruta adecuada ni con un documento. En cambio, se centraron en adoptar una "colección de principios de diseño, mejores prácticas de ingeniería y vías de exploración".

Los siguientes son estos principios y están tomados directamente del sitio web de Cardano.

  • Separación de la contabilidad y el cálculo en diferentes capas.

  • Implementación de componentes principales en código funcional altamente modular

  • Pequeños grupos de académicos y desarrolladores compitiendo con la investigación revisada por pares.

  • Uso intensivo de equipos interdisciplinarios, incluyendo el uso temprano de expertos de InfoSec.

  • Rápida iteración entre los informes técnicos, la implementación y las nuevas investigaciones necesarias para corregir los problemas descubiertos durante la revisión.

  • Aprovechamiento de la capacidad de actualizar los sistemas desplegados después de la instalación sin destruir la red

  • Elaboración de un mecanismo de financiación descentralizado para la labor futura

  • Una visión a largo plazo para mejorar el diseño de las criptomonedas para que puedan trabajar en dispositivos móviles con una experiencia de usuario razonable y segura.

  • Acercar a los grupos de interés a las operaciones y al mantenimiento de su criptomoneda

  • Reconocer la necesidad de contabilizar múltiples activos en el mismo libro mayor.

  • Abstracción de transacciones para incluir metadatos opcionales a fin de ajustarse mejor a las necesidades de los sistemas heredados.

  • Aprender de los casi 1.000 altcoins abrazando características que tienen sentido

  • Adoptar un proceso basado en estándares inspirado por la Internet Engineering Task Force utilizando una base dedicada para bloquear el diseño del protocolo final.

  • Explorar los elementos sociales del comercio

  • Encontrar un término medio saludable para que los reguladores interactúen con el comercio sin comprometer algunos de los principios básicos heredados de Bitcoin.

Ahora que hemos visto la filosofía, veamos en detalle los tres elementos que Cardano pretende resolver.

Elemento #1: Escalabilidad

Cuando la gente dice "escalabilidad" invariablemente piensa en transacciones procesadas por segundo o rendimiento. Sin embargo, según Hoskinson, eso es sólo una parte del problema. La escalabilidad total es una hidra de tres cabezas, por así decirlo. Uno necesita cuidar de tres elementos separados:

  • Transacciones por segundo/ Rendimiento

  • Red.

  • Escalado de datos.

#1 Rendimiento

Se han escrito muchos artículos sobre la falta de rendimiento en Bitcoin y Ethereum. Bitcoin gestiona 7 transacciones por segundo y Ethereum gestiona 15-20. Esto es absolutamente inaceptable para un sistema financiero.

Cardano espera resolver este problema con su mecanismo de consenso, Ouroboros. Es un algoritmo de Prueba de Participación (Proof of Stake - PoS) y comprobable. Ouroboros fue revisado y aprobado por pares durante Crypto 2017.

Ouroboros, como se dijo antes, es un algoritmo de Prueba de Participación (Proof of Stake - PoS). Antes de profundizar en el mecanismo, debemos saber qué es la prueba de la participación.

Bitcoin y Ethereum (al menos por ahora) siguen el protocolo de prueba de trabajo (Proof of Work - PoW).

La prueba de trabajo como proceso tiene los siguientes pasos:

  • Los mineros resuelven rompecabezas criptográficos para "extraer" un bloque y añadirlo a la cadena de bloques.

  • Este proceso requiere una inmensa cantidad de energía y uso computacional. Los rompecabezas han sido diseñados de una manera que lo hace difícil y agotador para el sistema.

  • Cuando un minero resuelve el rompecabezas, presenta su bloque a la red para su verificación.

Verificar si el bloque pertenece o no a la cadena es un proceso extremadamente sencillo.

Eso, en esencia, es lo que es el sistema de pruebas de trabajo. Resolver el rompecabezas es difícil, pero es fácil comprobar si la solución es realmente correcta o no. Este es el sistema que Bitcoin y Ethereum (hasta ahora) han estado utilizando. Sin embargo, hay algunos defectos fundamentales en el sistema.

El problema con la prueba del trabajo.

Resulta que hay bastantes problemas con la prueba de trabajo.

  • Ante todo, la prueba de trabajo es un proceso extremadamente ineficiente debido a la gran cantidad de potencia y energía que consume.

  • Las personas y organizaciones que pueden permitirse el lujo de contar con ASIC más rápidos y poderosos, por lo general tienen más posibilidades de dedicarse a la minería que las demás.

  • Como resultado de esto, bitcoin no está tan descentralizado como quiere. Revisemos el gráfico de distribución de hashrate:

Crédito de la imagen: Blockchain.info

image

Como puede ver, ~75% del hashrate se divide en 5 pools mineros solamente!

  • Teóricamente hablando, estos grandes pools mineros pueden simplemente asociarse entre sí y lanzar un ataque de 51% en la red bitcoin.

Por lo tanto, para resolver estos problemas, Ethereum recurrió a la prueba de participación como solución.

¿Qué es la prueba de participación?

La prueba de participación hará que todo el proceso minero sea virtual y reemplazará a los mineros por validadores.

Así es como funcionará el proceso:

  • Los validadores tendrán que guardar algunas de sus monedas como participación (stake).

  • Después de eso, empezarán a validar los bloques. Es decir, cuando descubren un bloque que creen que se puede añadir a la cadena, lo validan participando con él.

  • Si el bloque se añade, los validadores recibirán una recompensa proporcional a su participación.

Traducción de los 6 pequeños cuadros de arriba:

Prueba de Trabajo (Proof of Work - PoW)

  • la prueba de trabajo es un requisito para definir un cálculo computarizado costoso, también llamado minería

  • se recompensa al primer minero que resuelva el problema de cada bloque

  • los mineros en red compiten para ser los primeros en encontrar una solución al problema matemático

Prueba de Participación (Proof of Stake - PoS)

  • Prueba de participación, el creador de un nuevo bloque se elige de forma determinista, en función de su riqueza, también definida como participación.

  • En el sistema PoS no hay recompensa por bloque, por lo que los mineros reciben las tasas por transacción.

  • La prueba de participación puede ser miles de veces más efectiva economicamente

Ahora que sabemos cómo es la Prueba de Participación (Proof of Stake - PoS), veamos el mecanismo detrás de Ouroboros.

Cardano: Ouroboros Bajo el Capó

Ouroboros examina la distribución de las fichas en el ecosistema y a partir de una fuente de números aleatorios, divide el mundo en épocas. Cada época se divide en franjas horarias. Cada época dura muy poco tiempo ~20 segundos.

Crédito de la imagen: Cardano Docs

1

Cada franja (slot) tiene su propio líder de franja, que es elegido al azar.

2

El líder de Franja actúa como los mineros en un protocolo PoW en el sentido de que son ellos los que eligen los bloques que se añaden a la cadena de bloques. Sin embargo, sólo pueden añadir un bloque.

3

Si un líder de franja de alguna manera pierde su oportunidad y no elige el bloque, pierde su oportunidad y tendrá que esperar hasta que se convierta en líder de franja de nuevo. Está bien que una o más franjas permanezcan vacías (sin bloques generados), pero la mayoría de los bloques (al menos 50% + 1) deben generarse durante un período.

Como puede ver, los líderes de las franjas tienen un papel muy importante que desempeñar en el ecosistema. Para ser considerado para la calificación, uno debe poseer una participación del 2% en Cardano. Estas partes interesadas se llaman electores y son las que eligen a los líderes de franjas para la siguiente época durante la época actual. Cuantas más participación (stake) tenga el interesado en el sistema, más oportunidades tendrán de ser elegidos como líderes de franjas.

Ahora, ya que los líderes de las franjas tienen mucho poder, se debe tener especial cuidado para que la elección sea lo más imparcial posible. Debe haber alguna cantidad de aleatoriedad involucrada. Esta es la razón por la que se realiza un cómputo multipartito (MPC) para lograr alguna forma de aleatoriedad.

En este enfoque del MPC, cada elector realiza una acción aleatoria llamada "lanzamiento de monedas" y después comparte sus resultados con otros electores. Aunque los resultados son generados aleatoriamente por cada elector, finalmente se acuerdan en el mismo valor final.

La elección se divide en tres fases:

  • Fase de compromiso.

  • Fase de revelación

  • Fase de recuperación.

Exploremos lo que sucede dentro de cada fase.

Fase de compromiso

En primer lugar, un elector genera un valor secreto aleatorio y luego forma un "compromiso". El compromiso es un mensaje que contiene acciones cifradas (tenga esto en cuenta para la fase de recuperación) y una prueba de secreto.

Después, un elector firma el compromiso con su clave privada y especifica el número de época y adjunta su clave pública. Hacer esto resuelve dos propósitos:

  • Todo el mundo puede comprobar quién ha creado este compromiso (ya que tiene la clave pública asociada).

  • Pueden comprobar a qué época pertenece.

Después de esto, el elector envía sus compromisos a otros electores. Eventualmente, cada elector recoge los compromisos del otro elector (Los compromisos se ponen en el bloque y se convierten en parte de la cadena de bloques).

Fase de revelación

La segunda fase es la fase de revelación.

Piensa en los compromisos como una caja cerrada que tiene un secreto y hay un valor especial que abre la caja. Este valor especial se denomina "apertura". De eso se trata esta fase, de que los electores envíen su "apertura". Estas aberturas también se introducen en el bloque y luego pasan a formar parte de la cadena de bloques.

Fase de recuperación

Por último, tenemos la fase de recuperación.

Para entonces, un elector tiene tanto compromisos como aperturas. Sin embargo, algunos electores pueden actuar maliciosamente y publicar su compromiso sin que se produzca la apertura. Básicamente, dé la caja cerrada sin la frase de contraseña.

Para evitar esto, los electores honestos pueden publicar todas las acciones cifradas (como se mencionó en la fase de compromiso) y simplemente reconstruir los secretos. De esta manera, incluso si ciertos electores actúan de manera maliciosa, el sistema seguirá funcionando. Así es como Ouroboros obtiene su Tolerancia Bizantina a la Falla.

Eventualmente, un elector verifica que los compromisos y las aperturas coincidan y cuando eso sucede, se extraen los secretos de los compromisos que forman una semilla. La semilla es una cadena de bytes generada aleatoriamente.

Todos los electores poseen ahora esta semilla.

Así que, hagamos una pausa por un segundo y veamos dónde estamos ahora mismo.

Estamos eligiendo a los líderes de las franjas para la próxima época. Para asegurarnos de que las elecciones fueran lo más imparciales posible, necesitábamos algún tipo de aleatoriedad. La "semilla" nos proporciona esta aleatoriedad. Ahora es el momento de seleccionar los Líderes de Franja (Slot Leaders).

Para ello utilizaremos el algoritmo Seguir el Satoshi (FTS).

Cardano: El algoritmo FTS

El nombre del algoritmo proviene de Satoshi Nakamoto, el creador desconocido de Bitcoin.

Crédito de la imagen: Cardano Docs

4

El FTS básicamente selecciona una moneda al azar de la participación (stake). Quienquiera que sea el dueño de esa moneda se convierte en el líder de la franja. Es así de sencillo!

Es por eso que, cuanto más se juega en el sistema, más oportunidades tienen de ganar esta lotería.

Los líderes de las franjas también tendrán el poder no sólo de elegir los bloques en la cadena de bloques principal, sino también de elegir bloques en otras cadenas de bloques dentro del ecosistema de Cardano.

#2 Red

Entonces, ¿cómo tiene en cuenta la red en la escalabilidad?

Simple… ancho de banda.

Las operaciones contienen datos. Así como el número de transacciones aumenta, también aumenta la necesidad de recursos de red.

La idea es bastante sencilla: Si un sistema va a escalar a millones de usuarios, la red necesitará cientos de terabytes o exabytes de recursos para sostenerse.

Como tal, es imposible mantener una topología de red homogénea. ¿Qué significa eso?

En una topología de red homogénea, cada nodo de la red transmite cada mensaje. Skype es un ejemplo de una red de este tipo en la que la mayor parte del valor se obtiene de una sola clase de usuarios que están interesados en hacer una llamada telefónica.

Sin embargo, en una red descentralizada, esto puede resultar poco práctico para la ampliación. Es posible que no todos los nodos dispongan de los recursos necesarios para transmitir la información de manera eficaz.

Para resolver este problema, Cardano está buscando un nuevo tipo de tecnología llamada RINA, Recursive Inter-Network Architecture, creada por John Day. Es un nuevo tipo de estructuración de redes utilizando políticas y principios de ingeniería ingeniosos.

El objetivo de RINA es crear una red heterogénea que promete dar:

  • Privacidad.

  • Transparencia.

  • Escalabilidad.

Lo hace de una manera en la que se puede adivinar cómo se va a organizar la red en una capacidad formal. Se espera que funcione sin problemas con los protocolos TCP/IP. Cardano espera implementar esto en parte para el 2018 y completamente para el 2019.

Según Wikipedia, "RINA apoya intrínsecamente la movilidad, el multihoming y la calidad de servicio sin necesidad de mecanismos adicionales, proporciona un entorno seguro y programable, motiva para un mercado más competitivo y permite una adopción sin problemas".

Continuar leyendo Parte 2 de 2.

2 Likes