¿Cómo funcionan los códigos canjeables de MtGox?

En MtGox (y presumiblemente en algunos otros sitios), puede retirar dinero en forma de un código canjeable. Estos códigos también se aceptan para depósito en algunos intercambios de Bitcoin.

¿Como funciona esto? Específicamente, ¿hay protección contra el doble gasto? ¿Puedo saber que el código que obtuve sigue siendo válido y que no se le ha dado a otros también?

No estoy seguro de por qué le preocupa específicamente cómo sabe que el código "todavía es válido". ¿No te preocupa igualmente que nunca haya sido válido?
@David Schwartz: Eso sería un subconjunto de mis preocupaciones, sí. Pero no me importaría particularmente la distinción si ya se gastó, o no es válida en absoluto.
Mt. Gox ha anunciado que dejará de emitir códigos canjeables MTG USD y MTG CAD a partir del 10 de abril de 2013: bitcoinmoney.com/post/44860726799

Respuestas (2)

El código es efectivamente solo una larga cadena aleatoria. Cuando crea un código canjeable, se selecciona una cadena aleatoria, se ingresa en la base de datos en el intercambio y se asocia con una moneda y una cantidad. Esa cadena es su código canjeable. La cadena es lo suficientemente larga como para que sea muy poco probable que alguien pueda adivinarla en un período de tiempo razonable.

La primera persona que intenta canjear el código obtiene el monto acreditado en su cuenta en el intercambio, lo que hace que la entrada de la base de datos en el intercambio para ese código se marque como canjeado.

La forma de saber si un código es válido es intentar canjearlo. Si funciona, eres el primero en probarlo. Si no es así, no eres el primero en intentar usarlo o nunca fue un código válido para empezar.

El intercambio debe evitar el "doble gasto" asegurándose de que la secuencia "buscar si se gastó el código; acreditar en la cuenta; convertir el código en gastado" es una operación atómica. No queremos que dos usuarios ejecuten la misma secuencia al mismo tiempo, donde ambos pasan la verificación "buscar si se gastó el código", luego se acreditan ambas cuentas, etc.

Entonces, si acepta un código como pago por algo, debe canjearlo inmediatamente antes de entregar los bienes, ¿verdad? (Y si paga con estos códigos, debe aceptar que así es como funciona. ¿O puede volver a MtGox para quejarse en caso de que el vendedor no entregue?)
He visto casos en los que las personas usan un tercero de confianza para esto, de la siguiente manera: le envío los productos al tercero, me envía un código Gox, intento canjearlo y, si es bueno, le digo al tercero que envíe el mercancías para usted. Puede pensar en los códigos canjeables como similares a los propios Bitcoins; quien los gasta primero los gasta, y es poco probable que puedas obligar a alguien a revertir la transacción. No sé cómo MtGox podría manejar las quejas de que el vendedor no entregó. No sabrían a quién creer.
@Thilo: Mtgox actualmente no ofrece un servicio de depósito en garantía.

Son instrumentos al portador. Quien canjea el código primero obtiene los fondos asociados con el código.

Están destinados a permitir que se intercambien USD o bitcoins de una cuenta a otra. Los intermediarios de terceros, como BitInstant u otros intercambios, pueden aceptarlos.

Hay riesgos para estos. http://www.bitcoinmoney.com/post/18506669111