Pages:
Author

Topic: descubierto fallo en bitcoin que podria colapsar la moneda - page 2. (Read 3326 times)

hero member
Activity: 616
Merit: 501
Un pilar básico de este ataque es estar bien conectado a otros nodos. Cuando tú ya tienes un bloque y ves que alguien te "empata", publicas tu bloque y, como estás bien conectado, le llega antes a la mayoría de la red, por lo tanto todavía ganas. 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.
Gracias, despejaste mis dudas, ya decía yo que la estrategia de simplemente esperar a encontrar el segundo para publicar el primero no funcionaría (me ha dado pereza leer el paper xD completo).
legendary
Activity: 1974
Merit: 1029
Así pues, el asunto consiste en descubrir un bloque válido pero no publicarlo hasta que encuentras un segundo bloque válido. Si durante dicho proceso la red se adelanta por otra rama pierdes.

Un pilar básico de este ataque es estar bien conectado a otros nodos. Cuando tú ya tienes un bloque y ves que alguien te "empata", publicas tu bloque y, como estás bien conectado, le llega antes a la mayoría de la red, por lo tanto todavía ganas. 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.

Una fracción del tiempo encontrarás dos seguidos, bien, mejor pa ti! Empiezas a trabajar sobre el tercero y cuando la red te empate el primero, lo publicas sabiendo que tu bloque llegará a la mayoría de la red y todavía conservarás otro de ventaja.

Eventualmente la red te alcanza y te adelanta, lógico, tienen más poder de hash, pero mientras tanto has ganado unos coinbases que quizá no te corresponderían si hubieras jugado limpio.
legendary
Activity: 1820
Merit: 1017
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.
sr. member
Activity: 294
Merit: 250
Desde que rebelas el bloque 1 que es cuando encuentras el bloque 2, nadie estará trabajando en esta cadena, y cuando rebeles el bloque 2, tu ya llevas un cacho con el bloque 3, tu probabilidad de encontrarlo es mayor que la que te correspondería.

Cierto, tienes que revelar el bloque cuando has encontrado el siguiente pero no antes. Si lo haces antes y toda la red se pone a minar contigo sobre el publicado ya no tienes ventaja, todo el tiempo anterior que has dedicado al bloque es tiempo perdido y ahora todos los pools vuelven a estar con las mismas posibilidades. Así pues, el asunto consiste en descubrir un bloque válido pero no publicarlo hasta que encuentras un segundo bloque válido. Si durante dicho proceso la red se adelanta por otra rama pierdes. Esto daría a una distribución estadística de grupos de pares de bloques para un determinado pool que no estarían correlacionados con su potencia de computo y sería una prueba irrefutable de que no está siendo honesto.
Pero el pool puede ocultar esto dividiendo el pool, en lugar de se un pool son dos, aunque trabajen juntos.
legendary
Activity: 1820
Merit: 1017
Desde que rebelas el bloque 1 que es cuando encuentras el bloque 2, nadie estará trabajando en esta cadena, y cuando rebeles el bloque 2, tu ya llevas un cacho con el bloque 3, tu probabilidad de encontrarlo es mayor que la que te correspondería.

Cierto, tienes que revelar el bloque cuando has encontrado el siguiente pero no antes. Si lo haces antes y toda la red se pone a minar contigo sobre el publicado ya no tienes ventaja, todo el tiempo anterior que has dedicado al bloque es tiempo perdido y ahora todos los pools vuelven a estar con las mismas posibilidades. Así pues, el asunto consiste en descubrir un bloque válido pero no publicarlo hasta que encuentras un segundo bloque válido. Si durante dicho proceso la red se adelanta por otra rama pierdes. Esto daría a una distribución estadística de grupos de pares de bloques para un determinado pool que no estarían correlacionados con su potencia de computo y sería una prueba irrefutable de que no está siendo honesto.
sr. member
Activity: 294
Merit: 250
Estoy pensando en el proceso y ando dándole vueltas al asunto de que, mientras parece claro que al mayor pool le sería rentable encadenar pares de bloques, no le sería, sin embargo, si intentase encadenar tres o cuatro o más en el caso de no tener más de un 50 % de la capacidad de cómputo de toda la red. Parece contravenir a la lógica.
Realmente si puedes concatenar más bloques, solo tienes que tener un pequeño desfase, es complicado pero como el trabajo que hacen los demás no sirve tu porcentaje útil es mayor.

Desde que rebelas el bloque 1 que es cuando encuentras el bloque 2, nadie estará trabajando en esta cadena, y cuando rebeles el bloque 2, tu ya llevas un cacho con el bloque 3, tu probabilidad de encontrarlo es mayor que la que te correspondería.
legendary
Activity: 1820
Merit: 1017
De hecho puede que algún pool lo este haciendo ó lo lleve haciendo desde hace mucho para tener cierta ventaja y resolver más bloques.

Saber si un pool lo ha realizado es bastante sencillo. Sería buscar patrones de dos bloques consecutivos del pool que se alejen de la media estadística correspondiente a la potencia del mismo en dichos momentos. Si dicha acción se realiza debería ser fácilmente detectable. Otra cosa es que los mineros del pool beneficiados por la práctica deshonesta lo abandonen renunciando a parte de sus beneficios.

Estoy pensando en el proceso y ando dándole vueltas al asunto de que, mientras parece claro que al mayor pool le sería rentable encadenar pares de bloques, no le sería, sin embargo, si intentase encadenar tres o cuatro o más en el caso de no tener más de un 50 % de la capacidad de cómputo de toda la red. Parece contravenir a la lógica.
sr. member
Activity: 254
Merit: 252
Huele a cuerno quemao que tira patras, justamente cuando la moneda se está mostrando muy fuerte. De todas formas, la comunidad bitcoin responderá a cualquier fallo que se pudiera encontrar, no sería la primera vez. Así que, nada de que preocuparse, circulen circulen.
Por cierto, 1 bitcon = 195€ y subiendo, al final va a ser verdad 1 btc = 500€ a final de año.
hero member
Activity: 952
Merit: 1005
frantorres_995 at socialmedia
Tras leer http://hackingdistributed.com/2013/11/04/bitcoin-is-broken/ , sí tiene mucho sentido (RT se explica como el culo) y puede ser una gran problema. De hecho puede que algún pool lo este haciendo ó lo lleve haciendo desde hace mucho para tener cierta ventaja y resolver más bloques. Pero que sea un riesgo real para la moneda y las transacciones me parece muy poco probable.
legendary
Activity: 1820
Merit: 1017
El problema planteado parece coherente.
hero member
Activity: 727
Merit: 500
... veremos que dicen los developers de Bitcoin con respecto al paper y cuales son la posibilidades ciertas de un ataque de este tipo.

Opinion de Gavin:
https://twitter.com/gavinandresen/status/397706050591129601
Quote
Executive summary of Cornell paper: not a big deal even assuming their analysis is correct (I'm not yet convinced).

Para variar Gavin habla desde su trono... ¿se habrá dignado siquiera a leer el paper?

A mi me parece bastante serio lo que se describe en él. Afortunadamente tiene pinta de ser más o menos solventable. Los autores mismos proponen una solución, pero dejan claro que lo del 51% mejor lo olvidamos, que con mucho menos se puede atacar exitosamente la red.


legendary
Activity: 1522
Merit: 1005
Que casualidad!!!. Lo descubren justo cuando la moneda está en su punto más alto de los últimos meses.
+1
Hago mía tus palabras!
sr. member
Activity: 294
Merit: 250
Que casualidad!!!. Lo descubren justo cuando la moneda está en su punto más alto de los últimos meses.
Esto no es algo nuevo, yo mismo hable de ello hace tiempo.
full member
Activity: 192
Merit: 100
En cualquier caso, ya ves cómo está respondiendo el mercado, con un desplome como nunca hemos visto! SELL SELL SELL!!

jajajajja
legendary
Activity: 1974
Merit: 1029
Lo que esto indica es que ya no es necesario el 51%

Exacto. Un pool que tenga, pongamos, el 33% de la potencia, encontrará bloque nuevo una de cada 3 veces, y encontrará dos bloques nuevos seguidos una de cada 9 veces, o sea cada hora y media.

La dificultad del ataque, de todas formas, radica en estar bien conectado a muchos nodos, y con baja latencia. No hay mucha gente con ese privilegio.
hero member
Activity: 868
Merit: 1009
Dave

Te basas en premisas erróneas.
Yo encuentro un bloque antes que nadie, dentro de esos 10 minutos y me pongo a trabajar en el siguiente bloque sin propagar el bloque, entonces encuentran el bloque, puede ser un minuto después que yo, o meno , no es relevante, entonces yo encuentro un bloque para mi bloque anterior y lo propago, entonces el bloque que los otros encontraron pasa a bloque huérfano y todo el trabajo que hiciesen sobre el no serviría de nada.

No, por que el siguiente hash depende las transacciones propagadas en la primer solución, si alguien más reporta al mundo la primera solución, el resto del mundo calculará un nuevo siguiente hash a resolver basado en la nueva cadena de bloques reportada, y yo habré trabajado en un segundo hash totalmente distinto.
Pues en el bitcoin solo la cadena más larga es la que vale, las transacciones que se adjuntan a la cadena más larga son las que se tengan en cuenta, el resto se descartan.
Si yo trabajo en una cadena más larga que la competencia, la cadena de la competencia no servirá de nada y sera descartada, para eso necesitas más poder de calculo que los demás, pues si ellos encuentran los bloque antes que tu, tu cadena sera la descartada.

Pero todos tienen la misma cadena, el pool del 51% no va a tener una cadena más larga... para colmo oculta el último bloque hallado! o sea va a mostrar una cadena igual que los demas, y cuando otro pool encuentre ese bloque escondido la cadena del pool del 51 será menor porque no lo muestra.
newbie
Activity: 42
Merit: 0
Que casualidad!!!. Lo descubren justo cuando la moneda está en su punto más alto de los últimos meses.
sr. member
Activity: 294
Merit: 250

Te basas en premisas erróneas.
Yo encuentro un bloque antes que nadie, dentro de esos 10 minutos y me pongo a trabajar en el siguiente bloque sin propagar el bloque, entonces encuentran el bloque, puede ser un minuto después que yo, o meno , no es relevante, entonces yo encuentro un bloque para mi bloque anterior y lo propago, entonces el bloque que los otros encontraron pasa a bloque huérfano y todo el trabajo que hiciesen sobre el no serviría de nada.

No, por que el siguiente hash depende las transacciones propagadas en la primer solución, si alguien más reporta al mundo la primera solución, el resto del mundo calculará un nuevo siguiente hash a resolver basado en la nueva cadena de bloques reportada, y yo habré trabajado en un segundo hash totalmente distinto.
Pues en el bitcoin solo la cadena más larga es la que vale, las transacciones que se adjuntan a la cadena más larga son las que se tengan en cuenta, el resto se descartan.
Si yo trabajo en una cadena más larga que la competencia, la cadena de la competencia no servirá de nada y sera descartada, para eso necesitas más poder de calculo que los demás, pues si ellos encuentran los bloque antes que tu, tu cadena sera la descartada.
hero member
Activity: 616
Merit: 501

Te basas en premisas erróneas.
Yo encuentro un bloque antes que nadie, dentro de esos 10 minutos y me pongo a trabajar en el siguiente bloque sin propagar el bloque, entonces encuentran el bloque, puede ser un minuto después que yo, o meno , no es relevante, entonces yo encuentro un bloque para mi bloque anterior y lo propago, entonces el bloque que los otros encontraron pasa a bloque huérfano y todo el trabajo que hiciesen sobre el no serviría de nada.

No, por que el siguiente hash depende las transacciones propagadas en la primer solución, si alguien más reporta al mundo la primera solución, el resto del mundo calculará un nuevo siguiente hash a resolver basado en la nueva cadena de bloques reportada, y yo habré trabajado en un segundo hash totalmente distinto.
sr. member
Activity: 294
Merit: 250
El titulo del paper del cual habla el artículo de TR es "Majority is not Enough: Bitcoin Mining is Vulnerable" y pueden encontrarlo completo en formato pdf aquí (http://arxiv.org/pdf/1311.0243v2.pdf) y como bien advierte roterdam hay buenos fundamentos como para tomar en cuenta las recomendación hecha por los investigadores, para resumir, la vulnerabilidad se puede producir cuando un pool minero "malicioso" resuelve un bloque pero no avisando a la red sobre ello, dejando a los demás trabajando en un bloque ya resuelto, mientras ellos comienzan a trabajar en el próximo, si hacen esto de forma repetida, pueden tomar el control de la red ya que serian los únicos que estarían trabajando en el blockchain original y el resto de los mineros en uno corrupto. Este es el problema a grandes rasgos, veremos que dicen los developers de Bitcoin con respecto al paper y cuales son la posibilidades ciertas de un ataque de este tipo.

No entiendo, el éxito de esa estrategia no es probable, tengo entendido que el hash siguiente es calculado también con las transacciones aceptadas en el bloque anterior. Supongamos que yo soy el tramposo y encuentro la respuesta del hash actual y no le reporto nada a nadie, entonces, para el resto del mundo no se ha encontrado la solución, por lo tanto, nadie tiene la recompensa hasta que alguien más propague la solución. El problema para mi es comenzar a trabajar en el siguiente hash bajo el precepto de que nadie propagará la solución encontrada mientras encuentro el segundo hash. Si alguien mas propaga la solución antes de que encuentre el segundo, pues para el resto del mundo yo no recibo la recompensa del primero, y además, el trabajo gastado en las dos soluciones no me servirá para nada, pues el segundo hash se calculará de acuerdo a la transacciones aceptadas y adicionadas al bloque por el que reportó la solución al resto del mundo, por lo tanto habré estado trabajando sobre un hash diferente.

Supongamos el peor caso, tengo el 51% del poder de hash, la probabilidad de yo encuentre la solución es de 51% (valga la redundancia), la media de tiempo resolviendo un bloque es 10 minutos, esto es una función de probabilidad tipo campana, cuya media está en 10 minutos (valga la redundancia), por lo tanto, la probabilidad de encontrar la solución dentro de 5 minutos es baja, no sé exactamente la distribución de probabilidad, pero es probable que sea menor a 25%, entonces, aunque tenga el 51% de probabilidad de encontrar la solución, solo tengo al rededor de 13% de probabilidades de hacerlo dentro de 5 minutos. Digamos que tengo mucha suerte y lo encontré en 5 minutos, no propago la solución y comienzo a trabajar en el siguiente hash, es una muy mala apuesta, mientras aumenta la probabilidad de que alguien mas reporte el hash anterior, estoy apostando a que voy a encontrar mi siguiente respuesta dentro de unos 5 minutos, es decir, estoy apostando a que voy a encontrar dos hashes en 10 minutos o menos, yo tendría un (0.13*0.13)*100% de probabilidad de éxito, esto es menos de un 2%. Mejor apuesto al método tradicional del 51% y porpago mis transacciones fraudulentas lo más pronto posible. ¿No?
Te basas en premisas erróneas.
Yo encuentro un bloque antes que nadie, dentro de esos 10 minutos y me pongo a trabajar en el siguiente bloque sin propagar el bloque, entonces encuentran el bloque, puede ser un minuto después que yo, o meno , no es relevante, entonces yo encuentro un bloque para mi bloque anterior y lo propago, entonces el bloque que los otros encontraron pasa a bloque huérfano y todo el trabajo que hiciesen sobre el no serviría de nada.

edito
Se decía que para hacer eso se necesitaría tener el 51% pero resulta que con tener mayor poder que los demás es suficiente con lo cual no es necesario el 51% del total.
Pages:
Jump to: