Estudié criptografía en la universidad casi al mismo tiempo que Bitcoin surgió como un concepto novedoso y poco convencional. En uno de mis cursos, analizamos los componentes criptográficos de una criptomoneda muy similar a Bitcoin. Aunque admiraba la brillantez de los algoritmos y protocolos, no estaba particularmente entusiasmado con la tecnología blockchain. Mi principal reserva fue que, a pesar de su diseño innovador, no abordó ningún problema que personalmente me pareciera significativo.
Mi escepticismo sobre blockchain persistió hasta hace unos meses, cuando colaboré con uno de los clientes recientes de Aerospike, la Asociación BSV. Utiliza blockchain para resolver elegantemente un desafío de ingeniería que, hasta donde yo sé, no se ha abordado de manera efectiva en otros lugares, especialmente no de manera tan fluida: la creación de un sistema bancario central ilimitado y linealmente escalable.
Elijo utilizar “sistema bancario central” en lugar de “criptomoneda” para evitar las diversas connotaciones asociadas con este último término. Para esta discusión, podemos pensar en una criptomoneda simplemente como un sistema que permite a los clientes crear cuentas, depositar, retirar y transferir fondos, funciones que reflejan las de los sistemas bancarios centrales tradicionales.
En mi opinión, los sistemas bancarios centrales representan ejemplos por excelencia de aplicaciones complejas, de misión crítica, seguras y precisas que, a pesar de esfuerzos considerables, se han resistido consistentemente a la modernización.
Los inmodernizables
Muchos sistemas bancarios centrales no son escalables o lo son de manera ineficiente, lo que hace que las empresas de servicios financieros gasten recursos y esfuerzos significativos para lograr aumentos mínimos en la capacidad de carga de trabajo. Normalmente, estas limitaciones de escalabilidad surgen de la dependencia de sistemas de gestión de bases de datos relacionales (RDBMS), como mainframes u Oracle, que inherentemente carecen de la escalabilidad necesaria.
Actualizar el corazón y el alma de los sistemas bancarios centrales desde RDBMS a bases de datos NoSQL escalables, más rápidas, más rentables y eficientes ha demostrado ser un desafío excepcional. Esto se debe en gran medida a las características inherentes de los RDBMS, que son ideales para construir sistemas complejos. Sin embargo, una variedad de aplicaciones desarrolladas inicialmente utilizando un enfoque relacional han realizado con éxito la transición a NoSQL.
Durante la transición de RDBMS a NoSQL, la capa de almacenamiento de datos inevitablemente pierde ciertas características clave mientras gana otras. Estas características perdidas son críticas para la funcionalidad de la aplicación y no pueden pasarse por alto. Por lo tanto, es esencial abordar la ausencia de estas características dentro de la capa de aplicación, que es precisamente la razón por la que es tan difícil migrar sistemas altamente complejos y de misión crítica fuera del RDBMS.
Además, las operaciones RDBMS están respaldadas por pruebas matemáticas, lo que proporciona garantías inquebrantables de integridad de los datos, incluso en presencia de errores en la capa de aplicación. Por el contrario, en el ámbito NoSQL, la máxima autoridad es un tipo que se gana la vida probando las bases de datos (con el debido respeto). Lo máximo que puede afirmar es que no se encontraron errores en la versión probada de una tecnología. Claramente, este nivel de garantía es insuficiente para entornos críticos como los sistemas bancarios centrales. Por lo tanto, si pretendemos alejarnos de las garantías matemáticas que ofrece el modelo relacional, debemos implementar garantías similares dentro de la capa de aplicación.
Un método para lograr estas garantías es a través de métodos formales. Sin embargo, dada la complejidad de los sistemas bancarios centrales, construir uno utilizando únicamente este enfoque es un gran desafío.
El potencial de la cadena de bloques
Dejando de lado las palabras de moda, Blockchain es fundamentalmente un algoritmo de confianza cero matemáticamente probado. Por lo tanto, se puede implementar en la capa de aplicación para compensar la ausencia de garantías matemáticas en el modelo de almacenamiento subyacente. Además, el éxito de Bitcoin demuestra que la tecnología blockchain puede efectivamente utilizarse de manera efectiva para construir un sistema bancario central.
Sin embargo, Bitcoin y muchas otras criptomonedas basadas en blockchain están significativamente limitadas por su rendimiento de transacciones, que es considerablemente menor que el de los sistemas tradicionales de transacciones financieras no escalables. En consecuencia, en este aspecto particular, las criptomonedas existentes no ofrecen mejoras sustanciales respecto a los sistemas financieros tradicionales.
La solución de BSV a los desafíos de rendimiento de Blockchain
Sin profundizar en demasiados detalles, el rendimiento limitado de las criptomonedas basadas en blockchain se debe principalmente al tamaño de los bloques de blockchain. Por ejemplo, el tamaño de bloque de la implementación más famosa del Libro Blanco de Bitcoin, Bitcoin, tiene un límite de 1 MB, lo que lo restringe a procesar solo siete transacciones por segundo, una cifra vergonzosamente baja. Por el contrario, la implementación de Bitcoin Cash logró aumentar el rendimiento a más de 100 transacciones por segundo al aumentar el tamaño del bloque a 32 MB, aunque este número también sigue siendo decepcionantemente bajo.
Bitcoin Satoshi Vision, o BSV para abreviar, es otra implementación del Libro Blanco de Bitcoin. El principal objetivo de diseño de BSV es superar las limitaciones de rendimiento eliminando el límite de tamaño de bloque, lo que en teoría permite un rendimiento ilimitado. Sin embargo, esta modificación presenta un desafío de ingeniería sustancial.
Las criptomonedas creadas sobre la base del Libro Blanco de Bitcoin utilizan el modelo de salida de transacciones no gastadas (UTXO), a diferencia del modelo de contabilidad tradicional utilizado en los sistemas bancarios centrales. La información UTXO se recupera y actualiza en la tienda UTXO para verificar si se puede gastar una transacción de Bitcoin. Cualquier retraso en el procesamiento de un UTXO reduciría en gran medida el rendimiento de un nodo Bitcoin, lo que provocaría una pérdida de ingresos para los mineros.
Para acelerar este proceso, es esencial que se pueda acceder a los UTXO lo más rápido posible. Almacenar UTXO en memoria proporcionaría la velocidad necesaria para operaciones eficientes. Sin embargo, este enfoque tiene importantes implicaciones de costos: millones de transacciones por segundo dan como resultado billones de UTXO, que requieren decenas de terabytes de RAM. Una demanda tan alta de recursos podría hacer que la solución sea prohibitivamente costosa, lo que plantea una barrera importante para la adopción y escalabilidad generalizadas.
Aerospike: la clave para el futuro escalable de BSV
El uso de unidades de estado sólido en lugar de RAM para el almacenamiento de datos, como Aerospike, reduce significativamente los costos de BSV asociados con el mantenimiento de UTXO en un almacenamiento de datos rápido, lo que garantiza eficiencia y asequibilidad, lo que a su vez promueve una adopción más amplia de la red.
Es importante señalar que la coherencia y la integridad del almacén UTXO son cruciales para el correcto funcionamiento del nodo. Si la tienda UTXO se corrompe, el nodo no podrá participar con éxito en actividades generadoras de ingresos durante varios ciclos, lo que provocará una cantidad de daño no deseada pero limitada. Por lo tanto, los nodos BSV dependen del modo de consistencia fuerte de Aerospike para mitigar este riesgo.
Sin embargo, la corrección general del protocolo, incluida la precisión de los saldos y las transferencias, que podrían provocar daños ilimitados si se corrompe, depende de las sólidas garantías matemáticas proporcionadas por la cadena de bloques en la capa de aplicación.
Rompiendo barreras: capacidad de transacción sin precedentes
En la fase de prueba, la red BSV demostró la capacidad de sostener 1 millón de transacciones por segundo durante un largo período (semanas). En comparación, el sistema de pago Visa puede manejar hasta 65.000 transacciones por segundo.
Para gestionar 1 millón de transacciones por segundo, cada nodo BSV, conocido como Teranode, genera aproximadamente 3 millones de solicitudes por segundo en su clúster Aerospike, un número significativo pero modesto en comparación con otros clientes.
Por ejemplo, Criteo, una reconocida empresa francesa de tecnología publicitaria, utiliza Aerospike para manejar 280 millones de solicitudes por segundo, lo que indica que ni Aerospike ni el tamaño del bloque serían un factor limitante para escalar la red BSV.
En un universo paralelo
Durante la última década, he ayudado a varias instituciones financieras a escalar sus sistemas para nuevos casos de uso, como banca móvil e iniciativas de cumplimiento regulatorio como Open Banking. Un tema recurrente en estos proyectos es la implementación de soluciones para mejorar las limitaciones de rendimiento de los sistemas subyacentes. En un artículo anterior, expuse extensamente por qué estos enfoques son increíblemente ineficientes.
Normalmente, estas soluciones emplean una base de datos escalable que recupera datos de un RDBMS no escalable a través de un proceso complejo de extracción, transformación y carga (ETL). Si bien estos sistemas aumentan la capacidad de carga de trabajo, requieren inversiones sustanciales en nueva infraestructura, requieren millones de horas de trabajo de ingeniería y dan como resultado la creación de sistemas complejos que son difíciles de mantener. Esto es lo que yo llamo escalamiento ineficiente.
Puedo imaginar un universo paralelo donde los sistemas centrales sean escalables ilimitada y linealmente. En un mundo así, dar cabida a un nuevo caso de uso que aumente la demanda del sistema central podría gestionarse simplemente ampliando la infraestructura existente. No habría necesidad de construir sistemas cuyo único objetivo sea proteger el eslabón más débil. Sin una complejidad creciente. No hay proyectos multianuales y de miles de millones de dólares sólo para lanzar una aplicación.
Es esta visión la que ha hecho cambiar mi opinión sobre blockchain.
Obtenga más información sobre la latencia de milisegundos enormemente escalable de Aerospike. base de datos en tiempo real.
YOUTUBE.COM/THENEWSTACK
La tecnología avanza rápido, no te pierdas ningún episodio. Suscríbase a nuestro canal de YouTube para transmitir todos nuestros podcasts, entrevistas, demostraciones y más.