¿Qué es Sharding?

Conoce todo cuanto has de saber sobre el sharding, una técnica informática por la que se busca dividir una base de datos o bien red para hacer que su funcionamiento sea considerablemente más escalable y descentralizado. Una interesante estrategia que puede asistir a que la tecnología blockchain pueda superar su primordial problema: la escalabilidad.

Una de las técnicas para el manejo de bases de datos que está tomando vida en la comunidad criptográfica actual es el Sharding. Se trata de un proceso de fragmentación o bien división horizontal de las bases de datos en partes o bien fragmentos más pequeños. Esto cone l fin de que dejen un mejor manejo de exactamente las mismas, haciéndolas menos pesadas y más simples de operar.

El sharding se creó con el propósito de permitir una mayor escalabilidad en sistemas distribuidos y descentralizados. Mas en nuestros días, su aplicación en la tecnología blockchain podría prosperar sensiblemente los inconvenientes de escalabilidad a los que se encaran redes como Bitcoin y Ethereum.

Ventajas de incorporar sharding

La primordial ventaja que ofrece la fragmentación para una blockchain es mejorar la escalabilidad. Puesto que las transacciones van a poder ser procesadas y ratificadas de forma más veloz, reduciendo la cantidad de tiempo requerida para este proceso. Y por lo tanto, la red va a tener la capacidad de procesar mayor número de transacciones por segundo.

Así mismo, la implementación de sharding reduce el peligro de centralización de las redes. Hoy día las blockchain de Bitcoin y Ethereum demandan la utilización de equipos con gran poder computacional para poder aguantar toda la información que se maneja en estas redes. Equipos que tienen altos costos de adquisición, con lo que no muchos usuarios puede tener la capacidad de adquirirlos.

Con la implementación de sharding ya no va a ser preciso guardar toda la blockchain completa en un mismo nodo, con lo que no se requerirá la adquisición de equipos costosos. Esto dejaría que considerablemente más personas tengan la posibilidad de participar en internet con sus equipos usuales, garantizando la descentralización de exactamente la misma.

¿Por qué razón se precisa sharding en las redes blockchain?

No es un secreto que el creciente apogeo comercial que viven criptomonedas como Bitcoin y Ethereum, ha ocasionado que el problema de escalabilidad se acentúe considerablemente más en sus redes. El día de hoy son muchos los usuarios que desean efectuar transacciones con Bitcoin o bien utilizar aplicaciones descentralizadas de Ethereum. Causando que muchos nodos sean demandados para la validación y verificación de todos esos procesos.

Y pues los nodos de estas redes operan de forma tal que todos de ellos deben guardar una copia precisa de sus blockchains. Con todos y cada uno de los datos contenidos en ella desde los comienzos. Y que además de esto, ha de ser actualizada de manera constante y permanente conforme más información es creada y añadida. De esta forma las velocidades de transacción se ven gravemente perjudicadas. Llegando a puntos donde las redes pueden colapsar y demandar un sinnúmero de tiempo para poder procesar una transacción. Algo que no es nada recomendable para la sostenibilidad y adopción de esta tecnología en un largo plazo.

Así, si bien esta metodología y estructura de trabajo le da a la blockchain un nivel alto de seguridad y protección, asimismo hace que la escalabilidad de dichas redes se vea limitada. Haciendo que sus blockchain no puedan procesar más información de la que pueden procesar cada uno de ellos de sus nodos de forma individual. Y si bien en nuestros días la red de Bitcoin, por poner un ejemplo, demanda la utilización de equipos con gran poder computacional, el inconveniente de escalabilidad prosigue estando presente. Con lo que la red Bitcoin no puede procesar más de cinco o bien siete transacciones por segundo. Al paso que Ethereum, si bien tiene una mayor capacidad en comparación con Bitcoin, igual presenta un inconveniente de escalabilidad que le impide superar en promedio las diez o bien quince transacciones por segundo.

Por ello, la implementación de sharding puede representar esa solución viable y viable que suprima los inconvenientes de escalabilidad, y que deje el procesamiento de un mayor número de transacciones en menor cantidad de tiempo, con seguridad y eficaz.

¿De qué manera va a mejorar sharding la escalabilidad en las redes blockchain?

El sharding deja la fragmentación de una base de datos completa en pequeñas partes considerablemente más manejables y organizadas. Por servirnos de un ejemplo, si se maneja una base de datos informativa de un país o bien zona, con todos y cada uno de los datos de sus habitantes, como localidades, campo de vivienda, dirección precisa de la propiedad, dirección de trabajo, data de nacimiento, edad, cantidad de hijos, ingresos económicos, entre otros muchos, en tal base de datos va a ser mucho más difícil buscar o bien actualizar una información concreta. En tanto que por la enorme cantidad de datos que se manejan en una misma lista, esta se volverá más pesada y considerablemente más lenta de operar.

En cambio, si esa gran base de datos se subdivide en fragmentos más pequeños y concretos, la información va a ser considerablemente más manejable y eficaz. En tanto que cada fragmento manejará información clara y precisa sobre su contenido de forma independiente a lo que se maneje en otras sub listas, volviéndose más ligeras y organizadas.

Esto es lo que consigue el sharding aplicado en la blockchain. Con la fragmentación, ya no va a ser preciso que todos y cada uno de los nodos de la blockchain trabajen de forma lineal para validar todos y cada uno de los datos que se agregan a la cadena. Sino operarán de forma paralela y manejarán shards (fragmentos concretos) donde se distribuirá la información y se estos shards se ocuparán de validar y procesar solo los datos que les correspondan. Y cuando todos y cada uno de los conjuntos de nodos acaben de ejecutar el proceso que se les asignó, toda la información va a ser añadida a la blockchain, manteniéndola íntegra y completa, con la diferencia de que los nodos no manejarán la información en totalidad como sucede hasta el momento.

La aplicación del procedimiento sharding permitirá que las transacciones puedan ser procesadas de forma considerablemente más veloz, mejorando la escalabilidad y eficacia de la red.

¿Aplicar la fragmentación en las redes blockchain no reducirá su seguridad?

Implementar el procedimiento de fragmentación en la blockchain de Bitcoin o bien Ethereum podría suponer un inconveniente de seguridad y comunicación en internet. Ello se debe a que los nodos, siendo asignados a un subgrupo, no tendrían comunicación directa con los nodos que pertenezcan a el resto subgrupos. Haciendo precisa la creación y también implementación de medios y canales externos que dejen a los nodos comunicarse entre sí.

Así mismo, asegurar la seguridad y protección de cada uno de ellos de los subgrupos asimismo es un reto para esta nueva metodología. Al subdividir los nodos en fragmentos, el poder de hash de cada conjunto reducirá sensiblemente. Lo que puede suponer un inconveniente de seguridad y dejar que algún actor avieso pueda realizar un ataque con mayor sencillez. Una situación que pone bajo riesgo la seguridad y también integridad de la información.

Sin embargo, los subgrupos creados usarán exactamente el mismo protocolo de acuerdo que se emplea en la red. De este modo van a existir nodos completos que descarguen y combinen cada uno de ellos de los procesos efectuados por cada conjunto de nodos. A fin de formar y sostener la blockchain completa y contrastar todos los procesos efectuados. Dejando aun que los clientes del servicio ligeros puedan tener acceso a todos y cada uno de los fragmentos para la verificación de las operaciones.

Por lo tanto, se puede sostener una cantidad de nodos suficientes a fin de que el sistema prosiga siendo seguro y fiable. Al paso que pueda procesar un mayor número de transacciones por segundo.

Otros inconvenientes de seguridad asociados

Una de los mayores inconvenientes de seguridad a los que se puede enfrentar una blockchain con fragmentación es un ataque de adquisición de un solo fragmento. Que le deja a un atacante poder supervisar un subgrupo de la cadena y de esta manera impedir, por servirnos de un ejemplo, que este subgrupo pueda efectuar validaciones de la información como conseguir las firmas pertinentes. O bien en otro caso, presentar transacciones inválidas o bien fraudulentas a la blockchain primordial.

Como solución a esta problemática se presenta el muestreo aleatorio. Donde cada conjunto de la blockchain va a contar con filtradores o bien notarios que se escogerán de forma azarosa para la validación y aprobación de la información de los bloques.

¿Cuánto sabes, criptonauta?

¿Puede el sharding verdaderamente asistir a escalar a las blockchains actuales?

Implementaciones actuales de sharding

La fragmentación es un tema que todavía está en desarrollo para ciertas blockchain como Ethereum y Cardano. Los desarrolladores de estos proyectos estudian la manera en de qué forma pueden incorporar este procedimiento para optimar sus redes. Mas otras criptomonedas como Zilliqa (ZIL) ya han incorporado sharding en sus blockchains. Algo que le ha tolerado lograr en su red de pruebas un total de dos.828 transacciones por segundo.

Otro interesante proyecto que ha mostrado el poder del sharding es Telegram Open Network (TON). Su actual desarrollo, si bien inicial ya ha probado que la blockchain TON utiliza sharding para asegurar el mayor nivel de escalabilidad posible. No obstante, debido a inconvenientes con la SEC, Telegram se ha visto imposibilitado de hacer público el lanzamiento de su red. Por esa razón, solo podemos acceder a sus herramientas de desarrollo y testeo.

Curiosamente, exactamente la misma situación aplica a Libra de Facebook, un proyecto que a pesar de sus enorme inconvenientes de privacidad, sorprendía a nivel técnico debido al empleo del sharding en su red de validadores.

bitcoin
Bitcoin (BTC) $ 63,054.00
ethereum
Ethereum (ETH) $ 4,151.52
binance-coin
Binance Coin (BNB) $ 485.33
tether
Tether (USDT) $ 1.01
cardano
Cardano (ADA) $ 2.15
solana
Solana (SOL) $ 209.23
xrp
XRP (XRP) $ 1.09
polkadot
Polkadot (DOT) $ 43.67
dogecoin
Dogecoin (DOGE) $ 0.264147
usd-coin
USD Coin (USDC) $ 1.00