¿Cuál fue la decisión de diseño detrás de que el campo coinbase puede tener datos arbitrarios?

Por lo que aprendí, el campo de base de monedas en la transacción de recompensa en bloque puede contener cualquier dato ( siempre que sea menor a 100b ).

¿Por qué eso en realidad? ¿Fue más fácil de implementar al principio? Simplemente habría definido que la transacción de coinbase puede no tener entrada. Sé que es útil ahora llevar más información ( ver BIP34 ). Simplemente no estoy seguro de cuál era la intención de Satoshi aquí, aunque se incluyó a sí mismo el famoso

The Times 03/ene/2009 Canciller al borde del segundo rescate para los bancos

Además, parece que esto falta en la transacción db y no se puede gastar , pero puedo confundir las cosas aquí.

Respuestas (1)

Querían descartar la posibilidad de que la misma ID de transacción apareciera en un bloque diferente, como una base de monedas diferente.

Ha habido tales en la historia, pero solo dos veces, y complica la aplicación de base de datos no gastada, por lo que simplemente decidieron un día que la misma ID ya no se distinguiría como una transacción diferente. Por lo tanto, se agregó una protección contra él, en formato de bloque versión 2, por lo que ningún minero puede terminar accidentalmente con una identificación no única para su transacción de base de monedas.

Ok, ya veo, esa es la razón: la identificación de la transacción se calcula a partir de los datos de la transacción, y si solo hubiera una dirección de bitcoin normal como "fuera" pero nada como "dentro", es probable que haya colisiones.
te refieres al bip 0034 ?
Esta respuesta explica cómo se usa ahora (a partir de BIP 34), no la razón original para tener el campo coinbase.
de acuerdo con @PieterWuille. Esto no responde a la motivación de tener el campo coinbase en primer lugar. Si se requería una identificación de transacción única, se habría agregado un campo de secuencia en lugar de permitir datos arbitrarios