¿Qué es la fragmentación en la criptomoneda?

El sharding es una técnica para separar grandes bases de datos en partes más pequeñas, más rápidas y más fáciles de gestionar, llamadas shards de datos. La palabra shard significa una pequeña parte de un todo.

Cada subconjunto de datos se denomina shard o nodo, y todos los shards juntos constituyen el conjunto de datos. El número de fragmentos de una aplicación depende de sus requisitos de rendimiento, como la capacidad de almacenamiento o la velocidad de lectura/escritura.

El objetivo de la fragmentación es distribuir los datos entre varias máquinas y permitir que se realicen varias transacciones en paralelo. En otras palabras, el objetivo es la escalabilidad horizontal. La fragmentación puede utilizarse en blockchain redes también. Por ejemplo, Ethereum planea implementar la fragmentación en su red para aumentar su escalabilidad.

En este artículo, explicaremos qué es la fragmentación y cómo funciona en Cryptocurrency.

El sharding es una de las tecnologías de escalado más prometedoras en el espacio de las criptomonedas que ha ido ganando atención últimamente. La fragmentación es un proceso que pretende mejorar la escalabilidad de blockchain dividiéndola en unidades más pequeñas (conocidas como "fragmentos") que pueden procesarse en paralelo y, por lo tanto, aumentar la capacidad general de rendimiento de las transacciones de la red. 

¿Por qué necesitamos el sharding?

Cuando un nodo quiere participar en una red de criptomonedas, el cliente descarga todo el historial de transacciones. El motivo es que puede validar las transacciones y verificar que no se ha producido un doble gasto. Esto significa que para participar en una blockchain hay que descargar todos los datos.

Si desea alojar o ejecutar un nodo en Bitcoin y recibir la recompensa completa por bloque se necesitan al menos 200GB de espacio de almacenamiento, a fecha de abril de 2018. En Ethereum esta cifra es aún mayor, a fecha de abril de 2018 hay más de 100GB de datos almacenados en cada nodo. Con una conexión a internet típica descargar toda esta información lleva unas dos semanas. Esto no es práctico para la mayoría de las personas que quieren involucrarse en una red de criptodivisas.

La fragmentación se introdujo por primera vez en los sistemas de gestión de bases de datos para mejorar el rendimiento, la eficiencia y la escalabilidad de los servicios de bases de datos mediante la división de los datos en varias máquinas. La fragmentación se utiliza en los sistemas de bases de datos modernos porque puede aumentar la velocidad general de una aplicación. La misma idea se aplica ahora también a la tecnología blockchain.

Las redes de blockchain como Ethereum están tratando de implementar la fragmentación con el objetivo de aumentar la escalabilidad de su red, lo que les permitiría procesar más transacciones a un ritmo más rápido. El cofundador de Ethereum, Vitalik Buterin, ha estado investigando y desarrollando el concepto de fragmentación durante algún tiempo, y esa investigación dio lugar a la creación del EIP 1559, una posible implementación de la fragmentación en Ethereum.

La idea de la fragmentación existe desde hace tiempo, pero fue utilizada por primera vez en el mundo de las criptomonedas por Zilliqa. El modelo de prueba de trabajo (PoW) blockchain no es ideal si se quiere crear una red que pueda manejar un alto volumen de transacciones. Zilliqa fue la primera empresa que intentó solucionar este problema creando una de las redes blockchain más rápidas del mercado.

Zilliqa utiliza una solución de fragmentación que le permite aumentar su capacidad de transacción a medida que más nodos se unen a la red. Cuantos más ordenadores se añadan a la red, más transacciones podrán procesarse por segundo.

Cómo funciona la fragmentación

Un blockchain es un libro de contabilidad distribuido que consiste en datos almacenados en bloques; cada bloque contiene una determinada cantidad de datos, y estos bloques se encadenan para formar el libro de contabilidad. La cadena es mantenida por nodos, participantes que tienen una copia de todo el libro de contabilidad y lo actualizan cuando reciben nueva información. Cada nodo debe validar los nuevos datos antes de añadirlos a la cadena. Si una empresa necesita ampliar su sistema, tiene dos opciones: comprar un hardware más caro o encontrar una solución alternativa que aproveche mejor su hardware actual.

La fragmentación es uno de los varios enfoques para el escalado de la base de datos y la alta disponibilidad. Otros enfoques son el almacenamiento en caché de la respuesta, la replicación maestro-esclavo y el alojamiento en la nube.

La fragmentación distribuye los datos entre varios servidores, como se muestra en el siguiente diagrama. Cada fragmento actúa como una base de datos independiente, y cada servidor de bases de datos gestiona las operaciones de lectura y escritura de su propio fragmento. Para dividir una base de datos en fragmentos, cada fragmento debe contener algún tipo de metadatos que ayuden a identificar qué datos deben almacenarse en cada fragmento.

Etéreo tiene previsto utilizar la fragmentación para su solución de escalado. Actualmente, existen dos tipos de nodos en Ethereum: los nodos completos y los nodos ligeros. Los nodos completos almacenan toda la información sobre el blockchain (hasta 1 terabyte), mientras que los nodos ligeros sólo almacenan una pequeña parte de esa información o sólo un resumen de lo que ocurre en la cadena. Con la solución de fragmentación de Ethereum, los nodos completos se dividirán en nodos de "cotejo" y de "atestación". De este modo, los nodos de cotejo tendrán muchos menos validadores que los nodos completos ahora mismo y podrán almacenar mucha menos información que los nodos completos en la actualidad. Esto significa que más personas podrán participar en la red como validadores y mantenedores.

Este enfoque ofrece varias ventajas:

Beneficios y ventajas del sharding en el mercado de las criptomonedas 

Como se ha mencionado anteriormente, la fragmentación tiene como objetivo dividir la gran carga de trabajo en pequeñas subcargas de trabajo. Esto, a su vez, ayuda a mejorar la escalabilidad y la eficiencia de una red. Los beneficios de este método incluyen un mayor rendimiento y una mayor velocidad de las transacciones. Esto último es especialmente importante para las bolsas de criptomonedas que buscan una forma alternativa y más eficiente de gestionar las transacciones de los usuarios.

  1. Reducción de costes - La fragmentación le permite hacer crecer su base de datos horizontalmente en lugar de verticalmente, ya que cada fragmento puede alojarse en un servidor independiente. Esto significa que puedes empezar con un hardware menos potente y menos costoso y luego añadir más fragmentos a medida que tu sistema crece en tamaño o necesita más potencia de procesamiento. 
  1. Un aumento de la demanda de transacciones en los blockchain provoca congestión y aumenta el valor de las tasas de transacción; esto puede causar problemas en los ecosistemas de criptomonedas en los que los "mineros" son recompensados con las tasas de transacción. Cuanto mayor sea el valor de la tasa, más incentivo habrá para minar bloques. Sin embargo, si las tasas de transacción son demasiado elevadas, pueden resultar prohibitivas para algunos usuarios, lo que podría provocar un descenso en la adopción.
  1. Consultas más rápidas - Los fragmentos pueden estar distribuidos en diferentes servidores, lo que reduce el tiempo de cada consulta porque hay menos datos que buscar.
  1. Mayor escalabilidad: El rendimiento se incrementa con el aumento del número de nodos, que pueden utilizarse para soportar más transacciones por segundo en una red. La idea que subyace a la fragmentación es similar a la de almacenar diferentes datos en diferentes servidores de bases de datos o utilizar varios servidores para diferentes tareas. Esto ayuda a mantener una base de datos que es grande y puede manejar muchas transacciones por segundo.
  1. Alta disponibilidad: Dado que la base de datos está dividida en bases de datos más pequeñas, llamadas shards, incluso si una falla hay muchos otros shards que pueden ayudar a mantener la disponibilidad de la red.
  1. Disminución de la latencia: Cuando se tienen varios servidores de bases de datos, se pueden colocar más cerca de los usuarios y

Las desventajas de utilizar el sharding 

Las desventajas de la fragmentación están realmente en la implementación, no en el concepto. La implementación de la fragmentación es difícil y requiere bifurcaciones duras, ya que hay muchas variaciones de propuestas de fragmentación. Además, si no se implementa y se prueba adecuadamente, puede llevar a riesgos de centralización debido a la rotura de cadenas o a la distribución inadecuada de recompensas.

Algunos de los mayores problemas de la fragmentación están en los aspectos prácticos. Por ejemplo, si tienes varios fragmentos (bloques de datos), ¿cómo sabes cuál tiene la información más actualizada? Si un fragmento tiene una versión antigua de algunos datos y otro tiene una versión más reciente, ¿cuál debe utilizarse? Esto se llama "sincronización de fragmentos", y es algo que los desarrolladores deben resolver antes de implementar un nuevo sistema.

  • Los fragmentos pueden dejar de estar disponibles si se produce algún error en la red
  • Se necesita tiempo para volver a barajar cuando el número de nodos cambia en el sistema.
  • Puede ser difícil localizar la información en caso de fallo

La fragmentación no es como una varita mágica que pueda resolver todos los problemas de blockchain a la vez. Es un concepto que requiere mucho trabajo para ser implementado, y siempre hay compensaciones. La seguridad siempre será la principal preocupación de las blockchain: si facilitas que alguien ataque la red, tienes que asegurarte de que tu seguridad sigue siendo lo suficientemente buena como para rechazar esos ataques.

Está claro que la fragmentación tiene un gran potencial, ya que podría ayudar a aumentar el número de transacciones por segundo al incrementar el número de fragmentos. Como resultado, los usuarios podrían disfrutar de tiempos de transacción más rápidos. Y cuando se trata de intercambios y comercio de criptodivisas plataformas, que es lo que más importa.

Relacionado

es_ESSpanish