Browse By

IRI 1.8.0 reescribiendo la red

El equipo del IRI ha trabajado arduamente en los últimos dos meses para aumentar la estabilidad del software y prepararlo mejor para acomodarse al crecimiento en la adopción de IOTA. La versión anterior, IRI 1.7.1, trajo múltiples correcciones que hicieron que el software fuera más estable. Hacer que el IRI esté preparado para el futuro también significaba repensar algunos componentes del software por completo. Uno de los componentes que reescribimos completamente, y que hemos publicado hoy, es la creación de redes.

Esta reescritura trae consigo una tonelada de cambios que harán que el comportamiento del nodo esté mejor preparado para lo que viene. También simplifica la forma en que funciona el software del nodo para que el código sea más adaptable y más fácil de depurar. También hemos añadido cosas como BCTCurl en el proceso de procesamiento de transacciones, y el IRI ahora puede realizar transacciones en lotes de hasta 64. Esto se relacionará con las mejoras en el rendimiento que se producirán a continuación.

Gracias al comité de la comunidad IOTA

Parte de este esfuerzo fue la creación de un comité de la comunidad IOTA. Un grupo de miembros de la comunidad que fueron votados por el resto de la comunidad. Los miembros proporcionaron supervisión y retroalimentación sobre los cambios y participaron con sus propios nodos en una red para probar la nueva red.

Gracias a Mathieu Viossat, muXxer, nuriel77, Roman Semko, Yell0w y Zoran. Y a Luca Moser, de IF, por la creación y el mantenimiento de la red.

Esperamos usar un enfoque similar con algunos cambios futuros más grandes también.

Actualización a 1.8.0

Para seguir participando en Mainnet, tendrás que actualizar tu nodo. Esta versión no es compatible con versiones anteriores.

Para actualizar tu nodo:

  1. Cambia tus conexiones vecinas de UDP a TCP. UDP no es compatible con la nueva versión.
  2. Si tienes un vecino con el que aún no ha cambiado a TCP, por favor, pónte en contacto con él y haz el cambio.
  3. Cambia los parámetros de configuración como se describe en la sección Cambios en 1.8.0.
  4. Descarga la nueva versión del IRI desde la página de lanzamiento.
  5. Ejecuta la nueva versión de IRI.

Por favor, deje algo de tiempo para que sus vecinos se actualicen. La conexión sólo se establecerá con los vecinos que hayan actualizado a 1.8.0. Si no estás recibiendo tráfico de tus vecinos en un día, reinicia tu nodo. Es posible que sus vecinos se hayan actualizado después de un período de tiempo más largo y reiniciar su nodo debería permitir que el nodo restablezca la conexión.
Cambios en 1.8.0

Hay muchos, muchos cambios en esta versión, pero todos ellos se limitan a la capa de red. Los cambios notables son:

  • Se ha eliminado el soporte para conexiones UDP

Se han eliminado los siguientes parámetros de configuración:

  • UDP_RECEPTOR_PUERTO
  • TCP_RECEPTOR_PUERTO
  • MAX_PEERS
  • DNS_REFRESHER_HABILITADO
  • DNS_RESOLUCIÓN_HABILITADA

Se han añadido los siguientes parámetros de configuración:

  • NEIGHBORING_SOCKET_ADDRESS – define la dirección del socket al que se vincula el socket TCP.
  • NEIGHBORING_SOCKET_PORT – define el puerto del socket TCP a utilizar.
  • RECONECT_ATTEMPT_INTERVAL_SECONDS – define el intervalo en el cual tratar de reconectar/desconectar a los vecinos deseados.
  • AUTO_TETHERING_ENABLED – controla el auto-tethering, esto fue previamente controlado a través de `TESTNET` true, por defecto es false (también en modo testnet).
  • MAX_NEIGHBORS – renombrar MAX_PEERS, define el número máximo de vecinos conectados. Por defecto es 5, el parámetro anterior tenía un valor por defecto de 20.

Otros cambios notables:

Ahora es posible conectarse a varios vecinos que se originan desde la misma dirección IP, ya que la identidad de un nodo es su dirección IP + puerto de socket del servidor.
BCTCurl se utiliza dentro del pipeline de procesamiento de transacciones, que agrupa hasta 64 transacciones para convertirlas en hash al mismo tiempo.
Ahora los vecinos sólo se añaden después de que su nombre de dominio haya podido ser resuelto.
Los mensajes de transacciones gossip son ahora dinámicos y toman 341-1650 bytes de datos.
La llamada a la API getNeighbors ahora también devuelve el dominio con el que se agregó el vecino y si el vecino está realmente conectado.
El hash de transacción solicitado de un paquete Gossip de transacciones está ahora fijado en 49 bytes, sin importar en qué modo se ejecute el nodo.

Puede encontrar la lista completa de modificaciones en la página de publicación.

Qué sigue

Una vez establecida la nueva red, el equipo del IRI se centrará ahora en mejorar el rendimiento general de la red. Esto comienza con la adición de una caching layer en la parte superior de nuestra base de datos IRI para evitar I/O innecesarios. Esto debería mejorar significativamente los CTPS que podemos apoyar. Luego nos extenderemos sobre ese cambio según sea necesario.

Post Original: IRI 1.8.0 with networking rewrite

Comentarios

comentarios