Supongamos que Alice quiere agregar una transacción falsa en la que recibe una cantidad X de BTC . Entiendo que para agregar esa transacción a la cadena de bloques tendría que competir contra todos los demás mineros para generar el siguiente bloque, lo que hace que sea improbable que suceda como individuo contra ellos.
Ahora, si echamos un vistazo a la siguiente figura (tomada de blockchain.info ) que muestra los grupos de minería con la tasa de hash más alta en la red:
vemos que, por ejemplo, el pool de minería BTC.com tiene una tasa de hash de la red del 26,4 %, y por eso surge mi pregunta: ¿Por qué no pueden todos los mineros de este pool llegar a un acuerdo agregando transacciones falsas a todos los bloques que ¿generar? A diferencia del caso anterior, donde Alice era un individuo con casi ninguna posibilidad de generar un bloque alterado, el grupo podría hacerlo muy probable.
Supongamos que Alice quiere agregar una transacción falsa en la que recibe una cantidad X de BTC. Entiendo que para agregar esa transacción a la cadena de bloques tendría que competir contra todos los demás mineros para generar el siguiente bloque, lo que hace que sea improbable que suceda como individuo contra ellos.
No, eso no es correcto. No importa cuánto poder minero tenga o con cuántos mineros coopere, no puede agregar una transacción falsa a la cadena de bloques.
Es un error común pensar que los mineros son los únicos responsables de determinar si una transacción es válida o no, y si dicen que lo es, todos los demás la aceptan. De hecho, cualquiera que ejecute un nodo completo de Bitcoin (por ejemplo, Bitcoin Core) verifica automáticamente si cada transacción es válida (gasta dinero de una transacción anterior válida y no gastada, debidamente firmada, etc.). Si un minero intenta incluir una transacción no válida en un bloque, se detectará y todos ignorarán todo el bloque, lo que significa que no obtendrán su recompensa minera.
Con suficiente poder de minería o la cooperación de un grupo, Alice podría crear un bloque con su transacción falsa. Pero nadie en el mundo lo considerará válido ni lo aceptará como parte de la cadena de bloques. Si intenta gastar el producto de esa transacción, por ejemplo, enviando esas monedas a Bob a cambio de algunos bienes, el software de Bob simplemente lo ignorará. Él pensará que Alice simplemente no ha pagado nada y no le enviará ningún producto. Así que todo el ejercicio sería una gran pérdida de tiempo y recursos de Alice, sin ganar nada ni dañar a nadie más.
La única autoridad especial que tienen los mineros es esta: si hay dos o más transacciones válidas que están en conflicto entre sí, entonces los mineros pueden decidir cuál (o ninguna) entra en la cadena de bloques, confirmándola así. Pero no pueden confirmar una transacción que nunca fue válida en primer lugar.
Una gran cantidad de poder de minería, o un grupo, podría ayudar a Alice a realizar un ataque de doble gasto , donde una transacción válida y confirmada se reemplaza más tarde en la cadena de bloques con una transacción válida diferente. El primero podría haber ido a Bob, quien le habría enviado algunos bienes, y el segundo podría efectivamente recuperar el dinero de Bob y devolvérselo a Alice, que ahora tiene el dinero y los bienes. Pero la segunda transacción es una que Alice podría haber creado todo el tiempo (por supuesto que puede enviarse su propio dinero a sí misma); no es "falso".
Lo que debe comprender es que, fundamentalmente, los mineros, y otros nodos en la red, pueden transmitir lo que quieran. Lo que importa no es lo que emiten, sino lo que aceptan otros nodos.
Los nodos completos verifican que todas las transacciones en la red sean válidas de acuerdo con las reglas del protocolo. Y una de esas reglas de protocolo es que las monedas no pueden materializarse arbitrariamente. Para que un tx sea válido, sus entradas deben sumar al menos tanto como las salidas; y las entradas son salidas no gastadas de transacciones anteriores o monedas recién acuñadas en la base de monedas del bloque.
Si las monedas provienen de salidas anteriores, la transacción debe firmarse con las claves privadas correspondientes al hash de la clave pública del propietario. El minero puede incluir tantas "transacciones falsas" como quiera en el bloque, pero sin las firmas digitales adecuadas, ningún nodo aceptará el bloque como válido y ningún comerciante reconocerá que ha recibido monedas con el fin de ofrecer un servicio. .
Uno de los conceptos que es fundamental para bitcoin es el concepto de "funciones unidireccionales", que permiten la creación de un problema para el cual encontrar una solución requiere muchos más recursos que verificar si una solución propuesta es válida.
No está claro qué quiere decir con "transacción falsa". Las transacciones en la red bitcoin se pueden clasificar en dos grupos. Primero, están las transacciones de "recompensa", en las que un minero simplemente declara que ha recibido una cierta cantidad de bitcoins, de la nada, como recompensa por completar un bloque. Para que esto sea aceptado por la red, deben demostrar que realmente completan un bloque válido. La única interpretación que se me ocurre para una transacción de recompensa "falsa" es que Alice simplemente declare que se le ha otorgado una recompensa, sin crear un bloque válido. Luego puede intentar gastar esa recompensa dándosela a otras personas a cambio de bienes y servicios. El destinatario entonces, presumiblemente, verificará si la transacción es válida. Aquí es donde entran las funciones unidireccionales: cualquiera que acepte bitcoin puede verificar de manera eficiente si la transacción de recompensa de Alice cumple con las condiciones de validez de bitcoin. Si los supuestos "bitcoins" de Alice valen algo depende de si puede conseguir que alguien intercambie bienes y servicios por ellos. Si puede encontrar a alguien que no se moleste en verificar si tiene un bitcoin válido, o que esté dispuesto a aceptar cualquier criterio de validez que proponga, entonces podrá "gastar" su "bitcoin". Pero eso no es realmente un problema para la red bitcoin, así como un casino que hace que la gente acepte sus fichas de casino como "dinero" no es un problema para el dólar estadounidense. El "bitcoin" de Alice será claramente distinguible del bitcoin "real" por cualquiera que ejecute el software estándar de bitcoin.dicen que es valido.
El otro tipo de transacción es donde la salida de una transacción de recompensa se transfiere a otra persona (o se transfiere la salida de una cadena de transacciones). Así que digamos que Bob tiene bitcoins perfectamente válidos y Alice quiere afirmar que Bob se los ha transferido. Hay dos formas principales en las que puede hacer esto. Una es que simplemente puede declarar que Bob lo ha hecho, sin ninguna verificación. Esto la pone en la misma situación que la anterior. La otra estrategia es falsificar la verificación. Aquí es donde entran de nuevo las funciones unidireccionales. Bob tiene una clave secreta que usa para firmar sus transacciones. La firma de una transacción, si conoce esa clave, se puede hacer en tiempo polinomial. La verificación de que una transacción ha sido firmada se puede hacer en tiempo polinomial. Pero la firma de la transacción sin la clave no se puede hacer en tiempo polinomial. Entonces, Alice tendrá que usar una cantidad astronómicamente grande de recursos para falsificar la transacción. Incluso si tuviera todo el poder de cómputo del mundo, la probabilidad de que encuentre una solución sería cero para todos los propósitos prácticos. Ella estaría mejor si aplicara ese poder de cómputo a la minería.bitcoin real .
jscherman
Nate Eldredge
Nate Eldredge
Nate Eldredge
Nate Eldredge
AnoE
Nate Eldredge