Bitcoin Forum
December 06, 2016, 12:31:41 PM *
News: To be able to use the next phase of the beta forum software, please ensure that your email address is correct/functional.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Preguntas de un novato...  (Read 3242 times)
Stev
Newbie
*
Offline Offline

Activity: 1


View Profile
October 11, 2011, 02:24:19 PM
 #1

Buenas

Me entere hace algún tiempo de que existía Bitcoins.
Sin embargo no le di mucha importancia, básicamente por dos motivos...

1) No me parecía muy creíble
2) No tengo una super computadora

Y ahora me entero de los Pool, etc.
Bueno en fin, creo que llegue tarde pero así y todo lo intentare.

Lo que no termino de comprender son dos cosas...

Tengo 3 computadoras y algunos amigos a quienes quiero meter en esto.
Resulta que en DeepBit tengo la opción para crear workers (sub-cuentas).
Es necesario crear una sub-cuenta para cada PC?
Si uso el mismo usuario y password en todas las PC me perjudica en algo?

Y lo segundo, teniendo en cuenta que tengo una PC normal quería saber si me conviene usar Pay Per Share o Proportional.
De paso si alguien me puede explicar los pro y contra de cada uno, mejor aun.

Desde ya muchas gracias,
Saludos!
1481027501
Hero Member
*
Offline Offline

Posts: 1481027501

View Profile Personal Message (Offline)

Ignore
1481027501
Reply with quote  #2

1481027501
Report to moderator
1481027501
Hero Member
*
Offline Offline

Posts: 1481027501

View Profile Personal Message (Offline)

Ignore
1481027501
Reply with quote  #2

1481027501
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1481027501
Hero Member
*
Offline Offline

Posts: 1481027501

View Profile Personal Message (Offline)

Ignore
1481027501
Reply with quote  #2

1481027501
Report to moderator
Anillos
Sr. Member
****
Offline Offline

Activity: 462


View Profile
November 05, 2011, 05:42:35 PM
 #2

Hay sitios web que "dan" bitcoins sin casi pedir nada a cambio. Uno es el bictoinfaucet, otro dailybitcoins, también está bitcoinflower... No necesitas instalar programas, registrarte en sitios, recibir correos...

Con paciencia se puede conseguir un poquito.

También hay otros que dan bitcoins, pero ya son "a cambio de", como hacer encuestas y todo eso. En uno de ellos me metí para ver como era, vi una encuesta y me puse a hacerla. En cuanto me preguntaron mis ingresos, cancelé, que eso no le importa a nadie, y no es que gane mucho o poco, es que soy estudiante, pero no me gusta ese tipo de preguntas.

En mi firma tengo enlazado un sitio de los que te dan un poquito pero no te piden nada a cambio.

Aquí puedes conseguir pequeños ahorros sin mucho esfuerzo: http://www.bitvisitor.com/?ref=1PWNAGEZ3fSM8QevUavdd2iZ9F5jkp1QHZ
Consigue algo más viendo vídeos o haciendo pequeñas tareas en Bitcoinget.com: https://bitcointalk.org/index.php?topic=178692.msg2509190#msg2509190
¿necesitas un dibujo vectorial, un esquema, un diagrama...? https://bitcointalk.org/index.php?topic=183268.0
Polvos
Hero Member
*****
Offline Offline

Activity: 597



View Profile
November 07, 2011, 03:19:45 PM
 #3

Si no estoy mal informado creo que no pasa nada si utilizas los "mineros" de tres diferentes máquinas en una misma cuenta del pool. Si fuera al contrario cualquier minero con IP dinámica tendría muchos problmas cada vez que intentase reconectar al pool. Por tanto no creo que las diferentes IPs de cada minero te de problemas.

También hay que tener en cuenta que casi todas las pools pagan la minería después de validar unos "shares" que envían de vuelta los mineros haciendo prácticamente imposible que los mineros colisionen entre si intentando resolver la misma porción de ploque (pérdida de potencia de calculo del pool debido a la repetición de trabajo entre mineros) o que los mismos shares sean enviados a dos pools a la vez para cobrar el doble fraudulentamente. Por tanto tus tres mineros independientes seguro que intentarán resolver porciones de bloque diferentes y sus "shares" enviados serán pagados adecuadamente a tu cuenta.

Soy novato, así que utiliza la información que más o menos he asimilado bajo tu propia responsabilidad. Si estoy equivocado no dudéis en enseñarme porque, al fin y al cabo, creo que todos estamos aquí para aprender cada día un poquito más sobre la verdadera libertad económica.

Polvos
Hero Member
*****
Offline Offline

Activity: 597



View Profile
November 07, 2011, 03:37:17 PM
 #4

Al hilo de "preguntas de un novato" ahí va la mia por si alguien puede responderme:

Si para validar una transacción en la cadena de bloques es necesario el uso de la llave privada que guarda la billetera correspondiente a la dirección de los Bitcoins que quiero gastar. ¿Puedo realizar una segunda transacción desde la misma dirección (address) sabiendo que la llave privada (private key) ya ha sido empleada en una primera transacción? ¿No se ve comprometida esa dirección para posteriores transacciones puesto que la llave privada ya ha sido empleada-expuesta?

Es que no comprendo bien cómo funciona el protocolo de validación de los mineros para comprobar que el auténtico propietario de una dirección ha dado validez a una transacción a través de su llave privada sin exponerla a todos en la cadena de bloques com prometiendo futuras operaciones.

Bufff, no sé si se me entiende... bueno espero que más o menos comprendáis mi cuestión.

majamalu
Legendary
*
Offline Offline

Activity: 1652



View Profile WWW
November 08, 2011, 12:06:41 AM
 #5

Al hilo de "preguntas de un novato" ahí va la mia por si alguien puede responderme:

Si para validar una transacción en la cadena de bloques es necesario el uso de la llave privada que guarda la billetera correspondiente a la dirección de los Bitcoins que quiero gastar. ¿Puedo realizar una segunda transacción desde la misma dirección (address) sabiendo que la llave privada (private key) ya ha sido empleada en una primera transacción? ¿No se ve comprometida esa dirección para posteriores transacciones puesto que la llave privada ya ha sido empleada-expuesta?

Es que no comprendo bien cómo funciona el protocolo de validación de los mineros para comprobar que el auténtico propietario de una dirección ha dado validez a una transacción a través de su llave privada sin exponerla a todos en la cadena de bloques com prometiendo futuras operaciones.

Bufff, no sé si se me entiende... bueno espero que más o menos comprendáis mi cuestión.

Es una excelente pregunta; la verdad es que yo me la sigo haciendo. Aunque no tengo idea de los detalles (ni me siento capacitado para comprenderlos) quizás el término "criptografía asimétrica" te ayude al menos a iniciar la búsqueda de una respuesta.

http://elbitcoin.org - Bitcoin en español
http://mercadobitcoin.com - MercadoBitcoin
Anillos
Sr. Member
****
Offline Offline

Activity: 462


View Profile
November 08, 2011, 01:37:16 AM
 #6

No esperéis que sea sencillo de entender el "mecanismo" de Bitcoin. Si fuera sencillo, se habría inventado antes.

Aquí puedes conseguir pequeños ahorros sin mucho esfuerzo: http://www.bitvisitor.com/?ref=1PWNAGEZ3fSM8QevUavdd2iZ9F5jkp1QHZ
Consigue algo más viendo vídeos o haciendo pequeñas tareas en Bitcoinget.com: https://bitcointalk.org/index.php?topic=178692.msg2509190#msg2509190
¿necesitas un dibujo vectorial, un esquema, un diagrama...? https://bitcointalk.org/index.php?topic=183268.0
Nubarius
Sr. Member
****
Offline Offline

Activity: 307


View Profile
November 08, 2011, 02:03:48 PM
 #7

Si para validar una transacción en la cadena de bloques es necesario el uso de la llave privada que guarda la billetera correspondiente a la dirección de los Bitcoins que quiero gastar. ¿Puedo realizar una segunda transacción desde la misma dirección (address) sabiendo que la llave privada (private key) ya ha sido empleada en una primera transacción? ¿No se ve comprometida esa dirección para posteriores transacciones puesto que la llave privada ya ha sido empleada-expuesta?

No, como ha comentado newtenberg solamente se expone la llave o clave pública asociada con tu dirección. La clave privada nunca debería salir de tu billetera local. La razón por la que no es conveniente repetir la misma dirección para distintos pagos está relacionada con el anonimato de las transacciones. Por ejemplo, si yo hago un donativo a Wikileaks desde una dirección Bitcoin y una semana más tarde desde la misma dirección Bitcoin compro una entrada para el partido de fútbol Real Oviedo - Coruxo de la Segunda División B española, cualquiera podrá averiguar, investigando el historial de transacciones, que la persona que hizo el donativo a Wikileaks es la misma que la que fue a ver un partido de fútbol en Oviedo. Es simplemente para preservar la privacidad para lo que se recomienda utilizar direcciones Bitcoin diferentes para cada pago. De hecho, el propio programa cliente de Bitcoin adopta esta estrategia. Pero desde un punto de vista de seguridad criptográfica, las direcciones Bitcoin son perfectamente reutilizables.

Es que no comprendo bien cómo funciona el protocolo de validación de los mineros para comprobar que el auténtico propietario de una dirección ha dado validez a una transacción a través de su llave privada sin exponerla a todos en la cadena de bloques com prometiendo futuras operaciones.

Como te ha dicho Majamalu, esto está relacionado con la criptografía asimétrica, en concreto con la criptografía de clave pública ("public-key cryptography"). Por si te resulta útil, intentaré explicar a continuación brevemente algunas nociones básicas que creo que conviene conocer para comprender mejor cómo funciona el sistema Bitcoin.

En primer lugar, es necesario entender la diferencia entre tres tipos fundamentales de cifrado o encriptación:

1. Cifrado simétrico (off-topic; no se utiliza en Bitcoin). Se trata del concepto de cifrado más conocido, en que un algoritmo permite obtener un texto cifrado a partir de un mensaje original y el algoritmo es reversible, de modo que se puede también recuperar el mensaje original a partir del mensaje cifrado. Por ejemplo, si tomamos un mensaje y sustituimos la letra a por la b, la b por la c, y así sucesivamente, obtendremos un mensaje cifrado que podremos descifrar mediante la transformación inversa de sustituir la z por la y, la y por la x, etc. A este tipo de cifrado se le llama "cifrado César" y, evidentemente, es muy fácil de detectar y de romper. Las formas más sofisticadas de cifrado simétrico consisten en tomar una palabra o frase secreta (o un valor binario arbitrario) y transformar el mensaje original haciendo operaciones binarias basadas en esa frase secreta. El mejor tipo de cifrado simétrico conocido actualmente es el algoritmo de Rijndael, estandarizado en Estados Unidos como AES (Advanced Encryption Standard). Al tratarse de un algoritmo parametrizado con una frase secreta, a la que se llama "clave" (o "llave"; "key" en inglés), el resultado del cifrado depende de esa clave secreta y es enormemente difícil de romper sin conocer la clave. Estos modelos de cifrado simétrico como AES permiten cifrar y descifrar de manera reversible. NO se utilizan en el sistema Bitcoin.

2. Valor hash. El concepto de hash es un tipo de cifrado asimétrico, ya que no es reversible. Se llama "valor hash" a un valor numérico obtenido a partir de un mensaje original de tal modo que no existe un algoritmo inverso que permita reconstruir el mensaje original a partir del hash. La utilidad de los valores hash es que permiten verificar que un dato no ha cambiado sin necesidad de guardar el dato original. Un uso habitual de los valores hash es para guardar contraseñas de usuarios en una base de datos. En lugar de guardar una contraseña como "papagayo", así tal cual, en la base de datos, se le puede aplicar una función hash como SHA-256, de modo que obtenemos sha-256("papagayo") = 86853b2efce72ff66845d3d8f88b54bafd99bf625e25a39a2fd2d60c53a58ea1. De esa manera, lo que se guarda en la base de datos es ese valor de hash. La próxima vez que el usuario introduzca su contraseña, el código web generará el valor SHA-256 de la contraseña introducida y lo comparará con ese valor numérico de 256 bits, que se ha guardado en la base de datos.  El uso de valores hash es fundamental en el sistema Bitcoin por dos razones: se utiliza para reducir el volumen de los datos de las transacciones en las cadenas de bloques y también es parte del sistema de prueba-de-trabajo ("proof-of-work") que hace que la generación de bloques sea artificialmente costosa. (Off-topic: La irreversibilidad de los algoritmos de hash para contraseñas tiene un punto débil. Dado que el sha-256 de una palabra como "papagayo" siempre será el valor numérico anterior, podemos tomar un diccionario y calcular todos los valores hash de las palabras. A estos listados de valores hash para palabras y nombres comunes se les conoce como "tablas arco iris" ("rainbow tables"). Para evitar que se puedan descubrir mediante este tipo de tablas las contraseñas de una base de datos comprometida, una web profesional debería añadir la llamada "sal" a la contraseña, una combinación de caracteres poco habitual que debería ser diferente por usuario y que se combina con la contraseña antes de calcular el valor hash. Así, si el usario teclea "papagayo", el código de la web debería convertir esto en algo así como "1*A-2=3!:4B3_fpapagayo" y el hash obtenido no estará en ninguna tabla arco iris de las que pululan por la red).

3. Cifrado asimétrico de clave pública. Este tipo de cifrado es más sofisticado que el simétrico, ya que los algoritmos de este tipo utilizan dos claves: la llamada clave pública, que se da libremente a terceros, y la clave privada, que no debe ser revelada bajo ningún concepto. Estos algoritmos (como el ECDSA utilizado en Bitcoin) permiten que un mensaje cifrado con la clave pública sea descifrado con la clave privada y, a la inversa, que un mensaje cifrado con la clave privada sea descifrado con la clave pública. Estos dos escenarios constituyen situaciones muy diferentes. En el primer caso, cualquier persona que tenga mi clave pública podrá cifrar un mensaje con esa clave, pero solamente yo podré descifrarlo, al poseer la clave privada. La analogía que resulta útil para entender este concepto es la del mensaje en el buzón. Si yo doy a mis amigos mi dirección de correo postal (equivalente a mi clave pública), todos podrán dejarme mensajes en mi buzón, pero solamente yo, que tengo la llave del buzón (la clave privada) podré leer esos mensajes. En el segundo escenario, en que yo utilizo mi clave privada para encriptar un mensaje, cualquiera podrá descifrar mi mensaje y sabrá que el autor solamente puedo ser yo. Esta es la base de la firma digital y la analogía típica para este caso es la del sobre lacrado. Un sobre que tenga mi sello de lacre puede ser abierto por cualquiera, pero el sello garantiza que el mensaje procede de mí. Estas dos situaciones pueden incluso combinarse. Si queremos que un mensaje de Alicia llegue a Bob de tal modo que solamente Bob pueda leerlo y tenga la garantía de que se lo ha enviado Alicia, Alicia deberá cifrarlo con su clave privada (meterlo en su sobre lacrado, en el símil) y acto seguido cifrarlo de nuevo con la clave pública de Bob (introducir el sobre en el buzón de Bob). Para leer el mensaje de Alicia, Bob tendrá que descifrarlo con su clave privada (abrir su buzón con su llave) y descifrarlo una vez más con la clave pública de Alicia (romper el lacre del sobre).

En el sistema Bitcoin, cada dirección se genera a partir de un par de claves privada y pública. Cuando haces un pago desde el programa cliente, este lee la clave privada de tu dirección pública en las entrañas del fichero wallet.dat y cifra la información de la transacción con esa clave privada (en la analogía anterior, genera el sobre lacrado con la información de la transacción). Este proceso, que equivale al de una firma digital de un documento, ocurre en tu ordenador y la información que se transmite a la red Bitcoin es esa transacción cifrada (el sobre lacrado) que todos los nodos mineros pueden abrir y añadir, si quieren, al bloque en el que están trabajando.

Esta combinación del uso de funciones hash para reducir el tamaño de la información de las transacciones y de cifrado por clave pública es, junto al sistema de proof-of-work basado en valores hash para minimizar los efectos de los nodos maliciosos, el fundamento tecnológico del sistema Bitcoin.
Polvos
Hero Member
*****
Offline Offline

Activity: 597



View Profile
November 08, 2011, 03:59:44 PM
 #8

Gracias por las explicaciones. Comprendo todos los métodos de encriptación que habéis explicado desde que aprendí a utilizar el GPG. Continuo con alguna preguntilla al hilo de lo que me habéis comentado.
Si la dirección Bitcoin (address) es símplemente un hash de la llave privada guardada en la billetera ¿sirve esa address como llave pública con la que los mineros confirman que el verdadero poseedor de la llave privada ha firmado una transacción válida? Es que me parecía raro que un hash de la llave privada se utilizase como llave pública para la comprobación de autentificación.


jtimon
Legendary
*
Offline Offline

Activity: 1246


View Profile WWW
November 08, 2011, 05:02:31 PM
 #9

Si la dirección Bitcoin (address) es símplemente un hash de la llave privada guardada en la billetera

No, la dirección de bitcoin es un hash de la clave publica, no de la clave privada. Si fuese un hash de la clave privada, el resto no podría comprobar que el hash se corresponde con la clave pública.
Para recibir bitcoins, sólo la dirección se publica en la cadena de bloques.
Para gastarlos, necesitas publicar la clave pública completa (para que los otros puedan comprobar tu firma).

Espero que esto te ayude.

2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
Nubarius
Sr. Member
****
Offline Offline

Activity: 307


View Profile
November 08, 2011, 10:19:05 PM
 #10

Disculpa @Nubarius pero mirando un poco tu comentario puedo decir que no tienes la mas minima idea de lo que estas hablando. Hay tantos errores conceptuales que no se por donde empezar.

Quote
Como te ha dicho Majamalu, esto está relacionado con la criptografía asimétrica, en concreto con la criptografía de clave pública ("public-key cryptography")

Criptografia asimetrica y criptografia de llave publica es lo mismo.


Sí, tienes razón en que "criptografía asimétrica" (""asymmetric cryptography), "criptografía de claves asimétricas" ("asymmetric-key cryptography") y "criptografía de clave pública" ("public-key cryptography") aluden al mismo concepto. Estaba incluyendo los hashes en mi esquema mental de algoritmos asimétricos, pero es cierto que en el uso habitual en la literatura sobre criptografía (lo poco que conozco), todas estas expresiones se utilizan de manera equivalente.

No señor, la palabra clave es "firma digital". Hasta el cansancio, criptografia asimetrica NO ES LO MISMO que firma digital. Me da flojera explicar mas en detalle pero basicamente la firma digital no tiene como funcion encriptar, simplemente tiene como funcion asegurar que el firmante es quien dice ser y que el mensaje firmado no fue alterado por terceros.

Aquí no te sigo. Tal como yo lo entiendo, la firma digital es un uso concreto de la criptografía de clave pública. De acuerdo en que en un algoritmo de firma digital puede abarcar también el proceso de generar y seleccionar claves y tomar un valor de hash, pero la esencia de la firma digital es la encriptación del dato (o de su hash) mediante una clave privada, mientras que la verificación de autoría se lleva a cabo desencriptando con la clave pública. No veo qué hay de erróneo en considerar que la "firma digital" no es sino un caso particular de la criptografía de clave pública (o asimétrica, como quieras).

Quote
... mensaje original y el algoritmo es <b>reversible</b> ...

WTF!!!, solo en Galicia existen funciones criptograficas no reversibles.

La alusión a Galicia no la entiendo. Supongo que será algún tipo de broma que se me escapa. Aparte de esto, aclarar que no pretendía utilizar la palabra "reversible" en ningún sentido técnico preciso (ignoro si hay alguna definición formal de "reversibilidad" en relación con funciones criptográficas). Simplemente quería decir que en los cifrados como el de César o el de Rijndael o el Twofish, si conocemos la función que convierte el mensaje original en el mensaje cifrado, automáticamente conocemos también la manera de recuperar el mensaje original desde el cifrado. Por el contrrario, en el caso de la criptografía asimétrica, si conocemos solamente la clave pública podremos hacer el proceso únicamente en una dirección. De nuevo, en mi esquema mental estaba incluyendo también el cálculo de valores hash. Las funciones de hash como las SHA no tienen funciones inversas que permitan recuperar el dato "hasheado" a partir del hash.

Quote
Valor hash. El concepto de hash es un tipo de cifrado asimétrico.

Lo siento, pero si dices eso eres un novato, no queda otra. Una funcion de hash NO TIENE NADA QUE VER con encriptacion. Una funcion de hash es un digest (huella digital) con propiedades deseables.

Creo que esto es más bien una discusión sobre el lenguaje. Si yo guardo una contraseña como "papagayo" obteniendo su hash SHA-256 entiendo que puedo decir que estoy "encriptando" esa contraseña, en el sentido de que quien lea el valor hexadecimal no podrá saber que ahí se esconde la palabra "papagayo". Me parece un uso aceptable y habitual de las palabras "encriptar" y "cifrar", aunque supongo que estás pensando en el uso técnico de términos como "message encryption" y "message authentication", en los que se hace una distinción estricta entre los dos conceptos.

Quote
Cifrado asimétrico de clave pública. Este tipo de cifrado es más sofisticado que el simétrico

Mito.

"Sofisticado" es una palabra suficientemente vaga como para que se pueda entender de muchas maneras. Considero que el cifrado asimétrico se puede considerar más sofisticado que el simétrico en varios sentidos. Primero, se trata de un concepto mucho más reciente. Mientras que el cifrado simétrico que existido durante más de 2000 años, el cifrado asimétrico surgió hace menos de 40 años. En segundo lugar, el cifrado simétrico es mucho más fácil de entender. Hasta un niño puede entender que con simples sustituciones de letras se pueden codificar mensajes, mientras que entender un algoritmo basado en claves pública y privada es bastante más complicado. Además, estos algoritmos suelen ser más costosos en términos de cálculo. Por eso, no sé bien por qué calificas de "mito" decir que la criptografía asimétrica es más sofisticada que la simétrica. Tal vez estés pensando en la complejidad de especificación de algoritmos concretos como Rijndael frente a RSA o algo así, pero yo me refería simplemente al nivel diferente de dificultad que conlleva comprender los conceptos básicos.

Por último, decirte que tienes razón en que soy un novato. No soy en absoluto entendido en criptografía. Mi única experiencia es haber leído artículos en Wikipedia y haber programado como ejercicio en C++ hace tiempo los algoritmos de Rijndael y las diversas funciones SHA (reconozco que me costó bastante trabajo, la verdad). Mi única intención al responder a Polvos era darle mi interpretación de estas ideas porque a mí me costó entender muchas de estas cosas y me parecía que el esquema mental que me he ido formando podía serle útil para entender mejor los conceptos esenciales, incluso sabiendo que podía haber abusos de lenguaje en mi exposición. Lamento que mi intento de respuesta haya suscitado una reacción tan airada por tu parte.
jtimon
Legendary
*
Offline Offline

Activity: 1246


View Profile WWW
November 08, 2011, 11:24:01 PM
 #11

Quote
Valor hash. El concepto de hash es un tipo de cifrado asimétrico.

Una funcion de hash NO TIENE NADA QUE VER con encriptacion. Una funcion de hash es un digest (huella digital) con propiedades deseables.

Creo que esto es más bien una discusión sobre el lenguaje. Si yo guardo una contraseña como "papagayo" obteniendo su hash SHA-256 entiendo que puedo decir que estoy "encriptando" esa contraseña, en el sentido de que quien lea el valor hexadecimal no podrá saber que ahí se esconde la palabra "papagayo". Me parece un uso aceptable y habitual de las palabras "encriptar" y "cifrar", aunque supongo que estás pensando en el uso técnico de términos como "message encryption" y "message authentication", en los que se hace una distinción estricta entre los dos conceptos.

Lo que explicas es que mediante una función hash se puede obtener una clave privada a partir de una contraseña, o, en general cualquier otro dato. En realidad no entiendo por qué vale cualquier clave privada, supongo que no valdrá cualquier función hash.
El caso es que el hecho de que puedas obtener una clave privada usando una función hash no convierte a las funciones hash en parte de la criptografía de clave pública.
Una función hash, por ejemplo, puede simplemente convertir una cadena de texto, por ejemplo "casa" en una posición en un vector, por ejemplo 8. Pero la función está diseñada de forma que sean muy raras las colisiones. Por ejemplo, "pasa" no producirá también un 8, a pesar de que es muy parecido a "casa" y hay muchas más posibilidades que mapear entre "cadenas de cualquier longitud" y números del 0 al 99. Aunque en el caso de las claves privadas, las posibilidades son muchas más de 100.
Bueno, no sé si el ejemplo te ayudará o te liará más.
Cuando formas una clave privada a partir de una frase, otra frase distinta podría generar exactamente la misma clave privada.
Pero si generas una clave privada a partir de la frase "esta clave no me la pilla nadie ni de broma" es muy muy poco probable que otra frase en castellano de menos de, que se yo, 500 caracteres genere la misma clave.
Aqui yo creo que no me arriesgo mucho en la afirmación poco pensada, porque la restricción "que sea en castellano" es muy fuerte. Da igual, me he inventado el número.

Lo que sí tienen en común las funciones hash y la criptografía de clave pública, es que son conceptos que la intuición se niega a aceptar de primeras. Entender las demostraciones matemáticas de algún algoritmo concreto ayuda, pero no tanto como uno podría pensar.
Intuitivamente o no, funciona.

2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
Polvos
Hero Member
*****
Offline Offline

Activity: 597



View Profile
November 09, 2011, 08:05:56 AM
 #12

No, la dirección de bitcoin es un hash de la clave publica, no de la clave privada. Si fuese un hash de la clave privada, el resto no podría comprobar que el hash se corresponde con la clave pública.
Para recibir bitcoins, sólo la dirección se publica en la cadena de bloques.
Para gastarlos, necesitas publicar la clave pública completa (para que los otros puedan comprobar tu firma).

Espero que esto te ayude.


He ahí la respuesta a mi pregunta. Gracias por la aclaración. Yo pensaba erroneamente que la dirección (address) bitcoin era un hash de la clave privada. Tiene mucho más sentido que sea tal y como dices. Imagino que una transacción será más o menos:

-El usuario que realiza la transacción aporta la address (hash de la clave pública y conocida en la cadena de bloques puesto que es la dirección que tiene el dinero)
-Aporta también la clave pública original de la que proviene la dirección bitcoin.
-Valida la transacción firmándolo todo con la clave privada. De esta forma los mineros comprueban la firma con la clave pública y eso da validez a la transacción.

¿Entonces la billetera guarda la pareja de claves pública-privada y no sólamente la privada como yo creía erróneamente?


jtimon
Legendary
*
Offline Offline

Activity: 1246


View Profile WWW
November 09, 2011, 08:24:37 AM
 #13

No, la dirección de bitcoin es un hash de la clave publica, no de la clave privada. Si fuese un hash de la clave privada, el resto no podría comprobar que el hash se corresponde con la clave pública.
Para recibir bitcoins, sólo la dirección se publica en la cadena de bloques.
Para gastarlos, necesitas publicar la clave pública completa (para que los otros puedan comprobar tu firma).

Espero que esto te ayude.


He ahí la respuesta a mi pregunta. Gracias por la aclaración. Yo pensaba erroneamente que la dirección (address) bitcoin era un hash de la clave privada. Tiene mucho más sentido que sea tal y como dices. Imagino que una transacción será más o menos:

-El usuario que realiza la transacción aporta la address (hash de la clave pública y conocida en la cadena de bloques puesto que es la dirección que tiene el dinero)
-Aporta también la clave pública original de la que proviene la dirección bitcoin.
-Valida la transacción firmándolo todo con la clave privada. De esta forma los mineros comprueban la firma con la clave pública y eso da validez a la transacción.

¿Entonces la billetera guarda la pareja de claves pública-privada y no sólamente la privada como yo creía erróneamente?

Exáctamente, así funcionaría la típica transacción. Esa sería una con una sola dirección de entrada y una de salida.
Pero los fondos pueden venir de varias direcciones. Una transacción tiene inputs y outputs.
Todos los inputs deben sumar lo mismo o más que todos los outputs. Si suman más, la diferencia va para el minero como comisión.
Cada input tiene, simplificando:
-La clave pública
-Un "link" a la última referencia a la dirección de esa clave pública.
-La firma con la clave privada
Cada output tiene:
-La dirección de destino
-La cantidad de BTCs que van a ese destino

El tener varios inputs permite que si tienes en 3 direcciones 2, 3 y 5 BTC, puedas enviar 10 BTC juntos.
Los outputs son tipicamente el destinatario y otra direción en tu control (probablemente nueva) para enviar "el cambio".
Por ejemplo, en la dirección a1 tienes 30 btc. Quieres enviar 10 btc a a2.
Creas a3 y pones en los outputs:
10 btc a a2
19.95 btc a a3 (0.05 van para el minero)

No sé si la billetera guarda la clave pública, pero no es importante, porque la clave pública se puede obtener a partir de la privada.
Guarda más cosas que las claves como los saldos de cada dirección y tal, por eso se te puede "estropear".
Pero teniendo las claves privadas y releyendo la cadena de bloques se puede restaurar sin problemas.
Osea, lo único que es realmente importante conservar es la clave privada.
Alguna gente genera claves privadas a partir de una frase o a letra de una canción y así pueden "memorizar" o almacenar la clave privada:

https://bitcointalk.org/index.php?topic=35082.0



2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
Polvos
Hero Member
*****
Offline Offline

Activity: 597



View Profile
November 09, 2011, 08:52:38 AM
 #14

De nuevo gracias por tu ayuda. Con tus explicaciones y viendo ejemplos de transacciones con el blockexplorer ya lo entiendo todo. Cristalina tu aclaración.

jtimon
Legendary
*
Offline Offline

Activity: 1246


View Profile WWW
November 09, 2011, 08:57:49 AM
 #15

De nuevo gracias por tu ayuda. Con tus explicaciones y viendo ejemplos de transacciones con el blockexplorer ya lo entiendo todo. Cristalina tu aclaración.

De nada, hombre. Cuanta más gente entienda bitcoin mejor.

2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
Anillos
Sr. Member
****
Offline Offline

Activity: 462


View Profile
November 15, 2011, 03:31:05 AM
 #16

Una preguntilla:

Envié una mini-donación a la FSF a modo de prueba. Mandé muy poco, 0.003, y la comisión fue de 0.0005 (un poco alta). No tuve ningún problema, me desaparecieron justo 0.0035 de mi cartera.

El problema viene cuando veo en Block explorer que he gastado 0.005 en dos direcciones. Una de ellas podría ser la de la FSF (0.003, lo enviado), y otra (0.0015) es una que según he leido, es una dirección de mi propia cartera que la interfaz gráfica no muestra, y es ahí donde me entró la curiosidad.

¿Que pasaría si yo hiciera un envío de monedas a esa dirección oculta desde otra cartera?

Aquí puedes conseguir pequeños ahorros sin mucho esfuerzo: http://www.bitvisitor.com/?ref=1PWNAGEZ3fSM8QevUavdd2iZ9F5jkp1QHZ
Consigue algo más viendo vídeos o haciendo pequeñas tareas en Bitcoinget.com: https://bitcointalk.org/index.php?topic=178692.msg2509190#msg2509190
¿necesitas un dibujo vectorial, un esquema, un diagrama...? https://bitcointalk.org/index.php?topic=183268.0
jtimon
Legendary
*
Offline Offline

Activity: 1246


View Profile WWW
November 15, 2011, 07:58:02 AM
 #17

Una preguntilla:

Envié una mini-donación a la FSF a modo de prueba. Mandé muy poco, 0.003, y la comisión fue de 0.0005 (un poco alta). No tuve ningún problema, me desaparecieron justo 0.0035 de mi cartera.

El problema viene cuando veo en Block explorer que he gastado 0.005 en dos direcciones. Una de ellas podría ser la de la FSF (0.003, lo enviado), y otra (0.0015) es una que según he leido, es una dirección de mi propia cartera que la interfaz gráfica no muestra, y es ahí donde me entró la curiosidad.

¿Que pasaría si yo hiciera un envío de monedas a esa dirección oculta desde otra cartera?

Pues que recibirías los bitcoins.
También puedes enviarte btc a tus propias direcciones (¿para hacer más complicado que alguien conozca tus finanzas?).
Otra cosa que debes tener en cuenta es que ha una comisión mínima para transacciones muy pequeñas, porque cada transacción le cuesta a la red bitcoin en su conjunto 1 centavo de dolar aproximadamente y los desarrolladores no quieren que la cadena de bloques se llene de transacciones que mueven menos de lo que cuestan.
La solución no es muy elegante y, de hecho, nada impide a un minero aceptar esas transacciones (es decir, es parte del cliente principal, pero no parte del protocolo).
Hubo discusiones sobre esto, pero no sé si se ha quitado del cliente normal para la siguiente versión o no.


2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
Anillos
Sr. Member
****
Offline Offline

Activity: 462


View Profile
November 15, 2011, 12:51:01 PM
 #18

Lo interesante sería que permitieran hacer paquetes de transacciones, para así ahorrar en comisiones. Es lo que hace una página que regala Bitcoins por visitarla (la que algunos tenemos en la firma), que junta muchas transacciones y así ahorran comisiones.

A mi lo que me parece mal de las comisiones, es que muchas veces van a los que tienen el tarjetón gráfico de turno, y no como al principio, que iba a los que aportaban procesador, con lo que colaborando en la red podías recuperar un poco tu comisión. Ahora es imposible, porque se lo llevan todo los de las tarjetas gráficas.

Aquí puedes conseguir pequeños ahorros sin mucho esfuerzo: http://www.bitvisitor.com/?ref=1PWNAGEZ3fSM8QevUavdd2iZ9F5jkp1QHZ
Consigue algo más viendo vídeos o haciendo pequeñas tareas en Bitcoinget.com: https://bitcointalk.org/index.php?topic=178692.msg2509190#msg2509190
¿necesitas un dibujo vectorial, un esquema, un diagrama...? https://bitcointalk.org/index.php?topic=183268.0
jtimon
Legendary
*
Offline Offline

Activity: 1246


View Profile WWW
November 15, 2011, 02:24:08 PM
 #19

Lo interesante sería que permitieran hacer paquetes de transacciones, para así ahorrar en comisiones. Es lo que hace una página que regala Bitcoins por visitarla (la que algunos tenemos en la firma), que junta muchas transacciones y así ahorran comisiones.

Eso se puede hacer. Recuerdas los inputs y los outputs?
Pues puedes poner tantos outputs como quieras. Así es que con la misma transacción puedes pagar a mucha gnete distinta.
La página esa supongo que te ayudará a construir ese tipo de transacciones de alguna manera.

A mi lo que me parece mal de las comisiones, es que muchas veces van a los que tienen el tarjetón gráfico de turno, y no como al principio, que iba a los que aportaban procesador, con lo que colaborando en la red podías recuperar un poco tu comisión. Ahora es imposible, porque se lo llevan todo los de las tarjetas gráficas.

Lo importante para minar, si no tienes un super-ordenador, es entrar en una pool.
Aún así, con la CPU conseguirías menos que los que tienen gráficas. La cuestión sería si te merece la pena lo que sacas en comparación con lo que gastas de luz.
Si no tienes una buena gráfica problemente no te salga bien. Pero eso no es malo. Eso significa que la seguridad de bitcoin la proveen aquellos que lo pueden hacer de forma más eficiente.
Si estás muy interesado en minar con la CPU, hay coins alternativos cuyo algoritmo no puede ser ejecutado eficientemente por GPUs.
Tenebrix, creo que se llamaba el primero, ahora creo que hay alguno más.
El otro dia estaba viendo un pequeño documental de one laptop per child en Uruguay y se me ocurrió que tal vez podrían minar una criptomoneda de ese estilo cuando no usen el aparatillo.

2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!