¿Por qué Bitcoin no implementó segwit en primer lugar?
¿Por qué y cómo Bitcoin no segwit permite a un minero cambiar una transacción txid
?
De Mastering Bitcoin cap. 7 § "Identificadores de transacciones" :
Antes de segwit, las transacciones podían tener sus firmas modificadas sutilmente por terceros, cambiando su ID de transacción (hash) sin cambiar ninguna propiedad fundamental (entradas, salidas, cantidades).
¿Por qué Bitcoin no implementó segwit en primer lugar?
La razón por la que Bitcoin inicialmente no tenía SegWit depende de la interpretación, diría que simplemente no se pensó antes de la maleabilidad de la transacción. Aunque ese no es su único objetivo. Segregated Witness fue una idea propuesta en BIP 141 como una bifurcación blanda , lo que significa que no requería una actualización completa de la red. Debido a la naturaleza de una bifurcación blanda, es compatible con versiones anteriores del software Bitcoin. Con el tiempo, se ha adoptado gradualmente .
¿Por qué y cómo Bitcoin no segwit permite a un minero cambiar el txid de una transacción?
Dominar Bitcoin se refiere a algo llamado maleabilidad de transacción . Tradicionalmente, txid
era un hash de TODOS los datos de la transacción, incluidas las firmas. La maleabilidad de la transacción significaba que una firma podía modificarse ligeramente de modo que txid
se cambiaría por completo mientras la firma seguía siendo válida.
Como David ha mencionado en su propia respuesta:
cambiar incluso un solo byte en la transacción cambia por completo la identificación de la transacción.
Esto creó una oportunidad para un ataque de "Denegación de servicio" en el que, si bien la transacción aún era válida y cada parte de la transacción tendría las mismas entradas/salidas, los nodos podrían rechazar las transacciones modificadas y evitar que se confirmen. Con SegWit, las firmas (como implica el nombre "Testigo segregado") ya no forman parte de este hash. Eliminando el problema por completo.
Recomiendo leer este artículo para obtener más información sobre cómo se hace exactamente en la práctica.
¿Por qué Bitcoin no implementó segwit en primer lugar?
Nadie pensó en ello en ese momento. No había interés en cosas como escalar fuera de la cadena en ese momento.
¿Por qué y cómo Bitcoin no segwit permite a un minero cambiar el txid de una transacción?
La firma de cada entrada solo cubre parámetros críticos de la transacción, como a quién se le hace el pago y cuánto. Es posible modificar la transacción y preservar la validez de la firma al no cambiar nada crítico. Dado que la identificación de la transacción es el hash de toda la transacción, cambiar incluso un solo byte en la transacción cambia por completo la identificación de la transacción.
G.Maxwell
david schwartz
G.Maxwell