Preguntas generales sobre Bitcoin [cerrado]

En este momento estoy tratando de echar un vistazo dentro de Bitcoin y Blockchain, pero tengo algunas preguntas generales sin respuesta.

  1. ¿Cómo sabe una billetera cuántos Bitcoins pertenecen a una dirección específica?

Supongo que hay muchas formas posibles de hacerlo, como analizar la cadena de bloques completa y buscar alguna transacción realizada por la dirección y simplemente resumir los montos de la transacción. Pero ese parece ser el peor método posible. ¿Hay otra forma de acceder a la cadena de bloques, por ejemplo, como SQL para bases de datos relacionales?

  1. ¿En qué bloque figurará la transacción para crear un hash de bloque?

Cuando encuentre un hash correcto de un bloque, recibirá Bitcoins. Pero la transacción aparecerá en el siguiente bloque, ¿correcto? Si la transacción se enumerara en el bloque para el que el minero encontró el hash, ¿el hash sería instantáneamente incorrecto después de agregar esta transacción al bloque?

  1. ¿Quién tritura la raíz de merkle?

Ya sé que el árbol merkle es el hash "final" de todas las transacciones hash por pares. Pero, ¿quién procesa todas las transacciones? ¿Eso también es parte de los propios mineros? Si es así, ¿los mineros tienen que analizar todas las transacciones y luego encontrar el nonce correcto?

  1. ¿Cómo saben los mineros que hay un nuevo bloque?

Sé que los bloques de noticias se generan cada 10 minutos. ¿Esto está regulado por el tiempo? Digamos que el hash de los últimos bloques se encontró a las 9:30 y ahora son las 9:40, ¿el minero simplemente miraría en la cadena de bloques y obtendría todas las transacciones desde las 9:30 hasta las 9:40 y ese es el bloque que necesita ser hash?

  1. ¿La dificultad solo está regulada por los ceros iniciales en un hash?

Al encontrar el hash correcto, parece que obtener la cantidad correcta de ceros iniciales es elemental. Pero, ¿es esta la única manera de regular la dificultad?

  1. ¿Qué pasa si no se encuentra ningún anuncio para un bloque?

¿Es posible que la red no pueda encontrar un nonce para generar el hash necesario?

Muchas gracias

La mayoría de sus preguntas se responden fácilmente buscándolas en "Mastering Bitcoin" de Andreas Antonopoulos. Disponible gratuitamente en bitcoinbook.info.

Respuestas (1)

¿Cómo sabe una billetera cuántos Bitcoins pertenecen a una dirección específica?

Una billetera es una clave privada que genera claves públicas. Puede buscarlos en la cadena de bloques para ver si alguno de ellos tiene un saldo abierto.

¿En qué bloque figurará la transacción para crear un hash de bloque?

La primera transacción en un bloque es generada por los propios mineros, acreditándose a sí mismos con la recompensa de la base de monedas. luego, el minero agrega más transacciones y comienza a buscar un hash que tenga el objetivo de dificultad correcto. Si el minero encuentra uno, el minero publica el bloque. Los mineros se acreditan así dentro de su propio bloque.

¿Quién tritura la raíz de merkle?

El acto de minar es encontrar un hash adecuado para la raíz de merkle y el encabezado del bloque.

¿Cómo saben los mineros que hay un nuevo bloque?

La dificultad se actualiza cada 2016 bloques. Debido a que cada bloque tiene una marca de tiempo, el ajuste de dificultad sabe cuánto tiempo ha pasado y puede aumentar la dificultad de tal manera que los próximos bloques de 2016 tarden aproximadamente 10 minutos en encontrarlos. Tenga en cuenta que esto supone una tasa de hash constante.

¿La dificultad solo está regulada por los ceros iniciales en un hash?

Sí.

¿Qué pasa si no se encuentra ningún anuncio para un bloque?

Si es así, intercambia dos transacciones en el árbol Merkle que no están relacionadas. Puede buscar un nuevo nonce para el árbol correspondiente.

Gracias por tu respuesta. Pero, ¿cuál es la mejor manera de buscar la dirección pública en la cadena de bloques? Analizar la cadena de bloques completa llevaría demasiado tiempo.
si desea hacerlo manualmente, eche un vistazo a blockchain.info. La billetera central de bitcoin hace esto mientras recibe tx de otros nodos. Así que no se requiere intervención manual...
Digamos que tengo 100 Bitcoins y voy a descargar una billetera móvil de la AppStore. ¿Cómo obtiene exactamente la billetera su saldo actual? ¿O solo se puede acceder a una dirección con la misma billetera? Entonces, ¿cambiar a una nueva aplicación de billetera no tendría ningún sentido?
La billetera caliente probablemente no descargue toda la cadena, sino que solo le preguntará a un servidor cuál es el saldo de una dirección de bitcoin.
Entonces, ¿el servidor tiene que analizar la cadena de bloques completa? Lo siento, pero no entiendo cómo acceder a la cadena de bloques de la manera más rápida...
Para poder verificar el saldo de una dirección de bitcoin, al menos alguien necesita analizar toda la cadena de bloques. Una vez hecho esto, puede preguntarle a esa entidad (preferiblemente usted mismo o alguien de su confianza) si una dirección tiene saldo actualmente.