Apuestas basadas en contratos inteligentes: protección contra la depreciación

Digamos que quiero hacer una apuesta con mi amigo: si llueve dentro de 10 días, le pagaré $100; si no es así, me pagará $100.

  1. ¿Sería posible aprovechar el contrato inteligente en Ethereum para realizar un pago automático al ganador de la apuesta?

Una idea es que cada uno de nosotros deposite $ 100 en éter en el contrato y, al final de los 10 días, el contrato envíe automáticamente el saldo del contrato al ganador al consultar un oráculo externo para obtener información meteorológica.

  1. Al final de 10 días, si el éter se depreció, ¿cómo puede el ganador de la apuesta obtener $200 del contrato, obteniendo así $100 por ganar la apuesta?

Quiero ver si es posible modelar una apuesta usando contratos inteligentes, pero parece que si la criptomoneda subyacente se deprecia, el acuerdo de apuesta no podría cumplirse.

¡Bienvenido a Ethereum! Se prefiere si puede publicar preguntas separadas en lugar de combinar sus preguntas en una sola. De esa manera , ayuda a las personas que responden a su pregunta y también a otras que buscan al menos una de sus preguntas. Aclare, ¿está preguntando sobre el contrato inteligente en sí o sobre cómo vincular el valor a los equivalentes en USD?
Lo marqué como duplicado porque creo que la pregunta más general vinculada podría usarse para responder a su pregunta sobre la vinculación de contratos con información del mundo real.
@5chdn La pregunta es: al final de 10 días, si el éter se depreció, ¿cómo puede el ganador de la apuesta obtener $200 del contrato y, por lo tanto, obtener $100 por ganar la apuesta?
@PhilipKirkbride Ha entendido mal la pregunta, no se trata de obtener datos de otro sitio web
Ok, veo que está preguntando sobre eventos desencadenados por el tiempo en los contratos.
Correcto, quiero ver si es posible modelar una apuesta usando un contrato inteligente, pero parece que si la moneda criptográfica subyacente se deprecia, el acuerdo de apuesta no podría cumplirse.
@AndersonTess puede editar su pregunta en cualquier momento que desee y con la frecuencia que desee. Tal vez haga eso ahora y podamos eliminar algunos comentarios aquí y eventualmente obtendrá una respuesta más rápida. La pregunta tiene potencial.
@AndersonTess En mi opinión, su pregunta original es más clara de lo que es ahora. El título es lo que podría mejorarse, y agregó la palabra "deprecia", lo que probablemente pueda ayudar con un título mejor.

Respuestas (2)

Puede emitir un nuevo token Ethereum llamado "USD" y acuñar algunas monedas para usted y su amigo. Luego puedes apostar con esta moneda y luego vender cuando quieras estas monedas "USD" al amigo que perdió por la cantidad de USD reales que ambos habían apostado.

No es la solución más inteligente, pero si ambos confían el uno en el otro es la forma de no perder dinero si eth se deprecia.

Si desea escalarlo, debe emitir una "moneda de apuestas" intermedia que siempre tiene el mismo valor en USD y puede depositarse o retirarse cuando sus usuarios lo necesiten.

Cuando dice token de Ethereum, ¿quiere decir crear una subdivisa mediante un contrato inteligente que no es más que un número sin valor monetario? Si quiero escalar esto, ¿en qué se diferencia la idea de la "moneda de apuestas" de la idea de la subdivisa Ethereum? AIT
Es la misma idea pero con el valor que desea emitir al token, sin limitarse al valor USD
¿Cómo pueden los usuarios estar seguros de que la "moneda de apuestas" se puede volver a convertir a USD?
Porque tú (el que vende y compra las monedas de apuestas) las retirarás dando el equivalente en USD en ether al momento del retiro a través de una operación de contrato inteligente, que es pública e inmutable :)
¿Qué pasa si no hago eso? ¿Cómo puede obligarme el contrato inteligente a hacerlo?
lo habrá escrito, la única forma de evitar pagar sería no tener fondos en el contrato, pero luego, cuando alguien compre una moneda, tendrá éter para pagar, por lo que si desea confiar, debe hacerlo. eso
Mi punto es que si quiero irme sin pagar, puedo hacerlo. No es como si el usuario pudiera convertir las "monedas de apuestas" en usd, ¿verdad? Porque a diferencia del éter, las "monedas de apuestas" son solo números sin ningún valor monetario
Es por eso que tienes que asegurarles el retiro con garantías de contrato inteligente

La forma obvia de hacer esto es combinar su contrato de apuestas con un contrato de opciones (externas). Un contrato de opciones le permite especificar "Pagaré x eth ahora por un valor de $100 en eth en una semana". La opción se basa en un oráculo externo sobre el precio USD/ETH y, al final de la semana, obtienes la cantidad especificada (hasta un máximo establecido en el contrato) y la contraparte obtiene la diferencia.

En principio, el contrato de opciones puede entregar sus ingresos a su contrato de apuestas, que puede pagar a la parte correspondiente.

Hola Nick, interesante idea. Sería genial si pudieras ilustrar esto con un ejemplo real. ¡TIA!
@AndersonTess La herramienta general necesaria para su problema es una moneda estable ethereum.stackexchange.com/q/2739/42
@AndersonTess Los contratos de opciones aún son bastante nuevos para Ethereum; Solo conozco un intercambio y no sé qué tan saludable es. Y no voy a escribir tu código por ti. :)
@AndersonTess: con un par de años en retrospectiva aquí, ¿cómo abordaría ahora la cobertura contra la fluctuación de precios? ¿Stablecoin o contrato de futuros? ¿Puede señalar algún servicio de contratos que considere más fácil de integrar con Ethereum? ¿Supongo que la API de Bitmex funcionaría?