Bitcoin acaba de adoptar las direcciones de Bech32, y Witnet hará lo mismo ?

Bech32, la solución líder para las direcciones de billetera de criptomonedas, ahora es la predeterminada para Bitcoin y Witnet por igual. ¡Descubra por qué esta es una gran noticia para UX y por qué estamos tan entusiasmados con ella!

Wgallina diseñando un protocolo desde cero, hay un lugar importante para buscar inspiración sobre cómo resolver muchos desafíos clave: el repositorio GitHub de Bitcoin.

Satoshi Nakamoto y los muchos cientos quienes han estado desarrollando Bitcoin en la última década merecen una seria propina por su admirable arquitectura innovadora y diseño de protocolo. La mayoría de sus decisiones realmente han valido la pena, independientemente del "invierno criptográfico", Bitcoin ahora es más difícil, mejor, más rápido y más fuerte que nunca

Sin embargo, Satoshi tomó un puñado de decisiones en 2008 que no han resistido la prueba del tiempo está bien. Uno de los más notables es el formato de dirección ampliamente utilizado y odiado de Bitcoin. ¿Qué tiene de malo? Vamos a explorar.

El formato clásico de dirección de Bitcoin, a saber Base58Check – se veía así: 3N5u1Aegg49UBt9r7u2rsdMojKDB93WpZN. Estas direcciones sufrieron innumerables problemas desde una perspectiva UX. Si alguna vez has usado Bitcoin, la mayoría de ellos te resultará familiar:

Debido a su uso mixto de mayúsculas y minúsculas, son terribles de leer en voz alta. ¿Necesita solicitar un pago por teléfono? Bienvenido a una experiencia encantadora "¿cuál es la contraseña de WiFi?". Por la misma razón, escribir direcciones en un teléfono inteligente es realmente infernal. Debe cambiar del modo de mayúsculas a minúsculas una y otra vez. UX en su mejor momento, ¿eh?Escribir direcciones a mano no es fácil ya sea. Muchos de los caracteres utilizados cuando se codifica pueden ser muy similares cuando se escriben a mano, p. g vs. 9, 6 vs b, u vs. v, etc. Además de esto, las cosas pueden ser mucho más confusas para las personas cuya lengua materna utiliza un sistema de escritura diferente (cirílico, guiones familiares chinos, etc.)La representación de direcciones en códigos QR da como resultado una imagen innecesariamente grande y compleja. Nuevamente, debido a la combinación de mayúsculas y minúsculas, no podemos aprovechar el modo de codificación alfanumérica del estándar ISO 18004. En cambio, necesitamos usar el modo byte, que produce códigos QR que son hasta un 45% más grandes. usar una base no estándar y un conjunto de caracteres es una elección extraña, ya que existen codificaciones estándar, que son compatibles con todos los lenguajes de programación y plataformas (base32, base64, etc.). La elección es aún más confusa cuando notamos que la base no es una potencia de 2, causando una desagradable desalineación entre los bits codificados y los caracteres resultantes, es decir, cada carácter codificará ~ 5.85798099513 bits. WTF?

Bech32 es una solución muy superior para codificar direcciones de billetera de criptomonedas. Propuesto por Pieter Wuille y Gregory Maxwell en 2017 a través de BIP-0173, hace que las direcciones se vean así: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4.

A pesar de la cadena de salida ligeramente más larga, el las ventajas son numerosas:

Utiliza una base estándar de 32 caracteres, especialmente diseñado para ser fácil de leer en voz alta, escribir en el teléfono o escribir a mano.Eso aprovecha el modo de codificación alfanumérica del código QR. La diferencia de tamaño se nota fácilmente: Comparación de códigos QR Base58Check vs. Bech32 por Romano RNRThe algoritmo de suma de comprobación (Códigos BCH – de ahí el Bech en Bech32) es Más rápido que Base58Check's y capaz de detectar exactamente dónde cometiste un error tipográfico Al escribir una dirección. Para las salidas P2WPKH Bitcoin, los códigos BCH pueden garantizar la detección de hasta 8 caracteres mal escritos no consecutivos. "Parte legible por humanos" en el frente que se usa como un prefijo para identificar la cadena específica a la que pertenece la dirección. Los prefijos de Bitcoin son bc para mainnet y tb para testnet. En caso de una bifurcación contenciosa, esto efectivamente evita que sus antiguas direcciones de Bitcoin sean válidas en la cadena bifurcada (tan pronto como adopten un nuevo prefijo).

Como un protocolo oráculo descentralizado que se ejecuta en su propia cadena, Witnet comparte muchos objetivos de diseño con Bitcoin. La comunidad Witnet está constantemente al acecho en el espacio de Bitcoin, vigilando las nuevas y emocionantes características que puede adoptar el protocolo Witnet. Como una pieza de tecnología más incipiente y experimental, es mucho más fácil y rápido implementar esas funciones en Witnet que en Bitcoin.

Tomar como ejemplo ceder. A principios de este año, el protocolo Witnet se apropió de esto medida de seguridad P2P crucial del protocolo Bitcoin:

Pero no estamos subiendo al carro aquí. Las direcciones Bech32 se han utilizado en Witnet de forma predeterminada desde los primeros días de su primer testnet Hace casi un año. twit1xq00m6e0lalrnstgfghfh8w7pd03pux8u8l320 es la dirección Bech32 del minero superior en el testnet de Witnet.

Viendo Bech32 habilitado de forma predeterminada en Bitcoin Core 0.19.1 nos enorgullece del emocionante progreso que la comunidad en torno a blockchains públicos está haciendo en estos días.

Existen muchas otras características que implementaremos en los próximos meses que esperamos que algún día también se integren en Bitcoin, comenzando con Diente de león, discutido anteriormente aquí. Usando Witnet como un banco de pruebas para esas innovaciones es nuestra mejor manera de pagar a la comunidad de Bitcoin por su trabajo incesante, ya que las lecciones que aprendamos serán útiles para mover Bitcoin hacia adelante.