NO me queda claro! Necesito el jucio de un experto 😦 <ol> <li> Si el NONCE es un numero aleatorio, por qué cuando no gana se incrementa e...

Pregunta de la clase:
Minería de Bitcoin
Fernando Mendez

Fernando Mendez

Pregunta
studenthace 7 años

NO me queda claro! Necesito el jucio de un experto 😦

  1. Si el NONCE es un numero aleatorio, por qué cuando no gana se incrementa en uno? nonce = nonce + 1, no debería ser algo así como: nonce = aleatorio(entre 0 y cuatro mil millones novecientos cincuenta mil);

En ese orden de ideas no se trataría de un número aleatorio sino de un número secuencial. 2. Esta pregunta la han hecho muchos pero no encuentro una respuesta Clara:

Para generar el hash del nuevo bloque se toma como insumo de entrada ciertos valores, y se empiezan hacer combinaciones cambiando el nonce, hasta encontrar la solución, según el pseudocódigo la solución es que (digest < threshold) Pero

¿Qué valor es el qué busca? es decir contra qué va a comparar el hash que acabo de encontrar para saber que ese es el Hash correcto?

Me interesa mucho este tema y he investigado acerca de las tablas hash abiertas y cerradas… lo que explicaban en un vídeo anterior que a la funcion le ingresan dos valores distintos pero como resultado generan el mismo hash eso se conoce como colisión. El punto es que este concepto es otra de las maneras de hacer una consulta de un registro en una gran base de datos de mucha información y se encuentra con la clave privada que genera la funcion Hash, por eso digo que debería existir un valor (un hash) contra el que comparar.

Agradezco mucho quien me ayude aclarar. Saludos

3 respuestas
para escribir tu comentario
    Arturo Schlecht Cabedo

    Arturo Schlecht Cabedo

    studenthace 5 años

    Lo compara con el número que se establece para la dificultad. Que se va ajustando para que se tarde aproximadamente 10minutos por bloque. Este número va e Leda do cada vez con más ceros. Por eso el Algoritmo busca un número menor a...

    Carlos Silva

    Carlos Silva

    studenthace 6 años

    Te comparto como yo lo entiendo a grandes rasgos.

    nonce, según este pseudocódigo, es una variable, que va contando cuántas veces se ejecuta se ejecuta o se entra al ciclo Mientras. nonce=nonce+1

    Y a la vez sirve de controlador que verifica si se ha llegado al límite del ciclo mientras nonce<(2^32) hacer

    Es decir, ejecuta el algoritmo una vez, si encuentra la solución (digest<threshold) termina el proceso. Sino, lo vuelve a intentar tantas veces hasta: mientras nonce<(2^32) hacer

    ++Lo que se trata de averiguar es qué número nonce cumple con el requisito de que en su contenido la variable++ digest sea menor que la variable threshold.

    si digest<threshold entonces retornar nonce //MINASTE

    si tu máquina lo "adivino" entonces tu fuiste quien lo mino y tú ganas. Si fue otra máquina, de otra persona, entonces ella fue la que lo minó y ganó.

    Haz de cuenta que encontrar el número nonce es encontrar la clave de contraseña para poder acceder a un tesoro. Quién encuentra el número nonce que abre la caja fuerte, ese es el que se lleva el tesoro.

    Javier Trujillo

    Javier Trujillo

    teacherhace 6 años

    Por favor revisa el siguiente curso, el de inversión en criptomonedas, en la parte de funciones hash y mineria te debe quedar más claro todo.

Curso de Bitcoin y Blockchain 2017

Curso de Bitcoin y Blockchain 2017

Bitcoin sólo es una inversión cuando entiendes cómo funciona. Con este curso descubre cómo usar criptomonedas, el blockchain, las diferencias y detalles de Bitcoin, Ether (Ethereum) y otras. Programa con Blockchain, aprende a minar y desarrollar contratos inteligentes.

Curso de Bitcoin y Blockchain 2017
Curso de Bitcoin y Blockchain 2017

Curso de Bitcoin y Blockchain 2017

Bitcoin sólo es una inversión cuando entiendes cómo funciona. Con este curso descubre cómo usar criptomonedas, el blockchain, las diferencias y detalles de Bitcoin, Ether (Ethereum) y otras. Programa con Blockchain, aprende a minar y desarrollar contratos inteligentes.