¿Se permitirán alguna vez transacciones generales no estándar?

Hasta donde yo sé, actualmente los relés de cliente "Satoshi" y la mayoría de los grupos aceptan solo transacciones estándar (transferencia o generación) . Además, la comunidad está trabajando en el tipo de transacción M-de-N . Agregar transacciones no estándar a la cadena de bloques es hoy en día bastante problemático.

Si bien actualmente habilitar scripts arbitrarios en transacciones podría ser desastroso debido a posibles errores en el código (o en el propio sistema de scripts), me pregunto si está previsto permitir transacciones arbitrarias en algún lugar en el futuro, o la mayor parte de la red siempre estará restringida a algún conjunto de plantillas de transacciones "buenas"?

posiblemente respondido aquí: bitcoin.stackexchange.com/questions/4486/…
@kirian ¿Podría publicar la cotización exacta? No puedo encontrar nada sobre los planes de manejo de transacciones no estándar en el futuro, o si " IsStandard" registrar al cliente "predeterminado" se considera temporal o permanente.
Lo siento, tienes razón. No sé cuáles son los planes para transacciones no estándar en el cliente Satoshi.

Respuestas (3)

La dirección de desarrollo actual (enero de 2013) es reforzar aún más las comprobaciones de IsStandard(). Por ejemplo, nos gustaría que todas las firmas se ajustaran a una codificación canónica muy estricta para hacerles la vida más difícil a los posibles atacantes.

Permitir que más códigos de operación o patrones de códigos de operación (o todos los códigos de operación/patrones) se consideren IsStandard() es ciertamente posible; antes de hacerlo, me gustaría ver un análisis exhaustivo de la posibilidad de que se produzcan travesuras utilizando el conjunto actual de códigos de operación y muchos prototipos en la red de prueba (donde la verificación IsStandard() ya permite todos los códigos de operación habilitados).

¿Cuáles son los riesgos asociados con permitir la propagación de tipos de transacciones no estándar?

El isStandard()control se relajó a partir de 2014. Ahora puede incluir una amplia variedad de scripts en las transacciones.

Lea más aquí: ¿Qué se entiende por "estándares relajados" para los scripts de canje de P2SH en Bitcoin Core 0.10.0?

Para que el Protocolo de Bitcoin cumpla su propósito, cada Cliente debe procesar Transacciones en el mismo asunto. Para que se introduzca un nuevo tipo de Transacción y se pueda gastar, debe cumplir con las reglas actuales (por ejemplo, ser posible de ejecutar usando el Script ), o ser aceptado por todos los Clientes (idealmente). Si se implementara un nuevo tipo de Transacción sin que las personas se ajusten a ella, en el mejor de los casos la Transacción se volvería inservible, en el peor de los casos, no sería procesada por los Clientes.

Para introducir una opción de creación de "cualquier tipo de Transacciones", sería necesario crear una nueva versión del Script o algo similar. Además, este Script tendría que ser aún resistente a ataques maliciosos (por ejemplo, sin bucles o formas similares de hacer que muchos Clientes pierdan muchos recursos computacionales al verificar la validez de la Transacción).

En general, podría ser posible generalizar la creación de un amplio espectro de Transacciones con algunos cambios en el Protocolo, pero esos cambios tendrían que ser aceptados por todos. Es muy poco probable que alguna vez se pueda crear un nuevo tipo de Transacción por capricho.

Gracias por tu respuesta. Sin embargo, no estaba más interesado en la expansión del protocolo existente, sino en eliminar las restricciones, que permiten que el cliente predeterminado propague solo transacciones con scripts que se ajusten a cierta plantilla, en lugar de transacciones técnicamente válidas. Por ejemplo, agregar OP_DUP OP_DROPal comienzo de la secuencia de comandos no invalida la transacción, pero actualmente la mayoría de los clientes no la transmitirán y la mayoría de los grupos no la agregarán al bloque extraído.
ThePiachu: ¿Qué sucede si soy un minero y modifico el software que ejecuto para aceptar transacciones no estándar y luego exploto con éxito un bloque que incluye transacciones con mi script no estándar?
@Loourr: creará una bifurcación dura que generalmente será rechazada por todos los demás que no acepten esas transacciones no estándar.