Post
Topic
Board Español (Spanish)
Re: Sobre la MALEABILIDAD
by
Gofio
on 14/02/2014, 20:42:42 UTC
¿que quiere decir que te pueden cambiar el hash de tu transferencia?.

El hash es el ID de la transacción que usualmente se usa para encontrarla en la cadena de bloques, si alguien consigue cambiarlo, ésto no afecta el hecho de que el intercambio de monedas ocurrirá sin ningún problema, pues el hash no se usa para nada más que un número de referencia de la transacción, pero sí puede afectar a algunos que tienen sistemas de seguimiento de transacciones como las exchanges. La maleabilidad sólo sirve para esconder la transacción, el estafador cambia el ID de la transacción para que el que la hizo crea que no se llegó a realizar por que no la ve agregada a ningún bloque con el ID que inicialmente generó (con la ID que registró en su log de transacciones). El que recibe el pago debe reclamar al que hace el pago (varias horas después), alegando que no ha llegado la transacción (esto es una mentira), las monedas salieron y llegaron pero NO con el ID que quedó registrado en el servicio. El prestador del servicio debe ser lo suficientemente desordenado e ingenuo como para no comprobar que el saldo efectivamente se restó, y la dirección de llegada efectivamente tiene la cantidad solicitada ingresada, el prestador del servicio repetirá la transacción, completando así la estafa.

Ésta característica se conoce desde 2011, los prestadores de servicios deberían tener métodos de comprobación de transacciones reclamadas que no dependan del ID generado al momento de crear la transacción, pues éste es maleable, de ésta forma se evita el engaño, pero como ves, no es un "bug" que mediante un exploit signifique que alguien robará monedas, se necesita de ingeniería social y de varias horas, tal vez días para completar el robo (mientras se hace la reclamación, se espera a que se atienda el ticket, y el prestador del servicio se come el cuento y repite la transacción).

Para los que no manejamos muchas transacciones diarias, es muy fácil no caer en el engaño, si alguien te dice que no ha recibido las monedas, pues vas a tu billetera y compruebas que la transacción tenga confirmaciones, o también puedes ver la dirección de llegada de las monedas en blockchain.info (o cualquier explorador de bloques) y comprobar que tus monedas sí llegaron, o puedes consultar también en blockchain.info tu dirección de salida, identificar el verdadero ID de la transacción y comprobarla. Además para cambiar el ID de las transacciones se necesita cierto poder de hasheo y otros recursos, es probable que un usuario normal nunca sea blanco de un engaño de éstos. Para los que tienen servicios masivos es un poco más difícil de evitarlo con las miles de transacciones diarias que manejan, pero es relativamente trivial blindar la plataforma contra éste tipo de robos, hay varias formas de hacerlo mediante el software de la misma plataforma, o el software del personal e servicio al cliente que atiende las reclamaciones, de hecho sería suficiente con capacitar al personal de servicio al cliente para que no reenvíen pagos a menos que se llegue al fondo del problema, pues las transacciones no deben fallar simplemente así.


+1000