Próxima bifurcación de Wasabi Wallet

Durante la reunión de desarrolladores de ayer se planteó una idea interesante que nos permitiría implementar una forma básica de Mezcla de entrada desigual con modificaciones mínimas al protocolo actual de Wasabi Wallet. Si bien esto en sí mismo no requiere un hard fork, podríamos implementarlo de una manera más elegante con un hard fork.

Antes de eso, ¿qué es un hard fork en Wasabi y por qué es un buen momento para hacerlo?

Antecedentes: Wasabi HardFork

Todos los clientes de Wasabi están c conectados a un coordinador y a la red P2P de Bitcoin. La conexión con el coordinador se muestra mediante Tor y el estado del backend y la conexión a la red P2P se muestra mediante la cantidad de pares a los que estás conectado en tu barra de estado:

Cuando hay una nueva versión de cliente disponible, el coordinador se lo dice a los clientes y aparecerá una notificación en su barra de estado:

En este caso, puede utilizar Wasabi con su versión anterior. Sin embargo, a veces el coordinador y el cliente deben actualizarse al mismo tiempo, eso es lo que llamamos hard fork. En este caso, verá lo siguiente:

Lo que sucede bajo el capó es que aumento la versión del coordinador, que llega a la URL de la solicitud, excepto por la solicitud de verificación de versión. Por lo tanto, su billetera no podrá utilizarse y deberá actualizarla. Esto es lo que llamamos hard fork de Wasabi.

En julio hemos previsto tres bifurcaciones duras de este tipo. Hemos realizado el primero alrededor de 2 semanas ™ después del lanzamiento de la versión Beta, por lo que se esperan dos más y esta publicación es sobre la segunda.

Firmas ciegas de Schnorr

En aquel entonces, lontivero implementó Schnorr Blind Signatures en NBitcoin, pero no queríamos reemplazar nuestro esquema, debido a que Chaumian Blind Signatures funcionaba bien. Sin embargo, ha madurado para el reemplazo y ha surgido con la idea en esta publicación de blog que agregaremos esta mejora al hard fork de Wasabi.
Un efecto secundario interesante será que no deberíamos llamar al esquema de coinjoin de Wasabi “Chaumian CoinJoins”, porque ahora no utilizará las firmas ciegas de Chaum, sino más bien “Schnorrian CoinJoin” o el nombre que sea.

Si está interesado en las firmas ciegas de Schnorr, consulte la charla de Nick Jonas de Blockstream en la conferencia Building on Bitcoin:

Nueva clave de firma en cada ronda

En 2017, el desarrollador de Samourai, Antoine Walter, me llamó la atención sobre una vulnerabilidad DoS en el protocolo ZeroLink, que terminé resolviendo al introducir un “RoundHash”. Dejando de lado los detalles técnicos por qué, este RoundHash resultó ser un factor limitante serio de varias maneras, lo más doloroso fue que no pude lanzar una ronda de retroceso con el número restante de participantes cuando falló una ronda de coinjoin.
Saliendo Para saber por qué eso es importante e incluso más detalles técnicos, podríamos eliminar este “RoundHash” si usáramos una nueva clave de firma en cada ronda, lo que nos lleva a la innovación final y más emocionante con respecto al próximo hard fork de Wasabi:

Extensión básica de mezcla de entrada desigual

Uno de los principales problemas con Wasabi es que, si tienes demasiado dinero, tardarás una eternidad en mezclar. Hay algunos otros y una forma bien investigada de mezcla de entrada desigual resolvería la mayoría de ellos. Pero eso requiere investigación y una reimplementación completa del protocolo, que estamos absolutamente planeando hacer , y estamos felizmente recompensando a aquellos que están contribuyendo a la conversación en curso en este campo con algunos bonitos cinturones de colores en nuestro Dojo, pero no tenemos recursos para hacer una investigación seria al respecto hoy. Más bien, durante la reunión de desarrollo de ayer, Molnard planteó la idea de que podríamos hacer algunos ajustes más pequeños al protocolo actual, que se asemeja a la mezcla de entrada desigual. Me tomé el tiempo y elaboré este esquema.

La intuición es la siguiente. Podríamos asignar claves de firma a los niveles y los niveles serían los multiplicadores de la denominación de mezcla. No se preocupe si no entendió, veamos un ejemplo:

Mezclar hoy

Mezclar después de un tenedor duro

En este esquema también mezclamos los cambios. Una cosa que puede notar es que puede haber mezclas más óptimas allí, sin embargo, hay un par de problemas con eso.

Conclusión

Podrá mezclar cantidades mayores con Wasabi de forma más rápida y económica.

Pero, de nuevo, esta no es una investigación completa de Mezcla de cantidades desiguales, es solo una fruta madura.

Finalmente, también vale la pena mencionar que no necesitaríamos nada de esta mierda si Bitcoin tuviera Transacciones Confidenciales o algún tipo de ceguera de cantidad.