El potencial del protocolo Bitcoin
Bitcoin tiene una gran riqueza tecnológica en su código libre. Por eso lo veo como un protocolo y quiero aprovechar para ahondar en algunos conceptos.
¿Cómo usar el Protocolo Bitcoin?
Pensemos en Bitcoin de la misma forma que pensamos en HTTP, SSH, SMTP, TCP/IP, etc. Genera una capa de conectividad y nuevos paradigmas de trabajo que pueden ayudar a desarrollar inimaginables proyectos.
El protocolo HTTP fue una buena idea, pero sin la interface que desarrolló Mosaic para realmente consumir información no hubiera tenido el gran desarrollo que conocemos. De hecho Marc Andreessen, reconocido inversor de riesgo, co-autor de Mosaic y co-fundador de Netscape, escribió hace poco por qué Bitcoin importa (why bitcoin matters) justificando muchas de sus inversiones en empresas que piensan en la tecnología detrás de Bitcoin. Por cierto, las críticas a este artículo también fueron brillantes.
¿Dónde y cómo funciona Bitcoin?
Se trata de una red de pares. No hay servidores centrales. Cuando tu manejas un cliente Bitcoin eres un nuevo nodo de esta red. En la red se intercambian transacciones, se lee el blockchain (que también está descentralizado) y las direcciones de cada nodo.
Blockchain como base de datos descentralizadas
Una de las claves de Bitcoin es su Blockchain. Pensemos que todas las transacciones se almacenan y distribuyen en una red de pares encriptada. Todas estas transacciones se van a guardar en bloques de información y cada ocho minutos (en promedio) se confirman agregando el nuevo bloque. Con esta base de datos puede cualquier persona obtener una copia de todo lo que ha sucedido y seguir minando el próximo pedazo. Explora el blockchain para entenderlo mejor.
¿Qué es esto de Minar?
Minar este blockchain es el proceso por medio del cual se agregan nuevos bloques y se obtiene consistencia en la información. Para minar utilizamos mucho poder computacional distribuido para encontrar una solución a un problema criptográfico muy complejo. Al descifrarlo se genera el nuevo bloque y además se da una compensación en bitcoins a quien lo logra.
¿Qué son las transacciones? ¿Qué las diferencia de los Bitcoins?
Las transacciones son las operaciones base del sistema. No hay bitcoins como tales, sino que existen transacciones que contienen información de quién envía, quién recibe, cantidades y posibles fees para quienes minan todo este proceso. Aquí veo grandes oportunidades para crear CMSs, sistemas de identificación, registros y logs. Todo en transacciones descentralizadas.
¿Qué son las billeteras o direcciones que generan/reciben transacciones?
Para poder participar también en transacciones requieres que el cliente de Bitcoin te genere una dirección. Esta dirección además va a tener una llave pública y una llave privada. La llave privada servirá para generar transacciones (así es como proteges tus unidades). Y tienes una llave pública que servirá para identificarte cuando quieras recibir transacciones. Esta dirección originalmente es de 512bits (lo que la hace gigantesca), aunque por medio de algoritmos SHA-256 y RIPEM se disminuye a un valor de 160 bits. Esta es el dato público que puedes compartir para recibir transacciones.
Y también hay un Bitcoin Scripting Language
Adicionalmente al blockchain, la encriptación de direcciones, el minado y las transacciones, existe un pequeño lenguaje que ayuda a verificar que las transacciones se ejecuten y sean válidas. En la documentación de Bitcoin puedes aprender mucho más.
¿Qué iremos a inventar con Bitcoin?
No me queda claro si las grandes casas de cambio como Mt.Gox o servicios como Coinbase se volverán en el Mosaic del Bitcoin, pero estamos ya viendo una industria progresar. Tal vez el futuro de las transacciones bancarias funcione con un protocolo similar, que los contratos legales se digitalicen bajo un blockchain legal o el mismo Bitcoin, quizás tu carnet de conducir será generado internacionalmente por un servicio inspirado en Bitcoin (soñar no cuesta nada) o las comunicaciones con total seguridad se distribuirán en una red así.
¿Tú para qué usarías esta tecnología?
De hecho ya se comienzan a ver las aplicaciones del blockchain como:
Ethereum: contratos y computación distribuida.
Bitshares: implementa el concepto de Corporaciones Autónomas Distribuidas.
Bitmessage: Chat seguro y distribuido.
Datacoin: permite guardar datos en el blockchain
Ahh, y namecoin sirve como una alternativa al DNS, pero desentralizado.