¿Qué inconvenientes veis?
¿Por qué motivo aún nadie ha realizado este sistema? (al menos que yo conozca)
Se me ocurren dos razones por las cuales no se han desarrollado apenas servicios de terceros para garantizar pagos en bitcoins:
La primera es que
fiarse de un tercero que garantiza el pago es un modelo centralizado, como el de las transferencias bancarias, que requiere confianza en una entidad y que pasa a ser esencialmente diferente de un pago en la red Bitcoin. Si, por ejemplo, vas a comprar un libro usando bitcoins y en lugar de usar la propia red Bitcoin recurres al servicio de una cierta empresa "Superpagos-Bitcoin-Al-Instante S. A.", entonces
deja de estar claro qué se gana respecto a un pago en euros con una tarjeta respaldada por un banco.
La segunda es que actualmente el riesgo de aceptar transacciones no confirmadas es sumamente bajo. Los ataques de doble gasto son difíciles de controlar y, salvo que se descubra algún tipo de ataque nuevo, lo seguirían siendo incluso con programas específicos que los facilitaran. Al final es una cuestión de probabilidades. Los grandes almacenes saben que les roban algo todos los días, pero tiene más sentido para su modelo de negocio tolerar una pequeña tasa de robos que obligar a todos los clientes a desnudarse a la salida. De la misma manera, para un negocio como un supermercado o un bar aceptar transacciones Bitcoin "no confirmadas" supone hoy por hoy un riesgo mínimo, muchísimo menor que el de que les cuelen un billete de 20€ falso, por ejemplo.
Respuestas:
Mt Gox usa ese modelo centralizado y es todo un éxito (incluso a pesar de que cada dos por tres esté "goxeando" !)
Lo que se gana respecto al pago en euros es que el valor de tus bitcoins no depende de lo que le apetezca al Banco Central Europeo, además del hecho de usar una moneda que nadie puede generar "por arte de magia" como los bancos generan los euros
(véase reserva fraccionaria). A mi me parecen suficientes razones
Estos últimos argumentos sirven de apoyo al atractivo de Bitcoin como depósito de valor, por ejemplo para guardar ahorros a largo plazo, pero no tanto como medio de pago si utilizas un avalista intermediario. Si por ejemplo vas a pagar un café con un dispositivo electrónico y lo pagas enviando códigos de Mt. Gox o cosas así te daría igual pagar 0,01 BTC que 1 euro. Al final estás pidiendo a una entidad grande que te avale y será al saldar cuentas con ellos cuando tenga relevancia el que la cantidad que les pagas o que te pagan sean bitcoins o euros. Ese uso de avalistas de confianza sería como usar una tarjeta de banco, aunque las cantidades las denomines en BTC.
En cualquier caso, no has contestado a mi segunda razón, que creo que es la más importante: hoy por hoy las transacciones instantáneas funcionan. Todas las tiendas físicas que aceptan pagos en Bitcoin no atan al cliente a una silla hasta que llegue una ni seis confirmaciones, sino que le dejan irse en cuanto llega la transacción no confirmada a su pantalla (la del comerciante). El día que alguien desarrolle herramientas que automaticen dobles gastos esto podría ser más problemático, pero ahora mismo funciona. Y por eso la importancia de las "confirmaciones rápidas" es más académica que práctica, al menos por el momento.
La mejor forma para una tienda física es mostrar un código QR y pagar atraves de él con tu monedero del móvil que previamente habrás enviado cierta cantidad de Bitcoins (como en un monedero normal). Es lo que utilizan en algunas tiendas de Berlín.
Ya pero .. ¿como sabe el comercio que le has pagado? ... ¿solo porque el cliente te enseña la pantalla del móvil? ¿tiene que conocer el/la cajero/a todos los interfaces de usuario de todos los monederos disponibles para Android, IOS, Windows Phone y Blackberry?
Te equivocas. El cliente no tiene que enseñarle su móvil al comerciante. Como comentan LotoADN y Meltron en sus últimos mensajes, este último recibe de manera prácticamente instantánea la notificación del pago en bitcoins. Lo que tarda en llegar en el sistema Bitcoin no es la transacción (un mísero puñado de bytes que atraviesa la red en milisegundos), sino la presencia de esa transacción en un bloque. Creo que este asunto de las "confirmaciones" se suele explicar muy mal. No es cierto que los pagos en Bitcoin tarden diez minutos ni una hora. Los pagos en Bitcoin se propagan de manera casi instantánea, como un correo electrónico o un mensaje de Whatsapp. Lo que ocurre es que en una red distribuida no hay una vista única de la red y puede haber transacciones incompatibles (dobles gastos) en diferentes vistas de la red o que por razones raras no sean admitidas por los mineros que publiquen los siguientes bloques. En el otro extremo, tampoco es cierto que una transacción con 1 confirmación sea ya irreversible. Podría ocurrir que el bloque en el que ha entrado se quede posteriormente huérfano y que la cadena válida definitiva no incluya esa transacción.
En definitiva, lo que tenemos en Bitcoin son diferentes umbrales de seguridad: una transacción que pulula por la red pero que aún no está en un bloque ("0 confirmaciones") podría acabar perdiéndose con una probabilidad, llamémosla
p0, no despreciable, mientras que la probabilidad de que una transacción que ya está en el último bloque se acabe perdiendo sería un
p1 muy pequeño. La probabilidad
p6 de que se pierda una transacción que está enterrada en un bloque que tiene ya otros 5 por encima se considera tan extraordinariamente ínfima, que los servicios más cautos y más susceptibles de ser atacados, como Mt. Gox, aplican ese criterio de 6 confirmaciones, cantidad arbitraria y probablemente demasiado conservadora que eligió el propio Satoshi en las primeras versiones del programa cliente.
La cuestión para un comerciante entonces es: ¿me fío de las transacciones con 0 confirmaciones (Bitcoin instantáneo)? ¿O solo de las que tienen 1 confirmación (tiempos de espera medios de 10 minutos)? ¿O de las que tienen 2 confirmaciones (unos 20 minutos)? Mi opinión es que para vender un café o una cerveza aceptar 0 confirmaciones es perfectamente válido. Los ataques de 0 confirmaciones no son triviales y es poco plausible que el señor de gafas o la chica de la minifalda se hayan currado un complejísimo ataque malicioso para que, con mucha suerte, les salga gratis una bebida o el carrito de la compra.
[...]
Y digo yo, si parece que en este hilo no se le da ninguna importancia a que las transacciones estén confirmadas ¿para qué entonces tantísima potencia super-enorme de Hash para poder validar transacciones que según vosotros "no es algo necesario"?
La potencia computacional es necesaria para contrarrestar la posibilidad de que un atacante malicioso intente falsear transacciones. La paradoja es que cuanto más poder computacional tiene la red Bitcoin, tanto más segura es frente a ataques y tanto más fiables son los pagos con solo una o incluso ninguna confirmación.