Optimización de la Máquina Virtual, Introducción de Replay Protection y Pruebas Exhaustivas

El trabajo en Epoch Release 0.25.0 ya comenzó.

Con cada semana que pasa, nos estamos acercando más y más a la fecha de lanzamiento de æternity. Ya hemos empezado a trabajar en la versión 0.25.0. Estas son algunas de las características más destacadas que se finalizaron la semana pasada:

  • Optimizando el rendimiento de la Máquina Virtual, para lo cual revisamos el costo de memoria/estado/instrucciones e identificamos que el solo hecho de mantener el PC/CP en un registro/argumento nos dio la mayor parte de nuestra inversión [PT task].
  • Pruebas exhaustivas de llamadas a smart contract remotos, asegurándose de que el estado del contrato se actualice correctamente [PT task].
  • Protección de reproducción para transacciones para mitigar el siguiente vector de ataque: en el caso de una bifurcación, actualmente no hay nada que proteja a un usuario de que sus transacciones se reproduzcan, por ejemplo, si la cadena se divide en la altura “n” y un usuario envía una transacción en la altura “n+2” a la cadena “A”, entonces un actor malintencionado puede reproducir su transacción en la cadena dividida “B”.
  • Se introdujeron los parámetros de gobernanza que rigen el gas base por tipo de transacción: por ejemplo, el gas base de la transacción de gasto debe ser menor que el gas base utilizado para crear un contrato o llamar a un contrato [PT task].

Nuestro equipo de pruebas también está realizando numerosas pruebas [PT task] para averiguar qué limitaciones prácticas debemos tener en cuenta al establecer las tarifas de gas. A saber, tenemos que asegurarnos de que:

  • cada transacción requiere una cierta cantidad mínima de gas MinGasTx-N (según el contenido de la transacción);
  • la creación de un bloque candidato con MaxBlockGas siempre puede tener lugar dentro de los 3 segundos en una máquina razonablemente rápida;
  • la validación de MicroBlock con MaxBlockGas siempre se puede realizar en 1 segundo en una máquina razonablemente lenta.

Sigue el trabajo del equipo de desarrollo en Pivotal Tracker. Recientemente publicamos una pieza interesante sobre los lenguajes de programación funcionales y sus ventajas para desarrollar protocolos de blockchain. Puedes leerlo en Hackernoon:

Advantages of Functional Programming for Blockchain Protocols
Can functional programming support more efficient blockchain infrastructure, who is using it and why?hackernoon.com


¿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 *