avatarJavier Saviñon

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

3161

Abstract

primer bloque que recibieron</b>; el primero que vieron.</p><p id="c8fb">En el caso de los <b>mineros que están mas cerca o mejor conectados con Slush Pool</b> comenzaran a minar sobre el bloque procesado por este. <b>Lo mismo pasará con los mineros que estén cerca de Antpool</b>, sin embargo, todos <b>lo mineros conservarán ambos bloques hasta que se mine el siguiente.</b></p><figure id="35db"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*J1pLqxfajCMJKFdzAwBl_Q.png"><figcaption></figcaption></figure><p id="53dc">Si el siguiente bloque minado <b>(el bloque #1001) </b>se encuentra sobre el creado por Slush Pool se entenderá por defecto que el anterior esta en la <b>“Best chain”, es decir la cadena mas larga</b>. De la misma manera pasaría si el siguiente bloque se minará sobre el bloque creado por Antpool. De los dos bloques, el que quedo fuera de la <i>best chain </i>se le conoce como “<b>Stale Block</b>” o algunas veces también como<b> “Bloque Huerfano”</b> sin emabargo esta ultima denominación es incorrecta.</p><p id="e692">Cabe destacar que destacar que la mayoría de las veces <b>estos splits suceden de manera involuntaria y no deben confundirse con un <i>Hard Fork</i> o <i>Soft Fork</i>.</b></p><p id="b8d2"><b>El tiempo de confirmación juega un rol importante</b> pues <b>entre mas corto sea este mas probabilidades hay que se den</b> este tipo de situaciones. Por ejemplo, en bitcoin hay un split cada dos semanas.</p><p id="7e14"><b>Tambien pueden haber Blockchain Splits consecutivos</b>, es decir, que dos bloques se minen al mismo tiempo y encima de cada uno se minen otro simultaneamente o incluso un split un sobre otro. Aunque estos son muy improbables, la regla sigue siendo la misma: <b>la cadena mas larga gana.</b></p><figure id="0652"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*HNz_zWZYm5bNcuYuDbYdOg.png"><figcaption>Un split sobre otro split</figcaption></figure><h1 id="8d0d">Un bloque después del Retarget ( The Strongest Chain)</h1><p id="4a4e">La cadena más larga siempre es la valida; es lo que acabamos de ver, sin embargo, hay solo una excepción a esa regla y esa es cuando sucede un blockchain split en un <b>periodo de retarget</b>.</p><p id="3e6d"><b>¿Como saber esto?</b></p><p id="71e1">En cada bloque viene algo que se conoce como <b>Timestamp,</b> que <b>muestra la hora aproximada en la que el minero lanzó el bloque a la red</b>. Digo aproximada porque los mineros pueden cambiar el timestamp a voluntad para reiniciar el Nonce con ciertas restricciones (DON’T PANIC). <b>Esto quiere decir que el Timestamp y la hora exacta de lanzamiento del bloque casi nunca coincidirá.</b></p><p id="9c41"><b>La distancia entre timestamps de cada bloque se le conoce como: “Tiempo de confirmación del bloque”</b> En bitcoin es de 10 mins, en Litecoin de 2.5 mins, monero de 2, etc.</p><p id="8ce2"><b>Aunque esté el tiempo de confirmación este establecido no quiere decir que sea fijo</b>, ya que <b>depende de una variable</b> muy importante: <b>el poder de cómputo de los mineros</b>. Es decir que, si los mineros agregan más equipo de ASIIC, los tiempos de confirmación ser

Options

án más cortos.</p><blockquote id="a669"><p>¿Entonces entre más mineros haya, el tiempo de confirmación será más corto permanentemente?</p></blockquote><p id="0134"><b>No.</b> Aqui entra en juego el ya mencionado <b>“Retarget Period”</b>. <b>Sucede cada dos semanas o cada 2016 bloques</b> y se encarga de revisar si la suma entre los timestamps da 20160 minutos: 2 semanas.</p><p id="a92b"><b>Si los mineros tardaron más de dos semanas quiere decir que los mineros restaron poder de hash</b>, por tanto <b>la dificultad de la Prueba de Trabjo disminuirá</b>. De igual manera <b>si los mineros tardaron menos de dos semanas en conseguir los 2016 bloques</b>, <b>la dificultad aumentará</b> . <b>El algoritmo ajusta la dificultad en función al poder de hash.</b></p><blockquote id="a038"><p>“OK OK, pero entonces ¿ que pasa cuando se da un blockchain split justo antes del retarget?”</p></blockquote><p id="3847">Volvamos con los ejemplos simples.</p><figure id="04da"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*9GaTw41WCeiwaH_1PVEV3w.png"><figcaption>Blockchain Split antes de un Retarget Period</figcaption></figure><p id="0667">Estamos en el bloque #2015 y otra vez dos mineros vuelven a encontrar el bloque casi al mismo tiempo. Ojo aquí, <b>fueron lanzados a la blockchain casi al mismo tiempo como la vez anterior, 5:00pm y 5:01pm respectivamente, pero tienen un Timestamp distinto: </b>el bloque<b> de Ant Pool marca las 5:20pm </b>y el de <b>Slush Pool</b> <b>las 5:43pm</b>.</p><blockquote id="a99b"><p><b>La pregunta del millón es ¿que bloque es el bloque valido?</b></p></blockquote><p id="7c14"><b>Esta vez los mineros hacen una excepción </b>y no comienzan a minar sobre el bloque que vieron primero, sino en <b>el bloque que les dará un target menor; la cadena con mayor dificultad o “The Strongest Chain”</b></p><figure id="8e6a"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*CILdMGJckjQp3u8MsF3vvA.png"><figcaption></figcaption></figure><p id="29cd">En este caso, el timestamp del<b> bloque de Slush Pool hizo que la dificultad de la blockchain</b> disminuyese aumentando el target en su rama correspondiente, en cambio <b>el timestamp del bloque de Slush Pool hizo que aumentara disminuyendo el target</b>. Ahora los mineros armaran el siguiente bloque sobre el bloque de Antpool ya que es la cadena mas fuerte.</p><p id="a006">Como acabas de ver, lo que podía parecer sencillo llega a complicarse un poco, afortunadamente los algoritmos de consenso ya tienen previsto estas situaciones.</p><p id="b4f3">Aun nos queda hablar de las consecuencias que traen estos splits y como otras blockchains con menor tiempo de confirmación resuelven esta problemática.</p><p id="de48"><b>¡No olvides de suscribirte al blog de Hashger para verlos próximamente!</b></p><figure id="4498"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*BEyIKrcYnJEWqXdqXyOH0Q.png"><figcaption></figcaption></figure><h2 id="1e34">Referencias:</h2><p id="8843"><b>“Bitcoin Whitepaper”</b>; Satoshi Nakamoto, pag.3</p><p id="ad3c"><b>“Grokking Bitcoin”</b>; Kalle Rosenbaum, pags. 210 - 2013, 226 -230</p></article></body>

Blockchain Splits: cuando los bloques chocan

“The Twins, Kate and Grace Hoare” por John Everett Millais

En las blockchains que utilizan la prueba de trabajo la dinámica es sencilla: quien arme primero el bloque lo transmite a toda la red y se queda con sus recompensas.

No hay turnos; cada quien trabaja de manera independiente para encontrar el siguiente bloque, por lo que este proceso nos puede llevar a escenarios con dilemas muy particulares, por ejemplo:

¿Que pasaría si dos mineros encuentran y transmiten un bloque al mismo tiempo?

¿cual de los dos bloques es el valido?

Acompañame a descubrir como funcionan los “Blockchain Splits”

¿Que es un Blockchain Split?

Blockchain Split

Un Blockchain Split, o división involuntaria de la cadena de bloques sucede cuando 2 mineros encuentran un bloque casi al mismo tiempo, con diferencia de apenas unos segundos o milisegundos.

“¿Diferencias de milisegundos?”

“No hay problema, tomamos el que llego primero y listo”.

Bueno… no es tan sencillo como parece.

Las blockchains tienen nodos alrededor del mundo y debido a la latencia, el orden con el que lleguen sera distinto dependiendo del lugar de destinatario y del remitente del bloque.

Ilustremos esto de una manera sencilla:

Por ejemplo, un bloque de la blockchain de Bitcoin, digamos el bloque #1000, se minó y se transmitió a la red por Slush Pool desde República Checa a las 12:00 pm. Mientras tanto, en China, AntPool también encontró y transmitió el bloque #1000 pero con 2 segundos de diferencia, es decir, a las 12:02 pm.

¿Cual bloque es el válido?

Ambos.

A partir de aquí los mineros decidirán arbitrariamente que bloque formará parte de la cadena principal o “The best chain”. Este conflicto se resolverá en base a que se escenario se encuentre: si este o no ocurre antes de un periodo de retargeting.

Comencemos con el mas simple y el mas común: cuando al split no le sucede un periodo de retargeting.

La cadena más larga ( The Longest Chain)

Esta situación se da en la mayoría de los splits. Los mineros tienen una regla conocida como “First Seen Block”, es decir, comenzarán a minar sobre el primer bloque que recibieron; el primero que vieron.

En el caso de los mineros que están mas cerca o mejor conectados con Slush Pool comenzaran a minar sobre el bloque procesado por este. Lo mismo pasará con los mineros que estén cerca de Antpool, sin embargo, todos lo mineros conservarán ambos bloques hasta que se mine el siguiente.

Si el siguiente bloque minado (el bloque #1001) se encuentra sobre el creado por Slush Pool se entenderá por defecto que el anterior esta en la “Best chain”, es decir la cadena mas larga. De la misma manera pasaría si el siguiente bloque se minará sobre el bloque creado por Antpool. De los dos bloques, el que quedo fuera de la best chain se le conoce como “Stale Block” o algunas veces también como “Bloque Huerfano” sin emabargo esta ultima denominación es incorrecta.

Cabe destacar que destacar que la mayoría de las veces estos splits suceden de manera involuntaria y no deben confundirse con un Hard Fork o Soft Fork.

El tiempo de confirmación juega un rol importante pues entre mas corto sea este mas probabilidades hay que se den este tipo de situaciones. Por ejemplo, en bitcoin hay un split cada dos semanas.

Tambien pueden haber Blockchain Splits consecutivos, es decir, que dos bloques se minen al mismo tiempo y encima de cada uno se minen otro simultaneamente o incluso un split un sobre otro. Aunque estos son muy improbables, la regla sigue siendo la misma: la cadena mas larga gana.

Un split sobre otro split

Un bloque después del Retarget ( The Strongest Chain)

La cadena más larga siempre es la valida; es lo que acabamos de ver, sin embargo, hay solo una excepción a esa regla y esa es cuando sucede un blockchain split en un periodo de retarget.

¿Como saber esto?

En cada bloque viene algo que se conoce como Timestamp, que muestra la hora aproximada en la que el minero lanzó el bloque a la red. Digo aproximada porque los mineros pueden cambiar el timestamp a voluntad para reiniciar el Nonce con ciertas restricciones (DON’T PANIC). Esto quiere decir que el Timestamp y la hora exacta de lanzamiento del bloque casi nunca coincidirá.

La distancia entre timestamps de cada bloque se le conoce como: “Tiempo de confirmación del bloque” En bitcoin es de 10 mins, en Litecoin de 2.5 mins, monero de 2, etc.

Aunque esté el tiempo de confirmación este establecido no quiere decir que sea fijo, ya que depende de una variable muy importante: el poder de cómputo de los mineros. Es decir que, si los mineros agregan más equipo de ASIIC, los tiempos de confirmación serán más cortos.

¿Entonces entre más mineros haya, el tiempo de confirmación será más corto permanentemente?

No. Aqui entra en juego el ya mencionado “Retarget Period”. Sucede cada dos semanas o cada 2016 bloques y se encarga de revisar si la suma entre los timestamps da 20160 minutos: 2 semanas.

Si los mineros tardaron más de dos semanas quiere decir que los mineros restaron poder de hash, por tanto la dificultad de la Prueba de Trabjo disminuirá. De igual manera si los mineros tardaron menos de dos semanas en conseguir los 2016 bloques, la dificultad aumentará . El algoritmo ajusta la dificultad en función al poder de hash.

“OK OK, pero entonces ¿ que pasa cuando se da un blockchain split justo antes del retarget?”

Volvamos con los ejemplos simples.

Blockchain Split antes de un Retarget Period

Estamos en el bloque #2015 y otra vez dos mineros vuelven a encontrar el bloque casi al mismo tiempo. Ojo aquí, fueron lanzados a la blockchain casi al mismo tiempo como la vez anterior, 5:00pm y 5:01pm respectivamente, pero tienen un Timestamp distinto: el bloque de Ant Pool marca las 5:20pm y el de Slush Pool las 5:43pm.

La pregunta del millón es ¿que bloque es el bloque valido?

Esta vez los mineros hacen una excepción y no comienzan a minar sobre el bloque que vieron primero, sino en el bloque que les dará un target menor; la cadena con mayor dificultad o “The Strongest Chain”

En este caso, el timestamp del bloque de Slush Pool hizo que la dificultad de la blockchain disminuyese aumentando el target en su rama correspondiente, en cambio el timestamp del bloque de Slush Pool hizo que aumentara disminuyendo el target. Ahora los mineros armaran el siguiente bloque sobre el bloque de Antpool ya que es la cadena mas fuerte.

Como acabas de ver, lo que podía parecer sencillo llega a complicarse un poco, afortunadamente los algoritmos de consenso ya tienen previsto estas situaciones.

Aun nos queda hablar de las consecuencias que traen estos splits y como otras blockchains con menor tiempo de confirmación resuelven esta problemática.

¡No olvides de suscribirte al blog de Hashger para verlos próximamente!

Referencias:

“Bitcoin Whitepaper”; Satoshi Nakamoto, pag.3

“Grokking Bitcoin”; Kalle Rosenbaum, pags. 210 - 2013, 226 -230

Blockchain
Bitcoin
Timestamp
Proof Of Work
Bitcoin Miner
Recommended from ReadMedium