Pages:
Author

Topic: descubierto fallo en bitcoin que podria colapsar la moneda (Read 3341 times)

sr. member
Activity: 294
Merit: 250
Si alguien ha entendido esto que me lo diga, parece un texto mal traducido, no entendí nada.
Lo único que saco es que crees que un minero del pool puede hacer trampas al pool que hace la trampa. No se es que no lo entendí.


Están hablando, aunque parece que no se enteran mucho, y por eso no saben explicarse bien, o tal vez no lo han traducido bién, de el porqué no  puede funcionar una "alianza de mineros traidores", y la explicación que dan se basa, aunque no se si ellos lo saben, en el "Equilibrio de Nash".

Digo que no se si ellos lo saben porque pueden haber llegado a esa conclusión, muy lógica y correcta, a mi entender, simplemente usando su sentido común, sin haber oido antes de estas cosas.

Para saber de que hablamos vease tambien, Teoría del juego y El dilema del prisionero.
También hay una explicación buenisma y muy fácil de entender para profanos en el libro "El gen egoista", de Richard Dawkins, que dedica un par de capitulos al tema.

Explicado muy a lo bruto: supongamos que hay un total de 10 mineros y que 3 de ellos se plantean traicionar a los otros 7. Según estas teorías, lo mas probable es es no decidan hacerlo, pues no sería la mejor estrategia, ya que que, entre otras cosas, se estarían arriesgando a que, por ejemplo, después uno de los tres traicionara a su vez a los otros dos, u otros dos al tercero. de manera que probablemente su mejor estrategía sea cooperar.  Leyendo sobre el tema se vera porque hemos puesto cooperar y tracionar en cursiva. Smiley

Estas teorías matemáticas, que mas de uno por aquí se las sabra muy bién, por cierto, le valieron el premio Nobel de economía a Ian Nash.

Un saludo!

Conozco perfectamente la teoría de juegos, pero resulta que tal como esta la minería y la cantidad de calculo que hace falta, es ridículo que un minero se salga de un pool para intentar traicionar al resto a pesar de que este haga trampas. Dicho de otra manera, el pool tramposo teniendo cierto poder de calculo, obtiene más beneficios de lo que le corresponde según su porcentaje, porque un minero dejaría ese pool si le es beneficioso.
Osea que este método solo se puede aplicar en pool lo suficiente mente grandes.
Además, en el dilema del prisionero hay una manera de ganar haciendo "trampas", es usando la colaboración entre "tramposos"; pero este no es el tema.
member
Activity: 65
Merit: 10
Si alguien ha entendido esto que me lo diga, parece un texto mal traducido, no entendí nada.
Lo único que saco es que crees que un minero del pool puede hacer trampas al pool que hace la trampa. No se es que no lo entendí.


Están hablando, aunque parece que no se enteran mucho, y por eso no saben explicarse bien, o tal vez no lo han traducido bién, de el porqué no  puede funcionar una "alianza de mineros traidores", y la explicación que dan se basa, aunque no se si ellos lo saben, en el "Equilibrio de Nash".

Digo que no se si ellos lo saben porque pueden haber llegado a esa conclusión, muy lógica y correcta, a mi entender, simplemente usando su sentido común, sin haber oido antes de estas cosas.

Para saber de que hablamos vease tambien, Teoría del juego y El dilema del prisionero.
También hay una explicación buenisma y muy fácil de entender para profanos en el libro "El gen egoista", de Richard Dawkins, que dedica un par de capitulos al tema.

Explicado muy a lo bruto: supongamos que hay un total de 10 mineros y que 3 de ellos se plantean traicionar a los otros 7. Según estas teorías, lo mas probable es es no decidan hacerlo, pues no sería la mejor estrategia, ya que que, entre otras cosas, se estarían arriesgando a que, por ejemplo, después uno de los tres traicionara a su vez a los otros dos, u otros dos al tercero. de manera que probablemente su mejor estrategía sea cooperar.  Leyendo sobre el tema se vera porque hemos puesto cooperar y tracionar en cursiva. Smiley

Estas teorías matemáticas, que mas de uno por aquí se las sabra muy bién, por cierto, le valieron el premio Nobel de economía a Ian Nash.

Un saludo!

sr. member
Activity: 294
Merit: 250
Bitcoin no está tan roto, después de todo
https://freedom-to-tinker.com/blog/felten/bitcoin-isnt-so-broken-after-all/
.......
Con estos antecedentes en su lugar, vamos a ver el argumento presentado en el documento ES. (Por razones de brevedad, voy a hablar sobre el caso que ellos llaman gamma = 0, pero mi análisis se extiende a los otros casos también.) ES describir una estrategia de la minería, que llamaré ES-minera, y sostengo que un ES -minero, o un cartel de ES-mineros, que controlan más del 33,3% de la potencia minera puede capturar una parte desproporcionada de los beneficios mineros.

Esencialmente, ES-mineros participar en una serie de carreras contra los mineros comunes. El ES-mineros construir una cadena de secreto de los bloques que esperan crecer más de la cadena de bloque común. Si llega a tener más tiempo, entonces los ES-mineros pueden publicar su cadena (anteriormente secreta), y se convertirán en auténticos. En la carrera, el ES-mineros tienen el inconveniente de que tienen (por supuesto) menos de potencia minera de los mineros ordinarios, pero el ES-mineros tienen la ventaja de saber cuánto tiempo su cadena secreto. Por hábilmente elegir cuándo terminar la carrera (ya sea por ganar o por el abandono de la cadena de secreto y reiniciar la carrera desde el final de la cadena actual), el ES-mineros crean una situación en la que la cadena de bloque a veces tenedores causando bloques para dejar detrás de perder en una rama (o "huérfanos"), pero resulta que un bloque hecho por un ES-minero es menos probable que se huérfanos que una hecha por un minero ordinaria. El resultado es que ES-mineros tienen una parte desproporcionada de sus bloques de sobrevivir en la cadena de autoridad a largo plazo, por lo tanto, reciben una parte desproporcionada de la recompensa de la minería. (Ver el documento ES si desea más detalles.)

Parte 3: Deficiencias en el Análisis de ES

El análisis del documento ES tiene algunos defectos. El defecto más grave, quizás, es que, contrariamente a sus afirmaciones, una coalición de ES-mineros no sería estable, porque los miembros de la coalición tendrían un incentivo para engañar a sus socios de la coalición, mediante el uso de una estrategia que voy llame a la minería de buen tiempo.

Recordemos que en el ataque ES, un equipo de ES-mineros está compitiendo contra un equipo de mineros ordinaria, para ver quién puede crear un bloque de la cadena más larga. Un minero de buen tiempo pretende ser parte de la coalición de ES-mineros, pero en realidad pasa en secreto los equipos para que las minas para el equipo ES-minera si ese equipo está por delante en la carrera, y minas para el equipo minero corriente de lo contrario . Resulta que cada bloque que crea la minera de buen tiempo está garantizado para terminar en la cadena ganadora. Así que el minero de buen tiempo hace mejor (es decir, tiene una mejor recompensa) de lo que podría obtener al jugar exclusivamente en cualquiera de los equipos.

Debido a un minero de buen tiempo siempre se consigue un mejor recompensa que un ES-minero, cada miembro de un equipo de ES-minera tendrá un incentivo para cambiar a la minería de buen tiempo. Como resultado, una coalición de ES-mineros no es estable. En resumen, una coalición de ES-mineros no puede formar y no va a sobrevivir.

Hay una cierta justicia poética en este resultado. ES-mineros planean desviarse del acuerdo normal que los mineros deben siempre extraer la cadena más larga. Lo hacen con la esperanza de extraer ingresos adicionales. Pero la coalición de ES-mineros es en sí destruidos porque sus miembros en secreto se desvían de la estrategia de ES-minería. Y el resultado es que el sistema vuelve a la minería normal. ES-mineros no pueden ponerse de acuerdo para engañar, porque es muy fácil para ellos engañan a ese acuerdo.

Hay mucho más que decir sobre el papel de ES, y probablemente tendré más artículos sobre él. Por un lado, aunque una coalición de ES-mineros no es posible, ¿puede una sola ES-miner hacer daño? Estas preguntas tendrán que esperar, esto ya es el puesto más larga de Libertad de Tinker.
Si alguien ha entendido esto que me lo diga, parece un texto mal traducido, no entendí nada.
Lo único que saco es que crees que un minero del pool puede hacer trampas al pool que hace la trampa. No se es que no lo entendí.
hero member
Activity: 640
Merit: 500
interested to BUY CASASCIUS
Bitcoin no está tan roto, después de todo
https://freedom-to-tinker.com/blog/felten/bitcoin-isnt-so-broken-after-all/
.......
Con estos antecedentes en su lugar, vamos a ver el argumento presentado en el documento ES. (Por razones de brevedad, voy a hablar sobre el caso que ellos llaman gamma = 0, pero mi análisis se extiende a los otros casos también.) ES describir una estrategia de la minería, que llamaré ES-minera, y sostengo que un ES -minero, o un cartel de ES-mineros, que controlan más del 33,3% de la potencia minera puede capturar una parte desproporcionada de los beneficios mineros.

Esencialmente, ES-mineros participar en una serie de carreras contra los mineros comunes. El ES-mineros construir una cadena de secreto de los bloques que esperan crecer más de la cadena de bloque común. Si llega a tener más tiempo, entonces los ES-mineros pueden publicar su cadena (anteriormente secreta), y se convertirán en auténticos. En la carrera, el ES-mineros tienen el inconveniente de que tienen (por supuesto) menos de potencia minera de los mineros ordinarios, pero el ES-mineros tienen la ventaja de saber cuánto tiempo su cadena secreto. Por hábilmente elegir cuándo terminar la carrera (ya sea por ganar o por el abandono de la cadena de secreto y reiniciar la carrera desde el final de la cadena actual), el ES-mineros crean una situación en la que la cadena de bloque a veces tenedores causando bloques para dejar detrás de perder en una rama (o "huérfanos"), pero resulta que un bloque hecho por un ES-minero es menos probable que se huérfanos que una hecha por un minero ordinaria. El resultado es que ES-mineros tienen una parte desproporcionada de sus bloques de sobrevivir en la cadena de autoridad a largo plazo, por lo tanto, reciben una parte desproporcionada de la recompensa de la minería. (Ver el documento ES si desea más detalles.)

Parte 3: Deficiencias en el Análisis de ES

El análisis del documento ES tiene algunos defectos. El defecto más grave, quizás, es que, contrariamente a sus afirmaciones, una coalición de ES-mineros no sería estable, porque los miembros de la coalición tendrían un incentivo para engañar a sus socios de la coalición, mediante el uso de una estrategia que voy llame a la minería de buen tiempo.

Recordemos que en el ataque ES, un equipo de ES-mineros está compitiendo contra un equipo de mineros ordinaria, para ver quién puede crear un bloque de la cadena más larga. Un minero de buen tiempo pretende ser parte de la coalición de ES-mineros, pero en realidad pasa en secreto los equipos para que las minas para el equipo ES-minera si ese equipo está por delante en la carrera, y minas para el equipo minero corriente de lo contrario . Resulta que cada bloque que crea la minera de buen tiempo está garantizado para terminar en la cadena ganadora. Así que el minero de buen tiempo hace mejor (es decir, tiene una mejor recompensa) de lo que podría obtener al jugar exclusivamente en cualquiera de los equipos.

Debido a un minero de buen tiempo siempre se consigue un mejor recompensa que un ES-minero, cada miembro de un equipo de ES-minera tendrá un incentivo para cambiar a la minería de buen tiempo. Como resultado, una coalición de ES-mineros no es estable. En resumen, una coalición de ES-mineros no puede formar y no va a sobrevivir.

Hay una cierta justicia poética en este resultado. ES-mineros planean desviarse del acuerdo normal que los mineros deben siempre extraer la cadena más larga. Lo hacen con la esperanza de extraer ingresos adicionales. Pero la coalición de ES-mineros es en sí destruidos porque sus miembros en secreto se desvían de la estrategia de ES-minería. Y el resultado es que el sistema vuelve a la minería normal. ES-mineros no pueden ponerse de acuerdo para engañar, porque es muy fácil para ellos engañan a ese acuerdo.

Hay mucho más que decir sobre el papel de ES, y probablemente tendré más artículos sobre él. Por un lado, aunque una coalición de ES-mineros no es posible, ¿puede una sola ES-miner hacer daño? Estas preguntas tendrán que esperar, esto ya es el puesto más larga de Libertad de Tinker.
hero member
Activity: 952
Merit: 1005
frantorres_995 at socialmedia
Aquí un post de un investigador israelí que explica todo esto, y que afortunadamente parece mucho más difícil de lo que creemos realizar ese ataque:

https://bitcointalksearch.org/topic/the-block-discarding-attack-shellfish-mining-325824

Realizar el ataque para dominar la red es muy muy dificil. Pero sabotear el trabajo de otros mineros para tener cierta ventaja si que es posible y si se hace bien indetectable.
member
Activity: 75
Merit: 10
Aquí un post de un investigador israelí que explica todo esto, y que afortunadamente parece mucho más difícil de lo que creemos realizar ese ataque:

https://bitcointalksearch.org/topic/the-block-discarding-attack-shellfish-mining-325824
hero member
Activity: 616
Merit: 501


Cuando se calcula el valor hash de un bloque se va incrementando un valor numérico, como dices, pero el resultado del hash obtenido sigue una distribución indistinguible de la aleatoria (si no, el SHA-256 no sería un buen algoritmo de hash). El proceso es por tanto indistinguible de lanzar al aire un dado de 2256 caras. Los demás mineros que compiten contigo también van incrementando sus valores nonce (y extraNonce, o cambiando otros datos) pero trabajan sobre cabeceras de bloque diferentes, por lo que los valores de hash que obtienen son distintos. Por eso da igual que un minero haya empezado a trabajar antes que otro sobre un cierto bloque N. Los dos tendrán igual probabilidad de encontrar un hash válido en cada intento.

Gracias Nubarius, parece que uno nunca termina de aprender con esto Smiley.
legendary
Activity: 1022
Merit: 1000
sr. member
Activity: 310
Merit: 253

La parte "aleatoria" viene introducida en la función matemática que define la función hash, en este caso SHA-256, no en la implementación por software de la misma. El no saber el resultado de aplicar el SHA-256 a unos bits de entrada es lo que genera la "aleatoriedad" al proceso.
Eso lo entiendo, pero el punto está en el proceso de "recorrer" las posibles soluciones, no en el resultado del hash, si tu software/hardware de minado recorre el espacio de posibles soluciones en un orden específico, se habrán descartado posibles soluciones que no tendrás que comprobar nuevamente, ¿no?, si se recorre en un orden específico tendré ventaja si comienzo a trabajar antes que los demás, por que voy reduciendo metódicamente el espacio muestral al descartar los candidatos que ya comprobé, pero si como dijiste el minero prueba posibles soluciones aleatoriamente, tienes razón, si en los dados no he sacado el número antes que los demás, no tengo ventaja en el siguiente lanzamiento (sacar "sello" no implica una probabilidad mayor de sacar "cara" en el siguiente lanzamiento).

Cuando se calcula el valor hash de un bloque se va incrementando un valor numérico, como dices, pero el resultado del hash obtenido sigue una distribución indistinguible de la aleatoria (si no, el SHA-256 no sería un buen algoritmo de hash). El proceso es por tanto indistinguible de lanzar al aire un dado de 2256 caras. Los demás mineros que compiten contigo también van incrementando sus valores nonce (y extraNonce, o cambiando otros datos) pero trabajan sobre cabeceras de bloque diferentes, por lo que los valores de hash que obtienen son distintos. Por eso da igual que un minero haya empezado a trabajar antes que otro sobre un cierto bloque N. Los dos tendrán igual probabilidad de encontrar un hash válido en cada intento.
sr. member
Activity: 310
Merit: 253
He leído rápido el hilo y me llama la atención de que nadie haya mencionado que este tipo de estrategia de minado, al que Eyal y Sirer han llamado "selfish mining", ya se discutió en este mismo foro en el año 2010:

https://bitcointalksearch.org/topic/mining-cartel-attack-2227

Si leéis ese hilo, veréis que prácticamente la misma idea estaba ya recogida en los mensajes de Thorning, btchris, mtgox y ByteCoin. Lo único que han aportado Eyal y Sirer (aparte del circo mediático) son cálculos de probabilidades más detallados, aunque no está del todo claro hasta qué punto son válidos ya que contienen simplificaciones como ignorar la latencia de la red o la posibilidad de que compitan entre sí varios de estos carteles egoístas (ellos dicen que esto se hace "without loss of generality", pero no lo acabo de ver claro). La parte más problemática aparece cuando asumen que ese cartel minero, aun estando en minoría en potencia de hash, tendría sin embargo una conectividad excelente y sería capaz de evitar que sus bloques publicados con posterioridad para igualar la altura de la cadena de bloques se quedaran huérfanos (en el paso en que dicen en la p. 7 "This yields a toss-up where either side may win"). Eso es difícil hoy en día a menos que se controle un gran número de nodos (no necesariamente mineros) en la red, razón por la cual en los hilos en inglés se comenta que la estrategia implica una forma de ataque de Sybil, en la que el cartel minero crearía una multitud de nodos, una especie de agentes del cartel, para apoyar sus intereses favoreciendo la propagación de sus bloques y bloqueando los de la competencia.

En definitiva, tanto la idea del cartel minero que se guarda bloques como los ataques de Sybil se han discutido en multitud de ocasiones y parece que este artículo ha tenido muchísima más repercusión mediática de la que merece.
sr. member
Activity: 294
Merit: 250
Bueno es que realmente no es aleatorio, más bien es caótico, una pequeña modificación en los datos entrantes produce una modificación no fácilmente predecible en el resultado.

Sí, cierto, por eso lo del entrecomillado. El caso es que por el tamaño de los números implicados podemos aproximar su comportamiento a un sistema aleatorio sin pérdida de precisión a efectos prácticos.
Real mente no, pues en un sistema realmente aleatorio, con los mismos datos obtienes resultados dispares, en esto siempre obtienes el mismo resultado. Por eso lo de tener un generador aleatorio lo más aleatorio posible, menuda redundancia, para generar las claves.
Pues alguien podría encontrar un algoritmo que dando un resultado le de los datos de entrada.
hero member
Activity: 616
Merit: 501

La parte "aleatoria" viene introducida en la función matemática que define la función hash, en este caso SHA-256, no en la implementación por software de la misma. El no saber el resultado de aplicar el SHA-256 a unos bits de entrada es lo que genera la "aleatoriedad" al proceso.
Eso lo entiendo, pero el punto está en el proceso de "recorrer" las posibles soluciones, no en el resultado del hash, si tu software/hardware de minado recorre el espacio de posibles soluciones en un orden específico, se habrán descartado posibles soluciones que no tendrás que comprobar nuevamente, ¿no?, si se recorre en un orden específico tendré ventaja si comienzo a trabajar antes que los demás, por que voy reduciendo metódicamente el espacio muestral al descartar los candidatos que ya comprobé, pero si como dijiste el minero prueba posibles soluciones aleatoriamente, tienes razón, si en los dados no he sacado el número antes que los demás, no tengo ventaja en el siguiente lanzamiento (sacar "sello" no implica una probabilidad mayor de sacar "cara" en el siguiente lanzamiento).
legendary
Activity: 1820
Merit: 1017
Bueno es que realmente no es aleatorio, más bien es caótico, una pequeña modificación en los datos entrantes produce una modificación no fácilmente predecible en el resultado.

Sí, cierto, por eso lo del entrecomillado. El caso es que por el tamaño de los números implicados podemos aproximar su comportamiento a un sistema aleatorio sin pérdida de precisión a efectos prácticos.
sr. member
Activity: 294
Merit: 250
Bueno es que realmente no es aleatorio, más bien es caótico, una pequeña modificación en los datos entrantes produce una modificación no fácilmente predecible en el resultado.
legendary
Activity: 1820
Merit: 1017
Humm bueno no sabía que "recorrer" el espacio muestral de soluciones era un proceso aleatorio en el minado... ¿es esto cierto?, ¿por qué no sería mas eficiente simplemente recorrer las soluciones una por una en orden ascendente? generar una posible solución aleatoria toma más tiempo en máquina que sumar un bit al número anterior...

La parte "aleatoria" viene introducida en la función matemática que define la función hash, en este caso SHA-256, no en la implementación por software de la misma. El no poder predecir el resultado de aplicar el SHA-256 a unos bits de entrada es lo que genera la "aleatoriedad" al proceso.

Ten en cuenta, además que el parámetro de entrada cambia también según vas añadiendo nuevas transacciones al bloque candidato, por lo que incluso se podrían dar colisiones en los hash que vas obteniendo (absolutamente improbable por la magnitud enorme de los números implicados).
sr. member
Activity: 294
Merit: 250
Entonces tendrías medio pool trabajando sobre un bloque público en contra de los intereses de la otra mitad del pool que está trabajando sobre el bloque que tienes oculto, eso te es menos beneficioso.
No los dos pool trabajan sobre la misma cadena la función de dividir el pool es únicamente ocultar la manipulación. De este modo el primer pool rebela el bloque 1 el segundo rebela el bloque 2, pero realmete solo es un único pool
hero member
Activity: 616
Merit: 501
Claro que has ganado tiempo, la fuerza bruta pretende recorrer todas las posibles soluciones, cuando los demás comienzan a trabajar tu ya has descartado un montón de esas posibles soluciones que hubieras tenido que comprobar unos minutos después.

Los hash posibles son tan grandes que no vas a encontrar la solución por recorrer todo el espacio muestral. La parte es vas a revelar es absolutamente despreciable y el proceso asimilable plenamente a uno totalmente aleatorio. Por eso da igual que hayas tirado el dado 4 veces antes que yo si no has sacado un 5 para salir en el parchís.
Humm bueno no sabía que "recorrer" el espacio muestral de soluciones era un proceso aleatorio en el minado... ¿es esto cierto?, ¿por qué no sería mas eficiente simplemente recorrer las soluciones una por una en orden ascendente? generar una posible solución aleatoria toma más tiempo en máquina que sumar un bit al número anterior...
legendary
Activity: 1820
Merit: 1017
Los hash posibles son tan grandes que no vas a encontrar la solución por recorrer todo el espacio muestral. La parte es vas a revelar es absolutamente despreciable y el proceso asimilable plenamente a uno totalmente aleatorio. Por eso da igual que hayas tirado el dado 4 veces antes que yo si no has sacado un 5 para salir en el parchís.

Si eso fuera así, el que tiene la mayor potencia de proceso sería el que resolvería primero el bloque siempre. El sistema se diseño para el resultado no fuera un proceso predecible, no determinista.
hero member
Activity: 616
Merit: 501
No se trata de encontrar dos seguidos, sino de encontrar uno y esperarte antes de publicarlo, para empezar a trabajar sobre el siguiente sabiendo que el tuyo será aceptado aunque te esperes.

Si no encuentras el segundo bloque antes de hacer público el anterior no has ganado nada (es de lo que charlamos aquel día en el MesBMad con BitAddict). Todos ahora trabajan sobre el mismo bloque y están en igualdad de condiciones (no importan los hashes inválidos que hayas obtenido antes). De hecho, si como bien dices, no estás lo suficientemente bien conectado en la red, puede que hasta pierdas el primer bloque porque la fracción de la red que trabaja sobre él encuentre el siguiente antes que tú y tu primer bloque pase a ser huérfano.
Claro que has ganado tiempo, la fuerza bruta pretende recorrer todas las posibles soluciones, cuando los demás comienzan a trabajar tu ya has descartado un montón de esas posibles soluciones que hubieras tenido que comprobar unos minutos después.
legendary
Activity: 1820
Merit: 1017
No se trata de encontrar dos seguidos, sino de encontrar uno y esperarte antes de publicarlo, para empezar a trabajar sobre el siguiente sabiendo que el tuyo será aceptado aunque te esperes.

Si no encuentras el segundo bloque antes de hacer público el anterior no has ganado nada (es de lo que charlamos aquel día en el MesBMad con BitAddict). Todos ahora trabajan sobre el mismo bloque y están en igualdad de condiciones (no importan los hashes inválidos que hayas obtenido antes). De hecho, si como bien dices, no estás lo suficientemente bien conectado en la red, puede que hasta pierdas el primer bloque porque la fracción de la red que trabaja sobre el otro encuentre el siguiente antes que tú y tu primer bloque pase a ser huérfano.
Pages:
Jump to: