Útiles scripts alternativos de transacciones de Bitcoin

El wiki de Bitcoin describe el script de una transacción como algo que describe "cómo la próxima persona que quiera gastar los Bitcoins que se transfieren puede acceder a ellos".

El script para "una transferencia típica de Bitcoin a la dirección D de Bitcoin de destino" se describe como un requisito para el futuro gastador:

  1. una clave pública que, cuando se aplica un hash, produce la dirección de destino D incrustada en el script, y
  2. una firma para mostrar evidencia de la clave privada correspondiente a la clave pública que se acaba de proporcionar.

¿Qué guiones alternativos útiles podrían hacerse? ¿A qué situaciones prácticas servirían y qué características del cliente se requerirían para respaldarlas?

Respuestas (2)

Si hubiera una implementación completa del lenguaje de secuencias de comandos, casi todo lo siguiente podría implementarse. Sin embargo, existen serios problemas de seguridad con algunos de estos y justifican un análisis más profundo antes de llegar a los clientes.

El enlace de Scripts al que se hace referencia en la pregunta original contiene varios ejemplos de scripts que cubren los siguientes casos de uso que vale la pena enumerar antes de llegar a los casos más exóticos:

La página de Contratos más vinculada en la wiki proporciona estos casos de uso adicionales que son algo más complejos:

  • Proporcionar un depósito reembolsable : útil para demostrar que está dispuesto a gastar dinero para garantizar su reputación, con la opción de recuperarlo después de un tiempo determinado.
  • Escrow y mediación de disputas : permite que varias partes que no confían entre sí negocien utilizando su confianza común de un conjunto determinado de terceros de confianza (esta es la clásica firma M de N para liberar el contrato de fondos)
  • Contratos de garantía : esencialmente para permitir que las partes competidoras otorguen compromisos por el bien común (por ejemplo, pagar un faro)
  • Uso de estado externo : los scripts pueden consultar direcciones que pueden adjuntarse a "scripts de Oracle" que pueden realizar la firma de transacciones en función de una lógica interna compleja (por ejemplo, para garantizar el pago de una herencia al fallecer o alcanzar la mayoría de edad, lo que ocurra primero)
  • Comercio entre cadenas : permite que otras monedas basadas en Bitcoin se negocien entre sí (lo que podría resolver este problema para los países que deseen usar Bitcoin)

Claramente, hay muchas oportunidades para tipos de transacciones exóticas:

  • Prueba de conocimiento: para demostrar que el conocimiento se adquirió en un momento determinado, se podría crear una transacción que haga referencia a un script de Oracle que podría proporcionar verificación. Es posible que el oráculo no exista en el momento de la presentación, pero sería trivial ejecutar el script y verificar el resultado.
  • Pago por predicción exitosa: otro caso de uso de estado externo para permitir que un oráculo externo firme una transacción en función de los resultados de transacción preestablecidos (los ejemplos incluyen juegos de azar, apuestas con margen, etc.)

En general, muestra que Bitcoin es un instrumento comercial financiero muy efectivo.

Gracias por la respuesta detallada. Disculpas por no leer la página wiki con más cuidado, mientras me desplazaba hacia abajo pensé que era pura descripción técnica y me desconecté. Pero su resumen es más conciso y más accesible que el contenido de la wiki.
Es triste que algunos de los enlaces de los scripts hayan muerto, tengo que buscar en el historial.

Creo que tales scripts son el mecanismo por el cual Namecoin agregó sus capacidades similares a las de DNS. También hay muchos otros tipos de transacciones en proceso, incluidas transacciones de firmas múltiples (M de N) que permitirían una funcionalidad de depósito en garantía integrada, así como agregar "firmantes" adicionales en una cuenta (es decir, cuentas de Bitcoin "conjuntas"). .