Bitcoin es una base de datos

Prepárate, prepárate. Leer esto podría enfurecerte y confundirte, podría confundirte, incluso podrías enojarte lo suficiente como para golpear tu pantalla (no lo hagas). Considera esto como una advertencia de desencadenante.

Bitcoin es una base de datos. Punto. Eso es lo que es. La cadena de bloques es una base de datos para almacenar actualizaciones pasadas y poder reproducir el estado actual de esa base de datos, el conjunto de UTXO. Todo el protocolo de Bitcoin está construido alrededor de la base de datos. ¿Qué es una entrada válida en esa base de datos y qué no lo es? ¿Quién tiene permitido proponer entradas a esa base de datos, cómo se asegura que solo las entradas de esos usuarios serán consideradas y aceptadas? ¿Cuál es el mecanismo de autenticación que restringe la escritura de entradas en esta base de datos? ¿Cómo se limitan las entradas a la base de datos para que las personas no puedan hacer tantas que sobrecarguen o hagan que el software que gestiona la base de datos se bloquee? ¿Cómo se asegura que las personas no puedan hacer entradas individuales lo suficientemente grandes como para causar otros problemas de denegación de servicio?

Se trata de la base de datos

¿Prueba de trabajo? El propósito principal en el protocolo es gestionar quién puede procesar las actualizaciones en la base de datos. Bitcoin está diseñado para ser un sistema descentralizado, por lo que necesitaba una forma de actualizar la base de datos de manera descentralizada, permitiendo a los usuarios llegar a un consenso con todas sus copias individuales de la base de datos en una sola actualización. Si todos actualizan su propia copia de la base de datos por sí mismos, no hay forma de llegar a un consenso sobre una única versión de la base de datos. Si se depende de algunas figuras de autoridad para manejar las actualizaciones, entonces el proceso de actualización no es verdaderamente descentralizado. Este fue el propósito de POW, permitir que cualquiera procese una actualización, pero no sin incurrir en un costo verificable al hacerlo.

La prueba de trabajo es simplemente un mecanismo descentralizado para actualizar una base de datos

¿La arquitectura de toda la red peer-to-peer? Existe únicamente para propagar las entradas de actualización de base de datos propuestas (transacciones) y las actualizaciones de base de datos finalizadas (bloques). ¿Los nodos verificando las transacciones a medida que ingresan a su mempool? Es para pre-filtrar las actualizaciones de entrada propuestas a la base de datos y asegurarse de que sean válidas. ¿Los nodos verificando que un bloque cumpla con el objetivo de dificultad requerido? Es para pre-filtrar una actualización propuesta de base de datos y asegurarse de que sea válida antes de pasarla a otros nodos para que actualicen su copia local.

La red peer-to-peer existe puramente para conciliar múltiples copias de la misma base de datos

¿Script de Bitcoin? Literalmente existe con el único propósito de funcionar como un mecanismo de autorización para entradas en la base de datos. Para eliminar una entrada existente en el estado actual de la base de datos, el conjunto de UTXO, un usuario que propone esa actualización debe proporcionar una prueba de autenticación que cumpla con las condiciones del script que bloquea la entrada existente en la base de datos. Solo las entradas existentes, o UTXOs, pueden ser «gastadas» para autorizar la creación de nuevas entradas en la base de datos. Los mineros son los únicos en el protocolo que pueden crear entradas sin cumplir con la condición de eliminar una existente al cumplir con los requisitos de autorización establecidos en su script de bloqueo.

El script de Bitcoin es simplemente un mecanismo para controlar y restringir quién puede escribir en la base de datos

Cada aspecto de lo que es Bitcoin gira en torno a su función central de mantener una base de datos y asegurar que muchos participantes de la red mantengan sus copias individuales de esa base de datos en sincronía y estén de acuerdo en cuál es el estado actual de la misma. Todas las propiedades que hacen que Bitcoin sea valioso como forma de dinero o medio de pago, están literalmente derivadas de cómo funciona como una base de datos.

Muchas personas en este espacio piensan que esta base de datos debería ser utilizada únicamente como medio de pago, o una forma de dinero, y yo comprendo esa perspectiva. También creo que ese es el caso de uso más importante para ella, y pienso que se deben hacer todos los esfuerzos posibles para escalar ese caso de uso particular sin sacrificar la soberanía y seguridad de poder interactuar directamente con esa base de datos.

Pero sigue siendo solo una base de datos cuando se reduce a la realidad objetiva de lo que es Bitcoin. Las personas dispuestas a pagar los costos denominados en satoshis para escribir una entrada que sea considerada válida según las reglas de esa base de datos pueden hacerlo. No hay nada que puedas hacer para detenerlos, a menos que cambies lo que se considera una entrada válida en esa base de datos, lo que implica convencer a todos los demás de adoptar un nuevo conjunto de reglas con respecto a lo que es una entrada válida.

Las personas pueden competir libremente dentro de las reglas de consenso para escribir lo que quieran en esta base de datos, siempre y cuando paguen los costos requeridos por las reglas y la estructura de incentivos de la minería para hacerlo. Punto. ¿Son muchas de las cosas que las personas pueden y están introduciendo en la base de datos estúpidas? Sí. Por supuesto que lo son. Internet está plagado de cantidades abrumadoras de cosas estúpidas en bases de datos aisladas en todas partes. ¿Por qué es eso? Porque las personas están dispuestas a pagar el costo de poner cosas estúpidas en una base de datos.

Ya sea que sean los usuarios de la base de datos pagando al proveedor y operador, o el operador mismo permitiendo que ciertas cosas sean ingresadas como parte de las operaciones sin pasar el costo a un usuario, es irrelevante. Estas cosas estúpidas solo existen en algún lugar en forma digital porque de alguna manera, se paga el costo para hacerlo.

Bitcoin no es fundamentalmente diferente de cualquier otra base de datos en ese sentido. La única diferencia es que no hay un único propietario o guardián que dicte lo que está permitido o no. Cada propietario de una copia de la base de datos de Bitcoin es capaz de permitir o no permitir lo que quieran; el problema es si eligen rechazar algo que todos los demás consideran aceptable, se quedan fuera del consenso con todos los demás. Su base de datos local ya no está sincronizada con la base de datos virtual global que todos los demás están siguiendo y utilizando.

Si encuentras ciertas entradas de la base de datos inaceptables, entonces por todos los medios cambia las reglas que tu copia local valida las nuevas entradas en contra. Pero eso es cortarse la nariz para desquitarse. Al final del día, Bitcoin se basa en un simple axioma: pagar para jugar. Si las personas pagan la tarifa, pueden jugar. Así es como funciona.

Al final del día, depende completamente de cada individuo lo que quieran permitir o no en su base de datos, pero cortando a través de toda la semántica y debates filosóficos que están sucediendo en este momento, una cosa sigue siendo innegable y objetivamente cierta: Bitcoin es una base de datos.

Deja un comentario