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.
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.
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.
Viendo la reciente caída de las criptomonedas, es como si la caída de las criptomonedas fuera a continuar para siempre. El jueves...
Desde el auge de las criptomonedas, se ha hablado mucho de las ofertas iniciales de monedas y de cómo son el cambio de juego para...
En los últimos años la cantidad de fichas nft ha crecido exponencialmente. El número de personas que las utilizan en línea también ha...