Sesión AMA con Sergio Lerner
En esta publicación, entrevistamos al Director Científico de RSK y RIF ergio Lerner, para la sesión Pregúntame lo que quieras (AMA, por sus siglas en inglés) de abril de 2019.
¿Qué proyectos de casos de uso en el mundo real se encuentran en proceso de desarrollo? ¿Tiene algún ejemplo?
Ha habido una aceleración de desarrolladores que eligen construir sus soluciones sobre RSK. Algunas de las soluciones/implementaciones ya disponibles en la plataforma RSK son Circle of Angels, Bitgive y Blockchain for Humanity (todas las cuales son iniciativas de caridad), dexFreight, que es una plataforma de logística; Watafan, una aplicación descentralizada para fanáticos, Tokkenit, una app de lealtad e Insuretech, una solución para cobertura de seguros. También tenemos Chronologic para una planificación descentralizada y otras nuevas que se encuentran en etapa de desarrollo como Investoland (una plataforma global descentralizada de inversión), Money On Chain (una solución cuyo objetivo es gestionar la volatilidad de los criptoactivos) y Gasnor del Grupo Sabra, que ofrece una solución para la distribución de gas. Estos son solo algunos ejemplos.
Se mencionó en Twitter hace un tiempo la posibilidad de implementar Chainlink como una respuesta a sus Oráculos: http://bit.ly/2H7z8uV. ¿Podría brindarnos una actualización del progreso (si hubo)?
El servicio de Puertas de datos de RIF está diseñado para ser compatible con diferentes servicios de Oráculo. Una implementación propuesta es un servicio de Oráculo descentralizado basado en el nodo de red de oráculos del núcleo Chainlink. Estamos evaluando un proveedor de servicios basados en Chainlink para las Puertas de datos de RIF. Utiliza un nodo Chainlink modificado de modo que los operadores del nodo puedan aceptar tokens LINK o RIF como forma de pago por sus servicios de Oráculo. Por lo tanto, los operadores de nodos podrían cumplir con las solicitudes provenientes de la red RSK (pagados en RIF Token) y con las solicitudes originales provenientes de la red Ethereum (pagados en LINK Token)
¿Están considerando implementar alguna solución relacionada con las identidades descentralizadas como un servicio en RIF? Tal vez alguna capa de gestión de identidad descentralizada, PKI descentralizada, red de confianza descentralizada o Identidades autosoberanas. ¿Están trabajando o en contacto con alguna otra organización o fundaciones que estén trabajando en esa área en particular? Creo que podría aportar un gran valor y ventaja sobre otras plataformas de smart contracts.
Sí. La Identidad RIF es uno de los componentes más importantes de la Bibliotecas RIF. Ofrece lo básico para el anclado de identidades en la Red RSK y luego la firma e intercambio de confirmaciones de eventos que más adelante se pueden utilizar para construir modelos reputacionales. Estamos en negociaciones con destacados expertos en este campo (Sovrin, uPort y otros) para definir un estándar común.
También tenemos una relación laboral con Microsoft que es parte de la iniciativa ID2020, y nos hemos asociado con la ONG Bitcoin Argentina, el Banco Interamericano de Desarrollo y Accenture (otro miembro de ID2020) para crear e implementar el primer ecosistema financiero inclusivo construido en torno a la identidad reputacional en los barrios marginales de Buenos Aires.
¿Podría explicar algo sobre los servicios de almacenamiento en RIF? ¿Serían como IPFS? ¿Usarán IPFS o alguna otra solución similar que ya esté en funcionamiento?
IOV Labs está trabajando para tener una API unificada destinada a almacenar y recuperar archivos y que sea compatible con varias redes de almacenamiento. Este es el protocolo de Almacenamiento de datos RIF. Para un primer proveedor de red, analizamos las soluciones existentes (Swarm, IPFS, Storj, Sia, etc.) y decidimos basarlo en Swarm. La mayoría de estos protocolos implementan una variación de seguimiento: un archivo cargado se divide en fragmentos y se distribuye en la red. Cuando se solicita el archivo, se recuperan todos los fragmentos y se ensamblan. Cada nodo que participe en esta red mantiene un registro de los datos almacenados/provistos para fines de pago. La innovación que estamos aportando en esta instancia es la simplificación del modelo de incentivos y mecanismos de prueba. Desde luego que el Almacenamiento de datos RIF se integrará con otros servicios de RIF como RNS (para recuperar archivos nombrados y permitir la mutabilidad) o Pagos RIF para incentivación. Adicionalmente, en el futuro promoveremos la integración de todas las redes de almacenamiento exitosas bajo la misma API e interfaz de usuario de almacenamiento RIF, para que el usuario pueda alternar entre backends de red de almacenamiento simplemente seleccionando el proveedor de una lista, o incluso almacenar un único archivo en varias redes al mismo tiempo.
¿Qué ha cambiado después de la Actualización de la red Orchid v0.6.0? ¿Se planifican más actualizaciones?
RSK Labs publica periódicamente nuevas versiones del cliente RSK que incluyen nuevas funciones, soluciones a errores y actualizaciones de seguridad. La versión 0.6.0 de Orchid fue la última mejora de la red, que principalmente contenía cambios al código de operación STATICCALL para permitir la compatibilidad con los contratos de Solidity 0.5.x. Lanzamos dos nuevas versiones después de 0.6.0, que contienen en ambos casos soluciones a pequeños errores, mejoras en el rendimiento y reducciones en los requisitos de almacenamiento de blockchain. Orchid 0.6.2 tiene además importantes refractores del código de base, como preparación para la próxima versión 1.0.0 de actualización de red de RSK. La versión 1.0.0 se encuentra en su etapa final de prueba, de modo que su lanzamiento es inminente. Esta actualización de red incluye el Unitrie (un nuevo diseño para la estructura interna de datos que mantiene el estado mundial), nuevos códigos de operación de cambio (para que sea compatible con Ethereum) y mejoras en la seguridad de la Federación, entre otras cosas. Nuestros lanzamientos siempre se comunican a través de nuestro blog (https://blog.rootstock.io/noticias/) y hay una lista más detallada de las características de cada lanzamiento en nuestra página de hitos técnicos Github (https://github.com/rsksmart/rskj/milestones).
¿Cómo es Rootstock en comparación con proyectos de cadenas laterales de bitcoin?
Solo hay dos otros proyectos de cadenas laterales de Bitcoin que actualmente están activos: Liquid y drivechain de Truthcoin. Liquid es una cadena lateral federada, en alguna medida parecida a RSK. Liquid apunta a ser una red de acuerdos entre plataformas de intercambio que conecta plataformas de intercambio de criptomonedas, permitiendo transacciones de Bitcoin más rápidas. Está optimizada para un caso de uso simple. RSK es mucho más genérica y programable, y cuenta con smart contracts con estado. Además, RSK es altamente compatible con las aplicaciones, bibliotecas y cadenas de herramientas de Ethereum. Cuenta con un gran ecosistema y desarrolladores capacitados. Las aplicaciones de Liquid actualmente dependen de una única biblioteca provistas por Blockstream y tienen un ecosistema de nicho.
Otra diferencia clave es que Liquid usa su Federación para consensos en bloque, mientras que RSK utiliza la minería fusionada y actualmente tiene aproximadamente el 40 % de la tasa de hash de Bitcoin. Por lo tanto, RSK cuenta con una verdadera seguridad “termodinámica”. Cualquiera puede participar en la minería fusionada de RSK, de modo que cualquiera pueda recibir tarifas por transacciones.
Con respecto al rendimiento de las transacciones dentro de la cadena, RSK puede alcanzar mayor volumen que Liquid porque esencialmente las transacciones de pago de RSK son más pequeñas que las de Liquid. No obstante, actualmente el rendimiento de las transacciones en RSK está limitado por sus mineros, el cual puede aumentar o disminuir el límite de gas del bloque. En las próximas mejoras de la red RSK, podríamos ver la implementación de dos importantes desarrollos: el protocolo LTCP (vea RSKIP53) y el procesamiento de transacciones paralelas (vea RSKIP04). Estas mejoras juntas, permiten un incremento de 30x del rendimiento de transacciones en RSK. Otra diferencia clave entre RSK y Liquid es que el conector de RSK es abierto. Puede ser utilizado por usuarios individuales sin pasar por una plataforma de intercambio y un proceso KYC. No obstante, la forma más rápida para obtener RBTC sigue siendo intercambiar BTC en una plataforma de intercambio de criptomonedas porque lleva un día transferir bitcoins a RSK usando el conector. En cuanto a la seguridad de la Federación, Liquid usa una multifirma 11 de 15 con un gasto de emergencia de tiempo de bloque de 2 de 3, y RSK usa una multifirma 8 de 15, de modo que cada cadena lateral tiene diferentes concesiones entre disponibilidad y seguridad.
La drivechain de Truthcoin solo funciona como testnet porque requiere que una bifurcación suave de Bitcoin para funcionar en la mainnet, de modo que no es realmente un proyecto para el que uno puede desarrollar aplicaciones ahora. Sin embargo, compartimos la visión a largo plazo de Truthcoin acerca de que las cadenas laterales deberían pasar de un modelo federado a otro más descentralizado.
¿Por qué RBTC cotiza en las bolsas?
Registramos RBTC en las bolsas para que a los usuarios menos técnicos les resulte más fácil el acceso. Como dije, se demora casi un día para transferir BTC a RBTC usando el conector. Los usuarios necesitan al menos pequeñas cantidades de RBTC para pagar las tarifas transaccionales, requeridas para la ejecución de smart contracts. Esperamos más demanda de RBTC a medida que más usuarios comiencen a utilizar la plataforma.
Ethereum va a cambiar mucho en los próximos años. ¿Qué piensa sobre Ethereum 2.0 y en particular sobre sus planes de usar eWASM en lugar de EVM? ¿Cuál es la estrategia de RSK?
Pienso que la compatibilidad con una VM mejorada es una buena estrategia a largo plazo, no porque Ethereum (o cualquier blockchain) deba ser una “computadora mundial” (no debe), sino porque ciertas primitivas criptográficas que son pilares de protocolos de pago de segundo nivel más escalables y privados, necesitan más procesamiento dentro de la cadena que lo que EVM puede ofrecer. EVM debe permanecer ya sea interpretada o transpilada para la retrocompatibilidad.
EWASM apunta a ser un compilador determinista de WASM JIT de consensos aplicados y recursos contabilizados, y eso es algo difícil de hacer. El diseño se sigue modificando, requiere la revisión de pares, una especificación clara y varias auditorias de seguridad. EWASM aún está lejos de alcanzar el hito del estado beta.
La estrategia de RSK (detallada en su informe técnico fundacional) fue brindarle compatibilidad con EVM al mismo tiempo que implementaba una VM basada en bytecode de java, con transpilado dinámico de códigos de EVM en bytecodes de java. Investigamos y desarrollamos nuestro prototipo de VM, pero cuando se lanzó RSK, nuestra principal prioridad fue la compatibilidad con Ethereum. Este es el motivo por el cual se pospuso la nueva VM. Mientras tanto, el equipo AION hizo un gran trabajo y lanzó su AVM basada en java, que se encuentra en etapa de producción. Ahora estamos evaluando la posibilidad de proponerle a la comunidad RSK usar la AVM como la nueva VM, y es posible que colaboremos con el equipo AION en la estandarización de la AVM.
¿Cuál es la estrategia de escalamiento de RSK? ¿Planean algo similar a la fragmentación o cree que RSK ya es lo suficientemente escalable para que las personas puedan simplemente construir cadenas secundarias similares al plasma y cosas del canal de estado para sus aplicaciones? Si RSK ya es lo suficientemente escalable, ¿con cuántos tx/s planean tener compatibilidad después de implementar Unitrie?
En el Laboratorio de Investigaciones de RSK, evaluamos nuevas propuestas y trabajamos en métodos de escalamiento con frecuencia. La estrategia de escalamiento a largo plazo no ha cambiado mucho desde que se lanzó RSK. La principal prioridad es reducir los recursos consumidos por las transacciones dentro de la cadena tanto como sea posible. ¿Por qué? Porque todas las soluciones de nivel 2 requieren procedimientos de emergencia en los que los usuarios deben acceder a la cadena en busca de arbitraje en caso de disputas. En el caso de las Redes de canales de pago es fundamental publicar los últimos estados en ventanas de tiempo limitado. Si la capacidad dentro de la cadena es demasiado baja o si los costos de transacción son demasiado elevados, entonces los usuarios más pobres (que hacen transacciones por montos más bajos) correrán el riesgo de perder sus depósitos bloqueados. Esto se debe a que el costo de arbitraje será más elevado que los montos bloqueados.
Entonces desarrollamos un entorno de trabajo genérico e innovador para escalar blockchains: escalamiento de contracción de cadena. Se basa en la percepción de que las blockchains se pueden comprimir y además la técnica de compresión utilizada puede involucrar interacciones con los usuarios para reescribir partes pasadas de la blockchain. Esto significa que se puede comprimir un bloque después de que se haya minado. Es especialmente potente para las blockchains con VM, cuando comprimir transacciones significa ofrecer pruebas de ejecución que son costosas de generar. Dos protocolos interesantes son MimbleWimble y Coda: ambos intentan comprimir la blockchain durante la minería. MimbleWimble es extremadamente ligero porque se basa en criptografía agregable, hace un gran trabajo comprimiendo un bloque antes de que sea minado. Coda, por el contrario, requiere gran cantidad de procesamiento por parte de los mineros y la consecuencia es que los intervalos de bloque promedio deben ser largos. El escalamiento de contracción de cadena puede retrasar este procesamiento y la compresión puede estar basada en el mercado, la blockchain ofrece incentivos monetarios para la compresión. También puede ser obligatorio: los bloques se comprimen después de cierto tiempo predefinido. Un caso especial que es simple pero potente es el agregado de firmas. Las firmas insumen el 70 % del espacio transaccional en RSK. Por lo tanto, desarrollamos el protocolo LTCP, que se adapta al entorno de trabajo de contracción de cadena. LTCP elimina las firmas innecesarias y además comprime transacciones usando ajustes predeterminados por el usuario. Si RSK aplica LTCP en una actualización de la red, podríamos permitir que la red de pagos RIF le brinde servicio a 10 millones de usuarios hoy, a 100 millones en dos años y a mil millones en cinco años, usando algunas proyecciones razonables en materia de patrones de uso para redes de segundo nivel. Y esto podría lograrse mientras se sigue permitiendo que las PC estándar ejecuten nodos completos.
Para avanzar hacia este plan a largo plazo, hemos propuestos varias nuevas funciones para la nueva actualización de la red: alquiler de almacenamiento (ver RSKIP113), procesamiento de transacciones paralelas (RSKIP04), y para la siguiente, LTCP y una VM más rápida. Cada uno de ellas permite una disminución en el costo de los pagos. Dado que RSK se concentra en la inclusión financiera, nuestra prioridad son los pagos seguros, rápidos y económicos.
¿Qué hay de la ejecución de contratos de escalamiento? Las cadenas laterales de RSK (o Shards) y la computación verificable (y las pruebas de conocimiento cero en particular) son técnicas para el escalamiento de ejecución de smart-contracts que muchos equipos de desarrollo de blockchain están evaluando, y estoy seguro de que aún no se ha creado la mejor solución. Si la VM dentro de la cadena es expresiva y lo suficientemente rápida, crearemos las condiciones para que se construyan estas soluciones sobre RSK. Otras redes podrían implosionar porque el escalamiento dentro de la cadena no se abordó correctamente o se hizo demasiado tarde. Con un buen nivel dentro de la cadena, todo es posible. Así que ahora nos estamos concentrando en tener la infraestructura más económica dentro de la cadena para permitir la inclusión financiera. Además, la solución de pagos de segundo nivel de Lumino para Pagos RIF y otros proyectos, tomarán la delantera en aportar más soluciones de escalamiento de segundo nivel.
¿Podría comparar el tamaño de la RSK Blockchain y Ethereum? Quiero decir, ¿la cadena de RSK está creciendo a la misma velocidad que Ethereum?
RSK tiene menos actividad dentro de la cadena que Ethereum, que es algo que uno esperaría de una blockchain que tiene un año y medio de vida. Por lo tanto, la blockchain es mucho más pequeña que Ethereum. No obstante, antes del lanzamiento de la versión 1.0.0, la RSK Blockchain podía crecer tan rápido como Ethereum para transacciones de igual volumen. Con el advenimiento de Unitrie que es parte del lanzamiento 1.0.0, el estado de la blockchain es diez veces más pequeño. Por ejemplo, el último estado mundial no consume menos de 50 megabytes. El estado actual de Ethereum consume aproximadamente 130 GB. Eso es 2600 veces más.
Solidity no es el mejor lenguaje (especialmente en cuando a seguridad). ¿Planean agregar otros lenguajes (por ejemplo, Vyper)?
Estamos evaluando el uso de la cadena de herramientas de Java y ser compatibles con AVM (la máquina virtual de AION). Java es el lenguaje elegido por las empresas porque está tipeado y es fácil de auditar. Es una gran elección para escribir smart contracts seguros.
La gente de IOHK está trabajando en el tipo de cadenas laterales KEVM. Las promueven con un entorno de trabajo K, es mucho más fácil de verificar formalmente la corrección de un código de smart contract. Ahora, Ethereum 2.0 saldrá de la EVM. Tal vez sea una buena idea no intentar ser 100 % compatibles con ellos e implementar cambios que pueden hacer que el tipo EVM de blochchains sea mejor que la implementación de Ethereum. ¿Qué piensa acerca de esto?
IOHK está trabajando con IELE, una máquina virtual que facilita la verificación formal. Es un trabajo todavía en curso, pero tiene el beneficio de que se integra con la cadena de herramientas del compilador de la LLVM. La AVM habilita un vasto ecosistema de bibliotecas y herramientas Java existentes. EWASM tiene el beneficio de ser el lenguaje elegido por los navegadores web, de modo que será rápido. Y puedo continuar debatiendo sobre las ventajas y desventajas de cada VM al nivel del código de operación. ¡Pero claramente es demasiado pronto para elegir a un ganador!
RSK estará aquí por mucho tiempo. Se creó para usar la mejor tecnología disponible, y es posible que esa tecnología no provenga del equipo de desarrollo de RSK, sino de otros equipos. Eso significa que si vemos que hay tracción y una comunidad que construye soluciones en torno a IELE o AVM o EWASM, podríamos también integrarla a RSK. No tengo miedo de tener varias VM ejecutadas en un nodo. Son fáciles de encapsular. Pero supongo que en 20 años solo habrá una VM preferida y el resto de los bytecodes de VM se transpilarán a ella.
Quisiera hacerle algunas preguntas sobre su publicación “The Return of the Deniers and the Revenge of Patoshi (El regreso de los negadores y la venganza de Patoshi)”:
A: ¿Cuánto tiempo le llevó realizar esta investigación?
Si se refiere a toda la investigación sobre los bloques de Satoshi, comenzó en 2013 (y aún continua) pero en general, supongo que no le he dedicado más que unos meses de trabajo.
B: ¿Cómo descubrió las “tres fallas relativas a la seguridad” para correlacionar los bloques? ¿Solo leyendo el primer cliente o alguna otra cosa?
Solo leyendo el código fuente original y haciendo las preguntas correctas. Además muchos miembros de la comunidad colaboraron conmigo aportando buenas hipótesis. Nunca estuve solo.
C: Después de esta investigación, ¿piensa que fue justo o que podría hacernos pensar diferente sobre Satoshi? ¿Por qué?
Pienso que fue lo más justo que pudo ser. Patoshi minó la cantidad mínima de monedas requeridas para mantener la red en funcionamiento. La cantidad de monedas cobradas solo es el resultado del tiempo que le tomó al mundo conocer y confiar en Bitcoin. Tan pronto como la red se sostuvo a sí misma, parece que detuvo la minería. Además, el hecho casi innegable acerca de que Patoshi gastó menos de 5 dólares (al valor histórico), tiene un profundo significado de humildad. De hecho, siempre pensé que los bloques de Patoshi están marcados a propósito. Y el propósito es transmitir ese mensaje a las generaciones futuras.
D: En el párrafo de la Restricción de Nonce en todo los Bloques Patoshi, habló sobre una prueba que había encontrado para comprobar el patrón de otros modos. ¿Podría hacer un comentario sobre cómo obtuvo la prueba?
Hay suficiente prueba matemática. Si la gente aún se resiste a creer, entonces no hay nada racional que uno pueda hacer para cambiar eso.
E: Al final del artículo, afirmó que “hay evidencia que conecta los patrones de Patoshi con Satoshi, en base a fuentes de información pública y la blockchain”. ¿Podría hacer algún comentario al respecto? ¿Cómo puede conectar el patrón con Satoshi?
Solo siga los bloques.
¿Cómo acumula valor el $RIF Token? Lo que yo entiendo es que la gente puede usar RBTC para pagar por servicios de terceros en la red RSK. Por consiguiente, $RIF token parece algo innecesario.
Mientras que la RSK Live Mainnet requiere, y siempre requerirá, que la ejecución de Smart Contract se pague en smartBitcoins (RBTC) para mantener una total coherencia de los incentivos con el ecosistema Bitcoin, los protocolos RIF OS apuntan a crear un nivel de infraestructura fuera de la cadena que inicialmente se construyó sobre el ecosistema RSK, pero que se integrará en el futuro con otras plataformas que funcionen con Smart Contract, como Ethereum y EOS.
Para lograr esto, es importante contar con un token que sea neutral a todas esas redes y para el cual el precio se defina en relación con la oferta y la demanda de servicios de infraestructura independientemente del precio en particular de la criptomoneda nativa de la red (RBTC, ETH, EOS, etc.). Desde la perspectiva del usuario, no plantea ninguna fricción adicional ya que prevemos que en el futuro cercano las DEX (plataformas de intercambio descentralizadas) proporcionarán conversión instantánea entre las monedas nativas de la red en las cuales se integran los protocolos RIF OS en RIF Token. La portabilidad del RIF Token creará economías de escala y fortalecerá la antifragilidad del ecosistema descentralizado en su conjunto, lo cual llevará a la Internet del Valor un paso más cerca de la materialización. La razón principal es que imaginamos al RIF OS, a largo plazo, como un mercado unificado para servicios de infraestructura fuera de la cadena que puedan ser consumidos por toda criptoeconomía que funcione con Smart Contract (por ejemplo, RSK, Ethereum, EOS). En ese contexto, resulta una buena alternativa contar con un token portátil y neutral.