Hvorfor jeg har slått meg til ro med Electrum Bitcoin Wallet PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Hvorfor jeg har slått meg til ro med Electrum Bitcoin-lommeboken

Dette er en meningsredaksjon av Arman The Parman, en Bitcoin-pedagog som brenner for personvern.

I løpet av mange år har jeg puslet med forskjellige Bitcoin-lommebøker og veiledet mange mennesker til å holde de private nøklene deres trygt. jeg slo meg til ro med "Electrum skrivebordslommebok” som min favoritt og mest allsidige programvarelommebok.

I dette essayet vil jeg skissere noen av Electrums funksjoner, og hva jeg liker og ikke liker. Dette er ikke en detaljert veiledning om hvordan du bruker den og får mest mulig ut av den. Jeg vil heller ikke gå inn på hvorfor du bør holde dine egne Bitcoin-nøkler; det antas at du vet og ønsker å gjøre dette, men hvis du trenger å vite hvorfor det er viktig, vennligst ta en titt på "Seks grunner til å trekke din bitcoin fra børser."

Jeg har erfart Electrums særegenheter på første hånd og utarbeidet løsninger for å overvinne dem – hvis den brukes riktig, er det den kraftigste lommeboken jeg har kommet over.

Electrum er for personen som er, eller ønsker å være, en "power"-bruker. Fordi det gir så mye kontroll, og på grunn av min kjennskap til programvaren, velger jeg å lære denne lommeboken til de fleste av studentene som en del av mitt Bitcoin personvern/sikkerhet mentorkurs (selv om noen trenger noe enklere å bruke). Erfaringen med å lære å bruke den har absolutt hjulpet meg å forstå hva folk synes er intuitivt og hva de synes er vanskelig.

For den nye Bitcoiner som går på det alene, ville Electrum være helt trygt å bruke, forutsatt at de tar seg god tid og bruker det i et testmiljø med bare et lite antall innsatser til å begynne med.

Operativsystem

Electrum kan installeres på en Windows-PC, Mac-datamaskin eller en Linux-PC, og viktigst for noen, på ARM-brikkedatamaskiner (dvs. Raspberry Pi-er).

Det kan også installeres på en telefon, men mobilversjonens funksjonalitet er dårlig, og tilkoblingen til noder har vært uberegnelig, så jeg anbefaler ikke den versjonen. BlueWallet er et godt alternativ til en telefonlommebok.

Laster ned og verifiserer

Å laste ned og installere programmet er enkelt for Windows og Mac, og litt vanskelig for Linux-brukere, spesielt de som fortsatt lærer å bruke Linux.

For de som bare tester programmet ut, bare å laste ned og bruke det uten å bekrefte at programvaren er greit – jeg ville bare ikke gjort det for store mengder, eller hvis personvern er en stor bekymring (dvs. hvis du har KYC gratis bitcoin, må du praktisere godt personvern for å holde myntene uidentifiserbare).

Hvis du faktisk kommer til å ende opp med å bruke denne lommeboken for en betydelig sum, bør du lære å verifisere programvaren med gpg. Du kan bygge ferdighetene dine rundt dette her.. Du kan gjøre det mens du venter på veiledningen min om hvordan du bruker Electrum trygt/privat.

Miljøet

Et problem med Electrum er at hvis du kjører programmet på den mest intuitive måten (dvs. bare dobbeltklikker på ikonet) i stedet for kommandolinjen (med visse flagg), vil du nesten helt sikkert koble til en tilfeldig Bitcoin-node som vil avsløre lommeboken din og alle dens potensielle 8.6 milliarder adresser til eieren av den tilfeldige noden – eieren kan være et overvåkingsselskap, og der går personvernet ditt (de vil få alle dine brukte og ubrukte adresser, og din IP-adresse).

For å overvinne dette vil jeg lære deg, i neste avdrag, hvordan du laster opp en engangslommebok først, optimaliserer nettverksinnstillingene dine (koble til din egen node, eller en du stoler på), og først deretter laster den virkelige lommeboken din inn i Electrum.

Noen mennesker kan gå tapt på hva jeg mener med nettverksinnstillinger eller noder. Du kan lære mer om det her hvis du føler for å gå på en veldig viktig tangens.

Electrum Wallet har en veldig ren layout som viser adressene dine, selv om du må vite for å gå til menyen og velge "vis adresser" for å se den. Deretter får du en liste over dine første 20 mottaksadresser uthevet grønt (du har 4.6 milliarder av disse, men tydeligvis ikke alle vist), og en liste over dine første 10 mottaksadresser uthevet i gult (igjen, du har 4.6 milliarder av denne typen ).

Mange andre programvarelommebøker viser deg ikke en liste over adresser og oppgir bare en adresse når du blir bedt om å sende mynter til lommeboken. Dette skjuler informasjon fra brukeren for å holde ting enkelt, men brukeren har en tendens til å forbli uvitende, da muligheten til å lære ikke presenteres. Jeg har møtt mange mennesker som bruker Ledger Live eller Trezor-suiten, eller Blue Wallet på telefonen, og er ikke klar over at de har ubegrensede adresser, enn si noe som kalles "endre" adresser.

Electrum viser deg også en liste over alle dine UTXOer (men du må velge "vis mynter") for å aktivere det.

Electrum Server er nødvendig

Electrum Wallet kan ikke koble til Bitcoin Core-noden din direkte. Dette er irriterende, men det får elektrum til å kjøre raskere. Mye raskere. Du trenger fortsatt Bitcoin Core, men du trenger også programvare kalt Electrum Server (som det finnes forskjellige varianter av med hver sine fordeler og ulemper, som jeg ikke vil gå inn på her). Å installere Bitcoin Core er vanskelig nok for noen mennesker. Å installere Electrum Server er MYE vanskeligere, du må virkelig være ganske teknisk.

For enkelhet og positiv forsterkning anbefaler jeg folk å installere, for sin første node, en nodepakke som MyNode (se guiden min) eller Raspiblitz (se guiden min), før du går videre til å installere en node og tilhørende programvare på en vanlig PC.

Disse pakkene har noen svakheter, men er utmerket til å begynne med fordi med en enkelt installasjonsprosess på en Raspberry Pi 4, får du mange applikasjoner (som Electrum Server, Lightning, BTCPay Server, Mempool viewer – som du ellers må installere en av en, og potensielt verifisere) og kostnaden er bare rundt $300 for alt utstyret (programvaren er gratis). Etter hvert som ferdighetene og interessen din utvikler seg, anbefaler jeg folk å se nærmere på mer avanserte nodeoppsett (ingen av dem blir dyre). I tilfelle du lurer på hvorfor du bør kjøre en node i det hele tatt, her er seks gode grunner.

Oppretting av lommebok

Jeg tror det er nyttig å definere de to typene lommebøker før du går mye lenger:

  1. Programvarelommebok – dette er programmet som administrerer dine private Bitcoin-nøkler og -adresser. F.eks Electrum, Sparrow, Blue Wallet.
  1. Bitcoin lommebok – med dette mener jeg samlingen av unike adresser som er opprettet deterministisk (og reproduserbart) fra din mnemoniske frøfrase (vanligvis 12 eller 24 ord) – hver frøsetning har 8.6 milliarder unike adresser som den kan få tilgang til/skape.

Electrum, som standard, lager lommebøker som ikke er standard, noe som er veldig irriterende. Den vanligste protokollen kalles BIP39 (Bitcoin Improvement Proposal 39) som nesten alle lommebøker vil bruke.

Det betyr at de 12 eller 24 ordene som BIP39-lommeboken din opprettet, vil være kompatible med andre BIP39-lommebøker, slik at hvis du mister programvare- (eller maskinvare)-lommeboken din, kan du få den tilbake ved å skrive inn frøordene dine i en hvilken som helst kompatibel BIP39-lommebok – det trenger ikke være samme merke.

Electrum-utvikleren har imidlertid sine egne planer og mener industristandarden er utrygg (han har en uhyrlig urealistisk bekymring for BIP39). I stedet for BIP39, lager Electrum lommebøker basert på sin egen protokoll – som ingen annen lommebok bruker som standard. Dessverre, hvis du oppretter en Electrum-frøfrase, kan du bare bruke den frøfrasen med Electrum.

Viktigere, Electrum lar deg gjenopprette en BIP39-lommebok i den, men du må vite hvordan. Det vil imidlertid ikke skape en BIP39-lommebok for deg. Men det finnes måter rundt dette.

Du kan også ganske enkelt laste inn en enkelt adresse i Electrum for å observere balansen – den trenger ikke engang å være din (selv om du ikke får ideer om å bruke saldoen, det er ikke mulig med mindre du laster inn den private nøkkelen, som i tilfelle adressen er din).

Når du oppretter eller gjenoppretter en Bitcoin-lommebok med Electrum, kan du velge hvilken adressetype du vil ha:

  • Legacy – disse adressene starter med 1 – de originale Bitcoin-adressene.
  • Pay-to-Script-Hash – disse adressene starter alle med "3".
  • Segwit – Fra 2017 etter Segwit soft fork, kan du lage «Pay-to-witness-public-key-hash» (også kalt «Native Segwit» eller «Bech32»). Disse er de mest brukte nå. De starter alle med "bc1q."
  • Pælerot. Dette er nytt og støttes ennå ikke av Electrum. Taproot var en myk gaffel i 2021. Adresser starter med «bc1p».

De tre første adressetypene som er oppført har utvidede offentlige nøkler som ser litt annerledes ut enn hverandres. De starter med henholdsvis xPub, yPub og zPub. Jeg tror taproot er tPub, men jeg blir fortsatt kjent med det. For mer utdanningsmateriell om offentlige og private Bitcoin-nøkler kan du les her.

etiketter

Denne funksjonen er ikke unik, men veldig viktig å ha hvis du vil opprettholde personvernet gjennom god myntkontroll. Ved å merke UTXO-ene dine vet du hvilke du kanskje vil unngå å bruke sammen med andre. For eksempel, hvis du har en KYC-fri eller blandet mynt, og du velger den sammen med en KYC-mynt og sender den kombinerte summen et sted, så kan den private mynten identifiseres som tilhørende den som eier KYC-mynten (siden noen hadde evne til å bruke begge sammen). Ikke gjør det. Etikettene kan lagres i en fil slik at de kan lastes opp til en annen datamaskin dersom du har dupliserte lommebøker.

Myntvalg

Myntvalg er en flott funksjon. Du kan gå til adressevinduene dine og velge mynten du vil bruke – eller gruppere flere av dem for bruk. Hvis du ikke velger hvilken mynt du vil bruke, som all annen programvare, vil Electrum velge den "beste" mynten å bruke for deg - men programvaren vet ikke alltid hva som er best. Den vet ikke hvilke mynter som ikke skal slås sammen, hvilke som er støvangrep, og hvilke som er blandet. Du vet dette, fordi du har merket dem, og så kan du bestemme hvordan du skal administrere det.

Sende / motta

Prosessen med å sende bitcoin-betalinger er veldig "finjusterbar." Du kan holde det enkelt, men det er også en avansert knapp som jeg oppfordrer folk til å alltid bruke - i det minste lære å bli kjent. Her kan du se nøyaktig de viktige elementene i Bitcoin-transaksjonen – inngangene (med Tx-IDer og adresser), utgangene, om eventuelle oppførte adresser finnes i din egen lommebok eller ikke (gjennom fargekoding), gruveavgiften og en muligheten til å finjustere den, størrelsen på transaksjonen (i byte), hvis det er en låsetid, og hvis erstatning-ved-avgift er aktivert. Du trenger ikke å vite med en gang hva alle disse tingene betyr, men i det minste er de der, og etter hvert som du blir erfaren, vil du vite hva du skal lære om.

Ved mottak kan du gå til mottaksfanen og neste ubrukte adresse vil bli oppgitt – med det kan du kopiere/lime inn etter behov eller generere en QR-kode. Alternativt kan du gå til adressevinduet og velge hvilken som helst adresse du ser for å opprette en faktura. Du kan høyreklikke, velge detaljer, og du vil se en knapp for å lage en QR-kode for adressen, eller du kan bare kopiere adresseteksten.

Så snart en betaling er gjort til en adresse, og venter i mempoolen, vil Electrum vise deg betalingen med adressen, noe som er praktisk – du trenger ikke vente på at en gruvearbeider skal utvinne mynten for deg vet at betalingen kommer. Electrum lar deg også bruke en slik ubekreftet mynt.

Hvis en avsender har satt et veldig lavt gebyr og bekreftelsen tar litt tid, kan du skynde deg med betalingen ved å bruke den ubekreftede transaksjonen til en annen av adressene dine. I den andre (nedstrøms) transaksjonen kan du legge til en høy gruveavgift. For å kreve inn gebyret, må en gruvearbeider inkludere den første transaksjonen (ikke lukrativ) og nedstrømstransaksjonen du opprettet (lukrativ) – hvorfor? Fordi den andre transaksjonen er ugyldig inntil den første transaksjonen er gyldig (da du ikke kan bruke mynter som teoretisk sett ikke eksisterer). Denne teknikken kalles "barn betaler for foreldre."

En annen teknikk som er mulig med Electrum, for å fremskynde betalinger, kalles RBF (erstatt med gebyr). Dette er ikke mulig for mottaker å gjøre som beskrevet ovenfor med "barn betaler for foreldre." I stedet må en utålmodig mottaker spørre avsender å utføre en RBF. Avsenderen vil sende den originale UTXO som har blitt "brukt", men ennå ikke utvunnet, til blokkjeden. At UTXO kan settes i en alternativ transaksjon (bruk til samme adresse som den første transaksjonen, eller en annen), og med en høyere gruveavgift. Uansett hvilken av de to transaksjonene som blir utvunnet først, vil være gyldig og den andre blir ugyldig.

Som en sidenotat tillater RBF potensialet for svindel. Hvis en mottaker (forhandler) aksepterer en ubekreftet transaksjon som "betaling mottatt" og leverer varene til avsenderen av betalingen, har avsenderen mulighet til å utføre en RBF-transaksjon før den opprinnelige betalingen blir utvunnet. De ville bruke sin egen adresse som mottaker av betalingen, og legge til et høyt gebyr. Når det blir utvunnet, blir den opprinnelige transaksjonen ugyldig, blir droppet av alle nodene fra mempoolen, og saldoen fra selgerens lommebok forsvinner. Dette er grunnen til at du vil legge merke til at Bitcoin-børser, når du setter inn bitcoin, vil vente på bekreftelse på blokkjeden før du krediterer kontoen din.

Multisignatur lommebøker

Electrum administrerer multisignatur-lommebøker veldig bra, og for en tid tror jeg det var den eneste programvarelommeboken du kunne bruke. Du kan ha cosigners med hurtigtaster (programvarelommebøker) eller kalde nøkler (koble til maskinvarelommebøker). De offentlige multisignaturnøklene kan lages én om gangen, på forskjellige dager, på forskjellige steder på forskjellige datamaskiner (eller maskinvarelommebøker) – å spre den ut reduserer risikoen for et enkelt punkt for feil/angrep. Hvor langt du tar forholdsreglene er opp til deg.

Ekstra detaljer om multisig lommebøker og nøkler finner du her, og jeg vil ha en guide til hvordan du lager disse lommebøkene i fremtiden. Lommebokskapingsprosessen er utmerket, men med noen særheter som blir irrelevante når du først vet om dem.

Jeg liker virkelig hvordan Electrum håndterer delvis signerte Bitcoin-transaksjoner (PSBT), en viktig funksjon i multisig-lommebøker, som diskuteres neste gang.

PSBT-er

En Electrum bitcoin-transaksjon er representert av bare en haug med tekst (som i seg selv representerer binære tall, slik alle datadata er). Du har muligheten til å lagre den teksten til en fil, en QR-kode eller på utklippstavlen (som tekst, for eksempel for å kopiere/lime inn i en e-post). Den teksten kan sendes hvor som helst, og som du vil. Hvis du er så tilbøyelig, kan du trekke ut teksten og sende den via e-post, et fysisk brev, morsekode, røyksignaler, gravitasjonsbølger tilbake i tid via et svart hull, eller tolkende dans – det er opp til deg.

Electrum gir deg muligheten til å trekke ut teksten og lagre den, før du den er signert, etter den er signert, eller i en multisignatur-innstilling når den er det delvis signert.

Multisignatur er spesielt interessant. Hvis det for eksempel er 3 nøkkelholdere rundt om i verden, kan du signere en transaksjon på datamaskinen din, trekke ut den delvis signerte Bitcoin-transaksjonen, sende den på e-post (eller QR-koden over en videosamtale) til en annen deltaker i utlandet, de kan importere den, signere den, og send den til den tredje personen for signering og kringkasting. Nei, dette er ikke unikt for Electrum, jeg liker bare hvordan Electrum håndterer det. Arbeidsflyten er imidlertid ikke intuitiv, og krever øvelse.

Betal til mange (PayJoin og CoinJoin)

Det er en skjult funksjon (søk i menyene) der du kan velge flere destinasjoner (flere utganger) når du bruker. For eksempel kan du ta 6.15 bitcoin og sende 0.01 bitcoin til 615 forskjellige ansatte, alt i én transaksjon. Denne funksjonen lar deg opprette PayJoins manuelt - noe bare et mindretall av mennesker ville gjort, eller til og med forstått, men det er kult likevel.

Pay to Many lar deg også lage dine egne manuelle CoinJoins. For mer informasjon om hva det er og hvordan du gjør det, se denne veiledningen.

Gap grense

En viktig funksjon som ikke alle lommebøker har, er muligheten til å sette gap-grensen. Som jeg nevnte tidligere, er hver lommebok en samling på 8.6 milliarder adresser. Programvarelommeboken må kobles til en node og spørre om en adresse har bitcoin knyttet til seg. Det kommer ikke til å sjekke alle 8.6 milliarder av dem. Electrum ber om de første 20 adressene. Hvis de blir uted, vil den be om ytterligere 20, og så videre. Den vil holde dette oppe til noden returnerer 20 ubrukte adresser på rad.

Dette er en måte å forklare at standard gap-grense er 20, men du kan endre det. Hvorfor ville du? Fordi noen ganger lar selgere kunder produsere bitcoin-adresser selv gjennom en betalingsapp (som min donasjonsside, hint hint). Hvis de første 20 kundene lager fakturaer (en adresse hver, gitt i rekkefølge av appen), og deretter den 21. kunden genererer en faktura og betaler, vil Electrum-lommeboken vises tom. Dette skjer fordi de første 20 adressene vil bli spurt, funnet å være ubrukte, og deretter vil Electrum slutte å søke. Electrum lar deg endre gap-grensen, f.eks. til 500, men det er ingen instruksjoner, du må undersøke på nettet eller finne den her:

Du må først gå til menyen: vis → vis konsoll, og deretter skrive inn denne kommandoen i konsollen (selvfølgelig kan "500" endres til et annet nummer):

wallet.change_gap_limit(500)

Med denne kommandoen vil du se 500 nye adresser i adressevinduet.

Ser på lommebøker

Dette er lommebøker uten private nøkler, nødvendig for hardware-lommebøker å koble til. De fleste med maskinvarelommebok bruker programvaren på datamaskinen som "følger med" enheten, men de er vanligvis ikke åpen kildekode. Electrum er et alternativ som kan brukes med hvilken som helst maskinvareenhet.

Air-Gapped datamaskiner

Det er mulig å installere Electrum på en datamaskin som aldri kan koble til internett (luftgappet datamaskin). Den datamaskinen kan brukes til å sjekke at frøsetningen en maskinvarelommebok gir, skapte de riktige adressene fra frøet.

For eksempel kan du kjøpe en BitBox02 maskinvarelommebok, og den lager et 24-ords frø for deg, og fra det oppretter du adresser (med tilhørende private nøkler skjult for visning). Avhengig av nivået av paranoia du har (og mengden bitcoin du lagrer), kan du velge å ikke stole på den innebygde programvaren, og først anta at adressene den oppretter tilhører administrerende direktør til å begynne med.

For å sjekke at adressene er ekte, må du legge inn frøordene i (gjenopprette) en annen lommebok – f.eks. Electrum; og sørg for at Electrum genererer identiske adresser. Det er enkelt nok, men du kan ikke bare skrive frø inn i en hvilken som helst gammel datamaskin med Electrum på. Vel, du kan men du burde egentlig ikke det – malware kan potensielt trekke ut tastetrykkene dine og stjele bitcoin.

En løsning er å legge inn frøene i Electrum på en ren og sikker datamaskin med lufthull (eller en maskinvarelommebok av annet merke).

Den billigste måten er med en Raspberry Pi Zero – De pleide å koste rundt $10 før pandemi-indusert mangel. ARM-brikken på disse enhetene betyr at ikke alle programvarelommebøker er kompatible. Electrum er og fungerer fantastisk.

Her er hvordan du bygger din egen. Det er som en frøsigner, men har den fulle funksjonaliteten til Electrum.

Signer/bekreft en melding

En Bitcoin-transaksjon er en betaling som inneholder en mynt som tidligere var "låst" av en adresse. For å låse opp mynten (med hensyn til reglene for Bitcoin) og få lov til å bruke den, ved å bruke offentlig/privat nøkkelkryptografi, må man bevise at de eier den private nøkkelen til adressen inne i. Det gjøres med en signatur (ved å bruke den private nøkkelen, men ikke avsløre den).

Den signerte transaksjonen er i seg selv en melding; litt datadata, men følger en streng protokoll.

Ved å bruke offentlig/privat nøkkelkryptografi, utenfor Bitcoin, kan du faktisk signere ENHVER melding. For eksempel, her er en melding jeg signerte etter at jeg valgte en adresse (og derfor dens private nøkkel). Nedenfor er meldingen, adressen og signaturen (tullete tekst), som ble produsert etter at jeg klikket på "signer".

Nå kan du eller hvem som helst ta adressen, meldingen og signaturen, legge den inn i Electrum (eller annen programvare), og verifisere at det virkelig var den riktige private nøkkelen (som samsvarer med adressen) som produserte den meldingen (dette er faktisk samme type verifisering som Bitcoin-noder gjør for enhver Bitcoin-transaksjon). Jeg åpner en annen lommebok som ikke har den relevante private nøkkelen, for å demonstrere bekreftelse. Jeg gikk inn i "bekreft melding"-vinduet, skrev inn alle detaljene som du ser ovenfor, og klikket på Bekreft:

image1

Krypter/dekrypter en melding

Istedenfor signering en melding med offentlig/privat nøkkelkryptografi, kan utgangen være en kryptert versjon av meldingen (dvs. rotet sammen og uleselig) ved å bruke en annens offentlige nøkkel/adresse. Den krypterte versjonen kan da sendes til alle som har den tilsvarende private nøkkelen, fordi teksten kun kan leses når den private nøkkelen brukes til å reversere prosessen.

image2

For eksempel kan du ha fått min offentlige bitcoinnøkkel, kryptert denne meldingen som ovenfor, sendt meg sifferteksten på e-post (den tilfeldige teksten i det nederste feltet), og fordi jeg har den private nøkkelen til den offentlige nøkkelen, kan jeg reversere den krypterte meldingen til det originale skjemaet og les feiltenkningsmeldingen. På denne måten kan du sende tekst til meg på tvers av en usikker kommunikasjonskanal, og det er bare jeg som kan lese den.

Dette er magien med offentlig/privat nøkkelkryptografi, og en av hovedkomponentene som gjorde Bitcoin mulig. Vi bør alle være takknemlige for at cypherpunkerne kjempet hardt, og vant, mot den amerikanske regjeringen som prøvde å forby det på 1990-tallet.

Oppsummering

Dette var en lang anmeldelse av Electrum Desktop Wallet. Forhåpentligvis har det vekket interessen din for å lære hvordan du bruker den – jeg vil snart gi ut en veiledning om dette. I mellomtiden kan det være verdt å øve på helt grunnleggende Bitcoin-transaksjoner ved å følge denne øvelsen.

Dette er et gjesteinnlegg av Arman The Parman. Uttrykte meninger er helt deres egne og reflekterer ikke nødvendigvis meningene til BTC Inc Bitcoin Magazine.

Tidstempel:

Mer fra Bitcoin Magazine