¡Estoy tratando de llenar algunos vacíos en mi comprensión de cómo sucedió esta transacción!
Todo comenzó con este artículo .
En resumen, algún justiciero/minero pudo recoger todo el BCH que se encuentra en direcciones segwit (es decir, aquellas para las que los propietarios revelaron las claves públicas gastando BTC desde las mismas direcciones).
Ver esta transacción que se creó, minero Bitcoin Cash Block Explorer
Desglose paso a paso
El minero extrae la clave pública de esta dirección 3P9dyU9ga3aJorHAUqKBFCX2NdyuHEVgx1 (esta es una dirección P2SH P2WPKH, consulte este explorador de bloques de bitcoin )
Pregunta: ¿cuál es esa clave pública? ¿Ves alguna llave? ("3" es una dirección multisig y requiere 3 direcciones, por lo que debe haber 3 claves públicas, ¿verdad?)
El artículo no explicó cómo y qué transacción sin procesar creó usando solo claves públicas.
Esta es la parte más frustrante. El artículo afirma que el minero creó un nodo segwit y extrajo además de eso.
¿Cómo es eso posible? (Bcash no tiene segwit activado. Sin embargo, incluso si extrajo usando su nodo segwit, su nodo no le permitirá crear una transacción válida porque segwit requiere un testigo o firmar con clave privada o clave pública de dirección 3P9dyU9ga3aJorHAUqKBFCX2NdyuHEVgx1).
Sin embargo, este artículo afirma
El minero acaba de crear un scriptsig (el artículo no explica qué significa "aplicar un hash particular").
Ahora es fácil, el minero solo tiene que asignar una salida BCH (dirección que comienza con 1)
se vuelve aún más estúpido. El artículo dice que después de hacer esa transacción en bruto, la extrajo ... sin transmitirla. ¿Cómo funciona?
3.1 Si no lo estás transmitiendo, ¿cuál es el punto? ¿Cómo pasará esa transacción a la nueva dirección/cartera creada por el minero (en este caso, 1C4TafndKYFoGkeoHfQAWkZzEYLum31txf)?
3.2 Si el minero está minando su propio bloque y luego no lo transmite, ¿no quedaría huérfano? Entonces, ¿qué está pasando aquí?
Pregunta: ¿cuál es esa clave pública? ¿Ves alguna llave? ("3" es una dirección multisig y requiere 3 direcciones, entonces debe haber 3 claves públicas, ¿verdad?)
No. Una dirección que comienza con a 3
es una dirección P2SH. Esto no significa que sea una dirección multisig o que requiera una cantidad de claves para firmar la transacción. Más bien, solo significa que hay algún script (puede ser cualquier script, no necesariamente un script multisig) que debe incluirse en la entrada que gasta la salida P2SH. Ese script dictará los otros elementos en la entrada.
Para una salida Segwit anidada P2SH (P2SH-P2WPKH y P2SH-P2WSH), el script al que hace referencia la dirección (conocido como script de canje) tiene el formato OP_0 <20 byte hash>
o OP_0 <32 byte hash>
. Cuando un nodo segwit ve este script en una salida o como un script de canje, sabe que debe buscar en el testigo recién definido de una transacción para obtener el resto de los datos que necesita para verificar la transacción.
Sin embargo, para un nodo sin segwit, marcarán la transacción como válida (pero no estándar) porque para un nodo sin segwit, esos scripts de canje no especifican que se necesita una firma. Esto hace que estas salidas cualquiera pueda gastarlas en nodos que no sean segwit.
Dado que Bitcoin Cash no implementa segwit, todos sus nodos son nodos que no son segwit. Por lo tanto, para gastar de las salidas de segwit anidadas de P2SH, solo necesita proporcionar el script de canje. Sin embargo, los scripts de canje están protegidos por un hash; dado solo una salida P2SH, no puede descifrar el script de canje a menos que ya lo sepa. Los scripts de canje se revelan cuando se gasta la salida.
Lo que hizo el minero aquí fue que encontraron tantos scripts de canje como pudieron. Los scripts de canje de las salidas de P2SH utilizados fueron todos los scripts de canje que se revelaron en la red de Bitcoin porque se usaron como entrada en una transacción. Entonces, el minero tomó todos esos scripts de canje revelados y verificó cuáles tenían salidas correspondientes en la red Bitcoin Cash. Los que lo hicieran podrían ser gastados por el minero, ya que el minero conocía el guión de canje.
se pone aun mas estúpido ????????????????????? El artículo dice que después de hacer esa transacción en bruto, la extrajo ... sin transmitirla ?????? qué
No es necesario transmitir una transacción antes de extraerla. Un minero puede incluir cualquier transacción que desee, y eso incluye transacciones que no se transmiten al público. Una vez que se extrae el bloque, la transacción se transmitirá con el bloque.
Las salidas de SegWit se parecen a las salidas de Cualquiera puede gastar en los nodos heredados (para mantenerlo como una bifurcación). Dado que Bitcoin Cash no tiene (y se opone estrictamente) SegWit, todos los mineros los ven como salidas de Cualquiera puede gastar y pueden canjearlo.
Esto no puede suceder en la red Bitcoin, porque los otros mineros rechazarían ese bloque.
Tal vez sea este tipo: https://www.reddit.com/r/btc/comments/7g6s9l/an_update_on_bch_segwit_recoveries/ ?
[Parte sin sentido eliminada]
Nate Eldredge
usuario380208