EL MUNDO DE LAS FORKS PT2 (HISTORIA DE LOS HARD FORK DE BITCOIN)

in #spanish7 years ago (edited)

En mi artículo anterior “El Mundo de las Forks” explicamos de que se trataba los Hard Fork en general y como algunas criptomonedas como Ethereum, Zcash y Monero ya lo habían implementado para hacer correcciones y actualizaciones. Ahora toca hablar de las Hard Fork de Bitcoin puesto que ya ha habido varias bifurcaciones y muchas más se acercan. Sin embargo, uno se puede preguntar ¿Qué es lo que bitcoin necesita mejorar o corregir? Principalmente la escalabilidad. Esto se debe al nivel de aceptación que está teniendo esta primogénita criptomoneda. ¿Qué significa esto? Que entre más personas hagan más transacciones, mayor será la lentitud de las mismas, puesto que existe un número máximo de transacciones que puede tener cada bloque de la Blockchain. Esto tenía muy preocupados a grandes inversionistas y empresas mineras. Sin embargo, aunque se propusieron varias soluciones no todos estaban de acuerdo en la manera en que se manejaría esta situación. El debate sobre la escalabilidad de Bitcoin ha estado en curso durante más de cuatro años, y alcanzó un nivel tan rencoroso que algunos lo tomaron como una verdadera guerra civil.

CMN THS.png

Antes de explicar las posiciones de los que debaten, primero tenemos que entender un poco sobre Bitcoin. Si piensas en Bitcoin como un solo libro global, una transacción de Bitcoin se parece mucho a un cheque bancario. Como propietario de cierta cantidad de dinero, puedes firmar y entregar parte de tu dinero a otra persona. Y, al igual que un cheque, una transacción de Bitcoin tiene una firma. En lugar de una firma física, crea una firma digital con su clave privada. Curiosamente, si bien una firma en un cheque físico ocupa tal vez el 10% del cheque, una firma digital en bitcoin ocupa más del 50% del cheque digital. Para continuar con la analogía, un bloque de Bitcoin es como una caja de cheques firmados o transacciones. Al igual que las cajas físicas en el mundo real, los bloques de Bitcoin tienen un límite en la cantidad de transacciones que pueden contener. En este momento, esas cajas vienen en un tamaño estándar de 1 MB. Nunca podrás poner más cheques en la caja de lo que pueda contener. Para mantener el libro de contabilidad global consistente y a prueba de trucos, todos los que lo deseen pueden auditar el libro verificando estos bloques (cajas de cheques). Se envía una copia de la caja de cheques a cualquiera que desee auditar el libro. Supongamos que, en una auditoría de estas cajas de cheques, alguien descubre que uno de los cheques no tiene fondos, entonces se rechazaría la caja completa. Esto es importante ya que, de lo contrario, las personas comenzarían a escribir cheques sin fondos. También tenemos que hacer esto con bastante frecuencia para que las personas puedan tener una buena idea de la cantidad de dinero que tienen, por lo que enviamos las cajas de cheques a todos (es decir, a todos los nodos del sistema) para auditar con bastante frecuencia, cada 10 minutos en promedio.

bd5650f9c__1600x0__q85.png

Asi pues, volviendo al debate de escalabilidad muchas fueron las propuestas presentadas a la comunidad. Entre las principales propuestas estaba Bitcoin XT, el cual se planteó que el tamaño del bloque aumentara a ocho megabytes, y de allí en adelante se aumentara de manera exponencial, duplicándose cada dos años. Luego, en enero de 2016 Bitcoin Unlimited propuso permitir a los usuarios indicar qué límite de tamaño de bloque prefieren, de esta manera se planteó encontrar el límite teniendo un consenso de la mayoría. Igualmente, en febrero del 2016 se propuso Bitcoin Classic con el objetivo de aumentar la capacidad de procesamiento de transacciones de Bitcoin aumentando el límite de tamaño de bloque. Bitcoin Classic, comenzó siendo similar aunque menos agresiva a la posible bifurcación de Bitcoin XT, que nunca logró obtener el apoyo que necesitaba. Sin embargo, el equipo de desarrollo de Bitcoin Core se opuso a un aumento de bloques, prefiriendo una solución técnica más a largo plazo. Ahora bien, a manera de reunir las ideas de los dos grandes grupos que luchaban con el problema de la escalabilidad se separaron en: los grandes blockers y los pequeños blockers.

lego4.jpg

Los grandes blockers querían justamente eso: un aumento de bloques. Esto es genial si todos estuvieran obligados a usar cajas más grandes, pero hay algunos problemas con esta idea. Si algunas personas siguieran usando las cajas pequeñas, esto causaría discrepancias en el libro mayor y crearía dos libros mayores diferentes. Además, incluso si todos usaran las cajas grandes, muchas personas que verifican el libro mayor no recibirían las cajas grandes a tiempo para examinar que todas las comprobaciones sean válidas. 10 minutos es muy poco tiempo para recibir y auditar las cajas para algunas personas. La principal ventaja de hacer cajas grandes está en que es un cambio relativamente simple. No hay estilos nuevos de cheques porque preocuparse y todo puede funcionar como antes.

F27J5VDJ0IEG0W8.MEDIUM.jpg

Los pequeños blockers buscaban una solución más elegante y permanente, y eventualmente se asentaron en un código llamado Segregated Witness (SegWit). ¿Qué es el Segwit? Es esencialmente un nuevo estilo de cheque. Todavía estaría disponible hacer cajas más grandes, pero solo para aquellos que las quieran. Esta solución de "cambiar el cheque" esencialmente corta la parte de la firma del cheque para todos aquellos que no acepten las cajas grandes. ¿Recuerdan cómo la firma representa aproximadamente el 50% de la transacción? SegWit corta los cheques por la mitad y envía todo menos la firma para todos aquellos que acepten las antiguas cajas pequeñas. Enviando el cheque completo a todos aquellos que acepten las nuevas cajas grandes.

712.png

Dado que los cheques son la mitad del tamaño para las cajas pequeñas, podemos meter aproximadamente el doble de cheques en las cajas pequeñas, aumentando el rendimiento. Cualquiera que esté recibiendo las cajas grandes podría auditar todo lo que hay en la caja de forma normal, y cualquiera que reciba las cajas pequeñas aún podría auditar sin preocuparse por obtener las firmas a tiempo. Debido a que estamos acomodando a las personas que no están usando las cajas nuevas y grandes, SegWit es compatible con versiones anteriores. Eso significa que todos tendrán la misma copia del libro mayor sin importar el tamaño de caja que estén usando. El principal inconveniente de SegWit es que todos los que reciban el estilo nuevo de cheque pero que usen las cajas pequeñas no podrán auditar las firmas ya que no los recibirán. SegWit también permite escalar fuera de la cadena a través de algo llamado Lightning Network. Las transacciones se producirían fuera de Blockchain entre las partes en la Lightning Network, mientras que periódicamente se "establecería" en Bitcoin's Blockchain. Esta solución teóricamente permitiría un escalado virtualmente ilimitado.

Asi pues, representantes de Bitcoin Core se reunieron con un consorcio de mineros en Hong Kong y acordaron un compromiso: SegWit sería adoptado y el tamaño de bloques se incrementará a 2 MB. Entre los firmantes estaba Adam Back, presidente de Blockstream, que proporciona gran parte del financiamiento para el equipo de desarrollo de Bitcoin. Luego en mayo de 2017, Barry Silbert del Digital Currency Group se reunió con numerosos mineros y líderes de negocios de Bitcoin, y de esta reunión surgió el Acuerdo de Nueva York. Los firmantes acordaron que SegWit se activaría antes de septiembre de este año, y que un aumento de bloques de 2 MB se produciría con un Hard Fork en noviembre. El acuerdo fue firmado.

Aunque la mayor parte de la comunidad se mostraba dispuesta a adoptarlo, días después un grupo de desarrolladores anunció una alternativa, el Bitcoin Cash, en la que el límite se elevaría a los 8 MB. BCC sería un atractivo para el segmento de usuarios de Bitcoin que no les gusta Segwit. Como Segwit se activó en Bitcoin, este Hard Fork da a muchas de estas personas un lugar a donde ir. Además del aumento de los bloques, Bitcoin Cash también implemento el Ajuste de Dificultad de Emergencia (EDA) que debería proporcionar protección contra las fluctuaciones de Hashrate, aunque esta característica no está resuelta del todo puesto que iba muy rápido o muy lento, por lo cual se estableció un nuevo Hard Fork sin Chain Split llamado Bitcoin ABC para corregir este error.

1_demekaBFu-PU2CjWcE5vag.png

Igualmente, Bitcoin Cash agregó una función llamada "Replay Protection" esta característica es muy importante puesto que, si tienes una cantidad en el Libro mayor o Ledger antes de la división, tendrás la misma cantidad en ambos Ledger después de la división. Entonces, esto presenta un problema porque si gastas de un Ledger, alguien puede copiar el mismo cheque, el cual tiene tu firma, y presentarlo para su inclusión en el otro Ledger. Llamamos a esto un ataque de repetición (Replay Attack) Es decir, pueden gastar tu dinero en el otro Ledger porque tu firma es válida en ambos Ledgers. Por supuesto, el dinero y la cantidad real tienen que ser exactamente iguales o la firma sería inválida. Bitcoin Cash resolvió este problema cambiando el cheque ligeramente. Ellos crearon una marca especial en el cheque que lo identificó en el Ledger del BCH y no en el otro. Por lo tanto, cualquier nodo que ahora audite Bitcoin automáticamente rechazará un cheque Bitcoin Cash, ya que el cheque tiene esa marca especial. Cualquier persona que revise Bitcoin Cash rechazará un cheque Bitcoin ya que el cheque no tiene la marca especial. Esta marca especial se denomina protección de reproducción (Replay Protection), ya que evita ataques de repetición.

1_SvDk142xQXI0zmQETkWvKg.png

Hace pocos días un nuevo Hard Fork de Bitcoin se puso en marcha y no, todavía no es el segwit de 2mb. Anunciado justo antes de que Bitcoin Cash, Bitcoin Gold estaba programado para entrar en directo en octubre del 2017. Bitcoin Gold es la creación de Jack Liao. El objetivo de BTG es convertirse en un mejor oro que Bitcoin. La mejor manera es tratando de resolver la centralización de mineros a través de un cambio en la Prueba de Trabajo (PoW). Para cambiar el PoW se necesita de un Hard Fork y BTG ha decidido ir por esa ruta. El PoW que ellos han elegido es Equihash, un algoritmo de memoria que es bastante resistente ASIC y que también es utilizado por ZCash. La idea es devolver la minería a los usuarios que pueden empezar a usar CPUs y GPUs para extraerlos. Para que me entiendan, Los ASIC son Circuitos Integrados de Aplicación Específicos. Son diferentes a los CPUs puesto que hacen una sola cosa, pero lo hacen realmente, muy bien. La minería de Bitcoin está dominada completamente por los ASICs, producida sobre todo por Bitmain, Bitfury y Canaan. Esto se debe en gran parte a que la función de PoW (SHA256) es razonablemente simple y no requiere mucha RAM. Equihash, por otro lado, es una bastante compleja función de hashing y requiere una gran cantidad de RAM para realizarla. Eso significa que es mucho más caro producir ASICs para Equihash y la ganancia de velocidad no es tanto.

Finalmente, en el mes de noviembre se viene otra bifurcación, este Hard Fork contaba con un gran apoyo de los mineros según el Acuerdo de Nueva York. Hasta hace poco, el apoyo para SegWit2x se mantenía en el 95%. Sin embargo, algunos de las empresas que firmaron, han incumplido su promesa, reduciendo significativamente el apoyo de los mineros. De este tema hablaremos más a fondo en artículo mucho más corto donde les contaré toda la polémica que ha causado esta última bifurcación.

bitcoin-forks.png

En conclusión, quizás nos preguntemos ¿por qué todo estos Hard Fork están sucediendo? ¿son bueno para bitcoin o no? En mi opinión existen tres razones verdaderas por la cual se han creado Hard Fork de Bitcoin.

  • Fama: en vez de crear una criptomoneda de la nada, literalmente creas un clon de la reputación de bitcoin, es decir, Bitcoin Cash nunca hubiera sido exitoso si solo se llamara Cash, a nadie le importara. Pero como existe este Bitcoin Cash se crea un gran Hype. Entonces, en vez de crear algo nuevo, los creadores de Bitcoin Cash prefirieron duplicar el código, la blockchain y por supuesto la reputación de Bitcoin.

  • Económico: la manera que está programado el bitcoin crea una centralización en cuanto al minado, beneficiando a empresas como Bitmain y gobiernos con grandes granjas de ASIC y al cambiar el código deja que otros colaboradores también participen, este es el propósito de la implementación de Bitcoin Gold.

  • Poder: en cuanto existe divergencias políticas y no logran llegar a un acuerdo en la manera como se debe solucionar las situaciones, se presenta una lucha de poderes con respecto al dominio de la moneda. Entonces, se implementa un Hard Fork donde cada parte toma las decisiones que se crean necesarias. Si la moneda bifurcada es la más aceptada se convertirá en la moneda principal, que es lo que pretende hacer el equipo de desarrolladores de Segwit2x.

BITHARDFORK.png

La segunda pregunta sobre si las Hard Fork van a ser buenas o malas, personalmente creo que son buenas, y esta repuesta te puede molestar, ya que es un fastidio tener que ser tan cuidadoso, estar pendientes de si van a tener un Replay Protection o no. Pero realmente lo que va suceder es lo siguiente: en el corto plazo puede significar dinero gratis. Y, para el largo plazo también va a ser bueno, ya que si en algún momento han leído una gran historia, el héroe siempre tiene su momentos altos y bajos, pero no se convertirá en un gran héroe hasta que no enfrente varios retos y podemos decir que esto es lo que está pasando con bitcoin si queremos que Bitcoin sea una moneda reconocida mundialmente debe vencer todos estos retos, retos tecnológicos, retos regulatorios, retos de la comunidad, para serles honesto en el largo plazo lo que está pasando en este momento es la única manera que las criptomonedas en general puedan ser aceptadas en el mundo entero creando así una adopción en masa.

Chiste original de Crypto Daily, un Youtuber muy recomendado
https://www.youtube.com/channel/UC67AEEecqFEc92nVvcqKdhA

U5drSynR7sidLZBPCQ5sqCq3Zvi7236.gif