내가 일렉트릭에 정착한 이유 Bitcoin 지갑

By Bitcoin Magazine - 1년 전 - 읽는 시간: 16분

내가 일렉트릭에 정착한 이유 Bitcoin 지갑

The Electrum wallet allows Bitcoiners to interact with the protocol in ways that do not limit or sacrifice more detailed features for a friendlier interface.

아르만 더 파만(Arman The Parman)의 오피니언 사설입니다. Bitcoin 프라이버시에 대한 열정을 가진 교육자.

Over many years, I have tinkered with various Bitcoin wallets and mentored many people to hold their private keys securely. I settled on "Electrum 데스크탑 지갑" as my favorite and most versatile software wallet.

In this essay, I will outline some of Electrum's features, and my likes and dislikes. This is not a detailed guide on how to use it and get the most out of it. I also won't be going into why you should hold your own Bitcoin keys; it's assumed you know and desire to do this, but if you need to know why it's essential, please take a look at "Six Reasons To Withdraw Your Bitcoin From Exchanges."

I have experienced first-hand Electrum's idiosyncrasies and worked out solutions to overcome them - if used correctly, it is the most powerful wallet I have come across.

Electrum is for the person who is, or aspires to be, a “power” user. Because it allows so much control, and because of my familiarity with the software, I choose to teach this wallet to most of the students as part of my Bitcoin privacy/security 멘토십 과정 (일부 사람들은 사용하기 더 간단한 것을 필요로 하지만). 그것을 사용하는 방법을 가르친 경험은 사람들이 직관적이라고 생각하는 것과 까다롭다고 생각하는 것을 이해하는 데 확실히 도움이 되었습니다.

새로운 Bitcoiner going at it alone, Electrum would be totally safe to use, provided they take their time and use it in a testing environment with only a small number of sats at first.

운영체제

Electrum은 Windows PC, Mac 컴퓨터 또는 Linux PC에 설치할 수 있으며 중요한 경우 ARM 칩 컴퓨터(예: Raspberry Pi's)에 설치할 수 있습니다.

It can also be installed on a phone, but the mobile version's functionality is poor, and its connection to nodes has been erratic, so I don’t recommend that version. BlueWallet is a good alternative for a phone wallet.

다운로드 및 확인

프로그램을 다운로드하고 설치하는 것은 Windows 및 Mac에서 간단하지만 Linux 사용자, 특히 아직 Linux 사용법을 배우는 사용자에게는 약간 까다롭습니다.

For those just testing the program out, simply downloading and using it without verifying the software is fine - I just wouldn’t do that for large amounts, or if privacy is a big concern (i.e. if you have KYC free bitcoin, you need to practice good privacy to keep the coins unidentifiable).

실제로 이 지갑을 상당한 액수로 사용하게 될 경우 gpg로 소프트웨어를 확인하는 방법을 배워야 합니다. 이를 중심으로 기술을 구축할 수 있습니다. 여기에서 지금 확인해 보세요.. Electrum을 안전하게/비공개적으로 사용하는 방법에 대한 제 가이드를 기다리는 동안 그렇게 할 수 있습니다.

환경

One problem with Electrum is that if you run the program in the most intuitive way (i.e. just double click the icon) rather than the command line (with certain flags), you will almost certainly connect to a random Bitcoin node which will expose your wallet and all its potential 8.6 billion addresses to the owner of the random node - the owner could be a surveillance company, and there goes your privacy (they will get all your used and unused addresses, and your IP address).

이를 극복하기 위해 다음 기사에서는 먼저 일회용 지갑을 로드하고 네트워크 설정을 최적화(자신의 노드 또는 신뢰하는 노드에 연결)한 다음 실제 지갑을 Electrum에 로드하는 방법을 알려드리겠습니다.

어떤 사람들은 네트워크 설정이나 노드가 의미하는 바에 대해 길을 잃을 수 있습니다. 매우 중요한 일을 진행하고 싶은 경우 여기에서 이에 대해 자세히 알아볼 수 있습니다. 접선.

Electrum 지갑은 주소를 표시하는 매우 깔끔한 레이아웃을 가지고 있지만 메뉴로 이동하여 "주소 표시"를 선택해야 볼 수 있습니다. 그런 다음 녹색으로 강조 표시된 처음 20개의 수신 주소 목록(이 중 4.6억 개가 있지만 모두 표시되지는 않음)과 노란색으로 강조 표시된 처음 10개의 수신 주소 목록(이 유형의 4.6억 개가 있음)을 받게 됩니다. ).

다른 많은 소프트웨어 지갑은 주소 목록을 표시하지 않고 지갑으로 코인을 보내도록 요청받은 경우에만 주소를 제공합니다. 이렇게 하면 일을 단순하게 유지하기 위해 사용자에게 정보를 숨길 수 있지만 배울 기회가 제공되지 않기 때문에 사용자는 무지한 상태를 유지하는 경향이 있습니다. 저는 Ledger Live, Trezor 제품군 또는 Blue Wallet을 휴대폰으로 사용하는 많은 사람들을 만났는데 주소 "변경"이라고 하는 것은 고사하고 주소가 무한하다는 사실을 깨닫지 못했습니다.

Electrum은 또한 모든 목록을 보여줍니다. UTXOs (하지만 "코인 표시"를 선택해야 합니다) 활성화하려면.

Electrum 서버가 필요합니다

Electrum Wallet can not connect to your Bitcoin Core node directly. This is annoying, but it does make electrum run faster. Much faster. You still need Bitcoin Core, but you will also need software called Electrum Server (of which there are different varieties each with their advantages and disadvantages, which I won’t go into here). Installing Bitcoin Core is hard enough for some people. Installing Electrum Server is MUCH harder, you really need to be fairly techy.

쉽고 긍정적인 강화를 위해 MyNode와 같은 노드 패키지를 첫 번째 노드로 설치하는 것이 좋습니다.내 가이드 참조) 또는 라스피블리츠(내 가이드 참조), 일반 PC에 노드 및 관련 소프트웨어 설치로 이동하기 전에.

These packages have some weaknesses but are excellent to begin with because with a single installation process on a Raspberry Pi 4, you get many applications (like Electrum Server, Lightning, BTCPay Server, Mempool viewer - which you’d otherwise have to install one by one, and potentially verify) and the cost is only about $300 for all the equipment (the software is free). As your skills and interest progresses, then I recommend people look into more advanced node setups (none of which get expensive). In case you’re wondering why you should run a node at all, 여기에 여섯 가지 훌륭한 이유가 있습니다.

지갑 생성

훨씬 더 진행하기 전에 두 가지 유형의 지갑을 정의하는 것이 유용하다고 생각합니다.

Software wallet - this is the program that manages your Bitcoin private keys and addresses. Eg Electrum, Sparrow, Blue Wallet.Bitcoin wallet - by this, I mean the collection of unique addresses that are created deterministically (and reproducibly) from your mnemonic seed phrase (usually 12 or 24 words) - each seed phrase has 8.6 billion unique addresses that it can access/create.

Electrum, by default, creates wallets that are not standard which is very annoying. The most common protocol is called BIP39 (Bitcoin Improvement Proposal 39) that nearly all wallets will use.

That means that the 12 or 24 words that your BIP39 wallet created will be compatible with other BIP39 wallets, such that if you lose your software (or hardware) wallet, then you can get it back by entering your seed words into any compatible BIP39 wallet - it doesn’t have to be the same brand.

The Electrum developer, however, has his own plans and thinks the industry standard is unsafe (he has an outrageously unrealistic concern about BIP39). Instead of BIP39, Electrum creates wallets based on its own protocol - which no other wallet uses by default. Unfortunately, if you create an Electrum seed phrase, you can only use that seed phrase with Electrum.

중요한 것은 Electrum을 통해 BIP39 지갑을 복원할 수 있지만 방법을 알아야 합니다. 그러나, 만들 당신을 위한 BIP39 지갑. 그러나 이를 우회하는 방법이 있습니다.

You can also simply load a single address into Electrum to observe its balance - it doesn’t even have to be yours (although, don’t get ideas about spending the balance, that’s not possible unless you load in the private key, in which case the address would be yours).

When creating or restoring a Bitcoin wallet with Electrum, you can choose what address type to have:

Legacy - these addresses start with 1 - the original Bitcoin addresses. Pay-to-Script-Hash - these addresses all start with ‘3’.Segwit - From 2017 after the Segwit soft fork, you could create “Pay-to-witness-public-key-hash” (also called “Native Segwit”, or “Bech32”). These are the most commonly used now. They all start with "bc1q."Taproot. This is new and not yet supported by Electrum. Taproot was a soft fork in 2021. Addresses start with "bc1p."

The first three address types listed have extended public keys that look a little different from each others'. They start with xPub, yPub, and zPub, respectively. I believe taproot is tPub but I'm still getting familiar with that. For more education material about Bitcoin public and private keys, you can 여기를 읽어 보시기 바랍니다.

레이블

This feature is not unique, but very important to have if you want to maintain privacy through good coin control. By labeling your UTXOs, you'll know which ones you might want to avoid spending together with others. For example, if you have a KYC-free or mixed coin, and you select it together with a KYC coin and send the combined total somewhere, then the private coin can be identified as belonging to whoever owns the KYC coin (since someone had the ability to spend both together). Don't do that. The labels can be saved to a file so they can be uploaded to a different computer should you have duplicate wallets.

코인 선택

Coin selection is a great feature. You can go to your address windows, and pick the coin you want to spend - or group several of them for spending. If you don’t select which coin you want to spend, like any other software, Electrum will choose the "best" coin to spend for you - but the software doesn’t always know what's best. It doesn’t know which coins not to merge, which ones are dust attacks, and which ones are mixed. 자신의 라벨을 붙인 다음 관리 방법을 결정할 수 있기 때문입니다.

보내기/받기

The process of sending bitcoin payments is very "fine tunable." You can keep it simple, but there’s also an advanced button which I encourage people to always use - at least learn to get familiar. Here you can see exactly the important elements of the Bitcoin transaction - the inputs (with Tx IDs and addresses), the outputs, whether any listed addresses are found in your own wallet or not (through colour-coding), the mining fee and an ability to fine-tune it, the size of the transaction (in bytes), if there is a lock time, and if replace-by-fee is enabled. You don’t need to know right away what all these things mean, but at least they are there and as you get experienced, you’ll know what things to learn about.

When receiving, you can go to the receiving tab and the next unused address will be provided - with that you can copy/paste as needed or generate a QR code. Alternatively, you can go to the address window and select any address you see to create an invoice. You can right-click, select details, and you’ll see a button to create a QR code of the address or you can just copy the address text.

As soon as a payment is made to an address, and is waiting in the mempool, Electrum will show you the payment sitting with the address, which is handy - you don’t need to wait for a miner to mine the coin for you to know the payment is coming. Electrum also allows you to 지출 그런 확인되지 않은 동전.

If a sender has set a very low fee and confirmation is taking a while, you can hurry up the payment by spending the unconfirmed transaction to another one of your addresses. In that second (downstream) transaction, you could add a high mining fee. To collect the fee, a miner would have to include the first transaction (not lucrative) and the downstream transaction you created (lucrative) - why? Because the second transaction is invalid until the first transaction is valid (as you can’t spend coins that theoretically don’t exist). This technique is called “child pays for parent.”

지불 속도를 높이기 위해 Electrum에서 사용할 수 있는 또 다른 기술은 RBF(수수료로 대체)라고 합니다. 이것은 불가능합니다 리시버 위의 "자녀가 부모 대신 비용을 지불합니다." 대신, 참을성 없는 수신자는 다음을 요청해야 합니다. 송신기 RBF를 수행합니다. 보낸 사람은 "사용"되었지만 아직 채굴되지 않은 원래 UTXO를 블록체인으로 다시 보냅니다. 해당 UTXO는 대체 거래(첫 번째 거래 또는 다른 거래와 동일한 주소로 지출)에 더 높은 채굴 수수료로 넣을 수 있습니다. 두 트랜잭션 중 먼저 채굴되는 것이 유효하고 다른 하나는 무효가 됩니다.

As a side note, RBF allows the potential for fraud. If a receiver (merchant) accepts an unconfirmed transaction as "payment received" and delivers the goods to the sender of the payment, the sender has an opportunity to perform a RBF transaction before the original payment gets mined. They would use their own address as the recipient of the payment, and add a high fee. When that gets mined, the original transaction becomes invalid, is dropped by all the nodes from the mempool, and the balance from the merchant's wallet disappears. This is why you'll notice that Bitcoin exchanges, when you deposit bitcoin, will wait for confirmation on the blockchain before crediting your account.

다중 서명 지갑

Electrum manages multisignature wallets really well, and for a time I believe it was the only software wallet you could use. You can have cosigners with hot keys (software wallets) or cold keys (connect hardware wallets). The multisignature public keys can be made one at a time, on different days, in different places on different computers (or hardware wallets) - spreading it out reduces the risk of a single point of failure/attack. How far you take the precautions is up to you.

다중 서명 지갑 및 키에 대한 추가 세부 정보 여기에서 찾을 수 있습니다, 그리고 앞으로 이러한 지갑을 만드는 방법에 대한 가이드를 드리겠습니다. 지갑 생성 프로세스는 훌륭하지만 알고 나면 관련이 없는 몇 가지 단점이 있습니다.

I really like how Electrum handles partially signed Bitcoin transactions (PSBTs), an important feature of multisig wallets, discussed next.

PSBT

An Electrum bitcoin transaction is represented by just a bunch of text (which themselves represent binary numbers, as all computer data is). You have the ability to save that text to a file, a QR code, or to the clipboard (as text, for copy/paste into an email for example). That text can be sent anywhere, and however you want. If you are so inclined, you can extract the text and send it by email, a physical letter, Morse code, smoke signals, gravitational waves back in time via a black hole, or interpretive dance - that’s up to you.

Electrum은 해당 텍스트를 추출하고 저장할 수 있는 기능을 제공합니다. 전에 그것은 서명, 시간 내에 서명되었거나 다중 서명 설정인 경우 부분적으로 서명했다.

Multisignature is particularly interesting. If there are for example 3 key holders around the world, you can sign a transaction on your computer, extract the partially signed Bitcoin transaction, email it (or QR code over a video call) to another participant overseas, they can import it, sign it, then send it to the 3rd person for signing and broadcasting. No, this is not unique to Electrum, I just like how Electrum handles it. The workflow is not intuitive though, and takes practice.

많은 사람들에게 지불(PayJoin 및 CoinJoin)

There is a hidden feature (search the menus) where you can choose multiple destinations (multiple outputs) when spending. For example you can take 6.15 bitcoin, and send 0.01 bitcoin to 615 different employees, all in one transaction. This feature allows you to create PayJoins manually - something only a minority of people would do, or even understand, but it’s cool nonetheless.

Pay to Many를 사용하면 자신만의 수동 CoinJoins를 만들 수도 있습니다. 그것이 무엇이며 어떻게 하는지에 대한 자세한 내용은 이 가이드 참조.

갭 제한

An important feature that not all wallets have is the ability to set the gap limit. As I mentioned earlier, every wallet is a collection of 8.6 billion addresses. The software wallet must connect to a node and ask if an address has bitcoin associated with it. It’s not going to check all 8.6 billion of them. Electrum asks for the first 20 addresses. If they are uded, it will ask for another 20, and so on. It will keep this up until the node returns 20 unused addresses in a row.

This is a way to explain that the default gap limit is 20, but you can change that. Why would you? Because sometimes merchants allow customers to produce bitcoin addresses themselves through a payment app (like my 기부 페이지, 힌트 힌트). 처음 20명의 고객이 인보이스(각각 하나의 주소, 앱에서 순차적으로 제공)를 작성하고 21번째 고객이 인보이스를 생성하고 지불하면 Electrum 지갑이 비어 있는 것으로 나타납니다. 이것은 처음 20개의 주소가 쿼리되고 사용되지 않은 것으로 확인된 다음 Electrum이 검색을 중지하기 때문에 발생합니다. Electrum을 사용하면 간격 제한을 500으로 변경할 수 있지만 지침이 없으므로 온라인에서 조사하거나 바로 여기에서 찾아야 합니다.

You’ll have to first go to the menu: view→show console, and then type this command in the console (of course the "500" can be changed to another number):

지갑.change_gap_limit(500)

이 명령을 사용하면 주소 창에 500개의 새 주소가 표시됩니다.

지갑 관찰

These are wallets without private keys, necessary for hardware wallets to connect to. Most people with a hardware wallet use the software on the computer that "came with" the device, but they are not usually open source. Electrum is an alternative that can be used with any hardware device.

에어갭 컴퓨터

인터넷에 연결할 수 없는 컴퓨터(Air-gapped 컴퓨터)에 Electrum을 설치할 수 있습니다. 해당 컴퓨터는 하드웨어 지갑이 제공하는 시드 구문이 시드에서 올바른 주소를 생성했는지 확인하는 데 사용할 수 있습니다.

For example, you might buy a BitBox02 hardware wallet, and it creates a 24 word seed for you, and from that, create addresses (with associated private keys hidden from view). Depending on the level of paranoia you have (and the amount of bitcoin you are storing), you might choose not to trust the embedded software, and assume at first that the addresses it creates belong to the CEO to start with.

To check the addresses are genuine, you need to put the seed words into (restore) a different wallet - eg Electrum; and make sure Electrum generates identical addresses. That’s easy enough, but you can’t just type seeds into any old computer with Electrum on it. Well, you but you really really shouldn’t - malware can potentially extract your keystrokes and steal your bitcoin.

한 가지 해결책은 깨끗하고 안전한 에어갭 컴퓨터(또는 다른 브랜드의 하드웨어 지갑)에서 씨앗을 Electrum에 입력하는 것입니다.

The cheapest way is with a Raspberry Pi Zero - They used to cost about $10 before pandemic-induced shortages. The ARM chip on these devices means not all software wallets are compatible. Electrum is and works magnificently.

Here's how to build your own. It's like a seed signer but has the full functionality of Electrum.

메시지 서명/확인

A Bitcoin transaction is a payment that contains a coin that was previously "locked" by an address. To unlock the coin (with respect to the rules of Bitcoin) and be allowed to spend it, using public/private key cryptography, one must prove they own the private key to the address contained within. That is done with a signature (using the private key, but not revealing it).

서명된 트랜잭션 자체가 메시지입니다. 엄격한 프로토콜을 따르지만 약간의 컴퓨터 데이터.

Using public/private key cryptography, outside of Bitcoin, you can actually sign ANY message. For example, here is a message I signed after I selected an address (and therefore its private key). Below is the message, the address and the signature (nonsense-looking text), which was produced after I clicked “sign.”

이제 귀하 또는 누구나 주소, 메시지 및 서명을 가져와 Electrum(또는 기타 소프트웨어)에 입력하고 확인 that it really was the correct private key (matching the address) that produced that message (this is actually the same type of verification that Bitcoin nodes do for any Bitcoin transaction). I’ll open another wallet that hasn’t got the relevant private key, to demonstrate verification. I went into the “verify message” window, then entered all the details as you see above, and then clicked Verify:

메시지 암호화/암호 해독

대신 로그인 공개/개인 키 암호화를 사용하는 메시지, 출력은 암호화 version of the message (i.e. jumbled up and unreadable) using someone else's public key/address. The encrypted version can then be sent to anyone who has the corresponding private key, because the text can only be read when the private key is used to reverse the process.

For example, you could have been given my bitcoin public key, encrypted this message as above, emailed me the cyphertext (the random-looking text in the bottom field), and because I have the private key to the public key, I can reverse the encrypted message to the original form and read your wrong-think message. In this way, you can send text to me across an insecure communication channel, and only I can read it.

This is the magic of public/private key cryptography, and one of the main components that made Bitcoin possible. We should all be thankful that the cypherpunks fought hard, and won, against the US government who tried to ban it in the 1990s.

요약

This was a long review of the Electrum Desktop Wallet. Hopefully, that has piqued your interest to learn how to use it - I will release a guide on this very soon. In the meantime, it may be worth practicing very basic Bitcoin transactions by following 이 운동.

이것은 Arman The Parman의 게스트 게시물입니다. 표현된 의견은 전적으로 자신의 것이며 BTC Inc 또는 Bitcoin Magazine에는 West Coast Sales Manager인.

원본 출처 : Bitcoin Magazine에는 West Coast Sales Manager인