Este es un editorial de opinión de Arman The Parman, un educador de Bitcoin apasionado por la privacidad.
Durante muchos años, he jugado con varias billeteras de Bitcoin y he asesorado a muchas personas para que mantengan sus claves privadas de forma segura. Me decidí por”Electrum Desktop Wallet“como mi cartera de software favorita y más versátil.
En este ensayo, describiré algunas de las características de Electrum y mis gustos y disgustos. Esta no es una guía detallada sobre cómo usarlo y sacarle el máximo provecho. Tampoco entraré en por qué debería tener sus propias claves de Bitcoin; se supone que sabe y desea hacer esto, pero si necesita saber por qué es esencial, consulte”Seis razones para retirar su Bitcoin de los intercambios”.
He experimentado de primera mano las idiosincrasias de Electrum y encontré soluciones para superarlas; si se usa correctamente, es la billetera más poderosa que he encontrado.
Electrum es para la persona que es, o aspira a ser, un usuario”poderoso”. Debido a que permite tanto control y debido a mi familiaridad con el software, elijo enseñar esta billetera a la mayoría de los estudiantes como parte de mi privacidad/seguridad de Bitcoin curso de tutoría (aunque algunas personas necesitan algo más sencillo de usar). La experiencia de enseñar a usarlo ciertamente me ha ayudado a comprender lo que la gente encuentra intuitivo y lo que encuentran complicado.
Para el nuevo Bitcoiner que lo hace solo, Electrum sería totalmente seguro de usar, siempre que tomen su tiempo y usarlo en un entorno de prueba con solo una pequeña cantidad de satélites al principio.
Sistema operativo
Electrum se puede instalar en una PC con Windows, una computadora Mac o una PC con Linux y, lo que es más importante, para algunos, en computadoras con chips ARM (es decir, Raspberry Pi).
También se puede instalar en un teléfono, pero la funcionalidad de la versión móvil es deficiente y su conexión a los nodos ha sido errática, por lo que no recomiendo esa versión. BlueWallet es una buena alternativa para la billetera de un teléfono.
Descargar y verificar
Descargar e instalar el programa es sencillo para Windows y Mac, y un poco complicado para los usuarios de Linux, particularmente aquellos que todavía están aprendiendo a usar Linux.
Para aquellos que acaban de probar el programa, simplemente descárguenlo y utilícenlo sin verificar que el software esté bien; simplemente no lo haría por grandes cantidades, o si la privacidad es un problema. gran preocupación (es decir, si tiene bitcoins libres de KYC, debe practicar una buena privacidad para mantener las monedas no identificables).
Si de hecho va a terminar usando esta billetera por una suma significativa, entonces debe aprender a verificar el software con gpg. Puedes desarrollar tus habilidades en torno a esto aquí. Puede hacerlo mientras espera mi guía sobre cómo usar Electrum de forma segura/privada.
El entorno
Un problema con Electrum es que si ejecuta el programa de la manera más intuitiva (es decir, simplemente haga doble clic en el ícono) en lugar de la línea de comando (con ciertas banderas), es casi seguro que se conectará a un nodo de Bitcoin aleatorio que expondrá su billetera y todos sus 8.600 millones de direcciones potenciales al propietario del nodo aleatorio: el el propietario podría ser una empresa de vigilancia, y ahí va tu privacidad (obtendrán todas tus direcciones usadas y no usadas, y tu dirección IP).
Para superar esto, te enseñaré, en la próxima entrega, cómo cargar primero una billetera desechable, optimizar la configuración de su red (conéctese a su propio nodo o a uno en el que confíe) y solo luego cargue su billetera real en Electrum.
Algunas personas pueden perderse en lo que Me refiero a la configuración de red o nodos. Puede obtener más información sobre eso aquí si tiene ganas de ir por la tangente muy importante.
La billetera Electrum tiene un diseño muy limpio que muestra sus direcciones, aunque debe saber ir al menú y seleccionar”mostrar direcciones” para verlo. Luego obtendrá una lista de sus primeras 20 direcciones de recepción resaltadas en verde (tiene 4600 millones de estas pero obviamente no se muestran todas) y una lista de sus primeras 10 direcciones de recepción resaltadas en amarillo (de nuevo, tiene 4600 millones de este tipo ).
Muchos otros monederos de software no muestran una lista de direcciones y solo proporcionan una dirección cuando se les solicita que envíen monedas al monedero. Esto oculta información del usuario para simplificar las cosas, pero el usuario tiende a permanecer ignorante, ya que no se le presenta la oportunidad de aprender. He conocido a muchas personas que usan Ledger Live o la suite Trezor, o Blue Wallet en su teléfono, y no se dan cuenta de que tienen direcciones ilimitadas, y mucho menos algo llamado”cambiar”direcciones.
Electrum también muestra una lista de todos sus UTXO (pero debe seleccionar”mostrar monedas”) para habilitar eso.
El servidor Electrum es necesario
La billetera Electrum no puede conectarse directamente a su nodo Bitcoin Core. Esto es molesto, pero hace que el electrum funcione más rápido. Mucho mas rápido. Todavía necesita Bitcoin Core, pero también necesitará un software llamado Electrum Server (del cual hay diferentes variedades, cada una con sus ventajas y desventajas, que no entraré aquí). Instalar Bitcoin Core es bastante difícil para algunas personas. Instalar Electrum Server es MUCHO más difícil, realmente necesitas ser bastante técnico.
Para mayor facilidad y refuerzo positivo, recomiendo a las personas que instalen, para su primer nodo, un paquete de nodos como MyNode (ver mi guía) o Raspiblitz (ver mi guía), antes de continuar con la instalación de un nodo y el software asociado en una PC normal.
Estos paquetes tienen algunas debilidades, pero son excelentes para empezar porque con un solo proceso de instalación en una Raspberry Pi 4, obtienes muchas aplicaciones (como Electrum Server, Lightning, BTCPay Server, Mempool viewer, que de lo contrario, tendrá que instalar uno por uno y posiblemente verificar) y el costo es de solo $ 300 por todo el equipo (el software es gratuito). A medida que sus habilidades e interés progresen, recomiendo que las personas busquen configuraciones de nodos más avanzadas (ninguna de las cuales es costosa). En caso de que se pregunte por qué debería ejecutar un nodo, aquí hay seis razones excelentes.
Creación de billetera
Creo que es útil definir los dos tipos de billetera antes de continuar. mucho más:
Monedero de software: este es el programa que administra sus direcciones y claves privadas de Bitcoin. Por ejemplo, Electrum, Sparrow, Blue Wallet.Bitcoin wallet: con esto, me refiero a la colección de direcciones únicas que se crean de manera determinista (y reproducible) a partir de su frase semilla mnemotécnica (generalmente 12 o 24 palabras): cada frase semilla tiene 8.6 mil millones de direcciones únicas que puede acceder/crear.
Electrum, por defecto, crea monederos que no son estándar, lo cual es muy molesto. El protocolo más común se llama BIP39 (Propuesta de mejora de Bitcoin 39) que usarán casi todas las billeteras.
Eso significa que las 12 o 24 palabras que creó su billetera BIP39 serán compatibles con otras billeteras BIP39, de modo que si pierde su billetera de software (o hardware), puede recuperarla ingresando su sembrar palabras en cualquier billetera BIP39 compatible; no tiene que ser de la misma marca.
El desarrollador de Electrum, sin embargo, tiene sus propios planes y cree que el estándar de la industria no es seguro (tiene una preocupación escandalosamente poco realista sobre BIP39). En lugar de BIP39, Electrum crea billeteras basadas en su propio protocolo, que ninguna otra billetera usa de forma predeterminada. Desafortunadamente, si crea una frase inicial de Electrum, solo puede usar esa frase inicial con Electrum.
Es importante destacar que Electrum le permitirá restaurar una billetera BIP39 en ella, pero debe saber cómo hacerlo. Sin embargo, no creará una billetera BIP39 para usted. Pero hay formas de evitar esto.
También puede simplemente cargar una sola dirección en Electrum para observar su saldo; ni siquiera tiene que ser suyo (aunque, no se haga ideas sobre cómo gastar el saldo , eso no es posible a menos que cargue la clave privada, en cuyo caso la dirección sería suya).
Al crear o restaurar una billetera Bitcoin con Electrum, puede elegir qué tipo de dirección tener:
Legacy: estas direcciones comienzan con 1: las direcciones originales de Bitcoin. Pay-to-Script-Hash: todas estas direcciones comienzan con’3′. , o “Bech32”). Estos son los más utilizados ahora. Todos comienzan con”bc1q”. Taproot. Esto es nuevo y aún no es compatible con Electrum. Taproot fue una bifurcación suave en 2021. Las direcciones comienzan con”bc1p”.
Los primeros tres tipos de direcciones enumerados tienen claves públicas extendidas que se ven un poco diferentes entre sí. Comienzan con xPub, yPub y zPub, respectivamente. Creo que taproot es tPub pero todavía me estoy familiarizando con eso. Para obtener más material educativo sobre las claves públicas y privadas de Bitcoin, puede leer aquí.
Etiquetas
Esta característica no es única, pero es muy importante tenerla si desea mantener la privacidad a través de un buen control de monedas. Al etiquetar sus UTXO, sabrá cuáles es posible que desee evitar gastar junto con otros. Por ejemplo, si tiene una moneda mixta o sin KYC, la selecciona junto con una moneda KYC y envía el total combinado a alguna parte, entonces la moneda privada puede identificarse como perteneciente a quien posee la moneda KYC (ya que alguien tenía la capacidad de gastar ambos juntos). No hagas eso. Las etiquetas se pueden guardar en un archivo para que se puedan cargar en una computadora diferente si tiene billeteras duplicadas.
Selección de monedas
La selección de monedas es una gran característica. Puede ir a las ventanas de su dirección y elegir la moneda que desea gastar, o agrupar varias de ellas para gastar. Si no selecciona qué moneda desea gastar, como cualquier otro software, Electrum elegirá la”mejor”moneda para gastar por usted, pero el software no siempre sabe qué es lo mejor. No sabe qué monedas no fusionar, cuáles son ataques de polvo y cuáles están mezcladas. Lo sabe, porque los ha etiquetado y luego puede decidir cómo administrarlo.
Enviar/Recibir
El proceso de envío de pagos de bitcoin es muy”ajustable”.”Puede mantenerlo simple, pero también hay un botón avanzado que animo a las personas a usar siempre, al menos aprenda a familiarizarse. Aquí puede ver exactamente los elementos importantes de la transacción de Bitcoin: las entradas (con ID de Tx y direcciones), las salidas, si alguna de las direcciones enumeradas se encuentra en su propia billetera o no (a través de un código de colores), la tarifa de minería y un la capacidad de ajustarlo, el tamaño de la transacción (en bytes), si hay un tiempo de bloqueo y si está habilitado el reemplazo por tarifa. No necesita saber de inmediato qué significan todas estas cosas, pero al menos están ahí y, a medida que adquiera experiencia, sabrá qué cosas aprender.
Al recibir, puede ir a la pestaña de recepción y se le proporcionará la siguiente dirección no utilizada; con eso puede copiar/pegar según sea necesario o generar un código QR. Alternativamente, puede ir a la ventana de dirección y seleccionar cualquier dirección que vea para crear una factura. Puede hacer clic con el botón derecho, seleccionar detalles y verá un botón para crear un código QR de la dirección o simplemente puede copiar el texto de la dirección.
Tan pronto como se realiza un pago a una dirección y está esperando en el mempool, Electrum le mostrará el pago sentado con la dirección, lo cual es útil: no necesita esperar a un minero para extraer la moneda para que sepas que se acerca el pago. Electrum también te permite gastar una moneda no confirmada.
Si un remitente ha establecido una tarifa muy baja y la confirmación tarda un poco, puede acelerar el pago gastando la transacción no confirmada en otra de sus direcciones. En esa segunda transacción (descendente), podría agregar una tarifa de minería alta. Para cobrar la tarifa, un minero tendría que incluir la primera transacción (no lucrativa) y la transacción posterior que creó (lucrativa), ¿por qué? Porque la segunda transacción no es válida hasta que la primera transacción sea válida (ya que no puede gastar monedas que teóricamente no existen). Esta técnica se llama”el niño paga por el padre”.
Otra técnica posible con Electrum, para acelerar los pagos, se llama RBF (replace by fee). Esto no es posible para el beneficiario hacer lo descrito anteriormente con”el niño paga por el padre”. En cambio, un receptor impaciente debe pedirle al remitente que realice un RBF. El remitente volverá a enviar el UTXO original que se ha”gastado”pero que aún no se ha extraído a la cadena de bloques. Esa UTXO se puede poner en una transacción alternativa (gasto a la misma dirección que la primera transacción, u otra), y con una tarifa de minería más alta. Cualquiera de las dos transacciones que se extraiga primero será válida y la otra dejará de ser válida.
Como nota al margen, RBF permite la posibilidad de fraude. Si un receptor (comerciante) acepta una transacción no confirmada como”pago recibido”y entrega los bienes al remitente del pago, el remitente tiene la oportunidad de realizar una transacción RBF antes de que se extraiga el pago original. Usarían su propia dirección como destinatario del pago y agregarían una tarifa alta. Cuando se extrae, la transacción original se vuelve inválida, todos los nodos del mempool la eliminan y el saldo de la billetera del comerciante desaparece. Es por eso que notará que los intercambios de Bitcoin, cuando deposita bitcoin, esperarán la confirmación en la cadena de bloques antes de acreditar su cuenta.
Carteras de múltiples firmas
Electrum administra billeteras de múltiples firmas muy bien , y por un tiempo creo que fue la única billetera de software que podías usar. Puede tener cosignatarios con teclas de acceso rápido (carteras de software) o teclas frías (carteras de hardware de conexión). Las claves públicas de múltiples firmas se pueden crear una a la vez, en diferentes días, en diferentes lugares en diferentes computadoras (o billeteras de hardware); distribuirlas reduce el riesgo de un punto único de falla/ataque. Depende de usted hasta dónde tome las precauciones.
Se pueden encontrar detalles adicionales sobre monederos y claves multisig aquí, y tendré una guía sobre cómo hacer estas billeteras en el futuro. El proceso de creación de la billetera es excelente, pero tiene algunas peculiaridades que se vuelven irrelevantes una vez que las conoce.
Me gusta mucho cómo Electrum maneja las transacciones de Bitcoin parcialmente firmadas (PSBT), una característica importante de las billeteras multisig, que se analiza a continuación.
PSBT
Una transacción de bitcoin de Electrum está representado por solo un montón de texto (que a su vez representan números binarios, como lo son todos los datos de la computadora). Tiene la posibilidad de guardar ese texto en un archivo, un código QR o en el portapapeles (como texto, para copiar/pegar en un correo electrónico, por ejemplo). Ese texto se puede enviar a cualquier lugar y como quieras. Si lo desea, puede extraer el texto y enviarlo por correo electrónico, una carta física, código Morse, señales de humo, ondas gravitacionales en el tiempo a través de un agujero negro o danza interpretativa, eso depende de usted.
Electrum te ofrece la posibilidad de extraer ese texto y guardarlo, antes de firmarlo, después de firmarlo o en una configuración de firma múltiple cuando está parcialmente firmado.
La firma múltiple es particularmente interesante. Si hay, por ejemplo, 3 poseedores de claves en todo el mundo, puede firmar una transacción en su computadora, extraer la transacción de Bitcoin parcialmente firmada, enviarla por correo electrónico (o código QR a través de una videollamada) a otro participante en el extranjero, pueden importarlo, firmar luego envíelo a la tercera persona para que lo firme y lo transmita. No, esto no es exclusivo de Electrum, simplemente me gusta cómo lo maneja Electrum. Sin embargo, el flujo de trabajo no es intuitivo y requiere práctica.
Pagar a muchos (PayJoin y CoinJoin)
Hay una función oculta (buscar en los menús) donde puede elegir varios destinos ( salidas múltiples) al gastar. Por ejemplo, puede tomar 6,15 bitcoins y enviar 0,01 bitcoins a 615 empleados diferentes, todo en una sola transacción. Esta característica le permite crear PayJoins manualmente, algo que solo una minoría de personas haría, o incluso entendería, pero de todos modos es genial.
Pay to Many también le permite crear sus propios CoinJoins manuales. Para obtener más información sobre qué es y cómo hacerlo, consulte esta guía.
Límite de brecha
Una característica importante que no todas las billeteras tienen es la capacidad de establecer el límite de brecha. Como mencioné anteriormente, cada billetera es una colección de 8600 millones de direcciones. La billetera de software debe conectarse a un nodo y preguntar si una dirección tiene bitcoin asociado. No va a comprobar los 8.600 millones de ellos. Electrum solicita las primeras 20 direcciones. Si son uds, pedirá otros 20, y así sucesivamente. Mantendrá esto hasta que el nodo devuelva 20 direcciones sin usar seguidas.
Esta es una forma de explicar que el límite de espacio predeterminado es 20, pero puede cambiarlo. ¿Por que lo harias? Porque a veces los comerciantes permiten que los clientes generen direcciones de bitcoin ellos mismos a través de una aplicación de pago (como mi página de donaciones, sugerencia-sugerencia). Si los primeros 20 clientes emiten facturas (una dirección cada uno, proporcionada secuencialmente por la aplicación), y luego el cliente número 21 genera una factura y paga, la billetera Electrum aparecerá vacía. Esto sucede porque se consultarán las primeras 20 direcciones, se encontrará que no están en uso y luego Electrum dejará de buscar. Electrum te permite cambiar el límite de brecha, por ejemplo, a 500 pero no hay instrucciones, tendrías que investigar en línea o encontrarlo aquí mismo:
Primero tendrás que ir al menú: view→show console, y luego escriba este comando en la consola (por supuesto, el”500″se puede cambiar a otro número):
wallet.change_gap_limit(500)
Con esto comando, verá 500 direcciones nuevas en la ventana de dirección.
Monederos de observación
Estos son monederos sin claves privadas, necesarios para que los monederos de hardware se conecten. La mayoría de las personas con una billetera de hardware usan el software en la computadora que”viene con”el dispositivo, pero generalmente no son de código abierto. Electrum es una alternativa que se puede utilizar con cualquier dispositivo de hardware.
Computadoras Air-Gapped
Es posible instalar Electrum en una computadora que nunca puede conectarse a Internet (Air-computadora con brechas). Esa computadora se puede usar para verificar que la frase semilla que proporciona una billetera de hardware haya creado las direcciones correctas a partir de la semilla.
Por ejemplo, puede comprar una billetera de hardware BitBox02 y crea una semilla de 24 palabras para usted, y a partir de eso, crear direcciones (con claves privadas asociadas ocultas a la vista). Según el nivel de paranoia que tenga (y la cantidad de bitcoins que esté almacenando), puede optar por no confiar en el software incorporado y asumir al principio que las direcciones que crea pertenecen al CEO para empezar.
Para verificar que las direcciones sean genuinas, debe colocar las palabras semilla en (restaurar) una billetera diferente, por ejemplo, Electrum; y asegúrese de que Electrum genere direcciones idénticas. Eso es bastante fácil, pero no puede simplemente escribir semillas en cualquier computadora vieja con Electrum. Bueno, puede, pero realmente no debería: el malware puede potencialmente extraer sus pulsaciones de teclas y robar su bitcoin.
Una solución es ingresar las semillas en Electrum en una computadora limpia y segura con espacio de aire (o una billetera de hardware de otra marca).
La forma más económica es con una Raspberry Pi Zero: solían costar alrededor de $ 10 antes de la escasez inducida por la pandemia. El chip ARM de estos dispositivos significa que no todas las carteras de software son compatibles. Electrum es y funciona magníficamente.
Aquí se explica cómo crear el suyo propio. Es como un firmante semilla pero tiene la funcionalidad completa de Electrum.
Firmar/Verificar un mensaje
Una transacción de Bitcoin es un pago que contiene una moneda que fue previamente”bloqueada”por un Dirección. Para desbloquear la moneda (con respecto a las reglas de Bitcoin) y poder gastarla, utilizando criptografía de clave pública/privada, uno debe demostrar que posee la clave privada de la dirección que contiene. Eso se hace con una firma (usando la clave privada, pero sin revelarla).
La transacción firmada es en sí misma un mensaje; un poco de datos informáticos, aunque siguiendo un protocolo estricto.
Usando criptografía de clave pública/privada, fuera de Bitcoin, puede firmar CUALQUIER mensaje. Por ejemplo, aquí hay un mensaje que firmé después de seleccionar una dirección (y, por lo tanto, su clave privada). A continuación se muestra el mensaje, la dirección y la firma (texto sin sentido), que se produjo después de hacer clic en”firmar”.
Ahora usted o cualquier persona puede tomar la dirección, el mensaje y la firma, colóquelo en Electrum (u otro software) y verifique que realmente fue la clave privada correcta (que coincide con la dirección) que produjo ese mensaje (este es en realidad el mismo tipo de verificación que hacen los nodos de Bitcoin para cualquier transacción de Bitcoin). Abriré otra billetera que no tenga la clave privada relevante para demostrar la verificación. Entré en la ventana”verificar mensaje”, luego ingresé todos los detalles como ves arriba y luego hice clic en Verificar:
Cifrar/Descifrar un mensaje
En lugar de firmar un mensaje con criptografía de clave pública/privada, la salida puede ser una versión cifrada del mensaje (es decir, desordenado e ilegible) usando la clave/dirección pública de otra persona. La versión encriptada se puede enviar a cualquiera que tenga la clave privada correspondiente, porque el texto solo se puede leer cuando se usa la clave privada para revertir el proceso.
Por ejemplo, podría haber recibido mi clave pública de bitcoin, cifrar este mensaje como se indica arriba, enviarme por correo electrónico el texto cifrado ( el texto de aspecto aleatorio en el campo inferior), y como tengo la clave privada de la clave pública, puedo revertir el mensaje encriptado a la forma original y leer su mensaje equivocado. De esta manera, puede enviarme un texto a través de un canal de comunicación inseguro y solo yo puedo leerlo.
Esta es la magia de la criptografía de clave pública/privada, y uno de los componentes principales que hizo que Bitcoin posible. Todos deberíamos estar agradecidos de que los cypherpunks lucharon duro y ganaron contra el gobierno de EE. UU. que intentó prohibirlo en la década de 1990.
Resumen
Esta fue una revisión larga de Electrum Cartera de escritorio. Con suerte, eso ha despertado su interés por aprender a usarlo. Publicaré una guía sobre esto muy pronto. Mientras tanto, puede valer la pena practicar transacciones muy básicas de Bitcoin siguiendo este ejercicio.
Esta es una publicación invitada de Arman The Parman. Las opiniones expresadas son totalmente propias y no reflejan necesariamente las de BTC Inc o Bitcoin Magazine.