Entiendo que usan tu apuesta como entrada, pero ¿qué significa eso y cómo lo hacen? ¿Pueden usar el bitcoind estándar como servidor desde el cual ejecutar la API?
Esto está demasiado simplificado, pero aquí hay una secuencia que muestra una serie de transacciones de pago:
Minero --> Tú --> Yo --> SatoshiDice --> Yo
Entonces me envías medio bitcoin y yo uso un cliente que me permite enviarlo instantáneamente a SatoshiDICE. SatoshiDICE luego incluye al menos parte de ese pago en su pago de devolución de ganancias o pérdidas.
Una vez que se confirme su pago a mí, entonces el mío a SatoshiDICE puede confirmar. Una vez que se confirme mi pago a SatoshiDICE, entonces se puede confirmar el pago que me devolvieron.
Entonces, si me engañó y su pago fue un gasto doble, nunca se confirmará (llegando a 6 confirmaciones). Y a su vez, mi transacción con SatoshiDICE nunca se confirmará. Y a su vez, la transacción de pago de SatoshiDICE nunca se confirmará.
Por lo tanto, no importa que vi una transacción de pago de SatoshiDICE de inmediato, no puedo gastarla en ningún lado hasta que se confirme.
Porque incluso una transacción con una o dos transacciones puede quedar huérfana debido a una reorganización en bloque y un ataque de doble gasto, incluso si ve una confirmación que no significa que la transacción se borrará. Es por eso que, a menos que haya recurso, solo seis transacciones es el número recomendado de confirmaciones a requerir.
Aquí hay un ejemplo de las transacciones para una apuesta perdedora de 0.02041833 BTC:
Puedes ver el flujo visualmente aquí:
Si SatoshiDice pagó lo más rápido posible, entonces qué dice que un atacante hizo lo siguiente al enviar bitcoins para hacer una apuesta:
Incluso fracciones de segundo marcarían la diferencia en el éxito potencial de dicho ataque, por lo que si SatoshiDice tiene, digamos, un retraso de 10 segundos antes de que pague, entonces el ataque puede volverse virtualmente imposible de lograr a menos que el atacante de alguna manera corte a SatoshiDice. la mayor parte de la red (muy difícil de conseguir).
Usted crea una transacción con un ID de salida de transacción y le pagan creando una transacción utilizando ese ID de salida de transacción como ID de entrada de transacción. Entonces, si su pago no se realiza, el de ellos tampoco.
Esteban Gornick
Shamoon
jim618
Shamoon
o0'.
Shamoon
o0'.
gesell