Pages:
Author

Topic: Fideicomiso Bitcoin (Read 2240 times)

legendary
Activity: 1260
Merit: 1003
November 06, 2014, 07:39:03 PM
#24
Tampoco seáis tan quisquillosos, lo que digo es que si un programa es bueno usará suficientes fuentes de aleatoriedad para que no haya nunca coincidencia.

No es ser quisquillosos. El escenario que planteas no es realista.

Un buen programa le pedirá números aleatorios al sistema operativo (ya sea por su cuenta o a través de alguna biblioteca como openssl) y no se tendrá que preocupar más del asunto.
Vamos a ver, el simple hecho de hacer los mismos movimientos con el ratón y tener el ordenador en el mismo estado, con los mismos archivos, hacer todo al mismo segundo... NO ES REALISTA.

Era un ejemplo para entender de que trata el tema de la aleatoriedad en la informática, que la gente sepa que en los ordenadores no hay un dado o una moneda como hacemos en la vida diaria, sino que hay que recoger datos que se creen aleatorios (pero que algunas veces no los son) y usarlos para hacer números aleatorios. El único caso donde si que hay aleatoriedad es un periférico llamado Psyleron y que es usado en investigaciones paranormales. También los últimos procesadores parece que incluyen un generador de entropía (aleatoriedad):
https://en.wikipedia.org/wiki/RdRand
Pero a lo que iba, tradicionalmente en informática se usan números seudoaleatorios obtenidos a partir de fuentes que se espera que sean aleatorias.

¿De dónde crees que vino el fallo este de Android que hubo hace tiempo? Pues creo que de ahí, de malas prácticas al obtener aleatoriedad. Y en Debian ocurrió algo parecido, en algoritmo debía declarar memoria y no inicializarla, sino usarla tal cual, un desarrollador creyó que eso era un fallo y lo "corrigió" inicializando la memoria a cero y haciendo el algoritmo menos robusto.
hero member
Activity: 532
Merit: 500
0x9CE937CD
November 06, 2014, 05:07:58 PM
#23


Soy muy fan de este post de LuisCar:

Analicemos qué significan los números muy grandes de bitcoin.

En otro hilo del foro se comentaba que pueden existir 2¹⁶⁶ direcciones bitcoin diferentes. ¿Qué supone este número? Bien, voy a redondear siempre de forma desfavorable para la seguridad de las direcciones bitcoin en los cálculos.

2¹⁶⁶ son 9·10⁴⁹ direcciones. Como has postulado, vamos a suponer que podemos generar 10000 claves en cada segundo y además imaginemos que eso lo hacen los 7·10⁹ habitantes del planeta. Esto significaría que se estarían generando 7·10¹³ direcciones por segundo; puesto que un año contiene unos 31557600 s, el número de direcciones halladas por año alcanzaría la cifra de 31557600×7·10¹³=3·10²¹ direcciones por año, redondeando al alza.

La edad que se le estima actualmente al universo es de unos 13 mil millones de años o 13·10⁹. Bien, esto supone que para obtener todas las claves privadas (de forma que aseguras al cien por cien el controlar la dirección que quieres atacar) se requiere esperar 9·10⁴⁹÷(3·10²¹×13·10⁹)=2·10¹⁸ (redondeado). Es decir, necesitaríamos esperar un par de trillones de universos para que la humanidad trabajando en su conjunto con la potencia de cómputo que has propuesto pudiera encontrar una clave privada con total seguridad. Si la probabilidad fuera de un 50 %, el tiempo requerido se reduciría a la mitad, nada menos que un trillón de universos. Si la probabilidad la reducimos a un valor ínfimo, supongamos que nos basta con una billonésima de probabilidad (la lotería de navidad toca a un número de cada cien mil), tendríamos que estar procesando durante la vida temporal de dos millones de universos. Ahora bien, podría ser factible aumentar la capacidad de cómputo por persona, bien, si la potencia de cómputo que hemos supuesto para cada ser humano se multiplicase por un billón y todos estuviéramos computando direcciones sin parar, la humanidad en su conjunto, los siete mil millones de personas de hoy, provocarían unas 6500 repeticiones de claves privadas a lo largo de la vida del universo, es decir, durante los 13 mil millones de años que tiene éste, o lo que es lo mismo, se produciría una colisión ―repetición― de direcciones cada 2 millones de años en este último supuesto.

Pasemos ahora a las consideraciones energéticas. Pongamos que los equipos informáticos de dichas personas requieren de media unos 100 W para obtener 10000 claves en cada segundo, eso significa que el coste energético es de 0,01 Julios por cada clave generada, luego las 9·10⁴⁹ claves requerirán 9·10⁴⁷ Julios. Según la wikipedia la potencia de nuestra estrella es aproximadamente 3,8·10²⁶ vatios ―o, dicho de otra manera, el Sol produce en un segundo 760.000 veces la producción energética anual a nivel mundial―, por lo que necesitarías 9·10⁴⁷÷3,8·10²⁶=2·10²¹, dos mil trillones de soles, para obtener dicha energía en un segundo; si consideramos que la galaxia media contiene cien mil millones de estrellas necesitaríamos la energía que aportan dos mil millones de galaxias en un segundo, o si te puedes permitir esperar un año para obtener todas las claves privadas requerirías utilizar la energía que emiten 633 galaxias, o bien la que te aportan "solamente" 5773 soles si aguantas la edad de nuestro universo (13 mil millones de años) buscando todas las claves privadas.

No he realizado el cálculo del tamaño en bytes del archivo de texto que contendría todas las claves privadas que se van generando, pero con lo anterior os podréis hacer una idea de su magnitud.

En definitiva, cualquier suceso catastrófico para tu vida o para tu dinero que se te pueda ocurrir es enormemente más probable que el que se dé una colisión entre claves privadas ―el que se generen dos claves iguales―.
legendary
Activity: 1974
Merit: 1030
November 06, 2014, 04:47:25 PM
#22
full member
Activity: 137
Merit: 100
November 06, 2014, 04:30:44 PM
#21
No se si se puede calcular la dirección a partir de una privada offline supongo que si.. pero si es así para los genios no debe ser complicado por ejemlo hacer una base de datos de direcciones de servicios.. personalizadas tipo la famosos de sorteos etc.. 1dice.. 1lucky y cualquiera personalizado..
Evidentemente se que es buscar como lotería pero si se puede generar infinito de direcciones y tienes unas cuantas adddres lo mismo una puede caer... no?
Ellos también lo habrán tenido que generar.. no se si se puede añadir claves texto etc.. para complicar pero si tienes por ejemplo 1prueba42aDF23453553.... tu generas el patrón 1prueba y otro no va a generar el mismo? no se del tema pero si el hardware de minado se utilizase para eso seria un peligro no?
Evidentemente no hay nada supongo y si lo hay no creo que se haga publico y si lo hacen tendrán que solucionarlo etc.. actualizar el sistema..
legendary
Activity: 1974
Merit: 1030
November 06, 2014, 12:45:07 PM
#20
Tampoco seáis tan quisquillosos, lo que digo es que si un programa es bueno usará suficientes fuentes de aleatoriedad para que no haya nunca coincidencia.

No es ser quisquillosos. El escenario que planteas no es realista.

Un buen programa le pedirá números aleatorios al sistema operativo (ya sea por su cuenta o a través de alguna biblioteca como openssl) y no se tendrá que preocupar más del asunto.
legendary
Activity: 1260
Merit: 1003
November 06, 2014, 12:18:03 PM
#19
Para nada, si dos ordenadores tienen el mismo "hardware", la misma hora, los mismos programas instalados similarmente...

Pero sus drivers de sonido y de red recogen distinto ruido ambiental, que sí es realmente aleatorio, y esta entropía acaba siendo incorporada al generador de números aleatorios del sistema. Fuente. No hace falta hardware especial, el ruido está en todas partes.

El sistema operativo Windows, por ejemplo, consigue CLSID únicos combinando la hora del reloj y la dirección MAC de la tarjeta de red. Las direcciones MAC son siempre diferentes para cada ordenador.
Vale, pero yo hablo de ordenadores IGUALES a nivel de hardware... incluída la tarjeta de red. Imaginad que se la quitas a uno y se la pones a otro.

No es como un átomo radiactivo, que nunca puedes adivinar con certeza lo que hará en el próximo segundo.

Tampoco seáis tan quisquillosos, lo que digo es que si un programa es bueno usará suficientes fuentes de aleatoriedad para que no haya nunca coincidencia.
legendary
Activity: 1623
Merit: 1608
November 06, 2014, 10:25:58 AM
#18
Para nada, si dos ordenadores tienen el mismo "hardware", la misma hora, los mismos programas instalados similarmente...

Pero sus drivers de sonido y de red recogen distinto ruido ambiental, que sí es realmente aleatorio, y esta entropía acaba siendo incorporada al generador de números aleatorios del sistema. Fuente. No hace falta hardware especial, el ruido está en todas partes.

El sistema operativo Windows, por ejemplo, consigue CLSID únicos combinando la hora del reloj y la dirección MAC de la tarjeta de red. Las direcciones MAC son siempre diferentes para cada ordenador.
legendary
Activity: 1260
Merit: 1003
November 06, 2014, 07:18:31 AM
#17
Para nada, si dos ordenadores tienen el mismo "hardware", la misma hora, los mismos programas instalados similarmente...

Pero sus drivers de sonido y de red recogen distinto ruido ambiental, que sí es realmente aleatorio, y esta entropía acaba siendo incorporada al generador de números aleatorios del sistema. Fuente. No hace falta hardware especial, el ruido está en todas partes.
¿Y si no tienes micrófono ni conexión de red? Grin
legendary
Activity: 1974
Merit: 1030
November 06, 2014, 06:39:34 AM
#16
Para nada, si dos ordenadores tienen el mismo "hardware", la misma hora, los mismos programas instalados similarmente...

Pero sus drivers de sonido y de red recogen distinto ruido ambiental, que sí es realmente aleatorio, y esta entropía acaba siendo incorporada al generador de números aleatorios del sistema. Fuente. No hace falta hardware especial, el ruido está en todas partes.
legendary
Activity: 1260
Merit: 1003
November 06, 2014, 06:30:27 AM
#15
Para nada, si dos ordenadores tienen el mismo "hardware", la misma hora, los mismos programas instalados similarmente...

Entonces si te generarían claves iguales.

No se si los últimos procesadores Intel tienen un generador por hardware de números aleatorios verdaderos. También está el caso del Psyleron. Pero fuera de eso, un ordenador normal no puede crear números aleatorios "verdaderos", sino seudoaleatorios. En la mayoría de casos esto no representa un gran problema, pero es algo real.

Pero a lo que iba es a que esa situación es muy difícil, y que si el programa está bien escrito, siempre generaría claves diferentes.
legendary
Activity: 1974
Merit: 1030
November 06, 2014, 06:03:43 AM
#14
Te explico: en informática los números aleatorios no existen, no hay dados ni monedas donde sacar un número verdadéramente al azar (salvo que uses un Psyleron y no haya espíritus cerca Tongue ), lo que se hace es tomar un trozo de memoria al azar

¿Cómo coges un trozo de memoria "al azar" si el azar no existe?


Ahora, imagina dos ordenadores iguales sin conexión a Internet, usados por personas que hacen todo igual (¡incluso los movivimientos del ratón!), abren los mismos programas al mismo tiempo, los cierran al mismo tiempo... hacen todo igual. Ahora imagina que deciden crear una dirección de vanidad. ¿Sabes que pasaría? Pues que les saldría la misma dirección de Bitcoin con la misma clave privada (y tardarían lo mismo en obtenerla). ¿El motivo? Pues que partieron del mismo "ruido" en la memoria del ordenador, porque habían hecho todo igual antes y los ordenadores eran iguales.

Un sistema operativo decente tiene en cuenta varias cosas fuera del control del usuario para generar números aleatorios, por lo que disponer del mismo hardware y realizar milimétricamente y las mismas acciones no deriva en los mismos números aleatorios.
legendary
Activity: 1260
Merit: 1003
November 06, 2014, 05:55:33 AM
#13

He alucinado con esto.. https://blockchain.info/address/1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T
que significa como que 2 personas tienen esas direcciones con distintas claves privadas?
pero pueden acceder y quitar el saldo?
Comprendo lo del generar la clave privada a partir de frases etc.. de hecho lo veo sencillo pero para ello habran genios metidos en el tema.. haciendo combinaciones etc..?[/quote]No, las dos personas tienen la misma clave privada, la que se genera a partir de "correct horse batery staple". Y si la clave privada es la misma, la dirección de Bitcoin también es la misma (es muy difícil que dos claves privadas diferentes generen una misma dirección de Bitcoin).

Incluso tu puedes tenerla, no es tan difícil. Lo que es un poco más complejo es instalar un programa que monitorice la red Bitcoin, intentar ser el primero en hacer llegar su transacción a los principales centros de procesamiento de transacciones (minería) para hacer que sea la que finalmente sea incluida en la cadena de bloques, de esa forma te quedarías con el dinero.

si se puede generar una dirección personalizada se podría generar una igualita a una existente ? pero que ocurriría ?
¿Una dirección de vanidad?

Pues depende, si el programa funciona bien y parte de un suficiente nivel de aleatoriedad, debería generar claves privadas siempre diferentes, y aunque coincidan los primeros números o letras, el resto deberían ser diferentes.

Te explico: en informática los números aleatorios no existen, no hay dados ni monedas donde sacar un número verdadéramente al azar (salvo que uses un Psyleron y no haya espíritus cerca Tongue ), lo que se hace es tomar un trozo de memoria al azar, y esperar que haya datos anteriores de otros programas que hubieran usado esa misma área antes (pero ya no la necesitan). Esos datos son revueltos de forma que generen un número al azar cuando un programa necesita un número aleatorio (como cuando vas a generar una dirección nueva).

El programa que hace la dirección de vanidad usará esos números aleatorios para generar direcciones al azar hasta que alguna por casualidad coincida con el patrón buscado. Puede tardar bastante, pero suele ser seguro de cara a que no coincida con otra que se generase en otra zona del mundo.

Ahora, imagina dos ordenadores iguales sin conexión a Internet, usados por personas que hacen todo igual (¡incluso los movivimientos del ratón!), abren los mismos programas al mismo tiempo, los cierran al mismo tiempo... hacen todo igual. Ahora imagina que deciden crear una dirección de vanidad. ¿Sabes que pasaría? Pues que les saldría la misma dirección de Bitcoin con la misma clave privada (y tardarían lo mismo en obtenerla). ¿El motivo? Pues que partieron del mismo "ruido" en la memoria del ordenador, porque habían hecho todo igual antes y los ordenadores eran iguales.

No te preocupes, un buen programa y en situaciones normales jamás podría partir de la misma aleatoriedad, y por eso siempre (o casi siempre, si consideramos una posibilidad entre varios cuatrillones) generará direcciones diferentes.
legendary
Activity: 1623
Merit: 1608
November 06, 2014, 01:26:59 AM
#12
Ahora lanzo una pregunta yo: ¿Nadie sabe que es esto del fideicomiso?

El fideicomiso es lo que en inglés se denomina "escrow". Es decir, una entidad que se interpone entre el comprador y el vendedor para resolver disputas en caso de que el comprador no pague y haya recibido el producto, el comprador pague y no reciba el producto, o el producto sea defectuoso.
hero member
Activity: 532
Merit: 500
0x9CE937CD
November 05, 2014, 08:37:03 PM
#11
si se puede generar una dirección personalizada se podría generar una igualita a una existente ? pero que ocurriría ?
No se puede, solo puedes personalizar los primeros 4 o 5 caracteres de la dirección, 6 o 7 si tienes mucho poder de computo. Pero intentar conseguir mas es altamente improbable.
Porque básicamente se trata de generar direcciones hasta que sale una con el principio que tu quieres (o eso creo).
full member
Activity: 137
Merit: 100
November 05, 2014, 08:28:07 PM
#10
He alucinado con esto.. https://blockchain.info/address/1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T
que significa como que 2 personas tienen esas direcciones con distintas claves privadas?
pero pueden acceder y quitar el saldo?
Comprendo lo del generar la clave privada a partir de frases etc.. de hecho lo veo sencillo pero para ello habran genios metidos en el tema.. haciendo combinaciones etc..?
si se puede generar una dirección personalizada se podría generar una igualita a una existente ? pero que ocurriría ?
hero member
Activity: 532
Merit: 500
0x9CE937CD
November 05, 2014, 06:29:19 PM
#9
Imagina un accidente, un fallecimiento... tus familiares no podrían recuperar el dinero
Vaya, nos hemos cruzado posteando xD. De todos modos pase lo que pase, ahora mismo mis familiares no podrían recuperar mis BTC
hero member
Activity: 532
Merit: 500
0x9CE937CD
November 05, 2014, 06:25:55 PM
#8
Estoy algo pez en el tema.. las brainwallets son carteras generadas offline ?? pero imaginemos que generas una y envías 1btc a la dirección generada.. si luego quieres mandar o hacer algo no te quedará otra que conectarte no?
Las brainwallets son direcciones de btc generadas a partir de una frase, palabra o conjunto aleatorio de letras. Aquí las puedes generar, aunque no son recomendables: https://brainwallet.github.io/. Por simple curiosidad genere la dirección correspondiente a la palabra "alex" y le envié 0.00001BTC. A las 2 horas me los "robaron"(yo ya era consciente de que me lo iban a quitar).

¿Porque sabía que me lo iban a quitar? Hay gente que "mina" las brainwallets, es decir saca direcciones de bitcoin de frases predecibles y no tan predecibles y cuando alguien mete algo ahí, pum se lo lleva.

Por cierto se llaman brainwallets porque se pueden "guardar en el cerebro" al ser una simple frase.

Y si, igual que con una paper wallet al enviar los fondos tienes que conectarte.

sobre las  vanitys no tengo ni idea de lo que es..
Con vanitys nos referimos a Vanity Address o dirección de vanidad en español. Si te fijas en mi firma mi dirección de bitcoin es "1ALEXR96...", eso no es casualidad, es que ha sido generada con un programa llamado vanitygen.

Lo que entiendo a minar direcciones de Bitcoin es generar direcciones btc offline ?

No, como te he dicho arriba, es minar brainwallets, que es vigilar direcciones generadas a partir de frases predecibles y algunas no tan predecibles.

Respecto a lo dicho antes como que 2 usuarios generan la misma ?? imposible.. no?

No imposible, mas bien improbable. De hecho, LuisCar hizo un post magnifico de cuanto se tardaría en averiguar una clave privada de una dirección bitcoin. Si algún compañero sabe donde esta que lo postee.


Ahora lanzo una pregunta yo: ¿Nadie sabe que es esto del fideicomiso?
legendary
Activity: 1260
Merit: 1003
November 05, 2014, 06:20:25 PM
#7
A ver os explico:

Dirección de vanidad: es aquella donde se prueban diferentes claves privadas ALEATORIAS para que la dirección tenga algún formato curioso, por ejemplo, que empiece por 1Bitcoin o algo así (evidéntemente, sólo con los carácteres que estén permitidos en la dirección de Bitcoin).

Cartera cerebro: es aquella donde la clave privada se genera a partir de una sucesión de palabras conocidas. Esto permite generar una o varias claves privadas y junto a ellas sus correspondientes direcciones públicas (que a diferencia del caso anterior, son aleatorias). Si esa sucesión de palabras es demasiado "adivinable" puede ocurrir que alguien genere tus mismas claves privadas y te birle el dinero.

Las carteras cerebrales se basan en esto:
http://xkcd.com/936/

Pero claro, si todo el mundo usa "correct horse battery staple" puede ocurrir esto:
https://blockchain.info/address/1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T

Si, como lo veis, una dirección donde de vez en cuando se manda dinero y como pirañas otros van a recogerlo, de ahí que se generen gastos duplicados (como advierte blockchain.info), ya que a los servidores llegan múltiples transacciones, cada una apuntando a su cartera. Cheesy

¿Son peligrosas las direcciones de vanidad? Si las generas en un ordenador fuera de línea con un programa fiable, son tan fiables como cualquier dirección de papel.
¿Son peligrosas las carteras cerebrales? Si no metes nada raro que aumente la variabilidad, si, son muy peligrosas. Y otro peligro que tienen es el olvido, que no podrías recuperar el dinero. Imagina un accidente, un fallecimiento... tus familiares no podrían recuperar el dinero, pero esto ya sería un tema aparte. Lo importante es que evitéis algo demasiado sencillo, jamás uséis frases de libros (hay gente que genera direcciones de BTC a partir de libros para luego escanear la cadena de bloques), no uséis frases hechas, no uséis números sencillos como vuestra fecha de nacimiento...
full member
Activity: 137
Merit: 100
November 05, 2014, 06:01:42 PM
#6
Estoy algo pez en el tema.. las brainwallets son carteras generadas offline ?? pero imaginemos que generas una y envías 1btc a la dirección generada.. si luego quieres mandar o hacer algo no te quedará otra que conectarte no?  sobre las  vanitys no tengo ni idea de lo que es..

Lo que entiendo a minar direcciones de Bitcoin es generar direcciones btc offline ?
Respecto a lo dicho antes como que 2 usuarios generan la misma ?? imposible.. no?
hero member
Activity: 532
Merit: 500
0x9CE937CD
November 05, 2014, 04:43:42 PM
#5
Minar dirección bitcoin Huh comor??

Se refiere a las direcciones vanity.
Mas bien me refería a las brainwallets. ¿Las vanitys son también fáciles de minar?
Pages:
Jump to: