🇪🇸 Algunos breves comentarios sobre el proceso | CH 4 Feb 2020 (Parte 1 de 2)

:es: Transcripción al español de “Some Brief Comments on Process”

Publicado en el canal de Youtube de Charles Hoskinson el 4 de Febrero de 2020

Enlace a la versión doblada al español


Hola a todos, soy Charles Hoskinson transmitiendo en vivo desde la cálida y soleada Colorado, otro día de tormentas de nieve, otro día de palear, otro día de hielo y oscuridad, pero te llevas lo bueno con lo malo y decidí estar aquí para hablar un poco sobre procesos, acabo de tener una encantadora reunión de dos horas con mi equipo y estuvimos hablando de todos los requisitos funcionales y no funcionales para la Testnet Shelley, sólo para asegurarnos de que habíamos capturado todo correctamente, las cosas que hemos aprendido de las retrospectivas y al mismo tiempo conseguí este encantador informe de Root9B, es el primer informe de seguridad que tenemos para la auditoría que han estado haciendo en el nuevo código, contiene lo bueno, lo malo y lo feo, como con todos los informes de auditoría, nos dan tiempo para limpiar todo y luego el informe que llega al público es normalmente un informe de buena salud, significa que todas las cosas que encontraron las arreglamos. Pero ese es el punto de la auditoría de seguridad independiente. Quería hablar un poco sobre cómo construimos software y creo que es importante para la gente para entender la distinción entre nosotros y la industria en su conjunto.

Así que al principio estaba Bitcoin, y estaba este documento blanco suelto, que no era muy largo, que no tenía pruebas de seguridad, que no tenía suficientes modelos de serie, como que sólo explicaba lo que Satoshi estaba tratando de hacer, explicó un poco sobre cómo el protocolo funciona y un poco sobre la filosofía de lo que intentaba hacer. Eso fue emparejado con algo de código C++, que no era tan bueno, estaba lleno de muchas decisiones de diseño curiosas, mucha inspiración, muchas lágrimas de sudor y la sangre obvia, probablemente ha trabajado en ese código durante al menos un año o dos años antes de llevarlo al público general. Para su época era una idea y producto revolucionario. Bueno, la industria ha evolucionado mucho en los últimos diez años y ha llegado a un punto donde gente real, gobiernos, corporaciones, gente común, están haciendo apuestas multimillonarias sobre con quién van a ir. Y las capacidades del libro mayor y las capacidades del sistema, realmente necesitan ser a una escala que Bitcoin no pudo acomodar o Ethereum no puede acomodar actualmente debido a la forma en que ha sido construida. Así que cuando empezamos el proyecto Cardano, dijimos, bueno, vamos a escribir el software de forma diferente y vamos a pensar en la ciencia de forma un poco diferente a como nuestra industria piensa en ello. En oposición a escribir algún documento o sólo escribiendo algunas ideas o diciendo “aquí está el código para disfrutar” , dijimos que íbamos a empezar con el proceso científico de revisado por pares. Lo primero que hicimos fue contratar a un un gran grupo de científicos y les hicimos muchas preguntas realmente difíciles y ellos comenzaron a pensar profundamente en las pruebas de seguridad y adversarios y modelos de seguridad y profundamente sobre lo que había sido hecho y donde la innovación original necesitaba existir. Sólo eso, en ese tiempo, fue un gran paso adelante, porque no se había hecho a gran escala comercial por cualquiera en nuestra industria, ahora estamos empezando a ver eso con David Cha tutelando el espacio y Silvio Micali entrando en el espacio y otros contratando a verdaderos científicos, escribiendo trabajos reales, incluyendo Ethereum, que ya no es un núcleo distinguido.

Pero no nos detuvimos ahí, en 2015 también aspiramos a tener este concepto de métodos formales y esto es algo que muy pocos ingenieros de software en nuestro espacio entienden completamente o aprecian el valor. Básicamente lo que una metodología formal es, es donde dices que está bien, escribamos muy específico, detallado y riguroso, de manera matemática, que es lo que pretendemos hacer, qué es qué. Tenemos este concepto Ouroboros y hay muchos sabores de él, pero ¿realmente qué significa ir de estos papeles muertos secos que nuestros académicos han escrito escrito a algo que un ingeniero puede mirar y saber con absolutamente ninguna ambigüedad de que lo que han creado coincide con la intención de los autores de sistema? Así que básicamente tienes que escribir una especificación para esto y las especificaciones pueden ser analizadas en una forma rigurosa para la corrección y puedes utilizar todo tipo de técnicas como Model Checking, Sat Solving, etc para verificar que tu especificación cumple algún tipo de colección de requisitos de diseño o pruebas, así que elegimos ir por este camino y desafortunadamente, la mayoría de las veces cuando escribes software de esta manera, añade años a tu hoja de ruta y eso es exactamente lo que pasó con nosotros. Cuando fuimos por este camino tuvimos que contratar, además de un montón de científicos, un montón de expertos en métodos formales y luego tuvimos que averiguar cómo hacer métodos formales con criptomonedas, y en ese momento nadie había hecho eso antes, había algunos productos y proyectos, por ejemplo Zen Protocol y había algunos trabajos realizados por Meredith Patterson y otros, había algunos proyectos Scala aquí y allá, donde había cosas particulares que tenían algunas pruebas formales rigurosas o metodologías o dependiente de lenguajes tecleados. Pero una vez más, no hubo ningún esfuerzo de proyecto a escala cuando empezamos en 2015 que haya abrazado el concepto de métodos formales. Ahora, hemos visto algunas personas, desde que hemos lanzado, por ejemplo Tezos, famoso y el uso de Cock, abrazando el concepto de métodos formales o tratando de involucrar métodos formales en algún lugar de su metodología. Russel O’Connor también hizo un gran trabajo en Block Stream con Simplicity, escribiendo algunas pruebas que dicen que Simplicity se hace correctamente, así que tienen semántica formal allí y Gregori Roshi ha hecho cosas como el proyecto KAVM, de modo que nuestra industria ha visto el uso de métodos formales. Pero nosotros en IOHK, fuimos los primeros en usar revisión por pares, fuimos los primeros en usar métodos formales y realmente éramos los primeros en construir un oleoducto que permitió que pasemos de un trabajo revisado por pares, a métodos formales y a código real que es probado con cosas como la propiedad basada en pruebas y hacer eso de una manera en la que podemos movernos bastante rápido. Llamamos a esto software basado en evidencia, porque puedes ver la cadena de custodia y evidencia que fluyen a través de el y hemos escrito varias entradas en el blog y hemos hecho varios videos sobre esto. Si vas a la serie de videos de IOHK, en nuestra página de YouTube, donde puedes ver a Duncan Coutts y Philipp Kant charlando con detalle exhaustivo acerca de qué es el software basado en pruebas y cómo estas cosas funcionan bien. Bueno, eso es lo que podemos hacer de nuestro lado, pero es increíblemente importante entender que está lo que IOHK, la compañía puede hacer, y luego hay validación por terceros que dice lo que hemos hecho. Así que por eso es increíblemente importante tener cosas como una auditoría de seguridad independiente y también es increíblemente importante tener realizados procesos de revisión por pares, porque necesitas verificación de terceros de que la ciencia fue hecha correctamente, de personas que no tienen un interés financiero y una opinión de una manera u otra y necesitas una organización de terceros que pone su marca de reputación y credibilidad en la línea diciendo “hemos mirado lo que se ha hecho y estamos de acuerdo con que lo que se ha hecho es exacto, es seguro o cumple con un cierto conjunto de normas”. Ahora también estamos empezando a empujar esto hacia nuestra gestión de productos y nuestra tubería de planificación de producto. Así que por primera vez en la historia, hemos pasado de una especie de conjuntos de cartas de proyecto y documentos de proyecto que hemos tenido durante los últimos tres años a un conjunto consolidado de alcance universal de requisitos funcionales y no funcionales. Este documento, con el que pasamos las últimos tres semanas emparejando todo de todas las fuentes de documentos y los asuntos Github, es ahora de casi cien páginas en este momento y sólo cubre el alcance hasta la Testnet Shelley y cada iteración a partir de entonces tendremos documentos similares. Debajo de la superficie hay realmente una gran cantidad de cosas que están pasando, nosotros como proyecto y a menudo ustedes no ven eso, sólo ven la salida de esto. También hay espacio para la experimentación, los prototipos, experiencia de usuario y hablar con tu cliente. Así que todas las cosas que he mencionado son, otra vez, IOHK o los auditores de IOHK, pueden ser miembros de una comunidad independiente o que sean empresas que hemos contratado para hacer el trabajo.

Pero también está la cuestión de si en realidad lo hicimos bien, por ejemplo, la liberación de la Testnet Incentivada, el objetivo de todo esto era tener una amplia discusión con la comunidad sobre la experiencia de staking y porque el staking es importante, el modelo de negocio alrededor del staking, entender cómo el protocolo Ouroboros funciona, etc. Por eso elegimos usar un rápido enfoque de prototipos, donde podemos cambiar cosas sobre una base semanal y jugar con un montón de ideas y configurar las cosas rápidamente con nuestra comunidad para acomodar ese borde experimental. Y este fue el punto de la Testnet Incentivada, que permitió a la gente para hacer algo con los activos y hemos tenido una participación abrumadora y un apoyo abrumador de la comunidad en ese sentido. Esta es otra herramienta vital.

Estas cosas combinadas juntas son lo que siento hace un gran proyecto de software y nos está tomando bastante tiempo para poder tirar de estas cuerdas unidas de forma correcta y comunicarlo de forma correcta y no hemos hecho el mejor trabajo como una organización en ser tan abiertos como necesitábamos acerca de cómo estas cosas están funcionando y cómo pensamos sobre estas cosas. Hemos sido muy miopes e insulares a veces y la gente tiende a olvidar que todo esto de hecho está sucediendo ahora, aquellos que prestan mucha atención pueden ver el progreso y pueden verlo en los repo Github, en 2019 fuimos el desarrollo de proyecto más activo por compromisos Github, compromisos reales y significativos de cualquier criptomoneda, incluyendo Ethereum, fuimos los número uno y probablemente mantengamos esa velocidad, si no más, en 2020, de hecho estamos codificando más rápido hoy que el año pasado en Febrero. Así que sólo te da la sensación de que realmente nos estamos moviendo en esa dirección.

Un montón de cosas que van a pasar en los próximos meses y ustedes muchachos realmente van a empezar a ver los frutos de estos labores de formas muy productivas. Este mes, como he mencionado en mi última actualización, vamos a tener la bifurcación dura OBFT, programada tentativamente para el 20 de Febrero y con algo de suerte también conseguiremos el reinicio de Byron este mes también. Ese es el primer producto de esta aventura increíblemente rigurosa que hemos comenzado y es realmente nuestro trabajo más orgulloso que hemos hecho como empresa, en toda la historia de nuestra compañía, es el fruto y el trabajo de docenas de personas de más de diez diferentes compañías, a través de más de dos años de cuidadosos debates de planificación y conversaciones y en realidad si quieren ver en qué se basa todo esto si vas a nuestro Github, IOHK, verás un repo llamado libro Cardano Ledger Spects y esa es realmente la base para el diseño de lo que estamos lanzando este mes y lo que se lanzará con la testnet Shelley y la red principal de Shelley que viene pronto. En la parte posterior de este reinicio Byron, vamos a empezar a encender la Testnet Haskell y realmente hay dos fases en eso, una es la fase para los operadores de stake pools y realmente el punto ahí es ayudar a conseguir que las personas que actualmente se han registrado y están haciendo cosas en la Testnet Incentivada hacia la Testnet Haskell Shelley, que es el producto de producción. Eso no debería llevar demasiado tiempo, probablemente de dos a cuatro semanas de esfuerzo, pero después de que eso se haga, entonces liberaremos el lado del consumidor que es básicamente para la comprobación del balance, significa que todas las recompensas que has ganado si participaste en la ITN además de tus saldos actuales, deberías ser capaz de verificar eso en esa segunda iteración. Una vez que esas dos cosas están hechas y nos sentimos muy confiados, entonces es sólo una cuestión de planificación estratégica, cuál es la fecha ideal para lanzar la red principal de Shelley.

No hemos terminado después de eso, hay una enorme cantidad de cosas que tienen que ocurrir, por ejemplo estamos planeando una actualización importante los Documentos Cardano y estamos planeando una letanía de infraestructura de apoyo para estar disponible en el lanzamiento, desde multi-firma a una actualización del libro de contabilidad, etc, un montón de experiencias necesitan ser sacados para que todos trabajando horas extras ahora mismo y de hecho la organización está bajo el mayor estrés en que haya estado debido al enfoque de entrega que tenemos y la gente está realmente trabajando dentro de sus carriles y su estructuras de sprint y estoy increíblemente orgulloso de nuestros empleados por el duro trabajo que ellos pusieron y yo me sigo sorprendiendo por lo productiva y pragmática que la gente está siendo y su voluntad de ir más allá de sólo su papel de trabajo, en su estación, para asegurar el éxito del producto.

Pero muy poco después, entonces es el show de Goguen y lo que tenemos que mirar hacia adelante allí para Goguen son una persecución de seis diferentes cosas. Hay un esfuerzo multi-activos, hay un esfuerzo para identidad que llamamos Prisma y que vamos a hacer algunos anuncios allí, hay un esfuerzo para el Oráculo, hay un esfuerzo para el manejo de metadatos que fluye a través de las transacciones, de modo que puede ser usado efectivamente, hay un esfuerzo para la experiencia de desarrollo, asegurándose de
que cuando la gente quiere escribir aplicaciones Plutus y Marlowe, que funcionen muy bien y que trabajen con las herramientas que a la gente le gustaría y luego finalmente hay un hilo para la interoperabilidad con Ethereum, así esa es una gran cantidad de trabajo y hay un montón de paralelismo y todavía va a haber trabajo Shelley llevándose a cabo mientras estamos haciendo el trabajo de Goguen también, así que hay muchas actualizaciones que están llegando. De hecho cada un mes a dos meses ustedes muchachos deberían estar viendo alguna actualización importante o lanzamiento mayor en los próximos meses y es
muy importante entender que estos son los frutos de años de esfuerzo, no cosas que hemos estado haciendo recientemente. El equipo ha estado trabajando religiosamente hacia estos fines. En adición, vamos a comenzar la transición del trabajo de la ITN, para empezar a trabajar en Basho y estamos comenzando a obtener la especificación final e ideas de cómo queremos integrar esto en Goguen, encima de Goguen y haremos algunos anuncios en una fecha posterior, pero vamos a ver ese trabajo comenzando probablemente en Marzo u Abril trabajando en paralelo con las corrientes Goguen y Shelley y el trabajo Voltaire también está en marcha con la Fundación Cardano y nosotros. Y por supuesto tenemos que coordinar con nuestros socios y hemos tenido que hacer originales contribuciones a Haskell como un ecosistema para que nuestros colaboraciones de socios sean efectivas. Por ejemplo, durante más de un año hemos estado financiando el trabajo en el proyecto GHCJS y hemos estado financiando en asociación con Tweak, trabajar en el proyecto Asterius. Estos proyectos, respectivamente, son para compilar Haskell a JavaScript y compilar Haskell a Webassembly, lo que significa que Haskell se vuelve tan portátil como lenguajes como Rust, C++ y C, que es increíblemente importante para el éxito de Plutus y también es importante para el proyecto Adrestia, para la portabilidad de nuestro software, Adrestia es básicamente una colección de funcionalidad de explorador y el backend de billetera que permite a la gente construir billeteras para Cardano, permite a intercambiadores listar Cardano y también permite a la gente hacer cosas como el staking frío, staking como un servicio, etc. Hemos estado trabajando con varios socios de intercambiadores para completamente reconstruir la experiencia de listar Cardano, para que haya una única y unificada experiencia estable para Cardano a través de todos los intercambiadores, que es seguro, que disfruta del mismo nivel de calidad que el resto de nuestro software y es lo más portátil posible con el marco de ecosistema que la gente disfruta usar. De nuevo, esta es una tarea hercúlea, porque estamos tratando con más de 30 entidades cuando hablamos de eso y más entidades viniendo pronto y hay un montón de gente que quiere hacer trabajo de terceros.

Enlace a la Parte 2 de 2

1 Like