¿Los contratos de ethereum permanecen activos si tiene que esperar a que se cumpla una condición? ¿Cómo se tiene en cuenta el elemento TIEMPO en los contratos inteligentes? [duplicar]

Todavía no he escrito ningún contrato, pero me gustaría saber si esto es algo que se puede hacer. Digamos que escribo un contrato inteligente para pagarle a alguien si su dirección de ethereum cae por debajo de cierta cantidad, digamos menos de 1 ether.

Entiendo que el contrato inteligente puede detectar la cantidad de fondos que tiene en la cuenta, pero la pregunta es: ¿el contrato tiene que ejecutar/verificar continuamente el saldo de las direcciones?

¿Qué sucede si le digo al contrato que verifique el saldo cada 1 día durante 365 días? Esa es la tarifa de gas 365, ¿verdad? Y si pago esta tarifa, ¿no significa que el contrato siempre durará un año completo? ¿Qué sucede si no quiero verificar una dirección ether, sino una dirección bitcoin?

Tengo curiosidad por saber cómo Ethereum se ocupa de los contratos basados ​​en TIEMPO que requieren que se cumpla una condición en el futuro. No entiendo cómo puede escalar esto si hay 1000 contratos esperando que se cumpla una condición. Alguien por favor explique.

Respuestas (1)

Si desea que las funciones dentro de un contrato se activen automáticamente, puede usar el reloj de alarma ethereum . Tenga en cuenta que esta no es una característica central de Ethereum, sino más bien un mercado en el que se paga a las personas para ejecutar una llamada programada y, por lo tanto, no hay garantía de que se llame a su función.

Entonces, ¿no hay una función central en la que pueda decir "ejecutar este contrato cuando llegue al bloque 9929"? Entonces, ¿está diciendo que cuando ejecuta un contrato, se ejecutará instantáneamente y no tendrá en cuenta el tiempo?
Los contratos son como objetos OOP. Sus funciones solo se ejecutan cuando se les llama. Puede decir 'solo permitir que se llame a esta función cuando sea el bloque 9929 o entre las 9:30 y las 12:00 del 3 de marzo de 2018 o lo que sea' pero algo necesita llamar al contrato para que haga algo. O para decirlo de otra manera, existe el concepto de tiempo como una variable global inmutable pero sin temporizadores que activen devoluciones de llamada.