Bitcoin es una base de datos.

Prepárate, prepárate. Leer esto podría enojarte 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 …


Prepárate, prepárate. Leer esto podría enojarte 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. El blockchain 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 evitar que las personas hagan tantas que sobrecarguen o hagan colapsar el software que gestiona la base de datos? ¿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?

Bitcoin: Base de datos descentralizada.

Se trata de la base de datos.

¿Prueba de trabajo? El propósito completo de eso en el protocolo es gestionar quién puede procesar realmente las actualizaciones a la base de datos. Bitcoin está destinado a ser un sistema descentralizado, por lo que necesitaba una forma de actualizar la base de datos de manera descentralizada mientras permitía a los usuarios llegar a un consenso con todas sus copias individuales de la base de datos en una sola actualización. Si todos están actualizando su propia copia de la base de datos por sí mismos, no hay forma de que todos lleguen a un consenso sobre una sola versión de la base de datos. Si dependes de algunas figuras de autoridad para manejar las actualizaciones, entonces el proceso de actualización no es verdaderamente descentralizado. Este fue el punto 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 la red de pares a pares completa? Existe únicamente para propagar las entradas de actualización de la 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 prefiltrar 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 prefiltrar una actualización propuesta de la base de datos y asegurarse de que sea válida antes de pasarla a otros nodos para actualizar 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 las 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 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.

"Control de escritura"

Cada aspecto de lo que es Bitcoin gira en torno a la 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 acuerden cuál es el estado actual de la base de datos. Todas las propiedades que hacen que Bitcoin sea valioso como forma de dinero o medio de pago se derivan literalmente de cómo funciona como una base de datos.

"Bitcoin: base de datos descentralizada"

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 entiendo esa perspectiva. También creo que ese es el caso de uso más importante para ella, y pienso que se debe hacer todo el esfuerzo posible para escalar ese caso de uso en particular sin sacrificar la soberanía y seguridad de poder interactuar directamente con esa base de datos tú mismo.

"Base de datos como pago"

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 bajo 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 la gente puede y está ingresando 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 propio operador 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 alguna forma digital porque de alguna manera, se paga el costo para hacerlo.

El 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 deseen; el problema es si eligen rechazar algo que todos los demás consideran aceptable, se quedan fuera de consenso con 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 para las nuevas entradas. Pero eso es cortarse la nariz para molestar a tu cara. Al final del día, Bitcoin se rige por un simple axioma: pagar para jugar. Si las personas pagan la tarifa, pueden jugar. Así es como funciona.

Cambiar reglas de entrada.


Al final del día, es completamente decisión de cada individuo lo que deseen 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 ocurriendo en este momento, una cosa permanece incuestionable y objetivamente cierta: Bitcoin es una base de datos.