Bitcoin

Blockchain: ¿cómo funciona la resolución de un bloque en relación con la primera letra / número después de los ceros?

single-image
(adsbygoogle = window.adsbygoogle || []).push({});


La comparación utilizada es numéricamente

Estos son números, no cadenas. Puede ver esto en el código en main.cpp 2009 de la implementación de referencia de bitcoin:

















uint256 hashTarget = CBigNum().SetCompact(pblock->nBits).getuint256();
        uint256 hash;

[...] 










           if (hash <= hashTarget)
            {
                pblock->nNonce = tmp.block.nNonce;
                assert(hash == pblock->GetHash());

                    //// debug print
                    printf("BitcoinMiner:n");
                    printf("proof-of-work found  n  hash: %s  ntarget: %sn", hash.GetHex().c_str(), hashTarget.GetHex().c_str());

Tenga en cuenta que if (hash <= hashTarget) es una comparación numérica. Ambos hash y hashTarget son tipo uint256 – en tufirmado En teger.

Los números expresados ​​en hexadecimal siguen siendo números

Hay una variedad de representaciones visuales, pero las elecciones que hace no cambian la naturaleza subyacente del número o la forma en que los números se comparan aritméticamente o al nivel de la máquina en una computadora.

Su ejemplo, 00005fad, es un número hexadecimal (base 16). El mismo número se puede escribir en un número decimal normal (base 10) como 24493. Cualquiera que no esté familiarizado con representaciones no decimales como hexadecimal, octal y binario puede verificar algo como la calculadora de Windows 10, seleccionar “Modo de programación” en el menú, hacer clic en “hex” e ingresar 5fad – se muestra mismo valor en diferentes diferentes representaciones.

Ceros a la izquierda

La idea de que Bitcoin se preocupa por el número de ceros iniciales en una representación hexadecimal, por ejemplo, es un error común (no me preguntes cómo lo sé).

Si insiste en escribir números con ceros a la izquierda, es obvio que 000015 (quince) con cuatro ceros a la izquierda es menos que 000150 (ciento cincuenta) con solo tres ceros a la izquierda. Sin embargo, sería un error creer que los números más pequeños siempre tienen más ceros a la izquierda. Tanto usted como Bitcoin saben que 000017 (diecisiete) es menos que 000019 (diecinueve), aunque ambos tienen el mismo número de ceros a la izquierda.

Eso es verdad a es menos que b así 7 es menos que 8 o eso 2 es menos que 3. Sin embargo, es probable que sea un error comparar dígitos individuales en una representación visual determinada. Los objetivos hash y hash son números ordinarios (aunque grandes) que se comparan de forma normal.

Entonces, ¿de dónde viene esta charla de ceros a la izquierda? Es parte de un método de codificación del valor objetivo como una dificultad en una representación compacta. Bitcoin tiene algunos métodos bastante arcanos para ahorrar espacio en los datos que se transfieren.

Ver

Ejemplos de

Veamos algunos bloques actuales (último arriba, orden cronológico inverso)

cuadra En desmantelado dificultad Picadillo Bits
669315 2021-02-06 02:48 21434395961349 0000000000000000000bbefe7b336aab05ef49c9c6ccd70a895b3cc4669ac924
669314 2021-02-06 02:36 21434395961349 0000000000000000000ae88c36b136ef612f0a0622bdf614854a7810e3f781cf
669313 2021-02-06 02:34 21434395961349 0000000000000000000acd9e8fd6512d3832e98a8c87d049afbd805abd44d8c2
669312 2021-02-06 02:25 21434395961349 0000000000000000000beb9d24f999168c79fa58394868f9fcc5367c28f137dc
669311 2021-02-06 02:22 20823531150112 00000000000000000004f29390852281bae27d3662f648020bb47cced0d883b8
669310 2021-02-06 02:18 20823531150112 00000000000000000000cd7ef96b5f6687c8b49df40c2dec2128adc39827707e
669309 2021-02-06 01:54 20823531150112 00000000000000000009d6c5902b0b8598f2ebd0fe076581b039fe789b4daca6
669308 2021-02-06 01:37 20823531150112 0000000000000000000be631fd1026989a86cf9dae421e7eca0f80d77b6bba5e

Note la dificultad elevado después del bloque 669311, pero el número de ceros a la izquierda en los hash no ha elevado (no hexadecimal ni binario).

Implementaciones

Si desea ver todos los detalles, puede consultar las versiones anteriores de la implementación de referencia de Bitcoin en C ++. Sin embargo, sugeriría mirar la implementación actual de BTCD en go-lang, ya que está bien comentado y, en mi opinión, es un lenguaje más fácil de leer.

por ejemplo, https://github.com/btcsuite/btcd/blob/master/chaincfg/params.go










    // TargetTimespan is the desired amount of time that should elapse
    // before the block difficulty requirement is examined to determine how
    // it should be changed in order to maintain the desired block
    // generation rate.
    TargetTimespan time.Duration

    // TargetTimePerBlock is the desired amount of time to generate each
    // block.
    TargetTimePerBlock time.Duration

y https://github.com/btcsuite/btcd/blob/master/blockchain/difficulty.go










    // Calculate new target difficulty as:
    //  currentDifficulty * (adjustedTimespan / targetTimespan)
    // The result uses integer division which means it will be slightly
    // rounded down.  Bitcoind also uses integer division to calculate this
    // result.
    oldTarget := CompactToBig(lastNode.bits)
    newTarget := new(big.Int).Mul(oldTarget, big.NewInt(adjustedTimespan))
    targetTimeSpan := int64(b.chainParams.TargetTimespan / time.Second)
    newTarget.Div(newTarget, big.NewInt(targetTimeSpan))

Cálculo del objetivo hash

Ver


You may also like

Bitcoin

Sportsbet.io y Arsenal FC presentan un nuevo programa de Matchday de realidad aumentada

En el nuevo panorama de las apuestas, las empresas líderes están desarrollando formas nuevas e ingeniosas de llevar los juegos a los fanáticos que están atrapados en casa. Sportsbet.io y Arsenal FC han iniciado la próxima evolución de la participación de fanáticos e influencers en relación con el programa tradicional del día del juego. Esta revolucionaria tecnología AR, conocida como “Programa Matchday de realidad aumentada (AR)”, lleva a los jugadores a casa. ¡Los fanáticos pueden tener jugadores como Aubameyang en su sala de estar!

¿Qué es el programa AR Matchday?

El programa AR Matchday combina todos los elementos del programa de fútbol tradicional, brindando a los fanáticos una experiencia virtual y acercándolos al equipo al que apoyan. En el programa AR Matchday, los fanáticos pueden:

  • Escuche las notas del capitán pronunciadas por Pierre-Emerick Aubameyang
  • Escuche los perfiles de los jugadores y revíselos
  • Disfrute de 21 preguntas con entrevistas Quickfire
  • Mira las…
View More Article
Blockchain

5 tendencias de NFT que debe probar:

En los últimos meses, los tokens no fungibles (NFT) han ganado popularidad y han atraído la atención general. Estos objetos interactivos se venden por millones de dólares y van desde pinturas y música hasta comestibles y papel higiénico. Es hora de profundizar en las realidades laborales más predecibles de las NFT después de que el entusiasmo inicial ceda.

Un NFT es un artefacto digital que representa objetos reales como arte, piezas del juego, canciones, objetos de colección e imágenes, entre otras cosas. Estas propiedades se compran y venden a través de Internet, a menudo utilizando criptomonedas. Por lo general, varios activos criptográficos se codifican utilizando el mismo programa subyacente que las NFT.

Los tokens no fungibles están disponibles desde 2014, pero son reconocidos mundialmente como un medio para vender y comprar obras de arte digitales. A noviembre de…

View More Article
Bitcoin

Transacciones: cómo recuperar bitcoins perdidos


<a title="See the tag: transacciones (20 posts)" class="autobesttag" rel="nofollow" href="https://schuss.es/tag/transacciones/">Transacciones</a> – Cómo <a title="See the tag: recuperar (5 posts)" class="autobesttag" rel="nofollow" href="https://schuss.es/tag/recuperar/">recuperar</a> Bitcoin perdido – Bitcoin Stack <a title="See the tag: exchange (11 posts)" class="autobesttag" rel="nofollow" href="https://schuss.es/tag/exchange/">Exchange</a>





View More Article
Bitcoin

Coinbase (COIN) cae por debajo de $ 250, las acciones de blockchain se venden a medida que continúa el declive de Bitcoin

Se sabe que Bitcoin (BTC) y el resto del mercado de criptomonedas siguen provocando grandes movimientos de precios de Bitcoin que agitan el mercado de altcoins, afectando la confianza y el impulso.

Esto parece ser lo mismo para las acciones relacionadas con blockchain que se negocian en los mercados financieros tradicionales, y un vistazo rápido a los gráficos revela que han estado reflejando el desempeño de Bitcoin en los últimos meses.

El ecosistema de la criptomoneda estaba en completo desorden hace poco más de un mes cuando la muy esperada lista de Coinbase llegó el 14 de abril. Esa fecha también marca el máximo histórico reciente en el precio de BTC en $ 64,863.

Desde su debut, el precio de COIN ha disminuido constantemente tanto por debajo de su precio de cotización directo de $ 381 como por debajo de su precio de referencia de $ 250 a…

View More Article
Bitcoin

¿Comprar la inmersión de Bitcoin? Por qué podría recibir una inyección de menos de $ 40,000

En un instante, como la mayoría de las cosas en Bitcoin y en el espacio criptográfico, el sentimiento general en el mercado parece haber cambiado. Los osos se han hecho cargo. El precio de BTC estaba sangrando y esta vez indica otra tendencia a la baja.

Muchos compraron la caída cuando BTC estaba por debajo de $ 50,000 y esperaban un rebote hacia el rango familiar de $ 58,000 durante el fin de semana. El salto aún no ha ocurrido y, como han señalado algunos expertos, BTC podría ver más sangre antes de recuperarse.

En el momento de escribir este artículo, BTC se cotiza a $ 42,692, un 9,4% menos en el gráfico diario y una corrección del 30% en el gráfico mensual. Los marcos de tiempo más bajos se están moviendo hacia los lados con una pérdida del 10% en el gráfico diario, ya que el…

View More Article
Blockchain

LTC / USD se está volviendo bajista para una corrección

Predicción de precios LTC – 17 de mayo
Actualmente se está realizando una revisión a la baja debido a una mayor presión en la actividad del mercado LTC / USD. La moneda estadounidense ha estado impulsando las criptomonedas desde el 10 de mayo, mientras que el instrumento base encontró una resistencia de alrededor de $ 400. Con una caída de alrededor del 10,07% en el mercado de cifrado, el precio ahora es de alrededor de $ 266.

Mercado LTC / USD
Niveles clave:
Niveles de resistencia: $ 320, $ 360, $ 400
Niveles de soporte: $ 240, $ 220, $ 200

LTC / USD – gráfico diario
El gráfico diario LTC / USD muestra una fuerte corrección a la baja en las correcciones de precios, ya que la…

View More Article