¿Cómo debe Bitcoin Oracle verificar una transacción antes de firmarla?

¿Cuáles son las partes específicas de una(s) transacción(es) que deben firmarse en el " ejemplo de secuencias de comandos de herencia ". Específicamente, ¿alguien puede proporcionar más detalles sobre qué se firma exactamente de las transacciones?

Supongo que hay aproximadamente 3 transacciones, pero no estoy seguro de qué está firmado por quién y la parte del Tx que está/no está firmada.

1) El tx que se envía a una nueva dirección con el monto exacto (publicado)

2) El tx que se crea pero con un tiempo de 10 años (no publicado)

3) El tx que se crea pero pendiente de alguna lógica de oráculo (no publicado)

Lo que me interesa es el n. ° 3 y ¿qué firma específicamente el oráculo? ¿Cómo es ese Tx?

Respuestas (1)

Hay dos maneras de hacerlo. La primera es que crea una transacción multisig y la envía a un oráculo u oráculos, junto con una solicitud para que firmen la transacción cuando descubran que ocurrió un evento. Después de que llega el momento, los oráculos firman la transacción y se la entregan. Así funciona Orisi

Otra forma es enviar al oráculo(s) una solicitud para buscar un evento. Luego le dan una clave pública y usted usa esa clave pública para bloquear la transacción. Cuando llega el momento, los oráculos publican una clave privada para esa pública y la usas para desbloquear la transacción. Así es como funcionan las RealityKeys . (aunque su código es de código cerrado)

La segunda opción es relativamente fácil de implementar, aunque no estoy seguro de si hay implementaciones de código abierto disponibles en este momento.

La primera opción (firmar por parte del oráculo) es un poco más complicada, pero por otro lado permite una mayor granularidad de los contratos. Por ejemplo, puede solicitar a Oracle que envíe 2030-(año del evento) BTC una vez que ocurra el evento y devolver el resto al remitente. Los oráculos también pueden administrar los fondos por el momento; por ejemplo, puede decirles que envíen fondos a una nueva dirección multisig si uno de los oráculos muere o pierde sus llaves. Y hay un código listo para manejar todo eso en el repositorio github de Orisi .

Para obtener más información, es posible que desee consultar el documento técnico de Orisi / Distributed Oracles que trata sobre la implementación de ejemplo y la entrada de Bitcoin Wiki en Contratos