Una pregunta básica sobre Bitcoin

hdb3

Madmaxista
Desde
28 Feb 2008
Mensajes
582
Reputación
426
Si se empiezan a borrar datos de las blockchains, o se admiten subredes con datos parciales, entonces estás vendido a que haya quienes borren lo que no tenían que borrar. Que evidentemente para tener éxito en esto como tú comentas para otro caso, tendrán que tener un porcentaje inmenso de la red.

Otra pregunta ya dicha, y que es importante para saber que nadie podrá insertar nuevas filas en sus tablas de blockchains:

Una duda más: ¿cómo se reconoce un bitcoin "original", es decir, recién generado? He leído lo de resolver problemas matemáticos y tal, pero, ¿cómo se reconoce que es auténtico? ¿Cómo se impide que cualquiera cree bitcoins a cero coste?
Tu piensa que la cadena de bloques es como un base de datos de apuntes contables, (saldos).
En cada uno de estos nuevos bloques, los mineros se encargan de registrar las ultimas transacciones "válidas" (firmadas correctamente con la clave privada), que se han propagado por la red, y de confirmar que ese saldo no se ha utilizado en otra transaccion anteriormente. A parte de esto resuelven una prueba de dificultad que basicamente consiste en hacer un resumen matemático con información de ese bloque y un numero aleatorio, y que probando diferentes numeros aleatorios consigamos un numero determinado de ceros al inicio de este resumen. Este numero de ceros requeridos depende de la dificultad de cada momento y se regula en funcion de la potencia de procesado de la red bitcoin, para ajustar la probabilidad de generar un bloque cada 10 minutos aproximadamente.

Cuando un minero encuentra un bloque que cumple esas condiciones, lo propaga por la red, incluyendo la recompensa de 25 bitcoins a su cuenta, los demás lo comprueban y si es correcto lo incluyen en la cadena. Si no cumple estas condiciones los demás lo rechazan.

Así no hay manera de generar bitcoins de cero tienes que ser el primero en resolver el problema matemático y que los demás lo reconozcan.

Que pasa si intentas gastar un saldo 2 veces?

Imaginemos que tu 1º transacción se propaga por la red, es válidada por un minero y se incluye en la cadena de bloques, y el bloque es propagado.
Si tu has hecho una segunda transacción en un nodo remoto, el llegarle el bloque con tu primera transacción ya confirmada la segunda será descartada.

Por eso se recomienda esperar 6 confirmaciones (que se hayan encontrado 5 bloques posteriormente al bloque que incluye tu transacción), para que la misma se de por totalmente confirmada.

En la practica para montos muy pequeños un transacción se puede dar por confirmada incluso sin confirmaciones.
 

Glasterthum

Madmaxista
Desde
7 Oct 2006
Mensajes
29.206
Reputación
16.721
Si se implantan subredes se perderá el espíritu descentralizador de Bitcoin y, probablemente, acabaremos teniendo que depositar muestra confianza en algún gran nodo que actuaría a modo de banco. Por eso yo prefiero la alternativa de que se encarezca mucho el poder escribir en la cadena de bloques, esto es, que las comisiones por transacción se disparen de precio. Esto haría que Bitcoin se utilizase sólo para grandes transacciones de dinero.

Pero recuerda que estas dos soluciones imperfectas se darían solamente en el caso de que Bitcoin no solucionase el problema de escala. Cosa que no va a ocurrir porque el precio del almacenamiento de datos cae a buen ritmo y porque ya hay soluciones de depuración del tamaño de la cadena.

Y con respecto a los Bitcoins recién generados, todos los bitcoins pueden ser seguidos a través de las transacciones recogidas en la cadena de bloques hasta el bloque que los generó. Bitcoin ha sido diseñado de modo que los bitcoins no existían todos desde el primer bloque, sino que durante los primeros cuatro años de vida del sistema, iban generándose 50 unidades con cada bloque que se añadía a la cadena. Estos 50 nuevos Bitcoins se generaban en la dirección del minero que conseguía resolver el problema matemático que lograba afianzar el bloque a la cadena. De esta forma el diseñador de Bitcoin, el genio Satoshi Nakamoto, mataba dos pájaros de un tiro. Por un lado distribuía los Bitcoins a lo largo del tiempo con una inflación controlada y conocida. Y por otro lado iba entregando los nuevos bitcoins generados a las personas que colaboran con la seguridad del sistema, potenciando este aspecto de la moneda en su delicado estadio inicial.

Así que todos los bitcoins han sido generados en algún bloque como recompensa de minado del mismo. Puedes reconocer los bitcoins recién generados porque aparecen como la primera transacción recogida en el bloque recién minado y porque no provienen de una transacción previa.

Puedes verlo aquí, por ejemplo. Fíjate en la primera transacción que recoge este bloque (ahora sólo se generan 25 bitcoins por bloque)

Bloque de Bitcoin # 252993
Ah ok entonces hoy en día ya no se generan bitcoins, pero si aún se generan, ¿cómo distinguir un bitcoin recién generado (y por tanto no presente en los nodos) como auténtico?

---------- Post added 19-ago-2013 at 13:20 ----------

Tu piensa que la cadena de bloques es como un base de datos de apuntes contables, (saldos).
En cada uno de estos nuevos bloques, los mineros se encargan de registrar las ultimas transacciones "válidas" (firmadas correctamente con la clave privada), que se han propagado por la red, y de confirmar que ese saldo no se ha utilizado en otra transaccion anteriormente. A parte de esto resuelven una prueba de dificultad que basicamente consiste en hacer un resumen matemático con información de ese bloque y un numero aleatorio, y que probando diferentes numeros aleatorios consigamos un numero determinado de ceros al inicio de este resumen. Este numero de ceros requeridos depende de la dificultad de cada momento y se regula en funcion de la potencia de procesado de la red bitcoin, para ajustar la probabilidad de generar un bloque cada 10 minutos aproximadamente.

Cuando un minero encuentra un bloque que cumple esas condiciones, lo propaga por la red, incluyendo la recompensa de 25 bitcoins a su cuenta, los demás lo comprueban y si es correcto lo incluyen en la cadena. Si no cumple estas condiciones los demás lo rechazan.

Así no hay manera de generar bitcoins de cero tienes que ser el primero en resolver el problema matemático y que los demás lo reconozcan.

Que pasa si intentas gastar un saldo 2 veces?

Imaginemos que tu 1º transacción se propaga por la red, es válidada por un minero y se incluye en la cadena de bloques, y el bloque es propagado.
Si tu has hecho una segunda transacción en un nodo remoto, el llegarle el bloque con tu primera transacción ya confirmada la segunda será descartada.

Por eso se recomienda esperar 6 confirmaciones (que se hayan encontrado 5 bloques posteriormente al bloque que incluye tu transacción), para que la misma se de por totalmente confirmada.

En la practica para montos muy pequeños un transacción se puede dar por confirmada incluso sin confirmaciones.
Ok gracias con eso contestas a mi pregunta. Y es que los bitcoins en sí deben cumplir algo determinado para ser válidos.

Me queda como última duda eso que has dicho de que la dificultad se regula: "Este numero de ceros requeridos depende de la dificultad de cada momento y se regula en funcion de la potencia de procesado de la red bitcoin"

¿Es éste un proceso descentralizado, o esa potencia de procesado, etc., es algo decidido por un nodo central?
 

Sr.Mojón

Madmaxista
Desde
30 Mar 2011
Mensajes
15.738
Reputación
46.609
El protocolo Bitcoin fue diseñado para que, independientemente de la potencia de procesado que los usuarios aporten al sistema, los bloques vayan siendo incorporados a la cadena a una velocidad aproximada de uno cada diez minutos. Por eso la dificultad de minado se auto regula periódicamente para alcanzar ese ritmo de minado.

Si el Bitcoin es muy valioso y la gente aporta su potencia de cálculo para minarlo, entonces la dificultad se auto regula y sube para mantener el ritmo de un bloque cada diez minutos. Si Bitcoin pierde valor y la gente abandona su minado debido a la baja rentabilidad, entonces en la siguiente revisión de dificultad del protocolo, ésta bajará.

Pero no es ningún ente central el que regula la dificultad, sino el propio protocolo automáticamente.
 
Última edición:

hdb3

Madmaxista
Desde
28 Feb 2008
Mensajes
582
Reputación
426
Ah ok entonces hoy en día ya no se generan bitcoins, pero si aún se generan, ¿cómo distinguir un bitcoin recién generado (y por tanto no presente en los nodos) como auténtico?

---------- Post added 19-ago-2013 at 13:20 ----------



Ok gracias con eso contestas a mi pregunta. Y es que los bitcoins en sí deben cumplir algo determinado para ser válidos.

Me queda como última duda eso que has dicho de que la dificultad se regula: "Este numero de ceros requeridos depende de la dificultad de cada momento y se regula en funcion de la potencia de procesado de la red bitcoin"

¿Es éste un proceso descentralizado, o esa potencia de procesado, etc., es algo decidido por un nodo central?
Es descentralizado, y definido por la especificación de bitcoin, la generación de cada bloque tiene una marca de tiempo de cuando es encontrado.
Se utilizan los últimos 2016 bloques minados, para ver cuanto se ha tardado en minarlos, (teoricamente si la potencia de minado no hubiera cambiado serian 2 semanas), si la potencia de minado ha aumentado por lo tanto se han minado en menos de 2 semanas se incrementa la dificultad, si por el contrario se ha tardado más se disminuye.

Todo esto esta mucho mejor explicado aquí:
https://en.bitcoin.it/wiki/Difficulty