El libro de la Web3
Índice
Parte I · La pregunta y su encuadre

2. Manual básico para el lector: computadoras, redes y software en lenguaje llano

Capítulo 226 min de lectura

Este capítulo construye, desde cero, el pequeño conjunto de ideas del que el resto del libro depende sin decirlo. Supone un lector que ha usado un teléfono inteligente, ha enviado un mensaje y ha iniciado sesión en una cuenta, pero que nunca ha tenido ocasión de preguntarse qué ocurre realmente por debajo. El objetivo no es convertir al lector en ingeniero. Es instalar un puñado de modelos mentales — computadora, datos, red, servidor, nube, base de datos, protocolo, software, cuenta, confianza — con la claridad suficiente para que, cuando capítulos posteriores afirmen que la Web3 es un intento de cambiar quién controla la base de datos, la frase tenga significado real en lugar de pasar por eslogan. Todo lo que sigue es ciencia de la computación convencional, presentada con llaneza; el material polémico viene después. Terminamos planteando la única pregunta sobre la que gira el libro entero: cuando usted utiliza un servicio digital, ¿de quién es la computadora que lleva el registro, y qué impide que su dueño lo modifique?

Qué hace realmente una computadora

Quítele la pantalla, las aplicaciones y las marcas, y una computadora es una máquina que hace solamente dos cosas: almacena información y sigue instrucciones para transformar esa información. Eso es, en verdad, casi todo. El plano conceptual de esta clase de máquina — un único dispositivo que guarda, en la misma memoria, tanto la información con la que trabaja como la lista de instrucciones para trabajar con ella — quedó trazado en los años cuarenta, de manera especialmente influyente en el informe de von Neumann de 1945 sobre el diseño del EDVAC, y casi todas las computadoras construidas desde entonces, incluido el teléfono que usted lleva en el bolsillo, siguen ese plan básico (von Neumann, 1945). Antes todavía, Turing (1936) había demostrado matemáticamente que una sola máquina, muy simple, podía en principio ejecutar cualquier cómputo si se le suministraban las instrucciones adecuadas — la razón profunda de que un mismo dispositivo pueda ser, por turnos, calculadora, cámara, mapa y teléfono.

Dos palabras merecen definición antes de continuar.

Información significa aquí cualquier cosa que pueda escribirse como una serie de elecciones — sí o no, encendido o apagado, 0 o 1. Cada una de esas elecciones se llama bit (abreviatura de binary digit, "dígito binario"). La idea de que cualquier mensaje — un número, una letra, una fotografía, una canción — puede codificarse como una cadena de estas elecciones de encendido/apagado, y medirse en bits, se debe a Shannon (1948), y es el fundamento de toda la tecnología digital.

En pocas palabras: Una computadora es un oficinista veloz e incansable que solo sabe leer y escribir unos y ceros, y que nunca se aburre ni improvisa. Todo lo impresionante que hace una computadora está construido a partir de una cantidad inimaginable de estos pasos diminutos y tontos, ejecutados a enorme velocidad.

Cuando decimos que una computadora "almacena" información, esa información vive en dos tipos de lugar. Existe la memoria (el espacio de trabajo rápido y temporal que la máquina usa mientras está haciendo algo activamente, y que se borra por completo cuando se corta la energía), y existe el almacenamiento (el estante más lento y permanente donde las cosas se conservan aunque la máquina esté apagada, como el chip dentro de un teléfono o el disco duro de una computadora portátil). La distinción cotidiana es la diferencia entre los papeles desplegados sobre su escritorio mientras trabaja (la memoria) y el archivador donde los guarda por la noche (el almacenamiento).

Datos, archivos y programas

La información que una computadora almacena se llama datos — cualquier hecho o contenido registrado, desde un solo número hasta una película completa, expresado en aquellos unos y ceros. Para que los datos sean manejables, la computadora agrupa los que están relacionados y le da un nombre al conjunto. Ese conjunto con nombre es un archivo.

Un archivo es, en esencia, una caja de datos con etiqueta — el equivalente digital de una carpeta con un nombre escrito en la pestaña. "foto-vacaciones.jpg" y "recibo-alquiler.pdf" no son más que largas cadenas de bits que el sistema ha etiquetado, medido y fechado para poder encontrarlas de nuevo.

La segunda cosa que hace una computadora — seguir instrucciones — nos lleva a la distinción más importante de este capítulo. Un programa (la palabra técnica para el software, al que volveremos más abajo) es una lista de instrucciones que le dice a la computadora, paso a paso, qué hacer con los datos: qué bits leer, cómo cambiarlos, qué escribir de vuelta, qué mostrar en la pantalla.

En pocas palabras: Los datos son el material; un programa es la receta. Una foto es datos. La aplicación que aclara, recorta y guarda la foto es un programa. La genialidad — y el peligro — del diseño de von Neumann es que la receta no es más que otro dato guardado en la misma memoria, y por eso a una computadora se le puede entregar un programa nuevo y convertirla al instante en una herramienta nueva. La salvedad honesta: esto también significa que una computadora seguirá una receta mala u hostil con exactamente la misma fidelidad que una buena. No tiene criterio. Esto importará muchísimo cuando lleguemos al software que maneja dinero.

Qué es una red

Una computadora sola es útil. Las computadoras se vuelven capaces de cambiar el mundo cuando están conectadas, porque entonces pueden pasarse datos unas a otras. Una red es, sencillamente, dos o más computadoras enlazadas de modo que puedan intercambiar datos.

Una red es, en esencia, un sistema postal para la información: un conjunto de rutas y reglas acordadas que permiten que un mensaje salga de una máquina y llegue, intacto, a otra. Los cables, las líneas de fibra óptica y las señales de radio (Wi-Fi, datos móviles) son los caminos; los mensajes son la correspondencia.

La internet es la mayor de esas redes — en realidad una red de redes, la trama global de redes menores interconectadas que permite que una computadora en un país intercambie datos con una computadora en otro. La palabra es una contracción de inter-network, "entre redes". Conviene retener dos hechos. Primero, la internet es física: cables reales (incluidos los haces que yacen en el fondo del océano), torres de radio reales, edificios reales llenos de máquinas. No es una nube en el cielo, diga lo que diga el marketing. Segundo, ninguna empresa ni gobierno es dueño de la internet en su conjunto; funciona porque todos los que se conectan a ella aceptan usar las mismas reglas para direccionar y reenviar datos — un punto que desarrollamos más abajo bajo el título de "protocolos" (Kurose y Ross, 2017).

En pocas palabras: La internet no es una cosa de la que usted posee un pedazo; es un acuerdo que siguen miles de millones de máquinas de dueños distintos, de modo que cualquiera de ellas puede enviar un mensaje a cualquier otra. Piense en la unión postal mundial: muchos servicios de correo nacionales, administrados por separado, que han acordado suficientes reglas comunes para que una carta pueda cruzar fronteras.

Cuando los datos viajan por una red, no se envían como un solo bloque macizo. Se dividen en pequeños fragmentos estandarizados llamados paquetes, cada uno etiquetado con su origen y su destino, se despachan por separado y se rearman en el otro extremo — algo así como mudar una casa enviándola desarmada, en cajas etiquetadas, en lugar de despacharla entera como un solo objeto. Por eso una videollamada puede continuar, algo degradada, incluso cuando la conexión es mala: algunas cajas llegan tarde o se reenvían sin que falle la entrega completa.

Servidores y clientes: el modelo del restaurante

La mayoría de los servicios digitales que la gente usa a diario sigue una disposición particular, y entenderla es esencial para entender aquello contra lo que reacciona la Web3. La disposición tiene dos papeles: clientes y servidores.

Un servidor es una computadora (con frecuencia potente, mantenida en funcionamiento constante en un edificio especializado) cuyo trabajo es proveer algo — datos, una página web, un servicio — cuando se le pide. Un cliente es la computadora o el programa que solicita ese algo. Su teléfono, cuando ejecuta una aplicación, o su computadora portátil, cuando ejecuta un navegador, es el cliente; la máquina de la empresa con la que esa aplicación conversa es el servidor.

La analogía más limpia es un restaurante.

Piense en un restaurante. Usted, sentado a la mesa, es el cliente. Usted no entra a la cocina a cocinar; hace un pedido. El mesero lleva su pedido a la cocina — el servidor —, que prepara el plato y lo envía de vuelta. Usted recibe un plato terminado sin ver jamás la despensa, las recetas ni al chef. Exactamente de esta manera, cuando usted abre una aplicación de redes sociales (el cliente) y pide ver su feed de novedades, la solicitud viaja hasta los servidores de la empresa (la cocina), que arman el contenido a partir de los datos que almacenan y devuelven el resultado terminado para que su pantalla lo muestre.

En pocas palabras: En la internet corriente, usted no tiene la comida en sus manos, y usted no administra la cocina. Usted pide, y una máquina en otra parte — propiedad de otra persona — decide qué enviarle de vuelta. Esto es cómodo: a usted le basta un dispositivo sencillo y barato, porque el trabajo pesado y los datos reales viven en el servidor. Pero también significa que quien es dueño de la cocina manda sobre la comida. Puede cambiar la receta, quedarse sin un plato, negarse a atenderlo o cerrar la cocina — y usted, desde la mesa, solo puede pedir.

Dónde se rompe la analogía, dicho con honestidad: la cocina de un restaurante le sirve una comida que después usted posee y come, mientras que muchos servicios digitales le entregan apenas una vista temporal de datos que permanecen en su servidor. Cuando usted "ve" sus fotos en una aplicación típica de la nube, por lo general está mirando una copia transmitida desde la máquina de la empresa; el original con autoridad queda en manos de ellos. Esa asimetría — ellos conservan la cosa real, usted recibe una vista de ella — es uno de los hechos centrales que examina el resto de este libro.

Este patrón se llama el modelo cliente-servidor, y es la forma dominante de la internet actual. Su opuesto, donde no hay una cocina central especial y cada participante es a la vez cliente y servidor — pasando datos directamente a sus pares, de igual a igual —, se llama una red entre pares (peer-to-peer, o P2P). Por ahora basta con retener el nombre; la arquitectura entre pares es una de las raíces técnicas de la Web3, y volveremos a ella en la Parte III.

"La nube" es la computadora de otro

Pocas frases han hecho más por oscurecer el funcionamiento de las computadoras que "la nube". Suena etérea, sin lugar, casi mágica. No es ni mágica ni carente de lugar.

La nube es, en términos llanos y algo desinflados, las computadoras de otras personas, alquiladas por hora. Cuando un servicio corre "en la nube", significa que los servidores que hacen el trabajo, y el almacenamiento que guarda los datos, no están en su casa ni en su oficina: son máquinas dentro de grandes edificios llamados centros de datos, propiedad de una empresa que los opera y alquila su uso a través de internet.

La definición cuidadosa más citada proviene del Instituto Nacional de Estándares y Tecnología de Estados Unidos (NIST), que describe la computación en la nube como "un modelo para habilitar el acceso ubicuo, conveniente y bajo demanda, a través de la red, a un conjunto compartido de recursos de cómputo configurables... que pueden aprovisionarse y liberarse con rapidez y con un esfuerzo mínimo de gestión" ("a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources... that can be rapidly provisioned and released with minimal management effort") (Mell y Grance, 2011, p. 2). Traducido a lenguaje llano: en lugar de comprar y cuidar sus propias máquinas, usted se conecta a una gigantesca reserva compartida de cómputo y almacenamiento que otro mantiene, paga solo por lo que usa, y aumenta o reduce el consumo según lo necesite.

En pocas palabras: "Guardar en la nube" significa enviar una copia de sus datos al centro de datos de una empresa y confiar en que lo mantendrán a salvo y se lo devolverán. "Correr en la nube" significa alquilar tiempo en las máquinas de otros en lugar de poseer las propias. La nube es cómoda y confiable en un grado que pocos individuos podrían igualar por su cuenta. Pero la definición desinflada deja al descubierto la relación de fondo que el resto de este libro interroga: sus datos, y los programas que actúan sobre ellos, viven cada vez más en máquinas que usted no posee, controladas por organizaciones en las que usted simplemente debe confiar.

Un centro de datos, mencionado más arriba, es un edificio construido especialmente para ese fin, lleno de miles de servidores, más la energía, la refrigeración y la seguridad necesarias para mantenerlos funcionando todas las horas de todos los días. Esos edificios son el lugar donde "la internet" vive físicamente. Son bienes raíces, y tienen dueño — un hecho silencioso pero decisivo, porque quien es dueño de las máquinas tiene en su poder los datos que contienen.

Bases de datos: dónde vive el registro real, y quién lo guarda

Llegamos ahora al concepto más importante de todo este manual para entender la Web3, porque la propuesta central de la Web3 es, en el fondo, una propuesta sobre bases de datos.

Casi todos los servicios digitales que usted usa son, por debajo de la pantalla colorida, una interfaz hacia una base de datos. Una base de datos es una colección organizada de datos, estructurada para que un programa pueda almacenar, buscar, actualizar y eliminar registros con rapidez y fiabilidad.

Una base de datos es, en esencia, un libro contable o archivador electrónico, muy grande y muy rápido — piense en una hoja de cálculo inmensa, o en el catálogo de fichas de una biblioteca, que un programa (en lugar de una persona) lee y escribe. El saldo de su cuenta bancaria — o el de su cuenta de Mercado Pago o Nequi — es un número en una base de datos. Sus seguidores en redes sociales, sus mensajes, su historial de compras, su historia clínica: cada uno es un conjunto de filas en la base de datos de alguna organización.

La manera dominante de organizar esos datos — en tablas de filas y columnas, con relaciones definidas entre ellas — fue formalizada por Codd (1970) en un artículo que sostiene prácticamente todas las bases de datos "relacionales" que hacen funcionar el mundo moderno. Los detalles no importan aquí. Lo que importa es un hecho estructural sobre cómo se administran casi todas las bases de datos convencionales.

Por qué las bases de datos suelen tener un único dueño

Una base de datos convencional tiene un administrador — una persona u organización con control privilegiado sobre ella. El administrador puede leer cualquier registro, cambiar cualquier registro, añadir registros y eliminar registros. Esto no es un abuso ni un defecto; es el diseño normal y deliberado. Alguien tiene que estar a cargo de los datos: para corregir errores, hacer cumplir las reglas, respaldarlos, decidir quién puede ver qué, y responder si algo sale mal.

Hay buenas razones por las que este modelo de control central se volvió universal. Una única copia con autoridad evita desacuerdos sobre lo que los datos "realmente" dicen. Una única parte responsable puede corregir errores y revertir fraudes. El acceso puede gestionarse y la ley puede cumplirse. Para un banco, un hospital o una aerolínea, un único administrador confiable de los registros no es un problema por resolver; es exactamente el propósito.

En pocas palabras: Detrás de casi toda aplicación hay un registro maestro que guarda una sola organización, y esa organización tiene las llaves maestras. Su saldo "es" lo que diga su base de datos. Su cuenta "existe" porque hay una fila para usted en su tabla — y deja de existir, a todos los efectos prácticos, si ellos borran esa fila. Usted experimenta un servicio; ellos custodian la verdad.

Vale la pena ser preciso y justo sobre lo que esto significa y lo que no. El poder del administrador es legítimo y, por lo general, bien empleado. Los bancos no reescriben saldos a la ligera; las empresas serias no borran cuentas por capricho. Están sujetos a la ley, la regulación, la competencia, los contratos y su propia reputación. El punto no es que estas organizaciones sean villanas. El punto es estructural: en el diseño convencional, usted depende de la honestidad, la competencia y la buena voluntad sostenida del administrador, porque él puede cambiar el registro, y usted no puede verificarlo ni impedirlo de manera independiente. Si esa dependencia es sensata, y si una alternativa es posible o deseable, es precisamente el argumento que este libro va a desplegar.

En pocas palabras — y esta es la frase que conviene llevar a todos los capítulos posteriores: en la internet de hoy, la pregunta "¿qué es verdad?" se responde con "lo que diga el dueño de la base de datos pertinente". La afirmación fundacional de la Web3, que examinaremos y pondremos a prueba en lugar de suscribir, es que para ciertos tipos de registros — dinero, propiedad, identidad — podríamos, en cambio, llevar la base de datos de manera compartida, de modo que ninguna parte pueda alterarla discretamente, y la confianza descanse en un proceso verificable y no en la palabra de una organización. Retenga ese contraste; el libro entero es una indagación sobre si es real y si vale sus costos.

Protocolos: las reglas compartidas que hacen posible todo lo anterior

Para que computadoras de dueños distintos puedan siquiera cooperar, deben acordar de antemano cómo dar formato a los datos y cómo intercambiarlos. Ese acuerdo se llama protocolo.

Un protocolo es, en esencia, un idioma compartido más un conjunto de modales — un formato y un procedimiento acordados que dos partes siguen para poder entenderse sin haberse conocido. El paralelo cotidiano más claro es el sistema de direcciones postales. Como el mundo entero ha acordado una convención — nombre del destinatario, calle, ciudad, código postal, país, en un orden conocido —, una carta escrita en Tokio puede ser clasificada y entregada en Bogotá por personas y máquinas que nunca se coordinaron directamente. El formato del sobre es el protocolo.

Los protocolos están por todas partes en la computación, apilados en capas unos sobre otros. Algunos nombres reaparecerán más adelante, y a usted le basta con la idea general de cada uno:

  • El Protocolo de Internet (IP) le da a cada dispositivo de la internet una dirección (una dirección IP, algo así como la dirección postal de una máquina) y define cómo se etiquetan y reenvían los paquetes de datos hacia esa dirección (Postel, 1981). Es la convención de direccionamiento que permite que cualquier máquina alcance a cualquier otra.
  • HTTP (HyperText Transfer Protocol, protocolo de transferencia de hipertexto) es la convención que los navegadores y los servidores web usan para solicitar y entregar páginas web — las reglas detrás del "http(s)://" al comienzo de una dirección web (Berners-Lee et al., 1996).

En pocas palabras: Un protocolo es un reglamento que todos siguen voluntariamente para que las máquinas de desconocidos puedan trabajar juntas. Nadie es dueño de las reglas para rotular un sobre; son un estándar compartido, y esa es exactamente la razón por la que el sistema postal es universal en lugar de ser propiedad de una empresa. Los protocolos fundacionales de la internet son parecidos — estándares abiertos y compartidos, no la propiedad privada de ninguna firma. Recuerde esto, porque un argumento recurrente de la Web3 es que más partes de la internet — incluidos el dinero y la identidad — deberían funcionar sobre protocolos abiertos y compartidos que ninguna empresa posea, en lugar de hacerlo dentro de las bases de datos privadas de firmas individuales. Esa es una distinción genuina e importante, y la sopesaremos con cuidado más adelante.

Bajo los protocolos de la internet reposa un principio de diseño sutil pero importante: el trabajo de la red se mantiene deliberadamente simple — mover paquetes, nada más —, mientras que el trabajo ingenioso y específico de cada aplicación se empuja hacia las computadoras de los bordes. Este principio "de extremo a extremo" (Saltzer, Reed y Clark, 1984) es parte de la razón por la que la internet pudo alojar inventos que sus diseñadores jamás imaginaron, desde las videollamadas hasta, con el tiempo, las cadenas de bloques (blockchains). Las tuberías no necesitaban entender el contenido.

Software, programas y aplicaciones

Ya conocimos la palabra "programa" como una lista de instrucciones. Las palabras software y aplicación nombran la misma idea en escalas y registros distintos.

Software es el término general para los programas — las instrucciones — por oposición al hardware, la máquina física. Si la computadora es una pianola, el hardware es el piano y el software es el rollo de música: el mismo instrumento toca cosas completamente distintas según el rollo que se le coloque. La palabra inglesa soft ("blando") captura exactamente eso: el software puede cambiarse y reescribirse, mientras el hardware permanece en su sitio.

Una aplicación (o app, abreviatura del inglés application) es simplemente un programa construido para hacer una tarea concreta para un usuario — una aplicación del clima, una aplicación bancaria, una de mensajería. En un teléfono, "instalar una aplicación" significa copiar las instrucciones de ese programa a su dispositivo para que pueda ejecutarse. Un dato crucial: la mayoría de las aplicaciones son solo la mitad cliente del modelo del restaurante. La aplicación en su teléfono es el mesero y el menú, mientras que la cocina — el servidor que guarda sus datos reales — se queda con la empresa.

En pocas palabras: Cuando usted "usa una aplicación", por lo general está ejecutando un programa pequeño en su propio dispositivo que, sobre todo, conversa con un programa y una base de datos mucho más grandes que corren en los servidores de la empresa. La parte bonita está en su teléfono; el poder, y los datos, están en las máquinas de ellos. Por eso una aplicación puede cambiar de golpe, perder una función o dejar de funcionar por completo cuando la empresa modifica o apaga el lado del servidor — la parte que usted no puede ver y no controla.

Esto prepara una distinción que se vuelve central en la Parte IV. En el mundo corriente, el programa que importa — el que custodia la base de datos con autoridad — corre en los servidores privados de una empresa, donde solo ella puede inspeccionarlo o modificarlo. Uno de los movimientos técnicos definitorios de la Web3 consiste en ejecutar ciertos programas, en cambio, sobre una infraestructura compartida y pública, donde las reglas del programa están abiertas a inspección y ningún operador individual puede alterarlas a voluntad. Esos programas se llaman contratos inteligentes (smart contracts), y reciben un tratamiento completo en el Capítulo 13 (Ethereum y los contratos inteligentes). Por ahora basta con que el contraste quede claro: el software puede correr en la máquina de un dueño, o sobre infraestructura compartida, y la diferencia consiste en quién puede cambiar las reglas.

Cuentas y contraseñas: qué son en realidad

Dos de los objetos más familiares de la vida digital son también dos de los peor comprendidos: la cuenta y la contraseña. Ambos se entienden mejor a través del concepto de base de datos que acabamos de construir.

Una cuenta es, en esencia, una fila reservada para usted en la base de datos de alguna organización — un registro que dice "esta persona existe en nuestro sistema" y que almacena lo que la organización sabe de usted, más una etiqueta (su nombre de usuario o su correo electrónico) que apunta a esa fila. "Tener una cuenta" en un servicio significa que ellos han creado, y mantienen, un registro sobre usted. Ese registro existe por voluntad de ellos y en las máquinas de ellos. Por eso una empresa puede suspender, restringir o eliminar "su" cuenta: el registro siempre fue de ellos, en su base de datos, aunque trate sobre usted.

Una contraseña es, en esencia, un secreto compartido que le permite a la organización decidir que usted es la persona legítima de una cuenta determinada — la prueba, cuando usted llega, de que tiene derecho a la fila etiquetada con su nombre. Es como una palabra secreta acordada con un portero que no reconoce su cara: pronúnciela correctamente y le darán paso a su registro.

Aquí importan algunas aclaraciones honestas, porque prefiguran un tema mayor.

Primero, en el diseño convencional, la empresa conoce su contraseña o puede restablecerla. Incluso cuando las contraseñas se guardan en forma revuelta e ilegible por seguridad (un proceso emparentado con el hash ("hashing") — una especie de huella digital criptográfica — que se explica en el Capítulo 8), la empresa controla la puerta y la cerradura. Si usted olvida su contraseña, ellos pueden dejarlo entrar de nuevo; a la inversa, si ellos lo deciden, o son obligados, o son vulnerados, la puerta puede abrirse sin usted.

En pocas palabras: Una cuenta común y corriente no es realmente suya en el sentido en que la llave de su propia casa es suya. Se parece más a la membresía de un club: usted goza de privilegios mientras el club mantenga su membresía y lo reconozca en la puerta — pero el club es dueño del edificio, lleva la lista de socios y puede revocarle la entrada. Su acceso depende de que ellos sigan cooperando.

Este es el punto preciso en el que la Web3 propone algo genuinamente distinto en su naturaleza, así que vale la pena adelantarlo con cuidado. En un sistema Web3, la identidad y el control no se anclan en la fila de cuenta de una empresa más una contraseña que la empresa puede restablecer, sino en una clave criptográfica — un número secreto muy grande que solo usted posee y que demuestra matemáticamente su control sobre sus registros sin que ninguna empresa guarde una copia. La mecánica (claves públicas y privadas, firmas digitales) es materia del Capítulo 8 (Criptografía para no especialistas) y del Capítulo 18 (Billeteras, claves y autocustodia). La promesa es "propiedad sin casero"; el peligro, igual de real, es que si ninguna empresa puede restablecer su clave, perderla significa perderlo todo, sin portero al cual apelar. Dejamos señalados ambos lados ahora y los juzgaremos más adelante. Lo que importa aquí es el contraste estructural: la cuenta con contraseña pone al portero al mando; la clave privada lo pone a usted al mando — para bien y para mal.

Qué significa "confiarle sus datos a una empresa"

Ahora podemos enunciar con llaneza algo que las secciones anteriores han venido rodeando. Cada vez que usted usa un servicio digital típico, entra en una relación de confianza — y vale la pena definir esa palabra con precisión y no con sentimentalismo.

Confiar en una parte, en este contexto técnico, significa aceptar una posición en la que esa parte tiene el poder de dañarlo a usted, y apoyarse en la expectativa de que no lo hará. Cuando usted le confía sus datos a una empresa, está aceptando que ellos guardan la copia con autoridad en sus máquinas, que pueden leerla, cambiarla, compartirla, perderla o cortarle el acceso — y está apostando a que no harán nada de eso de maneras que lo perjudiquen. La confianza, aquí, no es un sentimiento cálido; es exposición a las decisiones de otro.

Apile lo que las secciones anteriores establecieron y el alcance de esa exposición se vuelve claro. Sus datos viven en la base de datos de ellos, en servidores dentro de sus centros de datos ("la nube"), a los que se llega mediante una aplicación que es sobre todo un cliente, custodiada por una cuenta y una contraseña que, en última instancia, ellos controlan. En cada capa, la copia con autoridad queda del lado del mostrador donde están ellos. Usted tiene una vista; ellos tienen el original y los controles.

¿Por qué la gente acepta esto? Porque, en su mayor parte, funciona bien y la alternativa es trabajosa. Administrar sus propios servidores, asegurar su propia base de datos y no perder jamás sus propias claves es difícil, y la mayoría de las personas ni puede ni quiere hacerlo. La custodia centralizada ofrece beneficios reales: comodidad, recuperación cuando se olvida una contraseña, alguien a quien llamar cuando algo se rompe, reversión de fraudes, y la responsabilidad legal que acompaña a un dueño identificable. No son cosas triviales; un examen sobrio de la Web3 debe reconocerlas, y los capítulos posteriores lo hacen.

Pero el mismo arreglo acarrea riesgos característicos, y nombrarlos ahora permite que los capítulos posteriores sean precisos en lugar de alarmistas. Cuando una sola parte tiene el registro con autoridad y los controles, entonces: una sola brecha de seguridad puede exponer millones de registros de una vez (los datos están concentrados, así que el botín es grande); el custodio puede cambiar las reglas, los términos o el precio de manera unilateral; el custodio puede, por decisión propia o bajo presión legal o política, negarle el acceso o entregar sus datos a otros; y si el custodio quiebra, es adquirido o simplemente cierra el servicio, los registros — y el acceso — pueden desvanecerse. Los críticos de la internet actual, cuyos argumentos examinamos en el Capítulo 6 (Los descontentos de la Web 2.0), añaden una acusación más: que algunos negocios se construyen sobre la extracción de valor de esos datos concentrados, de maneras que los usuarios ni ven ni consienten de forma significativa (una crítica asociada sobre todo con Zuboff, 2019). El libro sopesará estas afirmaciones según su evidencia; aquí solo estamos equipando al lector para seguir el argumento.

En pocas palabras: "Confiarle sus datos a una empresa" significa que ellos guardan la copia real y las llaves maestras, y usted espera que se comporten bien. Por lo general, lo hacen. A veces — por error, codicia, coacción, quiebra o ataque — no. La internet convencional le pide hacer esta apuesta constantemente, muchas veces sin que usted note que la está haciendo. La pregunta profunda que plantea la Web3 es si, para ciertos registros especialmente importantes, la apuesta podría evitarse por completo: si podríamos organizar las cosas de modo que nadie más que usted tenga las llaves maestras de sus registros, y que nadie pueda alterar discretamente el registro compartido, de manera que usted no tuviera que confiar en un dueño porque no habría un dueño único en quien confiar.

Síntesis: la pregunta que el resto del libro responde

Este capítulo ha reunido una pequeña caja de herramientas, cada pieza definida con llaneza y encadenada a la siguiente. Una computadora almacena datos (organizados en archivos) y ejecuta programas (software, empaquetado para los usuarios como aplicaciones) que transforman esos datos. Las redes, y por encima de todas la internet, permiten que computadoras de dueños distintos intercambien datos siguiendo protocolos compartidos — reglamentos abiertos, sin dueño, como las convenciones de las direcciones postales. La mayoría de los servicios sigue el modelo cliente-servidor: su dispositivo pregunta (el cliente, el comensal en la mesa) y la máquina de una empresa responde (el servidor, la cocina). Esas máquinas viven cada vez más en la nube — computadoras ajenas dentro de centros de datos. Detrás del servicio está una base de datos, el registro con autoridad, custodiado por un único administrador con el poder de leer, cambiar o borrar cualquier entrada. Su cuenta es una fila en esa base de datos; su contraseña es el secreto con que el portero del dueño lo deja entrar a esa fila. Y así, cada vez que usted usa uno de estos servicios, confía en el dueño — es decir, acepta su poder sobre sus datos y apuesta a que no lo usará mal.

Un hilo recorre todo lo anterior: en la internet convencional, los registros importantes se guardan en bases de datos que poseen y controlan organizaciones individuales, y "lo que es verdad" es lo que diga la base de datos del dueño. Esto no se presenta aquí como un escándalo. Es, para la mayoría de los propósitos, un arreglo razonable y que funciona bien, con ventajas genuinas que este libro no fingirá que no existen. Pero nombrarlo con precisión nos permite plantear, por fin, la pregunta de la que depende todo lo que sigue, y que los capítulos anteriores solo podían insinuar:

En pocas palabras: ¿Quién controla la base de datos — y qué mecanismo, si es que existe alguno, permitiría que desconocidos compartieran un registro digno de confianza sin poner a ninguna parte individual a cargo de él? La Web3, como la Parte III mostrará en detalle técnico y la Parte V definirá con cuidado, es en buena medida un intento de responder la segunda mitad de esa pregunta — de construir registros compartidos que nadie posee y que, sin embargo, todos pueden verificar, usando la criptografía del Capítulo 8, las ideas de sistemas distribuidos del Capítulo 10 y la cadena de bloques del Capítulo 11. Si ese intento tiene éxito, a qué costo, y para qué usos resulta de verdad mejor que una base de datos convencional bien administrada, es la indagación que este libro comienza ahora. El lector que se lleve una sola imagen debería llevarse esta: un libro de registros, y la pregunta sin resolver de qué manos están sobre él.

Pasamos a continuación, en el Capítulo 3, al origen de todo este edificio — el nacimiento y la arquitectura de la internet y de la World Wide Web —, de modo que las afirmaciones eventuales de la Web3 puedan medirse contra el sistema que propone revisar.

Referencias citadas en este capítulo

Berners-Lee, T., Fielding, R., & Frystyk, H. (1996). Hypertext Transfer Protocol — HTTP/1.0 (RFC 1945). Internet Engineering Task Force. https://www.rfc-editor.org/rfc/rfc1945

Codd, E. F. (1970). A relational model of data for large shared data banks. Communications of the ACM, 13(6), 377–387. https://doi.org/10.1145/362384.362685

Kurose, J. F., & Ross, K. W. (2017). Computer networking: A top-down approach (7th ed.). Pearson.

Mell, P., & Grance, T. (2011). The NIST definition of cloud computing (NIST Special Publication 800-145). National Institute of Standards and Technology. https://doi.org/10.6028/NIST.SP.800-145

Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system. https://bitcoin.org/bitcoin.pdf

Postel, J. (1981). Internet Protocol: DARPA Internet Program protocol specification (RFC 791). Internet Engineering Task Force. https://www.rfc-editor.org/rfc/rfc791

Saltzer, J. H., Reed, D. P., & Clark, D. D. (1984). End-to-end arguments in system design. ACM Transactions on Computer Systems, 2(4), 277–288. https://doi.org/10.1145/357401.357402

Shannon, C. E. (1948). A mathematical theory of communication. The Bell System Technical Journal, 27(3), 379–423. https://doi.org/10.1002/j.1538-7305.1948.tb01338.x

Turing, A. M. (1936). On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society, s2-42(1), 230–265. https://doi.org/10.1112/plms/s2-42.1.230

von Neumann, J. (1945). First draft of a report on the EDVAC. Moore School of Electrical Engineering, University of Pennsylvania. (Reprinted in IEEE Annals of the History of Computing, 15(4), 27–75, 1993.) https://doi.org/10.1109/85.238389

Zuboff, S. (2019). The age of surveillance capitalism: The fight for a human future at the new frontier of power. PublicAffairs.