La falta de escalabilidad es la peor pesadilla de cualquier libro mayor distribuido. Muchas redes descentralizadas se esfuerzan por introducir una solución única para un problema delicado. La fragmentación de datos o “Sharding” es un concepto prometedor que tiene el potencial de resolver finalmente el problema de escalabilidad al tiempo que salva la naturaleza descentralizada de blockchains.
Changelly continúa brindando explicaciones, tutoriales y guías sobre las criptomonedas y la tecnología blockchain. Vamos a explicar qué es la fragmentación y cómo puede ayudar a la tecnología blockchain en el futuro.
Definición de Fragmentación de datos o Sharding
Sharding es un método de partición de datos que tiene como objetivo descargar el sistema mientras proporciona un acceso rápido a los datos almacenados. Cada uno separado pero conectado entre sí con otras partes de fragmentos llamadas bases de datos. Cada fragmento de base de datos se almacena en un servidor separado.
El concepto de fragmentación se ha utilizado desde fines de la década de 1990 en bases de datos gigantes de todo el mundo. El término “shard” había ganado popularidad gracias al juego de rol en línea multijugador masivo (MMORPG), Ultima Online. El juego era tan popular que los desarrolladores tuvieron que dividir la carga en los servidores introduciendo nuevos mundos en el universo del juego. En esencia, los nuevos mundos son servidores separados que obtienen tráfico distribuido.
La fragmentación en blockchain sigue la misma lógica. Investopedia proporciona la siguiente definición de sharding:
“Sharding es una técnica de partición de bases de datos que se utilizará para escalar drásticamente la cadena de bloques de ethereum y permitirle procesar más transacciones por segundo”.
La definición es bastante precisa. Sin embargo, la técnica de fragmentación no es prerrogativa de la red Ethereum. También tuvo que ser introducida en la notoria cadena de bloques TON, pero el proyecto fue suspendido.
Para resumir, la fragmentación en la cadena de bloques tiene como objetivo distribuir la carga sobre la red descentralizada mediante la partición de datos a través de fragmentos. Los fragmentos son porciones horizontales de datos.
¿Cómo funciona la fragmentación de datos?
Volvamos a lo básico. Una cadena de bloques consiste en nodos: entidades independientes que mantienen el trabajo adecuado de una red descentralizada. Cada nodo es una parte importante del ecosistema que comparte sus recursos computacionales para agregar bloques a la cadena de bloques.
Ethereum, por ejemplo, tiene más de 8.200 nodos activos que sostienen el entorno saludable dentro de la red. La cadena de bloques Ethereum se basa actualmente en el protocolo de consenso de Prueba de trabajo (PoW) que requiere que los usuarios paguen las tarifas de gas. Mientras más usuarios utilicen la cadena de bloques Ethereum, mayores serán las tarifas de gas. Ethereum y muchas otras blockchains están siguiendo actualmente el modelo de ejecución lineal, que requiere que cada nodo procese cada operación.
Con la fragmentación, la ejecución de transacciones dentro de una cadena de bloques particular seguirá un modelo de ejecución paralela. Esto significa que las transacciones se procesarán simultáneamente y en paralelo en cada fragmento, lo que aumenta significativamente el rendimiento de la transacción. Los nodos procesarán ciertas operaciones y no todo el grupo como lo hacen en el modelo lineal.
Fragmentación de datos: ¿PoW o PoS?
Recientemente explicamos la posibilidad del ataque del 51% en una red descentralizada. El hecho de que un minero malicioso o un grupo de minería pueda obtener el 51% del hash de la red y, por lo tanto, controlar la cadena de bloques es bastante aterrador. Especialmente en términos de descentralización que promete transparencia, confianza y equidad en todo momento.
Imagine una cadena de bloques construida sobre el mecanismo de consenso de Prueba de trabajo que quiere implementar fragmentación para una mejor escalabilidad. Una cadena de bloques basada en PoW requiere minería, la minería requiere una tasa de hash, la tasa de hash es producida por las computadoras del minero. Cada fragmento requiere menos recursos computacionales (hashrate) para producir un bloque. Imagine una cadena de bloques basada en PoW que tiene 100 fragmentos. En esta situación, un mal actor que obtiene un poder de hashing del 1% de toda la red puede lograr el control del 100% de la tasa de hash de un solo fragmento.
El protocolo de prueba de participación no necesita mineros. Para iniciar un ataque del 51%, un usuario malintencionado debe obtener más del 50% de la criptomoneda. Todos y cada uno de los validadores dentro de una cadena de bloques basada en PoS deben apostar una cierta cantidad de activos criptográficos para poder agregar bloques a una cadena de bloques. Para excluir la posibilidad de un rendimiento malicioso en una cadena de bloques PoS, se propone utilizar un esquema de muestreo aleatorio.
“A cada fragmento se le asigna un cierto número de notarios (por ejemplo, 150), y los notarios que aprueban las colaciones en cada fragmento se toman de la muestra para ese fragmento. Las muestras se pueden reorganizar de forma semi-frecuente (por ejemplo, una vez cada 12 horas) o con la máxima frecuencia (es decir, no hay un proceso de muestreo independiente real, los notarios se seleccionan aleatoriamente para cada fragmento de un grupo global en cada bloque)”, afirma Ethereum Wiki.
¿Cómo puede ayudar la fragmentación de datos a la tecnología Blockchain?
Los sueños de adopción masiva podrían hacerse realidad con la implementación de fragmentación en blockchains. La verdad es que la tecnología descentralizada es demasiado compleja para los usuarios habituales. Con el paso del tiempo, los ingeniosos desarrolladores de blockchain lograron poner soluciones tecnológicas complicadas en una forma fácil de usar. Las aplicaciones descentralizadas (dApps) parecen nativas y bastante simples, mientras que la experiencia del usuario es intuitiva. Sin embargo, uno de los principales obstáculos en el camino hacia la adopción masiva es la velocidad de las transacciones que toman demasiado tiempo.
El ejemplo obvio: Visa puede procesar más de 24.000 transacciones por segundo (TPS), Bitcoin maneja de 5 a 7 TPS, Ethereum procesa 15 transacciones por segundo. Volviendo al oro de las criptomonedas, en el año 2017 la dApp legendaria de Ethereum, CryptoKitties, podría ralentizar toda la red ETH debido al aumento del tráfico en el juego.
Cuando se implementa en una cadena de bloques, la técnica de fragmentación es distribuir la carga de la red entre fragmentos. Por lo tanto, la velocidad de las transacciones puede aumentar drásticamente, brindando un mejor rendimiento y, como resultado, atrayendo nuevos usuarios.
El tan esperado Ethereum 2.0 va a resolver el problema de escalabilidad mediante la implementación de una solución de fragmentación en su red. Ethereum blockchain también planea migrar a un protocolo de consenso PoS, haciendo posible y eficiente la implementación de fragmentación.
Ethereum 2.0 presentará 64 fragmentos iguales que pueden procesar transacciones simultáneamente y conjuntamente con otros fragmentos. Los 64 fragmentos están estrechamente vinculados a la cadena principal que forma el árbol de Merkle. Al repartir la carga entre fragmentos, Ethereum 2.0 será capaz de realizar hasta 100.000 transacciones por segundo.
¿Hay alguna desventaja de la fragmentación de datos?
Vitalik Buterin a menudo habla sobre el trilema de escalabilidad. De acuerdo con este gran problema, la cadena de bloques que será escalable, segura y descentralizada al mismo tiempo actualmente no es posible. Sin embargo, parece que el problema puede abordarse mediante fragmentación.
Las mayores preocupaciones con respecto a la técnica de fragmentación son los problemas de seguridad y comunicación. Este último es bastante esencial. ¿Cómo se comunicará a la perfección el número (N) de fragmentos? Para resolver la falta de comunicación entre fragmentos, Ethereum 2.0 utilizará la cadena Beacon que pretende ser una columna vertebral para toda la red Ethereum 2.0.
Según el asesor e investigador de Eth 2.0, Ben Edgington: “Hay varios aspectos en esto: administrar validadores y sus intereses; nominar al proponente de bloque elegido para cada fragmento en cada paso; organizar validadores en comités para votar sobre los bloques propuestos; aplicando las reglas de consenso; aplicar recompensas y penalizaciones a los validadores; y, al ser un punto de anclaje en el que los fragmentos registran sus estados para facilitar las transacciones entre fragmentos”.
El ataque del 1% mencionado anteriormente es una amenaza para la implementación masiva de fragmentación. Sin embargo, el mecanismo de consenso de prueba de participación puede resolverlo parcialmente. Los validadores Ethereum asignados aleatoriamente apoyarán la naturaleza descentralizada de la cadena de bloques mientras la mantienen segura. Buterin también cree que la transición de Ethereum al algoritmo PoS hará que ETH sea más seguro que la red de Bitcoin. Es demasiado costoso comprometer la cadena de bloques, ya que un atacante debería obtener más del 50% de los activos de la red.
Futuro de la Fragmentación de Datos
El futuro de Sharding es bastante brillante. Una gama de proyectos estables y confiables ya ha implementado y utilizado la fragmentación. Una de las primeras plataformas para implementar fragmentación fue Zilliqa. Durante la etapa testnet, la red Zilliqa podría obtener más de 2.800 transacciones por segundo.
¿De qué se trata la Criptomoneda Zilliqua?
La cadena de bloques Cardano ha lanzado recientemente su solución de escalabilidad, el protocolo Hydra. Al igual que la criatura mitológica, cada jefe del protocolo Hydra (es decir, cada fragmento) puede manejar alrededor de 1.000 tps. Como resultado, la cadena de bloques Cardano puede alcanzar el rendimiento de transacción de un millón (!) de transacciones por segundo.
Ethereum 2.0, Libra de Facebook, la notoria Telegram Open Network y muchos otros proyectos notables trabajan duro para traer el futuro al presente, y la fragmentación es una parte vital de toda la imagen.
Conclusión
La fragmentación puede convertirse en la solución tan esperada de un problema de escalabilidad. Una vez que las cadenas de bloques se vuelven escalables, podrían atraer a usuarios más activos, desarrolladores, dApps, etc. En consecuencia, cuanto más nativas se vuelvan las redes descentralizadas, más rápida será la adopción masiva en una industria blockchain. Lo más probable es que tengamos la suerte de presenciar el éxodo masivo en el mundo de la descentralización.
Sobre Changelly
Changelly es un servicio de intercambio instantáneo de criptomonedas sin custodia que actúa como intermediario entre los intercambios de criptomonedas y los usuarios, brindándoles la oportunidad de intercambiar más de 160 criptomonedas a las mejores tasas del mercado. Changelly ofrece su API y un widget de pago personalizable a cualquier servicio de cifrado que desee ampliar su audiencia e implementar nuevas opciones de intercambio.