Saltar al contenido

Cómo hacer Stonewall, Stowaway y StonewallX2 de Samourai

Muchas son las voces que han reclamado durante años unas herramientas de privacidad para Bitcoin, y aún existiendo algunas de ellas, no se han adoptado entre la gran parte de la comunidad debido a su complicación técnica.
Pues bien, ahora gracias al equipo de Samourai wallet tenemos la opción de complicarle la tarea a las empresas de análisis de cadena, de una manera fácil e intuitiva. Vamos a por ello.
Primero de todo, descargaremos la .apk de Samourai wallet, bien sea desde su página https://samouraiwallet.com/ o desde la play store de google. Recomendamos la opción de descargarla desde su página ya que nos permitirá entrar en modo testnet y así poder practicar con estas herramientas, viendo que es lo que pasa con cada opción.

Pantalla de descarga

Una vez realizada la comprobación de firmas y la app está instalada, generaremos nuestra cartera.

Abriendo Samourai por primera vez.

Antes de nada, Paynym!

Os preguntareis que es exactamente esto, pues paynym no es mas que un pseudónimo que se asigna a tu wallet junto con un avatar de un robot para ponerle cara a un hash generado a partir de los códigos de pago re-usables (BIP47)

Al entrar a Samourai solicitaremos el nuestro ¹.

Una vez lo tengamos podremos agregar usuarios de una manera muy sencilla, bien sea escaneando su código de paynym en formato QR, o copiando su dirección completa al portapapeles y pegandolo utilizando la opción de Paste payment code.

Al hacerlo, nos aparecerá en la pantalla quien estamos añadiendo y la imagen de su amigable robot. El nombre por defecto de su paynym lo podremos modificar para identificarlo mejor apretando el símbolo del lápiz¹.

Al añadir otro usuario, una vez le demos a seguir, nos aparecerá la opción de conectar con él. La diferencia es que “seguir” nos permitirá interactuar con él via soroban, siempre que él tambien nos siga, y “conectar”, a parte de hacer esto, nos permitirá enviarle fondos sin necesidad de pedirle direcciones. Remarcar que seguir a alguien es gratuito, y conectar con él tiene coste.

Destacar que si la contraparte no nos sigue, no podremos colaborar en modo online via Soroban.

Cuando los dos paynyms estén en “follow” o conectados entre sí, podremos empezar a jugar con Soroban online.

Vamos a tener tres herramientas diferenciadas para poder hacer envíos…

Primera herramienta: Stonewall

Stonewall es una simulación de Coinjoin donde se utilizan utxos de tu propia cartera para construir la tx, vamos a ver aquí exactamente en que consiste:

Para usarlo solo debemos entrar en la opción de enviar, pegar la dirección de envío¹ o en el icono de contactos² seleccionamos alguien que tengamos en paynyms con follow y conectar, introduciremos la cantidad para enviar, y haremos click en “revisar transacción” ³.

En la siguiente pantalla seleccionamos la fee, comprobamos que Stonewall está activado¹ y le daremos a “SEND” para proceder al envío. Esto no necesita colaboración de la contraparte, simplemente se enviará.

Pasamos a ver como se vería la TX en el explorador:

Y la solución al enigma aquí:

El total enviado es 0,015. El resto de UTXOs volverán a nuestra wallet en otras direcciones.

Video demostrativo de stonewall por Arkad:

Segunda herramienta: Stowaway

Stowaway nos permite hacer envío de fondos a otro usuario de samourai que tengamos seguido en paynym, donde tus utxos se mezclarán con los suyos haciendo un mini coinjoin real.

Para colaborar como emisor seguiremos los mismos pasos que antes, enviar, pegamos la dirección del usuario si no lo tenemos como conectado en paynym, o lo seleccionamos de contactos si lo tenemos conectado, introducimos cantidad, y activamos la opción de Cahoots ¹.

Automáticamente nos llevará a otra pantalla donde seleccionaremos el tipo de cahoots que queremos, en este caso Stowaway, y posteriormente podremos seleccionar si queremos hacerlo en persona ¹ a través de la lectura de códigos QR o si queremos efectuarlo vía soroban ONLINE ².

Si seleccionamos esta última opción se nos abrirá un desplegable donde elegiremos a quien queramos de nuestra lista de seguidos en paynym para realizarlo.

Una vez hecho esto, nos devolverá automáticamente a la pantalla de envío, donde veremos a quien va dirigido, cuanto enviamos, y observaremos que la opción de cahoots está activada¹ con una anotación debajo en verde que pone “Stowaway Online” ². Si todos los datos son correctos, le daremos a “revisar transacción”.

Verificamos los datos una vez mas en la pantalla posterior, seleccionamos la fee, y si todo es correcto, avisaremos al colaborador de que se ponga en modo de escucha, y una vez lo haga, apretaremos en “begin stowaway”. Esto lanzará la petición online de cahoots a la contraparte, y cuando la acepte, veremos como van avanzando los pasos sin necesidad de hacer nada en una pantalla que pone “Sending online Stowaway”, y en el punto 5/5 nos pedirá confirmación del envío.

Una vez lo realicemos, lo único que veremos es un mensaje que nos dirá “success”, y la tx del envío en nuestra wallet.

Para colaborar como receptor, el procedimiento es mas sencillo si cabe.

Dentro de samourai, abrimos la opción de recibir ¹, vamos a los tres puntos arriba a la derecha, seleccionamos “Receive online Cahoots”², y esto nos pondrá en escucha de peticiones de colaboración en una pantalla que pone arriba “Listen for online cahoots”, y abajo, “Waiting for Cahoots request”.

En cuanto el emisor, confirme la petición de cahoots online, nos aparecerá en nuestra pantalla de esta manera ¹, comprobamos lo que se está haciendo, y si queremos continuar, le daremos a [Si].

Una vez hecho esto, solo deberemos esperar a que avance la transacción por si sola hasta el final, y lo iremos viendo desde la pantalla de “Receiving online Stowaway” ².

En la cadena lo que se vería es esto:

Ahora desciframos lo sucedido aquí:

El user A envía 0.005 al user B, pero para ofuscar la tx el user B hace un input de 0,01 y el A 0,008. el user A recibe el cambio (0,003) menos las fees de la tx, y el user B recibe el 0,015 resultante de sumar su input, a la cantidad que se le enviaba.

Video demostrativo de Stowaway por Arkad:

Tercera y última: Stonewall X2

Con Stonewall X2 podremos enviar bitcoin realizando un coinjoin colaborativo entre dos usuarios, hacia una tercera dirección. Esta dirección puede ser de otra persona, o puede ser, por ejemplo, una dirección de vuestro cold storage. En la cadena, las transacciones de stonewall y las de stonewall X2 se ven idénticas.

Los pasos para su uso son iguales tanto para enviar, como para recibir que los de Stowaway, pero deberemos seleccionar Stonewallx2 en las pantallas, y durante el proceso veremos ese mismo cambio, donde nos indicará que se está realizando este tipo de operación, como en los siguientes ejemplos:

Y en el explorador se vería así:

Que desglosándo la TX sería tal que así:

Aquí vemos al User A enviando 0.005 al user B, en los input el user B pone 2 Utxos de 0,01, y
obtiene de salida, uno de 0,015 y otro de 0,01 restándole a este el 50% de las fees de la Tx. Por su
lado el user A pone en los input 0,015 + 0,01, y obtiene de salida 0,015 y su cambio, que era de
0,005, y a este UTXO de cambio le restamos el otro 50% de las fees.


Video demostrativo por Arkad:

Un recordatorio sobre UTXOs

Con todas estas herramientas de gasto, recordaros que jamás debéis consolidar UTXOS que tengan KYC con otros que sean anónimos, ya que todos lo que se consolide quedará “atado” a una sola entidad. Por eso es importante seleccionar que utxos queremos que participen en estas prácticas y cuales queremos marcar como “No gastables” para evitar desanonimizar nuestro UTXO set.

Para marcar los utxos como gastables/no gastables deberemos ir en nuestra página principal de samourai a los tres puntitos de la parte superior¹ e ir a “Mostrar salidas no utilizadas². En esa pantalla veremos todos los UTXOs que tenemos disponibles³.

Haremos click en el que queramos cambiar de estado de gastable a no gastable, entraremos a otra pantalla donde nos dará todos los datos de ese UTXO¹, haremos click en el dibujo de ajustes², y nos saldrán las opciones avanzadas³, aquí haremos click en spending status⁴.

Una vez hagamos click en spending status, solo nos parecerán dos opciones, “Spendable”, para poder usarlo y “Do not spend”, para bloquearlo. Seleccionamos la que queramos, y nos devolverá a la pantalla de los datos del UTXO. Si observamos en esa pantalla, veremos el estado¹ actual del mismo para salir de dudas.

Si seguís teniendo dudas de como efectuarlo, se recomienda visualizar el tutorial online de Arkad en el Directo bitcoin 2140.

Y si quieres saber que es lo que pasa con tus utxos cuando hacemos coinjoin y porqué es importante, procede a la lectura de este artículo con todo lujo de detalle de P_Hold:

https://estudiobitcoin.com/que-sucede-con-el-anonimato-de-tus-bitcoins-al-participar-en-un-coinjoin/

Imagenes del explorador de cadena y las soluciones extraídas del hilo de twitter de Arkad.

https://twitter.com/Multicripto/status/1334930834319618049

Imágenes originales de Stonewall, Stonewallx2 y Stowaway de @BitcoinQ_A, traducidas al español por mi.

Agradecer a Arkad y Lunaticoin la colaboración y ayuda en este tutorial, y animaros a todos a usar estas herramientas que harán nuestro bitcoin mas fungible.

¡Ahora con estas herramientas, no tenemos excusa para no hacer de cada gasto un coinjoin!


Sobre el autor de este artículo:

Predicador de la tecnología y el cambio de paradigma que supone bitcoin a toda persona allegada que tenga ganas de escuchar, y tendiendo la mano para ayudar a todo aquel que lo necesite, porque esta es la filosofía que no puedes ver escrita, pero se te revela cuando entras a formar parte de la comunidad. Yo elegí la pastilla roja.
@LChavo (en Telegram)
💰 ¿Te ha ayudado el artículo? Agradéceslo al autor con una donación
Paynym: +royalmouse733