Este artículo va sobre la complejidad técnica y filosófica del concepto Bitcoin y cómo se conecta esa realidad con los retos que enfrenta la escalabilidad de esta tecnología. Lo he traducido por la perspectiva que aporta, además de la cantidad de fuentes de información que proporciona.

El post original se titula ‘Nobody Understands Bitcoin (And That’s OK)’ publicado en Coindesk y escrito por Jameson Lopp: ingeniero de software en BitGo, creador de statoshi.info y fundador de bitcoinsig.com

He añadido algunos enlaces extra que no venían en el post original y también he puesto links sobre el nombre de cada persona citada en este artículo, para que sigas investigando por tu cuenta…

► Cualquier error de traducción o expresión, no dudes en escribirme vía twitter

Introducción

En esta colaboración con el sitio Coindesk, profundizamos sobre la idea de si bitcoin puede ser entendido como una tecnología, para contestar a eso Jameson Lopp aparece en escena con más preguntas que respuestas y transmitiendo una apasionada llamada a la exploración y la apertura mental.

Cuando puse mi atención por primera vez sobre bitcoin, de pronto me vi empleando muchas horas de mi tiempo absorbiendo tanta información como me era posible, intentando encajar todas las piezas.

Después de años de aprendizaje, ahora dedico gran cantidad de mi tiempo en intentar ayudar a otros a entender mejor Bitcoin. Mientras mucha gente se refiere a mí como un experto en bitcoin, yo todavía me considero a mí mismo un estudiante. Todavía me queda por averiguar cuán profunda es la madriguera del conejo.

Andreas Antonopoulos usaba este argumento para explicar bitcoin y que se entendiera su complejidad:

“Escribí un libro que respondía la pregunta de ¿Qué es Bitcoin?, tenía 300 páginas.
Estaba obsoleto cuando se imprimió y tenía que ser corregido y actualizado cada tres meses para mantenerse al día con los cambios”

La naturaleza polifacética de Bitcoin

Con suficiente estudio puedes aprender de forma autodidacta cómo funciona bitcoin desde un punto de vista técnico, de hecho, tengo una lista de recursos formativos que son suficientes para mantener ocupado durante meses a quien sea en la búsqueda de este objetivo. Sin embargo, esta estrategia de ingesta masiva de información solo te mostrará la punta del iceberg de bitcoin. Meltem Demirors publicó un tweet con una gráfica sobre esto:

how bitcoin works, bitcoin experts

El primer reto para entender bitcoin es tener claro que se trata de un sistema multidisciplinar y polifacético que está en constante evolución.

¿Por qué bitcoin es difícil de entender?

Ferdinando Ametrano lo explicó bien:

Porque es un cruce de caminos entre:

1. Teoría de juegos (click aquí si no sabes qué es este concepto)
2. Criptografía
3. Redes informáticas y transmisión de datos
4. Teoría económica y monetaria.

Es decir, principalmente no es una tecnología, es un cambio de paradigma cultural.

Ferdinando hace referencia a un punto clave en el que iré profundizando: Bitcoin no es solamente una tecnología, es una tecnología que representa algo menos tangible todavía. Bitcoin es un protocolo vivo que surge de una gran fusión de ideas, filosofías, culturas y políticas después de que se hayan sometido a pruebas de fuego.

Puedes leer el artículo “Rise of the Cypherpunks” para comprender cómo hemos llegado al punto donde estamos hoy.

La comprensión de Satoshi sobre Bitcoin

“Escribir una descripción sobre bitcoin para el público en general es bastante duro. No hay nada con lo que se pueda relacionar”

-Satoshi, 5 de Julio de 2010.

Incluso Satoshi no entendía del todo lo que él había construido en lo que se refiere al modelo de seguridad de bitcoin.
Él (o ella) arregló bastantes bugs existentes en el primer año de vida de bitcoin.

Después de que esta criptomoneda cumpliera los 18 meses de edad, la tasa de correcciones de errores (bug fixes) se ralentizó hasta el punto que las nuevas vulnerabilidades eran categorizadas y documentadas. Vamos a repasar algunos de los errores que fueron corregidos antes de que aumentara el número de adeptos de bitcoin.

En la primera versión, cualquiera podía gastar las monedas de cualquier otra persona.

“Al principio, el opcode (código de operación o comando) OP_RETURN solamente hacía que el script terminase antes en vez de que fallara, así que podías robar los bitcoins de quien fuese simplemente usando el scriptSig OP_TRUE OP_RETURN. También era posible poner un pushdata opcode justo al final de un scriptSig para convertir el ScriptPubKey entero en una constante (que se evalúa como true)
Satoshi arregló estos bugs cambiando el comportamiento del OP_RETURN para que causara el fallo inmediato de la transacción y el scriptSig y el scriptPubKey fueran evaluadas en dos pasos separados.”

-Theymos

Satoshi también arregló un fallo importante del consenso dentro de bitcoin, cambiando la lógica de cómo se define la “mejor cadena”: modificó esto para que la ‘mejor cadena’ no fuera la cadena más larga, sino la cadena con más prueba de trabajo. Técnicamente, se podría argumentar que ese cambio se trataba de un hard fork, pero en realidad eso no se produjo en aquel momento porque entonces la cadena más larga era también la cadena con más prueba de trabajo.

Satoshi también estableció el límite del tamaño de bloques como protección contra ataques de denegación de servicio (denial-of-service attacks) A principio, el tamaño de bloque solo estaba limitado de manera implícita por el tamaño de mensaje de la red: 32 Mb

También existe un bug en OP_CHECKMULTISIG que todavía existe.
Está mencionado en el BIP-011, descrito por Gavin Andresen.

Nota de la traducción: BIP significa Bitcoin Improvement Proposal (Propuesta de Mejora de Bitcoin) y es como se clasifican las propuestas para la mejora del protocolo de red de bitcoin. Nació como propuesta de Amir Taaki y es algo público y abierto, se pueden ver.

«OP_0 es necesario por un error en OP_CHECKMULTISIG, extrae un ítem más de la cuenta en la cola/pila (stack) de ejecución, así que un valor inútil debe colocarse en la pila.»

-Gavin Andresen

¿Y quién podría olvidar el bug del desbordamiento de valor (value overflow) que permitió a alguien crear 184 mil millones de bitcoins?

En mi búsqueda de los viejos bugs que fueron corregidos por Satoshi en los inicios de bitcoin y los cuáles no son del todo bien conocidos, Greg Maxwell me recordó uno especialmente jugoso:

“En las versiones iniciales de bitcoin, cualquier usuario podía hacer un hard fork de cualquier Versión Publicada (Released Version) desde cualquier otra versión. Este fallo de diseño mostró que Satoshi no comprendía del todo las condiciones necesarias para hacer actualizaciones seguras cuando lanzó bitcoin por primera vez, pero la solución que aplicó a este problema demotró que si comprendía esas condiciones un poco después.

Había un opcode llamado OP_VER que era el que añadía el número de verificación del nodo en la pila (stack).
Satoshi siempre creyó que solo debía haber un software (o ‘programa’) para los nodos bitcoin.
El objetivo aparente de este opcode era el de añadir características al script y solo la versión soportada más reciente podría ver estos nuevos opcodes (originalmente también había 16 bits de espacio de opcode en el codebase -base de código-)

Pero alguien podría haber usado esto de forma maliciosa de la siguiente forma:
“OP_VER 1234 IF FALSE RETURN ENDIF TRUE”
Así haces que la versión 1,234 rechace un bloque minado por cualquier otra versión.
Por lo tanto, cualquier usuario podría hacer un fork del sistema en cualquier momento.
Cuando Satoshi quitó el opcode OP_VER, añadió el opcode OP_NOP, que es lo que hace posible los soft forks de «código moderno»‘. Este cambió en sí fue un soft fork porque las versiones originales ignoraban los opcodes desconocidos»

Los investigadores también han descubierto algunas fallas en el libro blanco de Satoshi con respecto a la descripción de la seguridad del sistema.

Por ejemplo, hay problemas de ‘miner luck y ‘selfish mining’ (suerte de minero y minería egoísta)

Incluso hay una recopilación de problemas conocidos que han sido descritos sobre el libro blanco de Satoshi y está disponible de forma pública.

Es claro que bitcoin no siguió la visión de ‘el código es ley’, sino más bien algo así como ‘la visión de Satoshi es ley’ dado que éste hizo una serie de ajustes en los primeros años según iba descubriendo que el código no estaba completamente alineado con la intención de su creador.

Creo que esta distinción anterior es especialmente relevante dado que:
a) Satoshi paró de contribuir al código hace muchos años
b) Bitcoin no tiene una especificación formal.

El software nunca se termina

Puedes tomar conciencia de lo poco que se comprende bitcoin simplemente mirando la gran cantidad de investigación que se está haciendo para analizarlo y mejorarlo.

Satoshi declaró una vez que el core design de bitcoin estaba grabado en piedra y otras implementaciones serían una amenaza para la red. Con frecuencia hay gente que toma esta cita (y otras de Satoshi) usándola para argumentar de forma falsa (a través de la apelación a la autoridad) que el protocolo de bitcoin debe evolucionar de una forma específica.

Te quiero plantear lo siguiente: este es otro punto en el que Satoshi estaba equivocado. Como hemos visto, Satoshi realmente tuvo que hacer muchos cambios a bitcoin ya que los primeros desarrolladores estaban explorando el código, descubriendo problemas y estudiando situaciones extremas sobre diferentes parámetros del protocolo.

Hay también más de media docena de implementaciones del cliente bitcoin que se están ejecutando hoy día sin que interrumpan la red. Incluso hemos visto que una sola implementación puede ser una amenaza para la red cuando las diferencias en el nivel de máquinas puedan causar fallos de consenso como ocurrió en 2013 con la bifurcación de la cadena (chain fork) de Berkeley DB

Recuerda mi descripción inicial: Bitcoin es el resultado del punto de encuentro de muchas contribuciones.
Esto se volvió una evidencia cuando Satoshi lanzó el proyecto en el que había estado trabajando en secreto durante varios años.

La primera semana que bitcoin fue lanzado, también fue la semana que ganó su primer colaborador, Hal Finney.

Nota de la traducción: Hal Finney lamentablemente falleció en 2014.
Uno de los lugares donde compartió sus impresiones y conocimiento fue el foro BitcoinTalk y aquí os dejo una traducción al español de uno de sus posts en dicho foro: ‘Bitcoin y yo’

Hal fue una de las pocas personas que creyó desde el principio que bitcoin podía funcionar, lo cuál está claro en el comunicado original de Satoshi.

“[Hal Finney] presuntamente descubrió muchos fallos en el código inicial que fueron solucionados reduciendo los opcodes. Hal Finney era el cyberpunk de los cyberpunks. Tenía una extraña habilidad para escribir código de forma excepcional, era capaz de ver el bosque y los árboles, y describir lo que veía. Todos nosotros leemos sus artículos cuidadosamente. No creo que nadie más se haya ganado tanto respeto como él»

-Ian Grigg

Finney publicó una serie de emails que se escribió con Satoshi a través del Wall Street Journal, los cuáles son una lectura muy interesante. En ellos se puede apreciar la sorpresa de Satoshi cuando advierte que Finney es capaz de encontrar bugs importantes que no habían sido advertidos antes aunque el mismo Satoshi hubiese “testado fuertemente” todo.

A diferencia de algunos sistemas (como Ethereum) bitcoin no tiene una especificación formal. Incluso si bitcoin tuvo una especificación formal alguna vez, eso no haría más fácil o difícil hacer cambios en el protocolo desde un punto de vista técnico, aunque si se podría desde un punto de vista social.

Como Charlie Lee comentó en su respuesta a Gavin Andresen sobre la definición de éste acerca de la criptomoneda: “Bitcoin es amorfo”

“Definir Bitcoin es como la definición de una palabra. Puede mutar y cambiar lentamente con el tiempo. Nadie controla eso»

Tampoco existe un proceso objetivo por el cuál se decreten los cambios.

“Mientras que Bitcoin determina el consenso objetivamente, los medios para determinar los cambios en el consenso son subjetivos”

Paul Sztorc habló de tomar decisiones objetivas con el desarrollo de bitcoin, pero eso está lejos de realizarse. Su presentación se basó en este post de su blog.

La verdadera fuerza de bitcoin no procede de que sea la encarnación de algunas creencias dogmáticas sobre la inmutabilidad, la descentralización u otras palabras de moda, sino que su fuerza procede de la colaboración. El proceso de tomar la colaboración y usarla para determinar el consenso humano puede ser ruidoso y desordenado, pero es el modelo de gobierno con el que debemos trabajar.

Como yo lo veo, un sistema de gobierno, orientado en el voluntarismo, es el único aspecto de bitcoin que si está realmente grabado en piedra.

La magia de bitcoin

Sergej Kotliar, CEO de Bitrefill, escribió esta pieza hace años describiendo por qué bitcoin tiene similitudes con la religión. Como él señala, hay un poco de magia en el hecho de que el sistema funcione como un todo, porque no confías en los componentes técnicos. Los incentivos bien configurados del propio sistema forman una mano invisible que lo guía.

La mayoría de los usuarios de bitcoin probablemente no se dan cuenta, pero están suscribiéndose a una sofisticada ontología subjetivista solo por el hecho de participar en esta colectiva y reforzada creencia en el sistema de reglas que comprenden bitcoin.

Para decirlo en términos más sencillos:

“Los sistemas públicos de consenso sin permiso (de terceros o autoridad superior) te permiten usarlos sin que tengas que confiar en nadie. Sin embargo, debes confiar en todos en su conjunto”

Mientras que bitcoin puede ser descrito como “ausencia de confianza” (trustless) en el sentido de que un nodo completo no necesita confiar en ningún otro participante de la red, eso no quita que en un meta nivel puede haber involucrada con frecuencia alguna forma de confianza en terceros.

Un ejemplo de esto último respecto al meta nivel:
Piénsalo, casi ninguno de los usuarios de bitcoin realmente lee y entiende el software y el protocolo en sí. Están confiando en que los desarrolladores están siendo cautos y cuidadosos para que el código no incluya fallos.

Me parece que el hecho de que pocas personas tengan una comprensión profunda de las operaciones técnicas de bitcoin da lugar a que las personas con menor comprensión deleguen eso en otras personas y decidan en qué “expertos” confiar. Por eso, cuando los expertos chocan entre sí, la gente se divide y se posicionan del lado del experto cuyos argumentos les resulten más convincentes.

Desafortunadamente, esto significa que a veces la política se inyecta en el proceso de toma de decisiones.

Como Shaolin Fry apuntó recientemente, debemos esforzarnos en evitar la politización de las mejoras propuestas para el protocolo. Siendo claro, esto no significa que ‘dentro del ecosistema nadie está motivado por ideales políticos’, más bien significa que la dirección del sistema no está conducida por la política, donde un grupo de personas fuerza sus creencias sobre otras.

Por ejemplo, el concepto de votación generalmente significa que se está produciendo un proceso político. En lugar de eso, debemos esforzarnos por un sistema de innovación sin permiso, en el cuál los participantes pueden indicar que desean interactuar de ciertas maneras, al margen de las preferencias que otros participantes indiquen.

“Tenemos muchas opciones para divisas que están (indirectamente) controladas por capricho político. Bitcoin debería ser algo más sólido que eso. Me encantaría poder decir que las reglas para alcanzar un consenso completo son inamovibles desde el día uno, pero no es así. No están grabadas en piedra. La realidad de la ingeniería hace esto poco realista.
Ese sueño murió para bitcoin el día que se encontró el primer fallo grave e inequívoco que afectaba al consenso: la desactivación de opcodes que daban fallos lo debilitó más y eso requirió más cambios para ser restaurado de nuevo. Pero en el mundo las cosas no suelen ser así de blancas o negras. Bitcoin todavía puede cumplir la promesa de ser un dinero menos político aunque no esté totalmente grabado en piedra”»

-Greg Maxwell

Problemas de proyección

Algunos usuarios de bitcoin logran comprender el protocolo lo suficiente como para empezar a prever potenciales mejoras y es en este punto donde ellos intentan cambiar el sistema para que se ajuste mejor a su perspectiva. Esta mentalidad de ‘mando y control’ es propia de la naturaleza humana. Yo mismo he sido culpable en el pasado de caer en el error de intentar ajustar el proyecto a la perspectiva que tenía sobre lo mejor para bitcoin, en lugar de digerir y asimilar las perspectivas de la comunidad completa.

Hay muchas más consideraciones a tener en cuenta en el debate sobre el desarrollo de bitcoin, no sólo estamos hablando de los temas técnicos que explican cómo afectan a la red los cambios que se hagan.

Ryan X Charles ha dado cobertura a los niveles más altos de las filosofías que rodean los dos puntos de vista más populares dentro del debate de la escalabilidad de bitcoin. Gran parte de este debate viene por:

a) diferentes prioridades
b) diferentes creencias en los casos de uso de bitcoin

Desafortunadamente, una parte significativa de los participantes en estos debates han tomado sus perspectivas y las han desarrollado hasta el punto de llegar a creencias dogmáticas, lo que hace imposible que se pueda participar en un discurso intelectual.

Dogma: “Hacer X es un ataque a Bitcoin”
Discurso: “No estoy de acuerdo con X porque mi visión para Bitcoin es Y”

Una razón por la que creo que resulta fácil para la gente proyectar su perspectiva sobre bitcoin es precisamente su falta de especificación y por tanto, la falta de objetivos claros.

Por ejemplo, Satoshi describió bitcoin como un “sistema electrónico de dinero P2P”, pero incluso esta simple descripción puede ser interpretada fácilmente de múltiples maneras:

-El concepto P2P no proporciona un contexto en torno a cuántos pares debe haber
-El concepto Dinero no proporciona ningún contexto sobre cuál debe ser la velocidad o el coste de transacciones

De la misma forma que puedes encontrar una gran variedad de perspectivas e interpretaciones de la Constitución de los Estados Unidos de América, o de la Biblia, o del Corán; los escritos de Satoshi también son interpretados y debatidos. La proyección de las perspectivas individuales en bitcoin ha llevado al mismo tipo de fractura que podemos observar en sistemas políticos, filosóficos y religiosos. Un grupo empieza estando de acuerdo mayoritariamente, pero más tarde aparece un problema sobre el cuál el grupo no puede formar un consenso.

Los individuos empiezan a polarizar sus perspectivas y a apoyar acciones que fomenten el tribalismo. Se trazan líneas de partido (como en los grupos políticos), se realizan pruebas de fuego a los recién llegados, se suprime el discurso disidente, se perpetúa la propaganda, se rompen las comunicaciones y se forman cámaras de eco, eco, eco, eco….

escalabilidad de bitcoin

Como resultado, hoy día los debates bitcoin se llenan a menudo de falsas afirmaciones y calificaciones absurdas, donde una parte considera que la otra es ignorante o dañina. Esto es algo desafortunado porque a menudo la gente termina ignorándose o en un diálogo de sordos bajo la presunción de que la razón está de nuestro lado y la otra parte es la que está equivocada.

Es preocupante ver la rigidez de las posturas y perspectivas enfrentadas por creencias dogmáticas que lo único que hacen es degradar la calidad del discurso en la comunidad.

Os planteo que no hay un enfoque ‘correcto’ para ver bitcoin, sino una multitud de perspectivas. La diversidad de perspectivas y casos de uso fue el tema de uno de los primeros artículos que escribí acerca de bitcoin.

No estoy diciendo que tienes que estar de acuerdo con la retórica emitida por personas con una perspectiva distinta a la tuya acerca de lo que bitcoin debe ser. Te sugiero, sin embargo, que te esfuerces en reconocer esas afirmaciones como lo que son, y no convertirlo en un malicioso ataque que debes defender con un contraataque directo.

Si un debate se está calentando demasiado y el discurso se está rompiendo, siempre puedes desengancharte y salir de ahí.

Ten en cuenta que todos los seres humanos caen en prejuicios y sesgos, muchas veces no podemos evitar vernos afectados por ellos, pero podemos elecgir conscientemente como respondemos a otras personas sesgadas. También puede ayudar a recordar que bictoin no necesita que tú lo defiendas (tu perspectiva sobre bitcoin ya la defiendes eligiendo qué software ejecutar y el sistema en el cuál almacenas tu dinero)

El Tao de Bitcoin

Andreas una vez habló sobre el ‘ruidoso’ debate de la escalabilidad. Aunque puede sonar desagradable, debemos recordar que esto es el resultado de una característica más que de un defecto de bitcoin.

Los participantes del ecosistema bitcoin debemos ser humildes al discutir sobre eso en lugar de confiar que nuestra comprensión del sistema es superior a la de otros participantes dentro de una discusión. Por mi parte, he descubierto que mis conversaciones son más productivas después de llegar a esta conclusión. Y además, también he desperdiciado menos tiempo al evitar conversaciones que iban a ser claramente improductivas debido a las opiniones dogmáticas expresadas por la otra parte.

Puedes alcanzar el Tao en bitcoin aceptando que bitcoin está en su propio camino, el cuál está fuera de tu control. No te frustres si tu visión de bitcoin no se alinea con la de otros usuarios. Bitcoin convergerá de forma natural en al menos un denominador común del consenso humano: aquello que sea beneficioso (o menos perjudicial) para el mayor subconjunto de participantes.

El Tao de Bitcoin no es entender bitcoin, sino aceptar que bitcoin es lo que es.

“Gracias a todos por jugar. A todo el mundo: ¡estás en lo cierto! Todos los que tengan un interés personal pueden (intentar) influir en Bitcoin. Nadie puede controlar eso.”

Bitcoin se rompe mal

Primer paso para entender Bitcoin: admitir que no entiendes Bitcoin.
Paso final: darte cuenta de que “entender” es un objetivo en movimiento…

He intentado presentar suficientes evidencias sobre cómo bitcoin desafía los enfoques educativos convencionales e incluso desafía a las autoproclamadas autoridades que pretenden entenderlo. El resultado poder ser desconcertante, pero no necesariamente negativo.

Debemos mantener la esperanza de que bitcoin seguirá adelante para ‘fallar en su escalabilidad’ igual que lo ha hecho Internet.

Jimmy Song también hizo un gran apunte para el optimismo frente al estancamiento y la desesperación:

“Resumiendo, bitcoin está madurando y el mercado está empezando a definir lo que bitcoin será. Estoy seguro de que hay personas en ambos lados del debate a los que no les gusta lo que bitcoin va a ser, pero eso es lo que hay con una moneda descentralizada.”

Continuaré mi búsqueda consumiendo tanta información como sea posible sobre este nuevo ecosistema, pero desde luego una cosa es segura: hace mucho tiempo he abandonado el objetivo de entender bitcoin.

Cuánto más rápido corro hacia la línea de meta, más se distancia de mí. Mientas que algunas personas en este ecossitema tienen más confianza que otras en la futura dirección que tome bitcoin, la verad es que estamos abriendo nuevos caminos y vamos aprendiendo a medida que avanzamos.

“Puedes ser cualquiera de estas cosas….
*Inversor ballena
*Usuario pionero
*Ejecutivo Nivel Chief (C-level executive)
*Desarrollador
*Minero
…y todavía no entender Bitcoin.”

Nota del autor, Jameson Lopp:
Gracias a las (muchas) personas con amplia variedad de perspectivas que me dieron feedback sobre este artículo.

Imágenes via Cryptograffiti. Encuentra más imágnes y creaciones haciendo click aquí.

Final Note: Jameson, thank you for Make Bitcoin Great Again.