ICON presenta Batang, la base para el crecimiento futuro de la red ICON

El mayor secreto finalmente de ICON ha salido a la luz, el próximo avance técnico significativo: ICON 2.0: BATANG, una nueva arquitectura de software blockchain basada en Go. La palabra «Batang» significa «base» o «fundación» en el idioma coreano y vemos a ICON 2.0 como la tecnología base o fundamental que apoyará el crecimiento futuro de la red ICON.

La red principal ICON actual, construida completamente en Python, fue nuestro primer intento sin procesar de crear y experimentar con una red blockchain pública. Estábamos orgullosos de que ICON se convirtiera en una de las principales redes de blockchain, pero sabíamos que podíamos hacerlo mucho mejor ahora con más experiencia en nuestro haber. 

Por lo tanto, hace aproximadamente un año, los desarrolladores principales de ICON comenzaron a rediseñar por completo la arquitectura de la cadena de bucles existente en un esfuerzo por prepararnos para el futuro. Ahora, el ICON 2.0 está construido y listo para funcionar.

ICON 2.0 es un software completamente nuevo; una cadena de bloques de alto rendimiento más rápida, más estable y escalable que hereda la red ICON actual. Estamos revisando por completo la red principal ICON que se lanzó en 2018. 

ICON 2.0 vendrá de serie con funciones de interoperabilidad para admitir y potenciar las soluciones DeFi de cadena cruzada. 

En el lanzamiento, ICON Foundation implementará todos los contratos inteligentes necesarios en cadenas de bloques de alto perfil y también ejecutará los retransmisores.

ICON 2.0 utiliza un motor de cadena de bloques mejorado y completamente reescrito: «Goloop», que proporciona una experiencia de cadena de bloques mejorada sobre la cadena de bucles existente basada en Python.

Nuevamente, nos gustaría enfatizar que los módulos base de goloop para empresas están completos. Algunos de los clientes empresariales de ICONLOOP, incluido el Gobierno Metropolitano de Seúl, también se están preparando para utilizar el nuevo motor blockchain. Estamos planeando un proceso de migración sin problemas y los ICONistas no deberían tomar medidas necesarias. Compartiremos más detalles a medida que se implementen los planes de implementación.

Nuevas funciones en ICON 2.0

Uno de los aspectos más emocionantes de ICON 2.0 es que contiene una gran cantidad de características centrales mejoradas necesarias para nuestra comunidad y una oportunidad para rediseñar algunas de las características actuales de blockchain. Aquí compartiremos todas las características y oportunidades de ICON 2.0. Algunas de estas características se discutirán en el foro entre P-Reps para llegar a un consenso sobre los detalles más finos, y muchas de estas características aún requieren más investigación.

Ejecutor de Python SCORE

Python SCORE Executor proporciona un entorno de ejecución Python puro que se operará en un proceso separado del motor de consenso. Puede ejecutar las SCORE de Python ya implementadas en la red ICON tal como está. Al separar el proceso ejecutor del motor de consenso, podemos manejar problemas de inestabilidad y bucle infinito de Python SCORE.

Ejecutor de SCORE de Java

Ahora los desarrolladores de SCORE pueden escribir su programa utilizando el lenguaje de programación Java. Las SCORE escritas en Java se ejecutarían en la máquina virtual de Java, por lo que las SCORE se pueden ejecutar de forma segura y estable sin requerir el proceso de auditoría, que ha sido un problema importante para los desarrolladores en la red principal ICON actual. 

Dado que las SCORE de Java no requieren una auditoría, alentaremos a los futuros desarrolladores a utilizar las SCORE de Java. Además, los SCORE de Java pueden ser interoperables con los SCORE de Python existentes a través de llamadas entre SCORE, lo que facilita la transición al entorno de SCORE de Java.

Nuevo protocolo P2P

Se integrará un nuevo protocolo para sincronizar el estado entre nodos. Un nuevo nodo usa tanto el protocolo de chismes como el de multidifusión para entregar mensajes. 

Esto requiere una red estructurada apoyada por miembros de la comunidad. En la mayoría de los casos, los mensajes se envían a través del protocolo de multidifusión utilizando rutas redundantes, pero utilizan el protocolo de chismes en algunos casos excepcionales, como descubrir el último estado, recuperar mensajes perdidos, etc.

Sincronización rápida

Normalmente, los nodos necesitan sincronizar todos los datos históricos de la cadena de bloques antes de unirse al consenso o consultar el último estado. 

Pero la mayoría de los usuarios no están interesados ​​en los datos históricos. 

Para esos usuarios, planeamos admitir la función Fast Sync. Si está habilitado, pueden proporcionar la mayoría de los servicios, excepto la consulta de transacciones antiguas, en un tiempo bastante corto. Las DApps que utilizan datos históricos no utilizan esta función. 

Los nodos representativos pueden usar esta función para un inicio rápido, pero necesitan sincronizar todos los datos históricos.

Objeto Merkle Patricia Tree

La mayoría de las implementaciones de árbol de merkle calculan valores hash de los datos almacenados al agregar una entrada. Y también proporcionan solo una interfaz para almacenar bytes. 

Object Merkle Patricia Tree (OMPT) calcula hashes solo cuando son necesarios; hasta entonces gestiona todos los datos como objetos inmutables. Con este esquema, calcula los hashes al final de la ejecución de todas las transacciones en el bloque.

Mejoras de rendimiento

Con la implementación de Python, es difícil utilizar varios núcleos con varios subprocesos debido al bloqueo de intérprete global (GIL). Go proporciona goroutines para administrar los subprocesos de manera eficiente. Aunque el tiempo de ejecución admite la recolección de basura, no genera un gran retraso en la respuesta para la recolección de basura. Reduce el tiempo de respuesta al manejar la mayoría de las solicitudes de los usuarios y permite manejar más solicitudes de los usuarios al mismo tiempo que las implementaciones de Python.

BTP

BTP es un protocolo de interoperabilidad de propósito general, sin embargo, vendrá de serie en ICON 2.0 con un caso de uso inicial específico en mente. Apoyaremos la interoperabilidad con otras cadenas de bloques públicas para admitir soluciones DeFi entre cadenas. 

En el lanzamiento, ICON Foundation implementará todos los contratos inteligentes necesarios en cadenas de bloques de alto perfil y también ejecutará los retransmisores, sin embargo, cualquier individuo o grupo puede ejecutar un retransmisor privado con su propio sistema de tarifas.

Los titulares de ICX tendrán la oportunidad de prerregistrar un retransmisor en preparación para una red de retransmisores descentralizada. 

Habrá un requisito de participación mínima de ICX para preinscribirse, y los retransmisores preinscritos obtendrán cualquier inflación asignada a los retransmisores y las tarifas generadas por transacciones entre cadenas en función de la cantidad de ICX que hayan apostado. 

Las tarifas ganadas se pagarán en el activo que se envió, lo que significa que si alguien envía ETH a la cadena de bloques ICON, los retransmisores ganarán ETH como tarifas.

Difusión de votos

Vote Spreading es una solución novedosa para descentralizar sistemáticamente una red DPoS, donde los votantes inactivos tienen su ICX extendido a los 100 P-Reps principales. Esto resolverá el problema del estancamiento de los votos y permitirá que los titulares activos de ICX tengan el mayor impacto en la gobernanza. Se compartirán más detalles sobre la difusión de votos en una publicación separada y se discutirán en el foro.

IISS 3.1

ICON 2.0 nos da más libertad para diseñar un diseño económico más limpio y más fácil de entender. La estructura básica de IISS 3.1 sigue la estructura de IISS 3.0 ya discutida en la comunidad. Sin embargo, el diseño de IISS 3.1 simplemente divide la inflación en algunas categorías predefinidas diferentes. Por ejemplo:

  • Representantes P: 17,5%
  • Relevadores: 2,5%
  • Fondo de la propuesta de contribución: 10%
  • Votantes: 70%

ICON 2.0 incluirá una propuesta de red para permitir que los P-Reps ajusten fácilmente estas asignaciones de inflación utilizando un voto en cadena y autoejecutable. Se compartirán más detalles sobre IISS 3.1 en una publicación separada y se discutirán en el foro.

Tecnología multicanal

El multicanal es una forma de escalabilidad, donde cada DApp en ICON podría ser un canal específico de la aplicación (consulte el Protocolo de banda y Kava para obtener ejemplos de cadenas específicas de la aplicación que usan el SDK de Cosmos). 

Cada canal es esencialmente su propia cadena de bloques, lo que evita el riesgo de la plataforma de los desarrolladores de DApp y facilita el lanzamiento de su propia red. 

La tecnología detrás de las cadenas de canales está completa para ICON 2.0, sin embargo, será necesario realizar un trabajo adicional para producir el software después de la migración exitosa.

Con esta estrategia en mente, nos gustaría convertir ICON Nexus (la red principal operada por P-Reps) en la capa de seguridad, inmutabilidad y gobernanza de ICON Republic y alentar a las futuras DApps a lanzar canales específicos de aplicaciones. 

En la práctica, esto significa aumentar significativamente el conjunto de P-Rep principal para crear más descentralización, más seguridad y más inmutabilidad. 

Las cadenas de canales tendrían menos nodos para ser más escalables, pero periódicamente respaldarían sus datos en el ICON Nexus (seguro, descentralizado, inmutable) usando una conexión BTP.

Proceso de desarrollo de código completamente abierto

Para que el proceso de desarrollo sea completamente transparente y para compartir todo el progreso con la comunidad, decidimos compartir todos los procesos de desarrollo en Github al principio.

En este Github, puede ver el código fuente de la cadena de bucles de próxima generación basada en Go, llamada «Goloop», que como se mencionó, hemos desarrollado durante más de un año. Cualquier miembro de la comunidad puede verificar el código y la tecnología del equipo ICON en este repositorio de Github. Confiamos en que esta dirección de desarrollo será útil para que la comunidad comprenda la estructura de ICON 2.0 a largo plazo.

Repositorio de Github:

https://github.com/icon-project/goloop

Actualmente, hay dos ramas en el repositorio. «Master» es la rama de desarrollo de ICON 2.0 y la «base» es el código fuente de goloop. Por lo tanto, las actualizaciones centradas únicamente en los módulos base de goloop se comprometerán con la rama «base», mientras que las actualizaciones centradas en la economía y las lógicas de gobierno se comprometerán con la rama «maestra».

Pronto se cargarán más documentos técnicos e información en Github.

Nueva estrategia de desarrollo centrada en ICON 2.0

Dado que estamos migrando a ICON 2.0, hemos tomado la decisión de guardar algunas partes del desarrollo para ICON 2.0 en lugar de duplicar el trabajo, lo que introduce una posible inestabilidad en ICON 1.0 y ralentiza todo el proceso de migración. Es posible que haya notado que no hubo mucha conversación sobre las actualizaciones de la red después de IISS 3.0, y eso se debe a que estábamos discutiendo si migrar o no a ICON 2.0 o dedicar tiempo a mejorar la red ICON actual.

Hemos decidido implementar solo el Sistema de propuestas de contribución en la red ICON actual, pero todas las demás mejoras de red planificadas se guardarán para ICON 2.0. 

Además, en lugar de ser financiado por recompensas en bloque (porque esto crea un trabajo adicional significativo), ICON utilizará una parte de nuestras recompensas en bloque para financiar el CPS y al mismo tiempo conservará una parte para continuar financiando subvenciones.

Este es un momento emocionante para ser un ICONista, y esperamos su participación y comentarios mientras implementamos ICON 2.0 y continuamos construyendo una de las redes de cadenas de bloques descentralizadas más avanzadas del mundo.

______

Comunidad oficial ICON

Inicio: https://icon.foundation

Medio (ENG): https://medium.com/helloiconworld

Brunch (KOR): https://brunch.co.kr/@helloiconworld

KakaoTalk (KOR): https://open.kakao.com/o/gMAFhdS

Telegrama (ENG): https://t.me/hello_iconworld

Telegrama (KOR): https://t.me/iconkorea

Facebook: https://www.facebook.com/helloicon/

Reddit: https://www.reddit.com/r/helloicon/

Twitter (Fundación): https://twitter.com/helloiconworld

Twitter (República): https://twitter.com/IconRepublic

Portal de preguntas frecuentes: https://helloiconworld.freshdesk.com/support/home

Contacto: hello@icon.foundation

icon

MAS SOBRE ICON