Estudio
El doble gasto (double spending) es un concepto crítico en el entorno de blockchain y las criptomonedas. Se refiere al acto de gastar el mismo token digital, por ejemplo una criptomoneda, dos veces o más. En un sistema de pago tradicional como el dinero en efectivo, en la compra se transfiere directamente el bien utilizado como modo de pago, y al dejar de poseerlo es imposible volver a gastarlo. Por otro lado, en las transacciones bancarias centralizadas hay una entidad que registra y controla todos los movimientos, cuidando así de evitar el doble gasto, pero en las redes blockchain descentralizadas, y por tanto donde no existe dicha entidad, evitarlo es un desafío significante.
Blockchain es una tecnología descentralizada que permite almacenar y compartir información de forma segura.
Atendiendo a su diseño no existe un único actor con la capacidad de acceder a la información y gestionarla, por tanto, se debe establecer un mecanismo de consenso entre todos los actores capaces para realizar dichas acciones. Esto es lo que le otorga a Blockchain su caracter descentralizado.
Cuando se alcanza una determinada cantidad de información a almacenar, esta se empaqueta en un bloque junto un hash del contenido del último bloque existente.
El compromiso del equipo de React, desde la aparición de los componentes funcionales, siempre ha sido hacer que estos fueran más eficientes que los componentes basados en clases. De hecho, si le preguntas a cualquier desarrollador que use React, seguro que afirma convencido que son mucho más rápido y eficientes, aunque la realidad es que, en el momento de escribir estas líneas, apenas existe una diferencia de segundos entre componentes funcionales y componentes basados en clases.
Si has usado React para desarrollar aplicaciones web seguro que ya sabes que cuando un componente es modificado, ésta biblioteca de código de Javascript crea un DOM virtual para compararlo con el DOM actual y, de este modo, calcular si es necesario actualizarlo. A este proceso de actualizar el DOM actual cuando es necesario, para mantenerlo sincronizado con el DOM virtual, se le llama Reconciliación.
Si usáramos un algoritmo de vanguardia para calcular el número mínimo de operaciones necesarias para transformar un árbol de nodos como el DOM en otro, la complejidad sería del orden de O(n³), donde n es el número de elementos en el árbol.