Cambiando las reglas de consenso (forks)
Clase 8 de 16 • Curso de Bitcoin para Developers
Resumen
Los bloques en una Blockchain se generan sin cesar. Cada minero propone su bloque, pero solo uno logra que el mismo sea añadido a la cadena, mientras que todos los demás bloques se descartan.
Qué es la bifurcación de la cadena
A medida que se proponen bloques para encadenar a la Blockchain, se generan múltiples bifurcaciones o forks que no llegan a validarse debido a que otro bloque acapara el consenso y su minero gana la recompensa.
Tal vez ya conozcas el término fork cuando se trata de crear ramas en un proyecto con Git cuando creamos una copia exacta a partir de un cierto punto del repositorio.
Un concepto muy similar ocurre en toda Blockchain cuando múltiples ramas se desprenden desde el estado actual de la ledger (el libro mayor) de dicha Blockchain, pero solo una de estas se validará correctamente y logra continuar con la cadena.

La única cadena válida es la que demuestra más prueba de trabajo en el tiempo. Las demás se descartan por completo y esto asegura los datos de una Blockchain.
Tipos de bifurcaciones
Podemos diferenciar dos tipos de bifurcaciones en una Blockchain:
Hard forks:
Forks totalmente radicales para el protocolo de una Blockchain donde se cambian por completo las reglas, el software, la forma de minado o toda la red. Este tipo de bifurcaciones suelen dividir a la comunidad de un proyecto entre los que están de acuerdo y los que no.
Soft forks:
Cambios menores en un Blockchain que permiten seguir operando y son compatibles con la red. Suelen ser para mejorar el rendimiento o introducir una mejora en el código fuente.
Ejemplos Hard Fork
Un ejemplo Hard Fork es Bitcoin Cash surgido en el 2017 como propuesta para mejorar la velocidad de esta Blockchain. Otro ejemplo podría ser Ethereum Classic que se trata de la versión original de la Blockchain de Ethereum antes de ciertas actualizaciones.
Ataque del 51%
Existe un tipo más de bifurcación que nadie quiere que suceda. Cuando se logra romper el consenso de una Blockchain y hackear la misma, se produce un fork malicioso que logra imponerse en la cadena y permitiendo robar millones o modificar información.
Este tipo de ataques a la que una Blockchain está expuesta se lo conoce con el nombre de “Ataque del 51%” donde si los nodos maliciosos logran superar el 51% del poder de cómputo, podrán firmar transacciones falsas y provocar grandes daños económicos.
¿51% de qué?
Cuando se habla de un ataque del 51%, no se refiere a poseer el 51% de los nodos de la red (EJ: 510 nodos de 1000). Si no que este ataque hace referencia a poseer el 51% del poder de cómputo de toda la red. Tal vez, con 300 nodos de 1000 sea suficiente para alcanzar el 51%, todo depende del hardware de los computadores.
La Blockchain de Bitcoin tiene al día de hoy varios cientos de miles de nodos operando, por lo que un ataque del 51% es ínfimamente probable de que suceda.
Conclusión
Las bifurcaciones se generan todo el tiempo y cada Blockchain las procesa de una manera diferente. Algunas esperan N cantidad de bloques para confirmar una bifurcación o eliminar otras.
También pueden producirse forks cuando un nodo tiene problemas de sincronización con respecto a sus pares, no necesariamente se trata siempre de un ataque.
Lo importante siempre será el consenso entre los nodos de una Blockchain y la bifurcación que demuestre más poder de computo ganará y se unirá a la cadena.
Contribución creada por: Kevin Fiorentino (Platzi Contributor).