چرا روی الکتروم مستقر شدم Bitcoin کیف پول

By Bitcoin مجله - 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.

This is an opinion editorial by Arman The Parman, a Bitcoin educator passionate about privacy.

Over many years, I have tinkered with various Bitcoin wallets and mentored many people to hold their private keys securely. I settled on "کیف پول دسکتاپ الکتروم" 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 را می‌توان بر روی رایانه‌های شخصی ویندوزی، رایانه‌های مک، یا رایانه‌های شخصی لینوکس، و مهمتر از همه، روی رایانه‌های تراشه‌ای ARM (یعنی Raspberry Pi) نصب کرد.

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.

دانلود و تایید

دانلود و نصب این برنامه برای ویندوز و مک آسان است و برای کاربران لینوکس، به ویژه آنهایی که هنوز در حال یادگیری استفاده از لینوکس هستند، کمی دشوار است.

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 طرح بسیار تمیزی دارد که نشانی های شما را نشان می دهد، اگرچه برای دیدن آن باید بدانید که به منو بروید و "show addresses" را انتخاب کنید. سپس لیستی از 20 آدرس دریافت کننده اول خود را دریافت می کنید که با رنگ سبز مشخص شده اند (شما 4.6 میلیارد از این آدرس ها را دارید اما واضح است که همه آنها نشان داده نشده اند) و لیستی از 10 آدرس دریافت کننده اول خود را با رنگ زرد مشخص می کنید (دوباره، شما 4.6 میلیارد از این نوع دارید. ).

بسیاری از کیف پول‌های نرم‌افزاری دیگر لیستی از آدرس‌ها را به شما نشان نمی‌دهند و تنها در صورت درخواست ارسال سکه به کیف، آدرسی را ارائه می‌کنند. این اطلاعات را از کاربر پنهان می کند تا همه چیز را ساده نگه دارد، اما کاربر تمایل دارد ناآگاه بماند، زیرا فرصتی برای یادگیری ارائه نمی شود. من افراد زیادی را ملاقات کرده ام که از Ledger Live یا مجموعه Trezor یا Blue Wallet بر روی تلفن خود استفاده می کنند و متوجه نمی شوند که آدرس های نامحدودی دارند، چه رسد به چیزی به نام "تغییر" آدرس.

Electrum همچنین لیستی از تمام موارد شما را به شما نشان می دهد utxos (اما برای فعال کردن آن باید "show coins" را انتخاب کنید.

سرور الکتروم ضروری است

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 نصب کنند (راهنمای من را ببینید) یا راسپیبلیتز (راهنمای من را ببینید، قبل از شروع به نصب یک گره و نرم افزار مرتبط در یک رایانه معمولی.

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.

جزئیات اضافی در مورد کیف پول ها و کلیدهای Multisig را می توان در اینجا یافت نشد، و در آینده راهنمای ساخت این کیف پول ها را خواهم داشت. فرآیند ایجاد کیف پول بسیار عالی است، اما با برخی نکات عجیب و غریب که با اطلاع از آنها بی ربط می شوند.

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 مشتری اول فاکتور بسازند (هر کدام یک آدرس، به ترتیب توسط برنامه ارائه می شود)، و سپس مشتری بیست و یکم یک فاکتور تولید کند و پرداخت کند، کیف پول Electrum خالی به نظر می رسد. این به این دلیل اتفاق می‌افتد که 21 آدرس اول پرس و جو می‌شوند، استفاده نشده‌اند و سپس Electrum جستجو را متوقف می‌کند. Electrum به شما امکان می دهد حد شکاف را تغییر دهید، به عنوان مثال به 20، اما هیچ دستورالعملی وجود ندارد، شما باید به صورت آنلاین تحقیق کنید، یا آن را درست در اینجا پیدا کنید:

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):

wallet.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.

کامپیوترهای دارای شکاف هوا

امکان نصب Electrum روی رایانه‌ای که هرگز نمی‌تواند به اینترنت وصل شود (کامپیوتر با شکاف هوا) وجود دارد. از آن رایانه می‌توان برای بررسی اینکه عبارت seed که یک کیف پول سخت‌افزاری می‌دهد، آدرس‌های صحیح را از دانه ایجاد کرده است، استفاده کرد.

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 این تمرین.

این پست مهمان از آرمان پارمان است. نظرات بیان شده کاملاً متعلق به خود آنها است و لزوماً نظرات BTC Inc یا را منعکس نمی کند Bitcoin مجله.

منبع اصلی: Bitcoin مجله