为什么我选择了 Electrum 比特币钱包 PlatoBlockchain 数据智能。垂直搜索。人工智能。

为什么我选择了 Electrum 比特币钱包

这是一位对隐私充满热情的比特币教育家 Arman The Parman 的评论社论。

多年来,我一直在修补各种比特币钱包,并指导许多人安全地保管他们的私钥。 我选择了“Electrum 桌面钱包” 作为我最喜欢和最通用的软件钱包。

在本文中,我将概述 Electrum 的一些功能,以及我的好恶。 这不是关于如何使用它和充分利用它的详细指南。 我也不会深入探讨为什么你应该持有自己的比特币密钥; 假定您知道并希望这样做,但是如果您需要知道为什么它很重要, 请查看“从交易所提取比特币的六个原因”。

我亲身体验了 Electrum 的特质,并制定了解决方案来克服它们——如果使用得当,它是我遇到过的最强大的钱包。

Electrum 适用于已经是或渴望成为“超级”用户的人。 因为它允许如此多的控制,并且因为我对软件的熟悉,我选择向大多数学生教授这个钱包作为我的比特币隐私/安全的一部分 指导课程 (尽管有些人需要更简单易用的东西)。 教授如何使用它的经验无疑帮助我理解了人们觉得什么是直观的,什么是他们觉得棘手的。

对于单独使用的新比特币用户来说,Electrum 使用起来是完全安全的,前提是他们花时间在测试环境中使用它,一开始只有少量的 sat。

运行系统

Electrum 可以安装在 Windows PC、Mac 计算机或 Linux PC 上,对某些人来说重要的是,可以安装在 ARM 芯片计算机(即 Raspberry Pi 的)上。

也可以安装在手机上,但是手机版功能较差,节点连接一直不稳定,所以不推荐那个版本。 BlueWallet 是手机钱包的一个很好的替代品。

下载并验证

下载和安装程序对于 Windows 和 Mac 来说很简单,对于 Linux 用户来说有点棘手,尤其是那些仍在学习使用 Linux 的用户。

对于那些只是测试程序的人,只需下载并使用它而不验证软件是否正常——我只是不会大量这样做,或者如果隐私是一个大问题(即如果你有 KYC 免费比特币,你需要保持良好的隐私以保持硬币无法识别)。

如果您实际上最终要使用这个钱包来支付大笔款项,那么您应该学习使用 gpg 来验证该软件。 你可以围绕这个培养你的技能 相关信息. 你可以在等待我关于如何安全/私密地使用 Electrum 的指南时这样做。

环境

Electrum 的一个问题是,如果你以最直观的方式(即只需双击图标)而不是命令行(带有某些标志)运行程序,你几乎肯定会连接到一个随机的比特币节点,这将暴露你的钱包以及它所有潜在的 8.6 亿个地址给随机节点的所有者——所有者可能是一家监控公司,并且你的隐私(他们将获得你所有使用和未使用的地址,以及你的 IP 地址)。

为了克服这个问题,我将在下一期教您如何先加载一个一次性钱包,优化您的网络设置(连接到您自己的节点或您信任的节点),然后才将您的真实钱包加载到 Electrum 中。

有些人可能不明白我所说的网络设置或节点的意思。 如果您想继续进行非常重要的事情,可以在此处了解更多信息 切线.

Electrum 钱包有一个非常干净的布局来显示你的地址,尽管你必须知道去菜单并选择“显示地址”才能看到它。 然后你会得到一个列表,你的前 20 个接收地址突出显示为绿色(你有 4.6 亿个,但显然没有全部显示),以及一个列表,你的前 10 个接收地址突出显示为黄色(同样,你有 4.6 亿个这种类型).

许多其他软件钱包不会向您显示地址列表,并且仅在请求将硬币发送到钱包时才提供地址。 这会向用户隐藏信息以保持简单,但用户往往会保持无知,因为没有提供学习的机会。 我遇到过许多在手机上使用 Ledger Live 或 Trezor 套件或 Blue Wallet 的人,他们没有意识到他们有无限的地址,更不用说所谓的“更改”地址了。

Electrum 还会向您显示您所有的清单 UTXOs (但你必须选择“显示硬币”)才能启用它。

需要电子服务器

Electrum 钱包无法直接连接到您的比特币核心节点。 这很烦人,但它确实使 electrum 运行得更快。 快多了。 您仍然需要 Bitcoin Core,但您还需要名为 Electrum Server 的软件(其中有不同的变体,各有优缺点,我不会在这里赘述)。 安装 Bitcoin Core 对某些人来说已经够难的了。 安装 Electrum Server 更难,你真的需要相当的技术。

为了方便和积极强化,我建议人们为他们的第一个节点安装一个节点包,比如 MyNode (看我的指南) 或 Raspiblitz (看我的指南),然后继续在普通 PC 上安装节点和相关软件。

这些软件包有一些弱点,但一开始就很好,因为在 Raspberry Pi 4 上只需安装一个过程,您就会获得许多应用程序(例如 Electrum Server、Lightning、BTCPay Server、Mempool viewer——否则您必须通过以下方式安装一个)一个,并可能进行验证)并且所有设备的成本仅为 300 美元左右(软件是免费的)。 随着你的技能和兴趣的进步,我建议人们研究更高级的节点设置(没有一个会变得昂贵)。 如果您想知道为什么要运行一个节点, 这里有六个很好的理由.

钱包创建

我认为在进一步讨论之前定义两种类型的钱包很有用:

  1. 软件钱包——这是管理您的比特币私钥和地址的程序。 例如金银合金、麻雀、蓝色钱包。
  1. 比特币钱包——我指的是从你的助记种子短语(通常为 12 或 24 个单词)确定性地(且可重复地)创建的唯一地址的集合——每个种子短语有 8.6 亿个它可以访问/创建的唯一地址。

默认情况下,Electrum 会创建非标准钱包,这非常烦人。 最常见的协议称为 BIP39(比特币改进提案 39),几乎所有钱包都会使用。

这意味着您的 BIP12 钱包创建的 24 或 39 个词将与其他 BIP39 钱包兼容,这样如果您丢失了软件(或硬件)钱包,那么您可以通过将种子词输入任何兼容的 BIP39 钱包来找回它– 不必是同一品牌。

然而,Electrum 开发人员有自己的计划,并认为行业标准是不安全的(他对 BIP39 有一种非常不切实际的担忧)。 Electrum 不是 BIP39,而是基于自己的协议创建钱包——默认情况下没有其他钱包使用。 不幸的是,如果您创建了一个 Electrum 种子短语,您只能将该种子短语与 Electrum 一起使用。

重要的是,Electrum 允许您将 BIP39 钱包恢复到其中,但您必须知道如何操作。 然而,它不会 创建信息图 一个 BIP39 钱包给你。 但是有办法解决这个问题。

你也可以简单地将一个地址加载到 Electrum 中以观察它的余额——它甚至不必是你的(尽管,不要有关于花费余额的想法,除非你加载私钥,否则这是不可能的,在其中如果地址是你的)。

使用 Electrum 创建或恢复比特币钱包时,您可以选择要拥有的地址类型:

  • 旧版——这些地址以 1 开头——原始比特币地址。
  • Pay-to-Script-Hash——这些地址都以“3”开头。
  • Segwit – 从 2017 年 Segwit 软分叉之后,您可以创建“Pay-to-witness-public-key-hash”(也称为“Native Segwit”或“Bech32”)。 这些是现在最常用的。 它们都以“bc1q”开头。
  • 直根。 这是新的,Electrum 还不支持。 Taproot 是 2021 年的软分叉。地址以“bc1p”开头。

列出的前三种地址类型具有扩展的公钥,它们看起来彼此之间略有不同。 它们分别以 xPub、yPub 和 zPub 开头。 我相信 taproot 是 tPub,但我仍然对此很熟悉。 有关比特币公钥和私钥的更多教育材料,您可以 在这里阅读

标签

此功能不是唯一的,但如果您想通过良好的硬币控制来维护隐私,则非常重要。 通过标记你的 UTXO,你将知道你可能希望避免与其他人一起消费哪些 UTXO。 例如,如果你有一个无需 KYC 或混合的硬币,你将它与 KYC 硬币一起选择并将组合总数发送到某个地方,那么私人硬币可以被识别为属于拥有 KYC 硬币的人(因为有人拥有能力一起度过)。 不要那样做。 标签可以保存到一个文件中,这样如果你有重复的钱包,它们就可以上传到不同的计算机。

硬币选择

硬币选择是一个很棒的功能。 您可以前往您的地址窗口,选择您想要花费的代币——或者将其中的几个组合起来进行消费。 如果您不选择要花费的硬币,就像任何其他软件一样,Electrum 将为您选择“最佳”硬币来花费——但该软件并不总是知道什么是最好的。 它不知道哪些币不合并,哪些是粉尘攻击,哪些是混币。 完全 知道这一点,因为你已经标记了它们,然后你可以决定如何管理它。

发送/接收

发送比特币支付的过程非常“微调”。 您可以保持简单,但还有一个高级按钮,我鼓励人们始终使用它——至少学会熟悉它。 在这里你可以准确地看到比特币交易的重要元素——输入(带有 Tx ID 和地址)、输出、是否在你自己的钱包中找到任何列出的地址(通过颜色编码)、采矿费和微调它的能力、交易的大小(以字节为单位)、是否有锁定时间以及是否启用按费用替换。 你不需要马上知道所有这些东西是什么意思,但至少它们在那里,当你有经验时,你就会知道要学习什么。

接收时,您可以转到接收选项卡,系统会提供下一个未使用的地址——您可以根据需要复制/粘贴或生成二维码。 或者,您可以转到地址窗口并选择您看到的任何地址来创建发票。 您可以右键单击,选择详细信息,您会看到一个用于创建地址 QR 码的按钮,或者您可以只复制地址文本。

一旦向某个地址付款,并在 mempool 中等待,Electrum 就会向您显示与该地址一起的付款,这很方便——您无需等待矿工为您开采代币知道付款即将到来。 Electrum 还允许您 这样一个未经证实的硬币。

如果发件人设置了非常低的费用并且确认需要一段时间,您可以通过将未确认的交易花费到您的另一个地址来加快付款速度。 在第二笔(下游)交易中,您可以增加高额的挖矿费用。 要收取费用,矿工必须包括第一笔交易(无利可图)和您创建的下游交易(有利可图)——为什么? 因为第二笔交易在第一笔交易有效之前是无效的(因为你不能花理论上不存在的硬币)。 这种技术被称为“孩子为父母买单”。

Electrum 可以采用的另一种加快支付速度的技术称为 RBF(按费用替换)。 这是不可能的 接收器 按照上面描述的“孩子为父母买单”来做。 相反,不耐烦的接收者必须询问 寄件人 执行 RBF。 发件人会将已经“花费”但尚未开采的原始 UTXO 重新发送到区块链。 该 UTXO 可以放在替代交易中(花费到与第一笔交易相同的地址,或另一笔),并收取更高的采矿费用。 两笔交易中哪笔交易先被挖出,哪笔交易有效,另一笔交易无效。

作为旁注,RBF 允许欺诈的可能性。 如果接收方(商家)接受未确认的交易作为“收到付款”并将货物交付给付款的发送方,则发送方有机会在原始付款被挖掘之前执行 RBF 交易。 他们会使用自己的地址作为收款人,并收取高额费用。 当它被开采时,原始交易变得无效,被内存池中的所有节点丢弃,并且商家钱包中的余额消失。 这就是为什么您会注意到,当您存入比特币时,比特币交易所将在记入您的帐户之前等待区块链上的确认。

多重签名钱包

Electrum 可以很好地管理多重签名钱包,有一段时间我相信它是您唯一可以使用的软件钱包。 您可以让委托人使用热键(软件钱包)或冷键(连接硬件钱包)。 多重签名公钥可以一次生成一个,在不同的日子,在不同的计算机(或硬件钱包)的不同地方——分散它可以降低单点故障/攻击的风险。 您采取预防措施的程度取决于您。

有关多重签名钱包和密钥的额外详细信息 可以在这里找到,我会在未来制作这些钱包的指南。 钱包创建过程非常好,但有一些怪癖,一旦你了解它们就变得无关紧要了。

我真的很喜欢 Electrum 如何处理部分签名的比特币交易 (PSBT),这是多重签名钱包的一个重要功能,接下来将讨论。

PSBT

Electrum 比特币交易仅由一堆文本表示(它们本身表示二进制数,就像所有计算机数据一样)。 您可以将该文本保存到文件、二维码或剪贴板(作为文本,例如复制/粘贴到电子邮件中)。 该文本可以随心所欲地发送到任何地方。 如果您愿意,您可以提取文本并通过电子邮件、物理信件、莫尔斯电码、烟雾信号、引力波通过黑洞及时返回或解释性舞蹈发送——这取决于您。

Electrum 使您能够提取该文本并保存它, before 它已签署, after 它已签名,或者在多重签名设置中 部分 签。

多重签名特别有趣。 例如,如果全球有 3 个密钥持有者,您可以在您的计算机上签署交易,提取部分签署的比特币交易,将其通过电子邮件(或视频通话中的二维码)发送给海外的另一个参与者,他们可以导入它,签署发给第3人签名转播。 不,这不是 Electrum 独有的,我只是喜欢 Electrum 处理它的方式。 虽然工作流程并不直观,但需要练习。

支付给多人(PayJoin 和 CoinJoin)

有一个隐藏功能(搜索菜单),您可以在消费时选择多个目的地(多个输出)。 例如,您可以使用 6.15 个比特币,并在一次交易中将 0.01 个比特币发送给 615 个不同的员工。 此功能允许您手动创建 PayJoins——只有少数人会这样做,甚至理解,但它仍然很酷。

Pay to Many 还允许您创建自己的手动 CoinJoin。 有关那是什么以及如何做的更多信息, 见本指南.

间隙限制

并非所有钱包都具有的一个重要功能是能够设置差距限制。 正如我前面提到的,每个钱包都是 8.6 亿个地址的集合。 软件钱包必须连接到一个节点并询问地址是否有与之关联的比特币。 它不会检查所有 8.6 亿。 Electrum 要求提供前 20 个地址。 如果他们被 uded,它会要求另外 20 个,依此类推。 它将保持这种状态,直到节点连续返回 20 个未使用的地址。

这是一种解释默认间隙限制为 20 的方法,但您可以更改它。 你为什么会? 因为有时商家允许客户通过支付应用程序自行生成比特币地址(比如我的 捐赠页面, 提示提示)。 如果前 20 位客户开具发票(每人一个地址,由应用程序依次提供),然后第 21 位客户生成发票并付款,则 Electrum 钱包将显示为空。 发生这种情况是因为将查询前 20 个地址,发现未使用,然后 Electrum 将停止搜索。 Electrum 允许您更改间隙限制,例如更改为 500,但没有说明,您必须在线研究,或在这里找到它:

您必须先进入菜单:查看→显示控制台,然后在控制台中键入此命令(当然“500”可以更改为其他数字):

钱包.change_gap_limit(500)

使用此命令,您将在地址窗口中看到 500 个新地址。

看钱包

这些是没有私钥的钱包,是硬件钱包连接所必需的。 大多数拥有硬件钱包的人都使用设备“附带”的计算机上的软件,但它们通常不是开源的。 Electrum 是一种可以与任何硬件设备一起使用的替代方案。

气隙计算机

可以在无法连接到互联网的计算机(气隙计算机)上安装 Electrum。 该计算机可用于检查硬件钱包提供的种子短语是否从种子创建了正确的地址。

例如,您可能会购买一个 BitBox02 硬件钱包,它会为您创建一个 24 字的种子,并从中创建地址(相关私钥隐藏在视图之外)。 根据你的偏执程度(以及你存储的比特币数量),你可能会选择不信任嵌入式软件,并首先假设它创建的地址属于首席执行官。

要检查地址是否真实,您需要将种子词放入(恢复)不同的钱包——例如 Electrum; 并确保 Electrum 生成相同的地址。 这很容易,但你不能只是将种子输入任何装有 Electrum 的旧计算机。 那么,你 能够 但你真的不应该——恶意软件可能会提取你的击键并窃取你的比特币。

一种解决方案是在干净安全的气隙计算机(或不同品牌的硬件钱包)上将种子输入 Electrum。

最便宜的方法是使用 Raspberry Pi Zero——在大流行引起的短缺之前,它们的价格约为 10 美元。 这些设备上的 ARM 芯片意味着并非所有软件钱包都兼容。 Electrum 非常出色。

这是建立自己的方法. 它就像一个种子签名者,但具有 Electrum 的全部功能。

签署/验证消息

比特币交易是一种包含先前被地址“锁定”的硬币的支付。 要解锁硬币(关于比特币规则)并允许使用它,使用公钥/私钥密码术,必须证明他们拥有其中包含的地址的私钥。 这是通过签名完成的(使用私钥,但不泄露它)。

已签名的交易本身就是一条消息; 一些计算机数据,尽管遵循严格的协议。

使用比特币之外的公钥/私钥密码术,您实际上可以签署任何消息。 例如,这是我在选择一个地址(以及它的私钥)后签名的消息。 下面是我点击“签名”后生成的消息、地址和签名(看起来毫无意义的文本)。

现在您或任何人都可以获取地址、消息和签名,将其放入 Electrum(或其他软件)中,然后 确认 它确实是产生该消息的正确私钥(匹配地址)(这实际上与比特币节点对任何比特币交易所做的验证类型相同)。 我将打开另一个没有获得相关私钥的钱包,以演示验证。 我进入“验证消息”窗口,然后输入上面看到的所有详细信息,然后单击“验证”:

image1

加密/解密消息

而不是 签约 带有公钥/私钥加密的消息,输出可以是 加密 使用其他人的公钥/地址的消息版本(即混乱且不可读)。 然后可以将加密版本发送给任何拥有相应私钥的人,因为只有使用私钥逆向过程才能读取文本。

image2

例如,你可以得到我的比特币公钥,按上面的方式加密这条消息,通过电子邮件将密文(底部字段中的随机文本)发送给我,因为我有公钥的私钥,所以我可以逆转将加密的消息还原为原始形式并阅读您认为错误的消息。 通过这种方式,您可以通过不安全的通信渠道向我发送文本,并且只有我可以阅读。

这就是公钥/私钥密码学的魔力,也是使比特币成为可能的主要组成部分之一。 我们都应该庆幸密码朋克在 1990 年代与试图禁止它的美国政府进行了艰苦的斗争并取得了胜利。

总结

这是对 Electrum 桌面钱包的长篇评论。 希望这激起了您学习如何使用它的兴趣——我将很快发布这方面的指南。 与此同时,通过以下方式练习非常基本的比特币交易可能是值得的 这个练习.

这是帕尔曼阿曼的客座文章。 所表达的意见完全是他们自己的,不一定反映 BTC Inc 或 比特币杂志.

时间戳记:

更多来自 比特币杂志