De acuerdo. Voy a intentar explicarlo en terminología bancaria tradicional para intentar hacerlo más comprensible. Explicaré el primer ejemplo, el del establecimiento de un canal de pago unidireccional y ya si os gusta, pues explico el caso del canal bidireccional (o a lo mejor un espontáneo se atreve a explicarlo él ):
- Primer paso. Edulopez se pone en contacto a través de internet con el responsable de ventas de Starbucks en España y deciden formalizar un canal de pago unidireccional. Para ello, deciden acudir juntos a una oficina bancaria y abren una cuenta bancaria conjunta en la que ambos son titulares y, muy importante, la única forma de sacar dinero de ella es mediante una orden de transferencia firmada por ambos titulares.
Traducción a lenguaje Bitcoin: Edulopez entra en la página web de Starbucks, inicia una aplicación novedosa llamada "establecimiento de un canal de pago", entrega a la aplicación una clave pública correspondiente a una clave privada de su propiedad y la aplicación le devuelve una dirección Bitcoin multifirma en la que es necesario la firma de ambos (la de Starbucks y la de la clave privada en poder de Edulopez) para poder gastar los bitcoins.
- Segundo paso. Con la cuenta bancaria conjunta creada, Edulopez ingresa 50€ en ella.
Traducción a lenguaje Bitcoin: Edulopez realiza una transacción de 50BTC a la dirección multifirma creada por la aplicación. Se trataría de una transación ordinaria dentro de la red Bitcoin.
- Tercer paso. Ahora el jefe de ventas de Starbucks y Edulopez redactan juntos una orden en la que se indica que, a partir del 20 de abril (dentro de un mes), 50€ de la cuenta conjunta serán transferidos a otra cuenta bancaria de la que Edulopez es el único titular. Probablemente, la misma cuenta bancaria de la que salieron los 50€ inicialmente. El jefe de Starbucks firma la orden y se la entrega a Edulopez, que la firma también y se la guarda. El canal de pago unidireccional ya ha sido creado con una vigencia de un mes (hasta el 20 de abril).
Traducción a lenguaje Bitcoin: Cuando la aplicación de Starbucks detecta la transferencia de los 50BTC a la dirección multifirma, firma una transacción de 50BTC con origen en la dirección multifirma y con destino la dirección bitcoin de Edulopez desde la que se enviaron los 50BTC anteriormente. Esta transacción está temporizada (nLocktime), de forma que la red Bitcoin sólo puede aceptar retransmitirla 4320 bloques en el futuro (a un mes vista). Una vez ccreada la transacción y firmada, la aplicación se la hace llegar a Edulopez que puede firmarla con su clave y guardarla. El canal de pago unidireccional ya ha sido creado con una vigencia de 4320 bloques (aproximadamente 30 días).
- Cuarto paso. Edulopez quiere desayunar un café y un donut (precio: 1€). Se planta en el Starbucks y le recuerda a la camarera que él tiene abierto un canal de pago unidireccional. Cuando llega el momento de pagar, firma un documento que es una orden de transferencia desde la cuenta conjunta en la que se transfieren 49€ a la cuenta bancaria de su propiedad y 1€ a la cuenta bancaria cuya titularidad es Starbucks. Una vez firmada, entrega la orden a la cajera.
Traducción a lenguaje Bitcoin: Edulopez quiere desayunar un café y un donut (precio: 1BTC). Se planta en el Starbucks y le recuerda a la camarera que él tiene abierto un canal de pago unidireccional. Cuando llega el momento de pagar, firma una transaccion Bitcoin cuyo input es los 50BTC de la dirección multifirma y con dos outputs, uno con 49BTC a una dirección de su propiedad y otro de 1BTC a la dirección Bitcoin de Starbucks. Esta transacción firmada la puede hacer llegar a la cajera de múltiples formas (whassup, NFC, web, etc).
- Quinto paso. Edulopez es un hombre de costumbres y, al día siguiente, vuelve a desayunar lo mismo. Se dirige al Starbucks, desayuna y a la hora de pagar, realiza la misma operación que el día anterior pero, en lugar de firmar la orden de transferencia con las proporciones 49 -1, firma con las proporciones 48-2.
Traducción a lenguaje Bitcoin: Edulopez es un hombre de costumbres y, al día siguiente, vuelve a desayunar lo mismo. Se dirige al Starbucks, desayuna y a la hora de pagar, realiza la misma operación que el día anterior pero, en lugar de firmar la transacción Bitcoin con las proporciones 49 -1, firma con las proporciones 48-2.
- Sens paso. El día 29 por la tarde, el jefe de ventas de Starbucks en España coge y firma la última orden de transferencia que ha entregado Edulopez a la camarera en la que aparecerá que se autoriza a transferir el dinero de la cuenta bancaria conjunta en la forma 30€ a la cuenta bancaria de Starbucks y 20€ a la cuenta bancaria de Edulopez. Una vez ha firmado la orden va al banco, la entrega y, con esta operación, se cierra el canal unidireccional de pago.
Traducción a lenguaje Bitcoin: Unos cuantos bloques antes de que termine la vigencia del canal unidireccional de pago, Starbucks firma la última transacción que firmada que les ha hecho llegar Edulopez en la que el input serán los 50BTC de la dirección multifirma y cuyos dos outputs serán 30BTC a la dirección de Starbucks y 20BTC a la dirección cuya titularidad es de Edulopez. Una vez firmada, el jefe de Starbucks retransmite la transacción por la red Bitcoin y, con esta operación, se destruye el canal de pago unidireccional.
¿Ventajas? Muchas. Para empezar, cada transacción que Edulopez hace para pagar los desayunos es 100% segura e inmediata, puesto que no es necesario que toque la red Bitcoin para ser verificada. Además, es un sistema que no necesita de confianza en un tercero para poder garantizar los pagos inmediatos (al contrario que el sistema de greenaddress, por poner un ejemplo). Otra ventaja es que, aunque los 50BTC permanezcan bloqueados durante un mes, aunque Starbucks fuera hackeado o intervenido por un gobierno, nunca supondría la incautación de esos bitcoins, puesto que al cabo de esos 4320 bloques, Edulopez podría recuperar todos los bitcoins si Starbucks nunca ha llegado a poder enviar la transacción firmada que le permitiría cobrar sus bitcoins. Otra ventaja más es que, aunque han existido 32 transacciones en total, en la cadena de bloques sólo han sido necesarias 2 (la que de 50BTC que da origen al canal de pagos y la de 30-20 que lo finaliza), por lo que supone un ahorro tanto en comisiones de transacción, como de espacio en la cadena.
Si habéis llegado hasta aquí, enhorabuena y espero que os haya entusiasmado tanto como a mi las posibilidades que ofrece este, como a Andreas Antonopoulos le gusta llamar, "dinero programable".