🇪🇸 Descentralización al descubierto con Edwards, Coutts, Brunjes y McMurdo | IOHK 6 Abr 2021

:es: Transcripción al español de “Decentralization unpacked with Colin Edwards, Duncan Coutts, Lars Brunjes & Shawn McMurdo”

Publicado en el canal de Youtube de IOHK el 6 de Abril 2021

Enlace a la versión doblada al español


Tim: Así que se acerca el día d, d igual a cero, cuando comienza la producción de bloques descentralizada. Con eso en mente, queríamos escarbar un poco en la historia de descentralización de Cardano, así que le pedimos a Colin que traiga algunas caras familiares para discutir eso en más detalle, vayamos a eso ahora.

Colin: Vamos a comenzar hablando con una mirada acerca de lo que está ocurriendo. Cuando se trata de descentralización, es importante ser claros qué queremos decir con eso, realmente es una herramienta de tres piezas, tres aspectos diferentes. Producción de bloques, gobernanza y la red. Hoy tenemos tres oradores diferentes para ayudarnos a cubrir parte de los tres aspectos, tenemos a Lars y Duncan, quienes son comentaristas frecuentes sobre el sistema, y también a Shawn McMurdo, que es uno de los que más habla, y uno de los miembros más productivos de nuestra comunidad de SPOs, presentó numerosas propuestas de mejoras de la comunidad, creo que esta es la primera vez que tenemos a Shawn en el show, me gustaría decir “Hola Shawn”, ¿podrías darnos un poco de antecedentes y hablar acerca de qué hiciste antes comenzar como un SPO?

Shawn: He sido arquitecto y desarrollador de software por muchos años, desde los días punto com, trabajando en varias compañías, haciendo toda clase de cosas locas, cosas de realidad virtual, fintech, entrando a cripto, luego encontrando Cardano, eso me trajo a ser un SPO, mirando todas las cosas geniales que IOG ha construído, tratando de ser parte de ser mejores.

Colin: Asombroso, estamos muy contentos de tenerte aquí, tus propuestas de la comunidad despertaron un montón de comunicación interna, han sido muy valiosas en nuestros propios procesos. Realmente nos encanta esa retroalimentación que obtenemos de vos, esperamos que se mantenga. Sólo para entrar en alguno de los temas, Lars, hablemos acerca de la primera producción de estos bloques, de nuevo, ¿qué está pasando y por qué el parámetro d es tan importante?

Lars: Para entender el parámetro d primero tenemos que entender que antes de la era Shelley, Cardano Classic era un sistema federado, así que había ocho nodos que podrían producir bloques. Luego Shelley cambió todo básicamente, la producción de bloques fue a la comunidad. Pero incluso aunque fuimos muy cuidadosos y pensamos profundamente acerca de cómo establecer incentivos, cómo establecer todo para que salga bien, todavía queríamos no cambiar inmediatamente en un paso desde federados a todo el mundo puede producir bloques, así que decidimos introducir el parámetro d que permite una distribución como balanceada entre los nodos federados y descentralización total. Así que la idea era comenzar básicamente con todos los nodos federados y luego lentamente cambiar este parámetro d y cambiar la proporción de bloques que eran producidos por los stake pools para que incremente. Cuando llega a cero eso significa que está completamente en las manos de los stake pools. Así que sólo fue un medio para hacerlo suave, para que no haya ninguna sorpresa desagradable, quiero decir, no las hubo, pero queríamos asegurarnos que todo se hacía con suavidad, y que si algo salía mal podíamos detener el proceso y arreglarlo antes de continuar.

Colin: Es bueno saberlo y creo que es un tiempo bastante emocionante, porque este es uno de los primeros hitos principales en nuestra marcha a la descentralización, sólo es parte del viaje, pero es un paso realmente importante y creo que es una gran ocasión para nosotros, mientras estamos entregando una gran parte de esto a la comunidad y fuera de los nodos génesis Shelley. D es uno de los parámetros que utilizamos en nuestro sistema, algunos de los otros parámetros principales de los que hablaremos, más allá de d que controla la producción de bloques, tenemos otros parámetros tales como el k que establece el tamaño máximo de los pools, y de hecho en última instancia va a determinar el número de pools en la comunidad que pueden estar totalmente saturados o al tamaño de producción total. También tenemos otros parámetros, otro importante es llamado el parámetro a0, que es un beneficio adicional, es el dinero que el SPO compromete, contribuye y gana. Y también las tarifas, una de las propuestas importantes que tuvimos, de Shawn McMurdo, que está con nosotros hoy, en el beneficio de compromiso, así que Shawn, ¿por qué no nos cuentas un poco acerca de tu pensamiento cuando estabas proponiendo el cambio de a0 y algunas las motivaciones para ello? Ha sido muy útil internamente, es el tipo de retroalimentación que nos encanta porque realmente nos da un muy diferente punto de vista.

Shawn: Así que una de las cosas que vi en el principio de Shelley fue que la cantidad de compromiso en los montos más pequeños, donde muchos de los SPOs estarían proporcionando ese monto de compromiso, no estaba teniendo mucho efecto en las recompensas. Así que no me parecía que tuviera un efecto los suficientemente fuerte, pero debido a que era linear, no tenía sentido para mí que continuara incrementando ese monto porque sólo incrementaría un poquito para la mayoría de los pools, mientras que incrementaría mucho para los pools más grandes. Tenía sentido hacer algo que fuera más justo, y también fortalecer la red frente a ataques de Sybil, necesitábamos una manera de elevar la cantidad de recompensas que son generadas por compromisos que son razonables para la mayoría de los SPOs.

Colin: Ha sido un cambio realmente útil, creo que también es una manera muy bonita para que los SPOs se diferencien de otros SPOs, una manera es agregar compromiso, de una misma manera es cambiar las tarifas o quizás incluso apoyar causas es otra manera, también demuestra un compromiso con el sistema, poniendo su propio dinero en la línea, tener algo de piel en el juego es como un desafío muy importante. También tienes un número de otros CIPs, si quieres mencionarlos.

Shawn: Los tres CIPs que he puesto han sido diseñados con la idea de descentralización, ser justos para proporcionar una especie de igualdad de oportunidad para los SPOs. El primero fue la curva de beneficio de compromiso, el segundo acerca de no tener un ranking centralizado utilizándose en Daedalus y también tuve uno en las tarifas mínimas, para ajustar las tarifas mínimas de una tarifa más fija a una más variable. Asi que todos ellos realmente están diseñados para crear un mercado más justo para todos los SPOs y con suerte fortalecer la red.

Duncan: Colin, ¿puedo hablar brevemente acerca del compromiso?, creo que la propuesta que presentó Shawn y las ideas muy similares que Lars y los investigadores han estado mirando. Es importante notar que está siguiendo la intención original, creo que es justo decir que nosotros no lo hicimos del todo bien la primera vez. Porque la intención del compromiso es que debería haber un efecto, queríamos que sea el caso que los stake pools se puedan distinguir teniendo un compromiso más elevado. Como dijo Shawn, necesitamos que el compromiso sea lo suficientemente elevado para que la protección contra ataques de Sybil funciona apropiadamente. Así que creo que es justo decir que no tuvimos la estructura del todo bien al principio, esto está totalmente en línea con lo que queríamos que fuera, así que como has dicho, es genial tener gente contribuyendo, haciendo este tipo de sugerencias, discutiéndolas como comunidad y encontrar maneras de hacerlo mejor, de la manera en que siempre habíamos tenido la intención, esa es mi mirada, mi mirada personal sobre ello.

Colin: Creo que realmente muestra la fortaleza del proceso Cardano, incluso aunque tenemos a esta gente brillante en IOG, creando los sistemas, están estos procesos en los que podemos mejorar, no sólo internamente pero externamente. Así que creo que eso muestra una fortaleza real en la comunidad y en la red.

Lars: Definitivamente, quiero añadir que la razón por la que estamos muy agradecidos por la sugerencia de Shawn pero no la adoptamos inmediatamente es porque debemos ser muy cuidadosos con estas cosas, porque hay un montón de objetivos, está la función de recompensa que eventualmente hace un pico, necesita tener un montón de propiedades. Por ejemplo, como Colin mencionó anteriormente, está k porque no queremos que los pools se vuelvan demasiado grandes, y por supuesto también queremos este efecto de compromiso pero debemos ser cuidadosos para que, por ejemplo, al incrementar el efecto del compromiso no destruyamos otra propiedad que de repente, bajo ciertas condiciones, los stake pools se vuelven demasiado grandes. Así que tenemos que ser muy cuidadosos, mirar nuevamente las matemáticas y chequear qué funciones de recompensas son admisibles, que nos dan las propiedades correctas, y luego escoger la mejor en esta familia de posibles funciones que tiene el efecto deseado, es complicado, pero creo que es importante que no seamos demasiado apresurados, porque la seguridad del sistema es la cosa más importante.

Duncan: Lars, pasaste mucho tiempo ejecutando muchas simulaciones, ¿cierto?

Lars: Oh, sí.

Duncan: ¿Cuál es la dinámica de probar todas estas funciones de compromiso?

Lars: Hay tantos parámetros para mirar y cambiar, realmente toma mucho tiempo obtener un buen entendimiento, un buen control sobre el efecto que realmente tiene cambiar una función.

Shawn: Creo que es importante notar que el cuidado es una fortaleza de Cardano, porque un montón de gente de la comunidad, una vez que ven una idea en la que piensan “ok, eso lo resolverá”, quieren implementarla inmediatamente, y hay mucha presión para moverse rápido, pero creo que como hemos visto, el cuidado es una gran fortaleza de Cardano.

Colin: Absolutamente, creo que el punto que trajo Lars es uno muy importante, es que muchos de estos problemas son multidimensionales, impactan la economía, impactan la seguridad del sistema, quizás impactan muchos tipos de cosas diferentes. Involucran muchas cosas, todo el mundo tiene sólo una pieza del rompecabezas, y juntar el grupo de gente correcta que tiene todas las piezas es realmente importante. Es por eso que es tan valioso tener la retroalimentación de la comunidad, tener la investigación, juntar todo, y combiarlo para obtener algo que es realmente especial. Así que realmente estoy esperando que vengan estos cambios, es algo en lo que hemos estado trabajando, está tomando tiempo porque lo tomamos muy en serio.

Duncan: La forma en que resumo eso es que sólo porque es correcto en la teoría no significa que es correcto en la práctica, pero al menos necesita ser correcto en la teoría. Porque si no es correcto en la teoría, realmente no va a ser correcto en la práctica, y hacer la teoría toma un tiempo, así es como es.

Colin: Creo que más allá de eso, no hay una única respuesta correcta, estás balanceando diferentes parámetros y durante el tiempo tu mirada cambia, algo de eso es lo que está sucediendo en los mercados, algo de eso es lo que está sucediendo con nuestros competidores, algo de eso es nuestro propio entendimiento evolucionando. Todas esas son cosas que hacen muy difícil ver por adelantado todos los resultados. Así que hablemos del lado de la red Duncan, la descentralización total de bloques es el primer hito significativo, como pregunta básica, ¿qué viene a continuación?, hablemos de par a par, cómo corre la red actualmente y cómo evolucionará todo eso en el futuro.

Duncan: Como Lars estaba diciendo antes, la transición de producción de bloques de federado a descentralizado también es una historia con la capa de red, yendo de una red federada a una red completamente descentralizada, y será un proceso gradual. Ahora mismo estamos como en una situación híbrida, donde tenemos una red de par a par parcialmente federada y parcialmente construída manualmente. Así que IOHK ejecuta un montón de relays que serán apagados cuando d llegue a cero, así que no más de los viejos nodos centrales, pero IOHK continuará corriendo un montón de relays, que es lo que utilizan los usuarios Daedalus, exchanges, usuarios comerciales para conectarse a la red Cardano. Así que esa es la parte federada la red, y hay una parte de la red genuinamente descentralizada que es la parte ejecutada por operadores de stake pools, porque ellos tienen emparejamiento directo entre si, guiones que ellos corren, actualmente nadie nos denominaría como una red propiamente de par a par, porque no está automatizada, pero hay, en algún sentido, literalmente, de par a par, todos con configuración manual tienen sus relays de stake pool conectados con otros relays de stake pools. IOHK también tiene realys, pero estos días los stake pools pueden intercambiar bloques entre sí sin que IOHK esté involucrado, los relays de IOHK están destinados a sacar bloques para el resto. Así que esa es la actual situación híbrida, a donde nos estamos moviendo, por supuesto, es totalmente descentralizado, totalmente de par a par, pero será realizado en un número de pasos. Si pensamos acerca de cuál es la hoja de ruta, cómo llegamos ahí desde aquí, el mayor pedazo de ello viene con todo un nuevo conjunto de componentes, de hecho esto muestra los nuevos componentes que serán desplegados, estos son los componentes que harán la capa de par a par. No estamos cambiando las partes principales del protocolo de red, como los protocolos de consenso, es sólo acerca de decidir qué pares hablan entre sí, cuándo cambian de parecer y cómo automatizamos la selección de pares. Estaremos desplegando este conjunto de nuevos componentes, la hoja de ruta para esa parte es completar el desarrollo y despliegue de esto, es que primero haremos una completa red de pruebas interna, eso ocurrirá muy pronto, luego haremos una serie de, probablemente sólo invitados, seguido por redes de pruebas públicas más generales. La gente que esperamos esté interesada en esto principalmente serán operadores de stake pool, no esperamos que sea particularmente emocionante para usuarios finales, pero, por supuesto, una vez que lleguemos a la red de pruebas pública cualquiera puede formar parte. Y eso realmente será acerca de demostrar la integración de todos estos componentes, y obtener retroalimentación particularmente de los operadores de stake pool. Durante el despliegue de esas redes de prueba, también estaremos haciendo desarrollo incremental, cosas que no son estrictamente necesarias para la primera integración pero son necesarias para el completo despliegue de par a par, particularmente cosas relacionadas con la robustez de negación de servicio. Eso nos llevará, eventualmente, a un despliegue de red principal de los componentes de par a par. Pero todavía, el despliegue inicial, estamos haciendo esto paso a paso, el despliegue inicial sólo será con operadores de stake pools y los relays de IOHK todavía estarán en su lugar. Pero luego obtenemos automatización de la parte de par a par de la red, entre todos los relays de operadores de stake pool, así que ese será el primer despliegue de red principal de esto.

Luego, el despliegue a esquema completamente de par a par será una función más dentro de la capa de par a par, que tiene que ver con Gosip, luego haremos una migración gradual, gradualmente para usuarios de Daedalus, otros usuarios, exchanges, otros usuarios de gran escala, gradualmente moverse de utilizar estos relays, a gradualmente moverse a hablar con los relays de operadores de stake pool. Así que no esperamos hacer eso en un Big Bang, eso sería muy disruptivo, al igual que lo hicimos con d igual a cero, lo haremos en un enfoque por etapas, poco a poco, no queremos hacer nada disruptivo. Es importante notar que una de las funciones que también tenemos que completar antes de hacer el movimiento final de gente de los relays de IOHK será completar Ouroboros Génesis, y eso ocurrirá en paralelo. Así es como se ve el panorama general. Si quieres hablar un poquito acerca de detalles, esto te da un sabor de ¿cómo va a ser automatizada la capa par a par?, los operadores de stake pool actualmente lo están haciendo manualmente. Ahora mismo los operadores de stake pool tienen listas fijas de las direcciones de los relays de los otros, ellos configuran eso, es una configuración completamente estática, y se estarán moviendo a este esquema dinámico, lo llamamos el gobernador de par a par, mantiene registro de lo que llamamos pares fríos, cálidos y calientes, automáticamente encuentra suficientes de ellos, tiene objetivos acerca de cuántos pares cálidos y calientes y automáticamente se ajusta a medida que cambia el sistema, mientras las conexiones van y vienen, trata de optimizar para crear una buena red de par a par, buena aquí significa que los bloques son capaces de atravesarla, básicamente tan rápido como sea posible, esa es la métrica que estamos tratando de automatizar. Así que pares fríos son todos los pares que tu nodo conoce, conoce la dirección IP o su nombre DNS. Pares cálidos son pares donde tenemos establecida una conexión TCP a ellos, pero no necesariamente estamos corriendo los protocolos de consenso. Y los pares calientes son los que activamente están corriendo los protocolos de consenso. Para obtener un sentido de los objetivos que estamos esperando aquí, estamos esperando quizás veinte pares calientes, sé que algunos operadores de stake pool actualmente configuraron cincuenta o más, lo que no será necesario, sólo necesitaremos veinte pares calientes. Podríamos tener cincuenta pares cálidos, y quizás mil pares fríos. Y debido a que el gobernador está constantemente tratando de ajustar para lograr estos objetivos, esa es una de las razones por las que no hay necesidad de tener cincuenta configurados, porque cuando uno se cae, cambiará a otro par cálido y permitir a otro par pasar de frío a cálido. Y nuestras simulaciones de red a gran escala han demostrado que veinte es totalmente adecuado para lograr buenas métricas generales de sistema para rápida propagación de bloques. Así que ese es un resumen de muy alto nivel, no creo que tengamos tiempo para entrar en más detalles.

Colin: Eso es genial, muchas gracias Duncan. Un último punto, el parámetro k, que es el parámetro que cambia el tamaño máximo de los pools y el número de pools a largo plazo, como he mencionado antes, no lo estaremos cambiando a mil esta vez, eso ocurrirá después que hagamos el cambio de a0, así que eso vendrá más tarde este año, habrá bastantes anuncios antes de eso, pero el cambio de k no estará ocurriendo ahora. ¿Algún último pensamiento de Lars?

Lars: Creo que las cosas más importantes han sido dichas, traté de explicar que existe esta entrada hacia adelante y atrás con la comunidad, para obtener ideas, desde la comunidad. Pero luego pensar cuidadosamente al respecto, juntando a todas las partes, como has dicho, de negocio, económicas, seguridad, criptografía, matemáticas, y tratar de encontrar el balance. Por supuesto reaccionando a los pedidos de la comunidad, pero también no actuar apresuradamente cuando alguien grita. Creo que eso es muy importante e intentamos hacerlo muy diligentemente.

Colin: ¿Qué hay de tí Shawn?

Shawn: Estoy emocionado de ver el progreso hacia la descentralización en todas estas diferentes áreas, la naturaleza de Cardano de siempre mejorar, creo que hay una gran oportunidad aquí, estoy muy emocionado de ser parte de eso.

Colin: Gracias por haber sido parte de ello, ha sido muy útil. ¿Qué hay de tí Duncan, algún pensamiento final?

Duncan: Es bonito ver que la descentralización de producción de bloques está realizada, ahora tenemos un plan bastante claro, al menos internamente, comunicaremos más detalles en el futuro acerca de lo que está ocurriendo con la descentralización de la red. Y luego, por supuesto, la otra gran cosa viniendo es cómo exactamente vamos a descentralizar la gobernanza, ese es un gran tema. Un montón de opiniones, un montón de ideas flotando alrededor, cosas viniendo de Charles, tiene un montón de sugerencias, tenemos todos estos experimentos sucediendo, ese se convertirá en el foco principal, es cómo hacemos la descentralización de la gobernanza. Las otras, ya sabes, todo está o casi hecho o en progreso, es bastante emocionante.

Colin: Estoy de acuerdo, creo que la gobernanza va a ser fascinante porque algunos de estos problemas son muy engañosos, son problemas multidimensionales, requieren un montón de habilidades, obtener la gente correcta al frente de esos problemas, y tener la manera correcta de cambiar actualizar las personas mirándolos, va a ser un experimento social fascinante, va a ser genial. Creo que teniendo la descentralización de bloques a fin de mes, donde hemos visto tanto aumento en el precio de Cardano, hemos visto el listado de Coinbase, hemos visto adopción en un número de plataformas principales, tales como Bloomberg y los servicios financieros, este simplemente ha sido un mes asombroso, estoy tan contento de ser parte de esto, y tan contento de tener este talentoso grupo trabajando en estos desafiantes problemas.