En este artículo exploraremos brevemente pero de forma muy didáctica, es decir, sobre el concepto, la historia, los cambios y la tecnología que hay detrás de SegWit que soporta y es tan importante para el Bitcoin, la principal criptomoneda conocida en el mercado.
Por lo tanto, Segregated Witness (Segwit) o Testigo Segregado en español, en pocas palabras, significa separar (eliminar datos no esenciales dentro de) las firmas de transacción de un bloque para hacer al mismo más grande y eficiente.
¿Que es SegWit?
Segwit hace referencia al proceso mediante el cual se aumenta el límite del tamaño de bloque en una cadena de bloques mediante la eliminación de datos de firma de las transacciones de Bitcoin. Cuando se eliminan ciertas partes de una transacción, esto libera espacio o capacidad para agregar más transacciones a la cadena.
Por lo tanto, podemos concluir que SegWit es una actualización del formato de transacción que permite que las transacciones de SegWit eludan el límite de 1 MB para el tamaño de bloque, apoyándose en el uso de las nuevas direcciones bajo el formato bech32.
¿Y que es un Bloque?
Son las unidades que conforman una cadena de bloques (Blockchain). Cada bloque esta conformado por un hash (código criptográfico) que hace referencia al siguiente bloque de la cadena, con la finalidad de hacer imposible que alguien pueda quitar o modificar bloques, y por lo tanto, posibilitar que esto sea detectado por los miembros de la red.
Además de los hash, un bloque también contiene todas las transacciones aún no confirmadas por la red, y un nonce, es decir, un campo de 32 bits (4 bytes) cuyo valor se establece de modo que el hash del bloque contenga una ristra de ceros. El resto de los campos no se pueden cambiar, ya que tienen un significado definido.
¿Y porque crear un Bloque es tan difícil?
Para que alguien pueda crear un bloque deberá encontrar un nonce de manera tal que el hash del bloque esté por debajo de cierto umbral. Esto soló puede lograrse probando todos los nonces, uno tras otro, hasta que se encuentre uno con el hash deseado; cuanto menor es el objetivo, más difícil es lograrlo.
El motivo por el cual la creación de bloques es deliberadamente difícil, es el de prevenir que alguien pueda gastar bitcoins y luego crear y distribuir su propia cadena de bloques en donde no figure dicha transacción, lo cual le daría la posibilidad de gastarlos nuevamente. Cuando un bloque válido es creado, es distribuido a través de la red, y se comienza el trabajo para crear el próximo bloque.
¿SegWit solo para la escalabilidad?
SegWit ofrece una gama funcionalidades (ventajas). Hoy día la importancia del uso del mismo se ha desplazado desde fijar la maleabilidad de la transacción a solucionar el problema de escala de Bitcoin. La maleabilidad del bitcoin es un defecto de la red en la que opera el mismo.
Esto de la maleabilidad también se conoce con el nombre de «Problema de maleabilidad de las transacciones», el cual plantea que incluso aunque cada transacción este firmada criptográficamente, la firma no abarca todos los datos de transacción, lo que hace posibles varias formas diferentes de perder o robar bitcoins.
¿Segwit o SegWit2X?
Pero, específicamente SegWit se enfoca en aumentar la cantidad de transacciones, la velocidad de verificación y los recursos que normalmente emplea, mejorando así la gestión de la red a nivel de tráfico e incluso la de los bloques con datos, lo cual implicaría un menor uso de banda ancha para las operaciones.
No debe ser confundido con SegWit2X, que fue una propuesta que proponía ligeros cambios de funcionamientos del SegWit original pero haciendo énfasis en aumentar el límite máximo del tamaño de los bloques a 2 MB por medio de un hard fork luego de seis meses (alrededor del 23 de mayo de 2017 para el tiempo en que fue propuesto). El Segwit2X luego de ser implementado, con el tiempo los desarrolladores de SegWit2x anunciaron que el hard fork previsto para el 16 de noviembre de 2017 fue cancelado debido a la falta de consenso entre los miembros (mineros) de la red.
Actualizaciones más recientes de SegWit
- BIP91 «Umbral reducido Segwit MASF». Activado: 27 de Julio de 2017
- BIP141 «Segregated Witness (Capa de Consenso)». Activado: 24 de Agosto de 2017
- BIP142 «Formato de Dirección para Segregated Witness». Descartado y reemplazado por: BIP 173
- BIP143 «Firma de Verificación de Transacción para la Versión 0 del Programa Witness». Activado: 24 de Agosto de 2017
- BIP144 «Segregated Witness (Peer Services)». Activado el 24 de agosto de 2017
- BIP148 «Activación obligatoria del despliegue de Segwit despliegue». Activado: Ordenó la activación de BIP141, 143, 144
- BIP173 «Direcciones de tipo Bech32 direcciones, Versión 0.16.0 del cliente Bitcoin Core». Activado: 26 febrero de 2018
El Futuro de SegWit
Para la versión 0.16.0 de Bitcoin Core ya implementada desde febrero de este año hay nuevas características, varias correcciones de errores y mejoras de rendimiento, soportadas por los cambios actuales dentro de SegWit, que se traducen en beneficios para el usuario final, al significar principalmente tiempos de espera de procesamiento de transacción más reducidos.
Y ahora SegWit se enfoca en su integración a las Billeteras, las interfaces de usuario, y a las llamadas soluciones de «Capa 2», tales como y principalmente Lightning Network.
En palabras de Jimmy Song, desarrollador clave de Bitcoin y socio de riesgo en Blockchain Capital:
«El soporte Segwit nativo (bech32) va a tener mucha más adopción como resultado de esta actualización (0.16.0). Esto reducirá la hinchazón del bloque y alentará a más billeteras en el ecosistema a adoptar bech32».
El principal objetivo que es la escalabilidad, es decir, el que los bloques tengan un límite codificado de 1 MB, el cual no es suficiente para gestionar eficientemente los cientos o miles de transacciones que los usuarios están intentando enviar cada minuto, y por las cuales tienen que esperar en línea hasta que su transacción pueda ser confirmada; durante muchas o horas y a veces días, mientras sigue creciendo el tamaño de la red, aumenta la intensidad de la transacción, es:
Permitir un aumento inmediato del límite de tamaño de bloque a 4 MB, como tamaño máximo absoluto permitido, mientras que el tamaño real del bloque dependerá de las condiciones de la red, el cual expertos estiman que estará en el rango de los 2 MB.
Aunque para estos próximos días ya se esta hablando de un nuevo fork dentro de Bitcoin Cash (BCH) que permitirá llevar de 8 MB a 32 MB el tamaño de los Bloques.
Si deseas aprender un poco más sobre este tema u otro relacionado consulta nuestra sección de noticias sobre criptomonedas en la que podrás leer temas relacionados con la la temática de las Tecnologías Financieras, El Criptocomercio y las Criptomonedas
Si deseas conocer un poco más sobre SegWit entonces sería bueno que consultaras la página web oficial de SegWit en: Resources o este otro enlace externo en Steemit.
Y este buen vídeo sobre el tema te podría ayudar un poco más: Segwit vs Segwit2X Explicación simple en español.