A estas alturas mucha gente cree que “sabe” que es bitcoin, pero un % muy bajo sabría explicarlo de una manera sencilla.
Entender bitcoin es bastante simple si entiendes los problemas que resuelve o su propósito.
Lógicamente al ir adentrándote en la madriguera se irá haciendo más complicado.
Cualquiera que te diga que sabe todo de bitcoin seguramente sea un prepotente o un imbécil, de hecho probablemente ambas.
Entender bitcoin a alto nivel es fácil, entenderlo al 100% es imposible en una vida 🙂
Bitcoin es un sistema electrónico de pagos.
Te permite enviar «valor» (dinero por ejemplo) a cualquier parte del mundo sin necesitar ningún intermediario.
Vamos que Alicia le envía dinero a Bob sin necesitar ningún banco ni entidad por el medio.
Esto ya es un punto claramente disruptivo: olvídate de bancos.
¿Suena bien no depender de nadie para enviarte dinero?
Vamos a ir pasito a pasito, empezamos:
¿Por qué existe bitcoin?
¿Qué es bitcoin?
¿Cómo funciona? (es la parte más técnica y complicada pero aprenderemos lo básico).
¿Por qué bitcoin?
Aquí seré breve, pero quiero que entiendas que bitcoin es algo que se creó en 2009 aunque la idea viene de mucho antes. El objetivo era conseguir un “dinero” que fuera:
- Descentralizado: Dos personas pueden realizar una transacción aunque no confíen entre ellos, no necesitan a un tercero para que garantice esa operación (banco, notario, etc).
- Permissionless: Cualquiera pueda usarlo, no es necesario pedir permiso. Nadie puede ser marginado de ninguna forma.
Sólo por conseguir estos dos puntos ya es algo que tiene mucho valor y claramente disruptivo.
Entiendo que según el país en el que vivas, que el estado te bloquee las cuentas o directamente te robe tu dinero te pueda parecer algo fuera de lugar, pero nada se lo impide.
Así que como mínimo tener un dinero inconfiscable suena bien.
Además, ¿Es una casualidad que bitcoin se creara en 2009? Justo tras explotar la crisis de 2007-2008…
Sólo por tener «algo» que permite transferir valor entre 2 partes sin necesidad de nadie más ya es algo que merece mi atención.
- No necesito que los servidores centrales del banco me den permiso para enviar dinero.
- Puedo enviar bitcoin a mi tía de Guatemala cuando quiera sin que nadie pueda impedírmelo.
Bien, entremos en materia:
¿Qué es bitcoin y para que sirve?
Te aseguro que entender la profundidad de bitcoin en un día es imposible, básicamente porqué es una disrupción gigante y NO se puede comparar a nada previo.
Por este motivo, iremos paso a paso, no intentes entender cómo se hace todo de golpe, simplemente ves intentando asumir lo que se va explicando.
Tu cerebro irá madurando los conceptos y empezarán a encajar, hazme caso he estado donde estás tu ahora mismo 🙂
Conceptos útiles para entender bitcoin
Para simplificar la explicación, podemos decir que Bitcoin se basa en tecnologías anteriores y las aprovecha conjuntamente:
Tecnología Blockchain
Es la manera en que bitcoin almacena las transacciones. Mete muchas transacciones en un bloque y ese bloque lo enlaza al siguiente, y el siguiente a su vez con el siguiente etc.
Así se forma una cadena de bloques enlazada con todas las transacciones.
Como esta blockchain es pública, cualquiera puede ver toda la cadena de bloques. Es decir, cualquiera puede comprobar todas las transacciones.
Para que exista bitcoin no es obligatorio que exista la tecnología blockchain pero si estás empezando creo que es la forma más fácil de entenderlo.
La Blockchain de bitcoin es pública y descentralizada pero pueden existir blockchains privadas y centralizadas. Lo veremos en detalle cuando veamos porqué bitcoin es diferente a cualquier otra criptomoneda aunque todas usen blockchain.Criptografía Asimétrica
Es el tipo de criptografía que utiliza bitcoin. También se conoce como criptografía de clave pública.
No entraremos en detalles técnicos. Quédate con que actualmente es imposible hackearla, usa la misma seguridad que los bancos.
Y, lo más importante:
- Tendrás una clave pública que sería como tu dirección del banco en la que recibir bitcoin.
- Tendrás una clave privada que sería como tu contraseña para acceder a tus bitcoin. Bajo ningún concepto, NUNCA, debes compartirla con nadie.
Proof of work
Concepto complicado si es la primera vez que lo lees.
Es una manera de indicar que un cierto trabajo se ha realizado.
En la práctica, intenta impedir los ataques. Si el esfuerzo que tienes que hacer para atacar con éxito a bitcoin, es mayor que la recompensa de perpetrar el ataque, no tiene sentido atacar.
Más adelante ya veremos exactamente a que se refiere esto.
Bittorrent
Protocolo diseñado para el intercambio de archivos peer to peer (persona a persona), es decir, sin intermediarios.
Si lo has usado alguna vez, deberías saber que tú te descargas los archivos (por ejemplo, una película) de otros usuarios, no de un servidor centralizado.
Esto es muy importante. Cuando tu me envías un mensaje a mi, lo puedo recibir porqué hay un servidor central que lo hace posible (whatsapp, telegram, twitter…), si ese servidor se rompe no llega el mensaje.
El modelo peer to peer es directo de persona a persona.
¿Qué es bitcoin?
Bitcoin es un programa informático. Cualquiera puede descargarlo en su ordenador.
Debes imaginarte bitcoin como millones de cajas fuertes ordenadas en fila, conectadas unas detrás de la otra, esta conexión forma la cadena de bloques de bitcoin, la blockchain de bitcoin.
Dado que todas las cajas están en la blockchain y ésta es pública, cualquiera puede verificar qué y cuánto hay en cada caja PERO, no puede acceder a lo que hay en ella.
Al ser cajas fuertes, sólo la persona con la llave privada (private key) puede acceder a lo que haya en ella.
Cada bloque va almacenando transacciones y cuando se llena se cierra el bloque y volvemos a empezar con uno nuevo. Al cerrarse los bloques se van enlazando al bloque anterior, así queda todo ligado y ordenado.
Cada bloque tiene información del anterior y, para poder escribir el siguiente deben validarlo la mayoría de nodos de la red (mineros). Por tanto, esto garantiza que nadie puede modificar algún bloque ya escrito.
Dado que todo el mundo (nodos) puede ver todas las cajas y los movimientos que ha habido entre ellas, nadie puede hacer trampas. Es decir, nadie puede ir atrás y modificar alguna transacción pasada, la blockchain de bitcoin es inmutable.
No entraremos ahora en como se consigue todo esto, quédate con que nadie puede hacer trampas porqué el resto de la red puede ver y verificar todo y, si la red no lo verifica, no aceptará esa transacción como válida.
Entonces, recapitulemos:
Propiedades bitcoin
- La blockchain de bitcoin es una base de datos enorme que guarda todas las transacciones que han hecho los usuarios a lo largo del tiempo.
- Descentralizado: Todos los nodos pueden tener la cadena de bloques guardada, por lo tanto, aunque se eliminen muchos nodos no se pierde la información y la red sigue funcionando.
- Resistente a modificaciones: Cada bloque de transacciones se valida por toda la red y se escribe en la blockchain, en ese momento ya no se puede modificar ni eliminar.
- Resistente a la censura: Los escritores de la blockchain son los mineros (cualquiera con un ordenador puede ser minero). Nadie puede censurar a alguien para que no participe en la blockchain.
- Resistente a confiscación: Sólo quien tenga las private key puede acceder y mover los activos de esa private key.
- Sigue unas normas establecidas: Nadie puede saltarse las normas. Se van a emitir 21 millones de bitcoin. Nadie puede crear más. Los bitcoin se crean de determinada manera, nadie puede cambiar eso. Lo dicho una serie de normas preestablecidas.
Bien, si has seguido hasta aquí, cosa que no es fácil, yo creo que ya entiendes a un alto nivel las cualidades de bitcoin.
Si aun te quedan fuerzas te explico como lo hace, pero insisto, sin saberlo ya puedes discutir con tu cuñado, que seguro que sabe menos que tu ahora.
Ah! Que quieres saber como bitcoin hace todo lo que te he contado?
Venga, seguimos.
Atento que aquí empieza a ponerse complicado:
¿Cómo funciona bitcoin?
La red de Bitcoin funciona gracias a que los mineros están ahí trabajando: validan transacciones, generan los nuevos bloques etc.
Recordemos que cualquier persona con un ordenador conectado a internet puede ser un minero.
¿Trabajan gratis? Obviamente no.
Todos los mineros intentan escribir el siguiente bloque con las nuevas transacciones en la red.
¿Por qué quieren ser los que escriban el siguiente bloque?
Porque el que lo consiga se lleva una recompensa en forma de bitcoin, aquí tenemos el incentivo.
Vale, pero que pasa? Se pegan entre ellos para ver quien gana? Negativo, aquí somos pacíficos y tenemos unas normas preestablecidas. Unas normas escritas en el código fuente de bitcoin, no unas normas que votan 4 tíos en traje y las modifican cada 4 años.
Por lo tanto, acumular transacciones y formar un bloque no se puede hacer como uno quiera.
Voy yo y cojo esto y esto y lo grabo en la blockchain y listos…nada de eso.
Hay que cumplir unas normas. Recuerda que sino cumples las normas, el resto de la red no te aceptará el bloque y chao.
Por ejemplo, una norma es que el bloque siguiente siempre empieza con datos del bloque anterior. Así mantenemos el orden y nadie puede pasarse de listo.
Entonces, yo como minero tengo muchas transacciones, usaré una función hash que básicamente es transformar toda esta información en un número muy largo y aleatorio.
Eh! Me habías dicho que era una explicación simple, que es esto de un hash?
Un hash es una función que transforma unos datos iniciales (un texto por ejemplo) en un número. Aquí te pongo 2 ejemplos:
Si te fijas en mis datos iniciales, la única diferencia es una «s» (bitcoin vs. bitcoins), pero el hash resultante es completamente diferente.
Un hash tiene estas propiedades:
- Los mismos datos siempre dan el mismo resultado.
- Sólo que modifique una letra de mis datos, el resultado será completamente distinto.
- Es imposible a partir del hash descubrir los datos originales.
¿Ves la utilidad?
Los mineros hacen el hash de las transacciones de los usuarios, si alguien intenta colar alguna transacción fraudulenta, el resto de mineros lo verá fácilmente porqué el hash será muy diferente.
En resumen, sabemos que:
Los mineros acumulan las transacciones y las pasan por una función hash, lo que nos da un número muuuu largo que equivale a esas transacciones.
Esas transacciones son las que hay que incluir en el nuevo bloque, para que todo quede perfectamente registrado.
Por lo tanto, los mineros intentan construir el bloque así:
Primero ponen el hash del bloque anterior (así mantenemos el orden de los bloques).
Luego ponen las transacciones de los usuarios en el que va a ser el nuevo bloque y…
…aquí viene la magia de Satoshi, hay que conseguir otra cosa:
Que ese hash (número) cumpla unas condiciones específicas, por ejemplo: que el hash empiece por 10 ceros.
Mis ejemplos anteriores no serían válidos ya que no empiezan por 10 ceros.
Vamos que si tu coges las transacciones y las hasheas, pero tu hash no cumple los requisitos, ese bloque no vale y nadie te lo aceptará.
Y aquí es donde no se puede hacer nada más que probar y probar y volver a probar.
Si mi hash resultante no tiene los ceros que correspondan al principio, sólo me queda volver a probar y esperar hasta que me salga un hash que sí que cumpla.
Esto es lo que se conoce como minar bitcoin. No se puede calcular de ninguna manera para conseguir que el hash cumpla las condiciones, sólo se consigue probando y probando hasta que por suerte alguien lo consigue. A fuerza bruta!
Parece un poco inútil esto pero créeme que gente más lista que nosotros ha decidido que es una buena solución.
Por cierto, por si no lo has pensando, estamos hablando de hacer millones de pruebas, por eso se mina con tarjetas gráficas, porqué son muy rápidas haciendo cálculos y pruebas, pero eso ya lo veremos otro día.
Entonces, recapitulamos:
El minero ha creado un bloque así:
- Pone el hash del bloque anterior en la cabecera.
- Añade las transacciones que se vayan a incluir en el nuevo bloque.
- Añade datos que va modificando para que el hash también se vaya modificando. El único objetivo es cumplir las condiciones fijadas (cierta cantidad de ceros al inicio del hash).
Oh! Por suerte, después de haber probado tropecientas veces, el minero Juan cree que tiene un bloque válido!
Lo envía rápido a toda la red para decir:
Eh! Que ya lo tengo, soy el primero, me apunto los nuevos bitcoin a generar, ok?
El resto de la red puede validar fácilmente que no haya metido transacciones fraudulentas y que el hash cumple los objetivos y así añadir ese bloque a la cadena de bloques.
Ale, y todos a buscar el siguiente bloque, que este ya tiene ganador.
Por supuesto hay muchos matices que hacer a la explicación ya que, no todo es tan simple, pero creo que es la manera de entenderlo.
Si te interesa ya sabes, te bajas el código de bitcoin y a probar 🙂
Para finalizar, sólo comentar que este proceso de buscar números aleatorios, sólo intenta dificultar los ataques a bitcoin.
Si tengo que estar mucho tiempo gastando electricidad para encontrar un número y encima luego la red me va a pillar si intento hacer trampas…. habré perdido dinero y tiempo en mantener mi ordenador encendido para nada.
Si no has entendido un carajo tranquila, vuélvelo a leer con calma y pregúntame.
Con esto ahora sí tienes una muy buena base de qué es bitcoin y si eres de los nuestros posiblemente estés empezando a caer en la madriguera y tu vida va a cambiar 🙂
Te ánimo a seguir leyendo, busca otras fuentes de información y profundiza ya que esto es una visión muy resumida para que cualquiera pueda entenderlo.
Si te quedas aquí, te recomiendo estos temas, para empezar con paso firme y seguridad en la compra de tus primeros bitcoin.