Bitcoin Forum
April 25, 2024, 04:10:48 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: BrainWallet AGAIN  (Read 2002 times)
Narydu (OP)
Donator
Hero Member
*
Offline Offline

Activity: 743
Merit: 510



View Profile WWW
February 07, 2013, 05:24:39 AM
 #1

Chicos, como estoy convencido que la brainwallet es la mejor de todas las formas de guardar el dinero a futuro, me pregunto si alguno me puede transmitir o derivar hacia algún thread o conclusión sobre que al hacerla en brainwallet.org no me robarán la clave...

1714018248
Hero Member
*
Offline Offline

Posts: 1714018248

View Profile Personal Message (Offline)

Ignore
1714018248
Reply with quote  #2

1714018248
Report to moderator
1714018248
Hero Member
*
Offline Offline

Posts: 1714018248

View Profile Personal Message (Offline)

Ignore
1714018248
Reply with quote  #2

1714018248
Report to moderator
1714018248
Hero Member
*
Offline Offline

Posts: 1714018248

View Profile Personal Message (Offline)

Ignore
1714018248
Reply with quote  #2

1714018248
Report to moderator
Remember that Bitcoin is still beta software. Don't put all of your money into BTC!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714018248
Hero Member
*
Offline Offline

Posts: 1714018248

View Profile Personal Message (Offline)

Ignore
1714018248
Reply with quote  #2

1714018248
Report to moderator
1714018248
Hero Member
*
Offline Offline

Posts: 1714018248

View Profile Personal Message (Offline)

Ignore
1714018248
Reply with quote  #2

1714018248
Report to moderator
1714018248
Hero Member
*
Offline Offline

Posts: 1714018248

View Profile Personal Message (Offline)

Ignore
1714018248
Reply with quote  #2

1714018248
Report to moderator
tbcoin
Legendary
*
Offline Offline

Activity: 1022
Merit: 1000



View Profile WWW
February 07, 2013, 07:59:38 AM
 #2

Creo que la forma mas segura es usar addrgen

https://github.com/weex/addrgen


Solo tienes que descomentar y modificar la frase de la linea 165

https://github.com/weex/addrgen/blob/master/addrgen.py#L165

Sorry for my bad english Wink
Bitcoin card for deposit and payment + Little POS
Donations:1N65efiNUhH6sEQg7Z6oUC76kJS9Yhevyf
dserrano5
Legendary
*
Offline Offline

Activity: 1974
Merit: 1029



View Profile
February 07, 2013, 08:05:14 AM
 #3

Y comentar la 157 para evitar confusiones Wink.
tbcoin
Legendary
*
Offline Offline

Activity: 1022
Merit: 1000



View Profile WWW
February 07, 2013, 08:07:56 AM
 #4

Y comentar la 157 para evitar confusiones Wink.
+1

Sorry for my bad english Wink
Bitcoin card for deposit and payment + Little POS
Donations:1N65efiNUhH6sEQg7Z6oUC76kJS9Yhevyf
nikkus
Legendary
*
Offline Offline

Activity: 1522
Merit: 1005


View Profile
February 07, 2013, 08:32:24 AM
 #5

Chicos, como estoy convencido que la brainwallet es la mejor de todas las formas de guardar el dinero a futuro, me pregunto si alguno me puede transmitir o derivar hacia algún thread o conclusión sobre que al hacerla en brainwallet.org no me robarán la clave...
+1 Totalmente de acuerdo con tu optimismo sobre las brainwallets!!

Juntamente con un colega, haciendo un brainstorm sobre bitcoin, nos salió esa idea:

Imaginate que hay un dinero, una cuantía en btc claro, y que tiene que ser usado por 5 personas, pero resulta q lo tienen que recibir en una cuenta de bitcoin, pero claro, ninguno se fía del otro! Solución? Fácil, crean un brainwallet, cada uno piensa en una contraseña, y sin que los demas vean lo que se teclea, cada uno pone la contraseña justo despues del otro, y siempre en el mismo orden. De ese modo, y con el brain wallet, se va a generar una cartera para recibir ese dinero y los 5 tendrán un trozo de la clave, es decir, no se podrá hacer NADA sin que los 5 esten de acuerdo! Wink

1NikkusCFVtadafW15HZw3up9xo23fi5UD
tbcoin
Legendary
*
Offline Offline

Activity: 1022
Merit: 1000



View Profile WWW
February 07, 2013, 08:56:35 AM
 #6

Chicos, como estoy convencido que la brainwallet es la mejor de todas las formas de guardar el dinero a futuro, me pregunto si alguno me puede transmitir o derivar hacia algún thread o conclusión sobre que al hacerla en brainwallet.org no me robarán la clave...
+1 Totalmente de acuerdo con tu optimismo sobre las brainwallets!!

Juntamente con un colega, haciendo un brainstorm sobre bitcoin, nos salió esa idea:

Imaginate que hay un dinero, una cuantía en btc claro, y que tiene que ser usado por 5 personas, pero resulta q lo tienen que recibir en una cuenta de bitcoin, pero claro, ninguno se fía del otro! Solución? Fácil, crean un brainwallet, cada uno piensa en una contraseña, y sin que los demas vean lo que se teclea, cada uno pone la contraseña justo despues del otro, y siempre en el mismo orden. De ese modo, y con el brain wallet, se va a generar una cartera para recibir ese dinero y los 5 tendrán un trozo de la clave, es decir, no se podrá hacer NADA sin que los 5 esten de acuerdo! Wink

Me gusta la idea Smiley, siempre y cuando todos tengan buena memoria...
Volviendo a brainwallet.org, esto seria facil de hacer cambiando a type="password" el textbox de la frase.

En cuanto a la seguridad, si resulta engorroso usar addrgen, siempre se puede descargar la web y usarla offline, al igual que con bitaddress.org

https://github.com/brainwallet/brainwallet.github.com

https://github.com/pointbiz/bitaddress.org

Sorry for my bad english Wink
Bitcoin card for deposit and payment + Little POS
Donations:1N65efiNUhH6sEQg7Z6oUC76kJS9Yhevyf
KikoV79
Newbie
*
Offline Offline

Activity: 27
Merit: 0



View Profile WWW
February 07, 2013, 09:09:02 AM
 #7

Imaginate que hay un dinero, una cuantía en btc claro, y que tiene que ser usado por 5 personas, pero resulta q lo tienen que recibir en una cuenta de bitcoin, pero claro, ninguno se fía del otro! Solución? Fácil, crean un brainwallet, cada uno piensa en una contraseña, y sin que los demas vean lo que se teclea, cada uno pone la contraseña justo despues del otro, y siempre en el mismo orden. De ese modo, y con el brain wallet, se va a generar una cartera para recibir ese dinero y los 5 tendrán un trozo de la clave, es decir, no se podrá hacer NADA sin que los 5 esten de acuerdo! Wink
Y luego muere uno de ellos, o se queda incapacitado, o se va de viaje, y se pierden los BitCoin para siempre... Smiley
nikkus
Legendary
*
Offline Offline

Activity: 1522
Merit: 1005


View Profile
February 07, 2013, 09:20:18 AM
 #8

Y luego muere uno de ellos, o se queda incapacitado, o se va de viaje, y se pierden los BitCoin para siempre... Smiley

Verdad! Es que sé de gente que estaría dispuesta a eso antes de confiar en otros(Ya sabes neuróticos hay en abundancia y en todos los sitios), si conozco a uno que "no se fía" de bitcoin, pq con sus conocimientos básicos de matemáticas(como los míos por ejemplo), no logra entender "esa tal cosa de cifrado", así que como no entiende, no se fía, y otro que cree que todo eso esta destinado únicamente a "robarle" el dinero(que por cierto no tiene), y un largo etc... Ahhh...Si yo contará.....

1NikkusCFVtadafW15HZw3up9xo23fi5UD
davux
Sr. Member
****
Offline Offline

Activity: 288
Merit: 263


Firstbits.com/1davux


View Profile WWW
February 07, 2013, 03:22:01 PM
 #9

Imaginate que hay un dinero, una cuantía en btc claro, y que tiene que ser usado por 5 personas, pero resulta q lo tienen que recibir en una cuenta de bitcoin, pero claro, ninguno se fía del otro! Solución? Fácil, crean un brainwallet, cada uno piensa en una contraseña, y sin que los demas vean lo que se teclea, cada uno pone la contraseña justo despues del otro, y siempre en el mismo orden. De ese modo, y con el brain wallet, se va a generar una cartera para recibir ese dinero y los 5 tendrán un trozo de la clave, es decir, no se podrá hacer NADA sin que los 5 esten de acuerdo! Wink

De hecho el protocolo Bitcoin y más precisamente los scripts (enlace en inglés) contenidos en las transacciones permiten hacer eso: puedes dar varias direcciones Bitcoin necesarias para gastar el dinero (AND), o varias direcciones suficientes individualmente (OR), o hasta combinaciones de eso...

Los clientes no presentan una interface para todo eso todavía, pero en el protocolo ya se puede.

1DavuxH9tLqU4c7zvG387aTG4mA7BcRpp2
México (Oaxaca) – France - Leeds
nikkus
Legendary
*
Offline Offline

Activity: 1522
Merit: 1005


View Profile
February 07, 2013, 04:57:54 PM
 #10

De hecho el protocolo Bitcoin y más precisamente los scripts (enlace en inglés) contenidos en las transacciones permiten hacer eso: puedes dar varias direcciones Bitcoin necesarias para gastar el dinero (AND), o varias direcciones suficientes individualmente (OR), o hasta combinaciones de eso...

Los clientes no presentan una interface para todo eso todavía, pero en el protocolo ya se puede.

Otro puntazo para el Bitcoin! Tongue

1NikkusCFVtadafW15HZw3up9xo23fi5UD
Tacticat
Full Member
***
Offline Offline

Activity: 210
Merit: 100



View Profile
February 07, 2013, 08:11:08 PM
 #11

Opcionalmente, lo único que necesitas es un calculador de SHA-256. Si tienes linux puedes probar lo siguiente:

echo -n "Esta es mi brainwallet" | shasum -a 256

Esto te dará la clave privada que luego puedes importar a un monedero Bitcoin que luego te dará la dirección pública. Opcionalmente también puedes usar una versión offline de Bitaddress.org y en wallet details te dará la dirección pública de la dirección privada.

Es decir, únicamente necesitas un calculador de SHA256.

Tips and donations:

15nqQGfkgoxrBnsshD6vCuMWuz71MK51Ug
amgomez
Hero Member
*****
Offline Offline

Activity: 727
Merit: 500



View Profile
February 07, 2013, 08:19:33 PM
 #12

Opcionalmente, lo único que necesitas es un calculador de SHA-256. Si tienes linux puedes probar lo siguiente:

echo -n "Esta es mi brainwallet" | shasum -a 256

Esto te dará la clave privada que luego puedes importar a un monedero Bitcoin que luego te dará la dirección pública. Opcionalmente también puedes usar una versión offline de Bitaddress.org y en wallet details te dará la dirección pública de la dirección privada.

Es decir, únicamente necesitas un calculador de SHA256.
¿Qué?¿Cómo?¿Qué?

Repite eso con más detalle, por favor. Antes que cualquier calculadora del internec para brainwallets me fio mucho más de un programa que traiga de serie linux.
Tacticat
Full Member
***
Offline Offline

Activity: 210
Merit: 100



View Profile
February 07, 2013, 08:36:39 PM
 #13

Opcionalmente, lo único que necesitas es un calculador de SHA-256. Si tienes linux puedes probar lo siguiente:

echo -n "Esta es mi brainwallet" | shasum -a 256

Esto te dará la clave privada que luego puedes importar a un monedero Bitcoin que luego te dará la dirección pública. Opcionalmente también puedes usar una versión offline de Bitaddress.org y en wallet details te dará la dirección pública de la dirección privada.

Es decir, únicamente necesitas un calculador de SHA256.
¿Qué?¿Cómo?¿Qué?

Repite eso con más detalle, por favor. Antes que cualquier calculadora del internec para brainwallets me fio mucho más de un programa que traiga de serie linux.

Una brainwallet es una clave privada formada pasando un texto a través de un Hash SHA256. La página web brainwallet.org hace exactamente lo mismo.

Un hash es una función matemática irreversible que identifica de manera única aquello que procese. Es como una huella digital.
Es decir, si yo hago el hash de "Hola, te doy 1 BTC" el resultado será algo parecido a:

"f8d607abf8d5552402bad661643d712b786ad8cd6a2ac993873e562cd4ae44c9"

Esta es la huella digital de la frase anterior. Si yo cambio un sólo bit, letra o dígito de la frase anterior el hash es totalmente distinto. Supongamos que un falsificador cambia la frase y pone "Hola, te doy 1000 BTC" entonces el hash sería:

"1c069b3a1938c07a3f08df1d9781a8848cf2b9716eececdc052e57cbf2fc1bb8"

Como puedes ver es totalmente distinto. Este es principio fundamental que permite la firma digital y las transacciones de Bitcoin.
Además, ningún otro texto dará el mismo hash.

Las propiedades del hash pueden también ser usados para crear claves privadas Bitcoin. Generalmente, cuando se genera una dirección bitcoin suele usarse un número aleatorio. Una brainwallet, sin embargo, toma como fuente una frase de texto.

Sabemos que todas las claves privadas de Bitcoin tienen 256 bits. ¿Cómo convertimos un texto cualquiera en un número único e irrepetible de 256 bits? ¡Usando un hash de 256 bits! En este caso se trata de SHA-256, una función hash muy conocida.

Escribe esto en cualquier terminal linux:

echo -n "Esta es mi clave privada" | shasum -a 256

Aquí estamos usando dos programas. En primer lugar "echo" y el argumento -n reproduce el texto tal y como lo escribimos y lo envía mediante la tubería ( | ) al programa shasum. El programa shasum lo pasa por el hash Sha-256 usando el argumento "-a 256".
Y así obtenemos:

732400c7f6fd900844917005b6a8d7011691fcc96ee9f2009a6796f16f228ad8

Si vas a brainwallet.org y escribes "Esta es mi clave privada" (sin comillas y respetando mayúsculas) obtendrás el mismo resultado.

El resultado es un número que está escrito en hexadecimal y que muchos programas como Blockchain, multibit, electrum o armory aceptan para importar una clave privada. Una vez importes esa clave privada te dirán cual es la dirección pública que le corresponde.

Tips and donations:

15nqQGfkgoxrBnsshD6vCuMWuz71MK51Ug
amgomez
Hero Member
*****
Offline Offline

Activity: 727
Merit: 500



View Profile
February 07, 2013, 08:47:48 PM
 #14

¡Gracias por la explicación tan detallada!

Pero te has quedado en lo mejor, esto es, en como le meto al cliente de bitcoin (uso bitcoin-qt) el sha256 para que me dé la clave pública. ¿Hay alguna forma en el cliente oficial (modo paranoico on) o sólo en los que has comentado?
Tacticat
Full Member
***
Offline Offline

Activity: 210
Merit: 100



View Profile
February 07, 2013, 08:53:58 PM
 #15

¡Gracias por la explicación tan detallada!

Pero te has quedado en lo mejor, esto es, en como le meto al cliente de bitcoin (uso bitcoin-qt) el sha256 para que me dé la clave pública. ¿Hay alguna forma en el cliente oficial (modo paranoico on) o sólo en los que has comentado?

No uso Bitcoin-qt pero aquí está el tutorial acerca de cómo importar claves privadas:

https://en.bitcoin.it/wiki/How_to_import_private_keys_v7%2B

Sin embargo, no sé si acepta el número hexadecimal o tan sólo acepta el formato donde empiezan por 5.
Sinceramente, creo que debería aceptar la clave también en hexadecimal pues muchos otros programas también lo hacen. Pruébalo y me cuentas.

En caso contrario sí necesitarás un programa que convierta el número hexadecimal a una clave que empiece por 5 (wallet import format) y/o te cree la dirección pública. Por suerte son todo matemáticas y se podría hacer en un sencillo script linux fácil de verificar y totalmente transparente.

Tips and donations:

15nqQGfkgoxrBnsshD6vCuMWuz71MK51Ug
amgomez
Hero Member
*****
Offline Offline

Activity: 727
Merit: 500



View Profile
February 07, 2013, 09:19:09 PM
 #16

Supongo que con sustituir el primer dígito por un 5 es suficiente. Al fin y al cabo estamos hablando de un SHA. Solo hay que "acordarse" de hacer esto tras convertir la frase.

Conforme lo escribía me he dado cuenta de que la clave privada en el formato wallet es un poco más compleja (incluye cifras y letras). ¿Alguien sabe que clase de formato es ese?
amgomez
Hero Member
*****
Offline Offline

Activity: 727
Merit: 500



View Profile
February 07, 2013, 09:20:38 PM
 #17

Me auto respondo: https://en.bitcoin.it/wiki/Wallet_import_format
dserrano5
Legendary
*
Offline Offline

Activity: 1974
Merit: 1029



View Profile
February 07, 2013, 09:53:11 PM
 #18

Ojito con el historial de la shell, que guarda todos los comandos en claro, incluyendo:

Code:
$ echo "clave privada" | shasum

y

Code:
$ bitcoind walletpassphrase "clave del wallet"

Para ejecutar cosas como esas de forma segura (usando bash):

- abrir una terminal nueva
- teclear 'unset HISTFILE'
- ejecutar el comando que sea
- cerrar la terminal lo antes posible

Si ya habéis ejecutado algo sin tomar esta precaución del 'unset HISTFILE', debéis editar el .bash_history y borrar a mano los comandos que contengan contraseñas (pero eso no necesariamente hace que tales comandos desaparezcan del disco a bajo nivel).
LuisCar
Legendary
*
Offline Offline

Activity: 1820
Merit: 1017



View Profile
February 08, 2013, 01:09:15 AM
 #19

La otra opción sencilla es ejecutar los comandos a través de una LiveCD o LiveUSB desconectadas de internet y te garantizas que en cuanto las extraigas del equipo no va a quedar rastro.

Narydu (OP)
Donator
Hero Member
*
Offline Offline

Activity: 743
Merit: 510



View Profile WWW
February 09, 2013, 11:31:17 AM
 #20

Gracias a todos por las explicaciones.
A pesar de las explicacionea que me ayudaron a comprender como funciona, me quedo con una propuesta inicial... Usar la pagina offline (y no volver a conectarla). Dado que si funciona ya que es un client side java, la creen una buena y sencilla alternativa?

Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!