Estado del Desarrollo: Semana 27 de Agosto, 2018

La semana pasada, el desarrollo core continuó al ritmo, y nuestro último release se centra principalmente en la API del usuario.

El release 0.21.0 elimina la compatibilidad con la codificación MessagePack en la HTTP API del usuario y hace que la HTTP API sea más consistente al usar ID en todos los componentes de la blockchain (cuentas, contratos, oracles, etc.) y unificar las rutas de los puntos finales. Este último release también limpia puntos finales HTTP no utilizados que firmaron transacciones dentro del nodo.

Trabajamos para garantizar que pudiéramos detectar más condiciones posibles de carrera en las actualizaciones de state channel, lo que también permite “rechazar suavemente” una actualización, al solicitar una actualización competidora en respuesta a una solicitud de firma. Esto debe verse como una medida temporal hasta que se implemente el soporte para rechazar una solicitud de firma.

También hemos trabajado para cambiar los micro block gossip para que utilicen Light micro blocks que solo contengan Tx hashes. En la mayoría de los casos, el nodo de recepción ya ha visto todas las transacciones, por lo que se ahorra ancho de banda y se topa con el P2P_PROTOCOL_VSN.

Elementos de la actualización que impactan en el consenso

La última actualización cambia el formato de serialización de los micro headers para incluir la firma. Esto cambia tanto lo que está firmado por el minero, y cómo se calcula el hash de bloque para micro blocks que posteriormente afecta el consenso.

Esta última versión también ajusta el determinismo del cálculo del componente dinámico de la comisión de transacciones oracle relacionadas con TTL de objetos (oracles, consultas, respuestas) en state trees, moviendo cálculos de coma flotante a enteros. La actualización también aumenta la demora de recompensa del beneficiario a 180 key blocks / generations y esto a su vez afecta el consenso.

Otras ventajas de nuestro último desarrollo incluyen:

  • Agregando soporte para alias de tipo y llamadas de contrato tipadas al compilador de Sophia.
  • Cambiar el algoritmo de cálculo del objetivo (dificultad) para usar DigiShield v3.
  • Reparando los cálculos de recompensa de mineros, que antes eran demasiado generosos.
  • Modificando el componente estático mínimo de la comisión de transacciones de oracle a 1, como para todas las demás transacciones.
  • Agrega el forzado de la cadena de progreso para los canales de contratos fuera de la cadena.
  • Se corrigieron errores de tiempo de espera vistos esporádicamente en sincronización cuando inet: getaddr tomó demasiado tiempo para resolverse.

Como recordatorio, el mejor lugar para seguir el progreso del desarrollo hacia el lanzamiento de la Mainnet (aparte de GitHub) es Pivotal Tracker.


¿Interesado en æternity? Síguenos:

GitHub | Forum | Reddit | Telegram | Twitter | Facebook | Mail


Leave a Reply

Your email address will not be published. Required fields are marked *