Crypto Academy / Season 3 / Week 4 - Homework Post for [@awesononso]: Blockchain Forks
Vengo con la tarea de esta semana para el profesor @awesononso.
1. ¿Qué es un Fork? (En sus propias palabras)
En todo lo creado por el ser humano hay aspectos a mejorar; incluso en las cosas que parecen más perfectas siempre hay formas nuevas e innovadoras que vienen o pueden llegar a demostrar que como dice el refrán "la perfección es una quimera", y que todo es susceptible de mejora.
La tecnología Blockchain no es una excepción; Y es que a pesar de su gran seguridad, versatilidad y todas las enormes ventajas que sabemos que tiene, tiene a nivel general y específico, aspectos técnicos que hay que mejorar, que se pueden mejorar.
Sin embargo, estos aspectos técnicos pueden ser realmente mejoras o aspectos con los que un sector afectado simplemente puede estar de acuerdo o no.
Como bien sabemos, cada criptomoneda que existe tiene una cadena de bloques en la que se basa. Quienes básicamente deciden las mejoras o no en los aspectos técnicos de una blockchain son los nodos validadores de la red; O en otras palabras, comunidades de personas conocidas como mineros, que son en última instancia quienes utilizan el esquema operativo de esa blockchain específica en la que se ejecutará o no la bifurcación, para producir nuevas unidades de esa criptomoneda.
Cuando ocurre una bifurcación, la volatilidad de la criptomoneda en cuestión se vuelve extrema; y lo positivo y / o negativo que resulte de ello durante o después de que ocurra dicha bifurcación, dependerá directamente de la forma en que los mineros y usuarios de dicha criptomoneda asuman los cambios a partir de allí.
2. Explique en detalle qué es un Hard Fork con ejemplos (puede ser de cualquier blockchain).
Como ya dije, un fork viene a generar cambios en los aspectos técnicos o modelo operativo dentro de una blockchain, los mismos ocurren para mejorarla en factores como estabilidad, seguridad y escalabilidad (entre otras cosas) pero sin importar lo positivo que pueden ser dichos cambios, lo determinante es el compendio o porcentaje de mineros o nodos validadores de la red y los usuarios que están de acuerdo o no con las modificaciones para que puedan ser adoptadas sin problemas.
Los cambios son propuestos por un sector importante de los nodos validades o mineros, y si hay un sector de nodos en desacuerdo, dicho sector decide, generalmente hacer una bifurcación dura.
Entonces la bifucación dura es la separación de la cadena de bloques original de una criptomoneda en concreto y el surgimiento de otra totalmente nueva. Tanto la cadena de bloques original, como la nueva que recién surge, poseen el mismo origen, el mismo bloque génesis y toda una historia similar hasta el momento en que ocurre el fork; pero luego del que el fork ocurre, cada una sigue caminos y comportamientos diferentes.
Entonces el hard fork puede ser descrito como el surgimiento o independencia de una comunidad de mineros respecto al protocolo blockchain original en el que minan, para crear un nuevo protocolo o blockkchain separado a partir de allí.
La blockchain nueva que surge a partir de un hard fork siempre conserva enormes similitudes con la blockchain de la que deriva, pero ya es una blockchain diferente, con una criptomoneda diferente, y un protocolo de funcionamiento distinto e independiente del anterior. Por tal razón, los bloques de transacciones no serán iguales a partir de la bifurcacion; y las cadenas y la validación de las transacciones de las mismas no se reconocerán entre sí.
Existen muchísimos ejemplos de hard forks a través de la historia:
Bitcoin--->Bitcoin Cash, Bitcoin Gold
Ethereum Classic---->Ethereum
Steem----->Hive
Zcash--->Ycash
Litecoin--->Litecoin Cash
3.Explica en detalle qué es un Soft Fork con ejemplos (puede ser de cualquier blockchain).
Un soft fork o bifurcación suave, no es más que adopción de una serie de cambios, dentro de una blockchain, que han sido bien recibidos y adoptados por los mineros (que comos sabemos son los que generan los bloques), como por la comunidad de usuarios de dicha blockchain y criptomoneda.
Como no hay desacuerdos entre las partes, los cambios del fork ocurren sin que haya un surgimiento de alguna nueva blockchain. Simplemente la misma blockchain específica implementa los cambios sin mayores contratiempos y comienza a funcionar bajo el nuevo esquema técnico.
Ejemplos de Bifurcaciones suaves fue el cambio de Legacy Bitcoin Network al Segwit Bitcoin Network, donde se buscaba mejorar la escalabilidad de las operaciones. Esta bifurcación no generaba exclusión del protocolo anterior de funcionamiento, sino al contrario, ambos coexisten incluso hoy en día.
4. ¿Cuáles son las diferencias entre Hard Forks y Soft Forks?
Se podrían citar muchas diferencias, pero veamos tan solo algunas de ellas:
Por un lado, están las diferencias generales que se dan en un sentido técnico:
Hard Fork | Soft Fork |
---|---|
Hay una separación de los nodos que validan la red | No hay separación de nodos, siguen siendo los mismos que existían, pero adoptando los nuevos cambios. |
Hay el surgimiento de una nueva blockchain derivada de la anterior | No hay surgimiento de una nueva blockchain, sigue siendo la misma, solo que con cambios en parámetros técnicos. |
Surge una nueva criptomoneda con nuevo nombre | La criptomoneda sigue siendo la misma. |
Por otro lado, también surgen diferencias que se dan concretamente entre los proyectos cuando ocurre un hard fork o un soft fork:
Por un lado, cuando ocurre un fork (sea Hard fork o Soft Fork), ocurren cambios que pueden influir en la velocidad de minado, en la forma como se almacena la data; en la manera como se sellan los bloques y las firmas, en el límite de emisión, en el consenso de minería empleado (PoW, PoS o cualquier otro), etc.
5. Explique las siguientes bifurcaciones de Bitcoin y explore la cadena de bloques cuando sea necesario. Indicar si son horquillas duras o blandas;
Bitcoin Cash
Segregated Witnesses
Bitcoin Cash
Bitcoin Cash es fruto de una bifurcación dura de la red de Bitcon, pero conserva muchas de las características originales de Bitcoin (además del hecho de que proceden del mismo bloque Génesis, por supuesto).
Primero que nada, veamos la prueba de que ambas descienden del mismo bloque inicial:
Si ponemos el hash 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f en la plataforma de https://www.blockchain.com/es veremos el punto de partida de ambas:
Ahora bien, en cuanto a otros detalles técnicos veamos lo que nos dice Coinmarketcap sobre una y otra:
Como se puede apreciar, detalles como el precio de la criptomoneda, volumen, y marketcap, las cosas son diferentes para ambas. Pero si exploramos bien en Coinmarketcap también veremos que conservan ciertas similitudes más allá del bloque Génesis, como por ejemplo el hecho de que ambas tienen un volumen máximo de emisión de 21 millones de unidades.
Segregated Witnesses
Hace rato hablé levemente de la Red Segregada de Bitcoin (Segwit Bitcoin Network); pero ahondemos un poco más en lo que fue:
El Segwit Bitcoin Network fue una soft fork en la red de Bitcoin, que surgió para mejorar cosas como la velocidad de minado, la escalabilidad y la seguridad. En el Legacy Bitcoin Netwotk (o la red primigenia de Bitcoin, tal como estaba cuando se minó el primer Bitcoin), tanto las transacciones como las firmas de las transacciones se almacenaban en el mismo bloque información, lo que hacía más pesadas las operaciones con el consecuente costo de mayores fees que pagar por parte de los usuarios; debido a la mayor dificultad que tenían los mineros para verificar la información y producir los bloques; entonces, la bifurcación a Segwit Bitcoin Network, trajo entre otras ventajas que las firmas y la data de las transacciones se almacenan separadamente, en bloques separados.
6. Escriba sobre la bifurcación dura de Steem y Hive; y muestre similitudes en sus Bloques Génesis (proporcione capturas de pantalla).
Ambas Blockchain, tanto la de Steem como la de Hive, tienen un origen y bloque génesis común; y esto es porque Hive surgió como una bifurcación dura de Steem. De hecho, yo llevaba un tiempo escribiendo aquí en Steemit cuando la bifurcación se produjo.
La bifurcación se dio por diversos cambios técnicos que se dieron en la plataforma de Steem cuando fue adquirida por el Magnate Justin Sun. Pero más allá de los motivos que dieron forma u origen a esta bifurcación dura, es de recalcar que tanto la plataforma de Steem (que es Steemit) como la de Hive (que es Hive.blog) poseen características similares y un mismo punto de partida.
De hecho, veamos la apariencia de ambas plataformas para que vean de lo que hablo:
Ambas son plataformas de para escribir posts, que tienen prácticamente igual modo de funcionamiento. Además, ambas poseen una criptomoneda y una forma de stablecoin. Steemit posee Steem y SBD (Steem Dollars) para recompensar a sus usuarios; mientras que Hive.blog posee Hive y HBD (Hive Dollars). Como token de influencia del que se hace Staking, en Steemit existe el SteemPower y en Hive existe el Hive Power.
Más allá de las similitudes entre ambas redes, que son muchas, ambas criptomonedas poseen, como es perfectamente lógico, un valor distinto en el mercado. Veamos CoinMarketCap para que vean de lo que hablo:
Como se puede apreciar, detalles como el precio, capitalización de mercado, volumen, cantidad de emisión y otros más, son diferente en Hive con respecto a Steem. Y es precisamente parte de lo que ocurre cuando se generan las bifurcaciones duras como esta, se genera un proyecto nuevo con mercado de capitalización diferente, volúmenes diferentes, entre muchas otras diferencias.
Pero volviendo a las similitudes; como ya mencioné, ambas redes y criptomonedas tienen un punto en común, el bloque Génesis emitido por @Initminer en el 2016. Veamoslo a continuación:
En Hiveblocks.com vemos:
Y si bajamos un poco más en esa pantalla veremos un poco mejor los detalles de ese primer bloque minado de Hive
Y vemos que esa data coincide perfectamente con la de Steem cuando la revisamos en Steemworld.org:
Conclusión
En cualquier caso, los forks (sean duros o suaves) son parte de la evolución natural de las blockchains, porque como con todo lo relacionado con el comportamiento humano, hay acuerdos y desacuerdos; es decir, hay personas que están de acuerdo con cómo funcionan las cosas en un área específica y también hay quienes no están de acuerdo y proponen otra cosa, algo diferente (que es mejor para ellos desde su punto de vista).
Lo que está claro es que no es una persona específica la que puede decidir si una cadena de bloques se bifurcará o no; sino un grupo de personas que conforman una comunidad que minan y usan dicha criptomoneda. Aunque generalmente, si nos atenemos a lo más estrictamente pragmático, podríamos decir que las bifurcaciones se generan siempre que a los mineros no les conviene algo en el proceso actual de mineria de una criptomoneda.
Es decir, si los mineros o una parte de los mismos se dan cuenta, de que la red está sobrecargada por un motivo o por otro y que no hace tan rentable minar (por el costo de las fees o por la cantidad de bloques emitidos), entonces es cuando proponen e implementan una idea de un fork que venga a solucionar de manera técnica, esa desventaja para ellos. El hecho de que el fork sea suave o duro dependerá del porcentaje de aceptación que tengan los cambios entre la totalidad de los mineros respectivamente.
Si hay resistencia al cambio, ese porcentaje de mineros que no están de acuerdo se segregan del protocolo inicial creando un nuevo protocolo que parte del original, pero que a partir de entonces tendrá una historia distinta a la plataforma o protocolo original. Si no hay resistencia al cambio, los parámetros son cambiados y no pasa nada más, simplemente todos los mineros adoptan el nuevo esquema de funcionamiento de la blockchain y se ciñen al mismo.
Hello @piensocrates,
Thank you for taking interest in this class. Your grades are as follows:
Feedback and Suggestions
You have done very well to explore the topic and produce relevant content.
You should have clearly stated the similarities between the Steem and Hive Genesis block.
Thanks again as we anticipate your participation in the next class.