BATANG: LA BASE PARA EL FUTURO CRECIMIENTO DE LA RED ICON¡Atención, ICONistas!,
Nuestro mayor secreto por fin ha sido revelado. Hoy, estamos emocionados de anunciar nuestro siguiente avance tecnológico
— ICON 2.0: BATANG, una nueva arquitectura de software basada en Go. El término «Batang» significa «base» o «pilar» en idioma coreano y vemos ICON 2.0 como la tecnología básica o fundamental que sostendrá el crecimiento futuro de la red ICON.
La mainnet actual de ICON, construida en su totalidad sobre Python, fue nuestro primer intento de crear y experimentar con una red pública basada en blockchain. Estuvimos orgullosos de que ICON se convirtiera en una de las principales redes blockchain, pero sabíamos que lo podríamos hacer mucho mejor ahora con más experiencia en nuestro bagaje. Por consiguiente, hace alrededor de un año, los desarrolladores del core de ICON comenzaron a rediseñar completamente la arquitectura de loopchain existente en un esfuerzo para prepararnos para el futuro. Ahora, la red ICON 2.0 está finalizada y lista.
ICON 2.0 es un software totalmente nuevo; una blockchain de alto rendimiento más rápida, estable y escalable que sustituye a la actual Red ICON. Estamos reestructurando completamente la mainnet de ICON que fue lanzada en 2018.
ICON 2.0 será el estándar en funcionalidades de interoperabilidad para promover y potenciar soluciones DeFi cross-chain. Al lanzamiento, la Fundación ICON desplegará todos los smart contracts necesarios en blockchains de alto rendimiento y también pondrá en marcha los relayers.
ICON 2.0 usa un motor de blockchain completamente reescrito y mejorado: «Goloop», ofreciendo una experiencia de blockchain mejorada frente a la loopchain existente basada en Python.
De nuevo, nos gustaría subrayar que los módulos fundamentales de goloop para empresas ya están completados. Algunos de los clientes corporativos de ICONLOOP, incluyendo al Gobierno Metropolitano de Seúl, también se están preparando para usar el nuevo motor de blockchain. Prevemos un proceso fluido de migración y no debería ser necesaria ninguna acción por parte de los ICONistas. Compartiremos más detalles a medida que los planes de implementación se vayan desarrollando.
Nuevas Funcionalidades en ICON 2.0Uno de los aspectos más emocionantes de ICON 2.0 es que contiene un gran número de funcionalidades del core mejoradas, necesarias para nuestra comunidad, así como que supone una oportunidad para rediseñar varias de las funcionalidades de blockchain actuales. A continuación enumeramos todas las funcionalidades y oportunidades que se debatirán en el foro entre P-Reps para llegar a un consenso sobre los detalles, muchas de las cuales todavía requerirán de una mayor investigación.
El SCORE Executor en Python proporciona un entorno puro de ejecución Python que funcionará en un proceso separado al del motor de consenso. Puede ejecutar los SCOREs en Python ya desarrollados en la red ICON tal cual. Separando el proceso de ejecución del motor de consenso, podemos manejar infinitos loops y problemas de estabilidad de los SCOREs Python.
Ahora, los desarrolladores de SCORE pueden desarrollar su programa en lenguaje de programación Java. Los SCOREs escritos en Java funcionarían en la máquina virtual Java, de modo que tales SCOREs pueden ser ejecutados de manera segura y estable sin necesidad de un proceso de auditoría, lo que ha venido suponiendo el mayor quebradero de cabeza para los desarrolladores en la mainnet actual de ICON. Dado que los SCOREs en Java no requieren de auditoría, animamos a los futuros desarrolladores a usar los SCOREs Java. Asimismo, los SCOREs de Java pueden interactuar con los SCOREs de Python existentes a tavés de llamadas inter-SCORE, lo que supone una transición fluida al entorno de SCORE en Java.
Se va a integrar un nuevo protocolo para sincronizar el estado entre nodos. Un nuevo nodo utiliza tanto protocolos gossip como multicast para enviar mensajes. Esto requiere de una red estructurada sostenida por miembros de la comunidad. En la mayoría de los casos, los mensajes se envían a través del protocolo multicast utilizando rutas redundantes, pero usan el protocolo gossip en algunos casos excepcionales como para descubrir el último estado, recuperar mensajes perdidos, etc.
Normalmente los nodos deben sincronizar todos los datos históricos de la blockchain antes de unirse al consenso o hacer un query del último estado; pero a la mayoría de usuarios no les interesan los datos históricos. Para estos usuarios, estamos planeando dar soporte a la funcionalidad de Sincronización Rápida. Si se activa, podrán prestar la mayoría de servicios -excepto hacer query sobre transacciones antiguas- en un corto espacio de tiempo. las DApps que usen datos históricos no usarán esta funcionalidad. Los nodos de representación pueden usar esta funcionalidad para un arranque rápido, pero tienen que sincronizar todos los datos históricos.
- Árbol de Merkle-Patricia de Objeto
La mayoría de las implementaciones del árbol de Merkle calculan los hashes de datos almacenados al añadir una entrada. También proporcionan simplemente una interfaz para almacenar bytes. El Árbol de Merkle-Patricia de Objeto (OMPT, por sus siglas en inglés) calcula los hashes sólo cuando es necesario; hasta entonces gestiona los datos como objetos inmutables. Siguiendo esta fórmula, calcula los hashes al final de la ejecución de todas las transacciones en el bloque.
Con la implementación de Python, es difícil utilizar cores múltiples usando múltiples threads debido al bloqueo de intérprete global (GIL). Go proporciona rutinas «go» para gestionar los threads de manera eficiente. Si bien el tiempo de ejecución soporta la recolección de deshechos, no conlleva un gran retardo de respuesta para recolectar los mismos. Reduce los tiempos de respuesta en procesar las peticiones de la mayoría de los usuarios y posibilita la gestión de más peticiones concurrentes de usuarios comparado con las implementaciones en Python.
BTP es un protocolo de interoperabilidad de propósito general, si bien se convertirá en el estándar en ICON 2.0 teniendo en cuenta un caso de uso inicial específico. Mantendremos la interoperabilidad con otras blockchains públicas para dar soporte a soluciones DeFi entre diferentes cadenas. A su lanzamiento, la Fundación ICON desplegará todos los contratos inteligentes necesarios en blockchains de perfil alto y también ejecutará los relayers, si bien todo individuo o grupo podrá ejecutar un relayer privado con su propio sistema de comisiones.
Los poseedores de ICX tendrán la posibilidad de pre-registrar un relayer en previsión de una red de relayers descentralizados. Habrá un requisito de stake mínimo de ICX para el pre-registro, y los relayers pre-registrados ganarán cualquier inflación asignada a los mismos y las comisiones generadas por transacciones entre cadenas en función de la cantidad de ICX que tengan en staking. Las comisiones se pagarán en el activo en que fueran enviadas, queriendo esto decir que, si alguien envía ETH a la blockchain de ICON, los Relayers ganarán ETH como comisión.
La Difusión de Votos es una solución novedosa para descentralizar de manera sistemática la red DPos, en la cual los votantes inactivos asignan su difusión de ICX a todos los principales 100 P-Reps. Esto solucionará el problema del estancamiento de votos y permitirá a los poseedores activos de ICX tener el mayor impacto en la gobernanza. Más detalles sobre la difusión de votos se desvelarán en una entrada separada y debatidos en el foro.
ICON 2.0 nos proporciona más libertad para diseñar un modelo económico más limpio y fácilmente comprensible. La estructura básica de IISS 3.1 sigue la estructura del ya debatido por la comunidad IISS 3.0. Sin embargo, el diseño de IISS 3.1 simplemente divide la inflación en unas pocas categorías predefinidas distintas. Por ejemplo:
P-Reps: 17.5%
Relayers: 2.5%
Fondo de Propuesta de Contribución: 10%
Votantes: 70%
ICON 2.0 incluirá una propuesta de red para permitir a los P-Reps ajustar fácilmente estas asignaciones de inflación usando un voto en la cadena y auto-ejecutable. Más detalles sobre IISS 3.1 se desvelarán en una entrada separada y debatidos en el foro.
La Multi-Canalidad es una forma de escalabilidad, en la que cada DApp en ICON podría ser un canal específico de aplicación (ver Band Protocol y Kava para ejemplos de aplicación de cadenas específicas usando el SDK Cosmos). Cada canal es esencialmente su propia blockchain, moderando el riesgo de plataforma de desarrolladores de DApp mientras que facilita el lanzamiento de su propia red. La tecnología detrás de las cadenas de canal es completa para ICON 2.0, si bien hará falta trabajo adicional para convertir en producto el software tras la migración exitosa.
Con esta estrategia en mente, nos gustaría convertir el Nexus de ICON (la red principal operada por P-Reps) en una capa de seguridad, inmutabilidad y gobernanza de la República ICON y promover que las DApps lancen canales específicos de aplicaciones. En la práctica, esto supone un aumento significativo del conjunto de P-Reps para crear una mayor descentralización, mayor seguridad y mayor inmutabilidad. Las cadenas de canales tendrían menos nodos para ser más escalables, pero realizarían copias de seguridad de datos periódicas en el Nexus de ICON (seguro, descentralizado, inmutable) usando una conexión BTP.
- Proceso de desarrollo en código totalmente abierto
De cara a volver el proceso de desarrollo totalmente transparente, y compartir todo el progreso con la comunidad, hemos decidido compartir todos los procesos de desarrollo en Github desde el principio.
En este Github, puedes ver el código abierto de la próxima generación loopchain basada en Go, llamada «Goloop» que, como hemos mencionado, llevamos desarrollando por más de un año. Cualquier miembro de la comunidad puede verificar el código y la tecnología del equipo de ICON en este Repositorio de Github. Confiamos en que esta dirección de desarrollo será beneficioso para que la comunidad entienda la estructura de ICON 2.0 a largo plazo.
Repositorio Github:
https://github.com/icon-project/goloopActualmente, hay dos ramas en el repositorio; «master» es la rama de desarrollo para ICON 2.0 y «base» es el código abierto de goloop. Así, las actualizaciones enfocadas exclusivamente en los módulos básicos de goloop dependerán de la rama «base», mientras que la lógica económica y de gobernanza enfocada en actualizaciones dependerá de la rama «master».
Se subirá más documentación e información técnica a Github pronto.
- Nueva estrategia de desarrollo enfocada en ICON 2.0
Como estamos migrando a ICON 2.0, hemos tomado la decisión de aprovechar algunas iteraciones de desarrollo para ICON 2.0 en vez de duplicar el trabajo, causando inestabilidad potencial en ICON 1.0 y ralentizando el proceso completo de migración. Puede que hayas notado que no ha habido demasiada conversación acerca de las actualizaciones en la red tras el IISS 3.0, y es debido a que hemos estado debatiendo si migrar o no a ICON 2.0 o emplear el tiempo en mejorar la red ICON actual.
Hemos decidido implementar solamente el Sistema de Propuestas de Contribución (CPS) en la red ICON actual, pero todas las mejoras de red planeadas se guardarán para ICON 2.0. Además, en vez de financiarse mediante recompensas de bloque (y porque genera un significativo trabajo extra), ICON usará una parte de nuestras recompensas de bloques para financiar el CPS a la par que se conservará una parte para seguir financiando ayudas.
Son tiempos emocionantes para ser ICONista, y esperamos tu participación y feedback a medida que lancemos ICON 2.0 y continuemos construyendo una de las redes blockchain más avanzadas y descentralizadas del mundo.
Gracias,
El equipo de ICON
______
Comunidad oficial de ICON
Página Principal:
https://icon.foundationMedium (inglés):
https://medium.com/helloiconworldMedium (español):
http://bit.ly/ICON2dot0Brunch (coreano):
https://brunch.co.kr/@helloiconworldKakaoTalk (inglés):
https://open.kakao.com/o/gMAFhdSTelegram (inglés):
https://t.me/hello_iconworldTelegram (coreano):
https://t.me/iconkoreaFacebook:
https://www.facebook.com/helloicon/Reddit:
https://www.reddit.com/r/helloicon/Twitter (Fundación):
https://twitter.com/helloiconworldTwitter (República):
https://twitter.com/IconRepublicPortal F.A.Q (Preguntas Frecuentes):
https://helloiconworld.freshdesk.com/support/homeContacto:
[email protected]ATENCIÓN:
-------------------------------------
No guardo ningún tipo de relación directa con este proyecto.
Solo ofrezco mis servicios para traducir algunas de sus publicaciones y artículos.
-------------------------------------
Ante cualquier discrepancia entre este hilo y el texto original siempre prevalecerá el original, que es el siguiente: