主页 > 以太坊imtoken > 比特币迎来新技术更新 核心开发者教你如何验证客户端

比特币迎来新技术更新 核心开发者教你如何验证客户端

以太坊imtoken 2023-02-09 05:56:59

本文中的说明只会帮助您安全地安装比特币客户端,它不会帮助您保护您的硬件、操作系统或避免安装其他引入恶意软件的应用程序。

“不要相信,验证!”

今天,比特币迎来了新的发展。核心开发人员 Luke Dashjr 宣布发布 Knots 0.19.1.knots20200304 客户端。

(注:Bitcoin Knots 是 Bitcoin Core 的衍生客户端,有一些 Bitcoin Core 尚未实现的功能,代码库主要由 Luke Dashjr 维护)

关于新的客户端更新,您可以在这里找到:

摆在我们面前的问题是,如何验证自己下载的客户端是安全的,没有被恶意篡改?当然,确保从受信任的网站下载是必须的,那么我们如何确保受信任的网站没有被攻击者篡改呢?

这也是本文的内容,原作者是Luke Dashjr。

这是翻译:

预计

以下说明要求您了解文件在计算机上的存储方式(理论上,如果您知道目录/文件夹是什么),以及如何使用命令行运行程序和访问文件。如果您不了解这些概念,请从指南开始。

请注意,本文中的说明只会帮助您安全地安装比特币客户端,不会帮助您保护您的硬件、操作系统或避免安装其他引入恶意软件的应用程序。通常,如果您计算机的其余部分受到威胁,那么无论您如何验证已安装的客户端,您的节点也会受到威胁。

如果你想要一个完全安全的节点,除了本文提到的说明外,你至少需要避免后门硬件(包括任何由树莓派、英特尔或 AMD 制造的)并且只运行基于 Linux 的可信操作系统,只安装或使用您的操作系统供应商提供的软件,或使用 GnuPG 以其他方式验证过的软件(如本文所述),并确保将软件更新到最新的错误修复版本。

即使您无法解决这些问题并因此获得最大的安全性,但这并不意味着您应该放弃:无论如何验证您的比特币节点软件仍然是一个好主意。

概述

确保您安装的比特币客户端安全的三个重要步骤:

验证 OpenPGP 密钥;

验证签名;

验证文件本身;

每个步骤都取决于前面步骤的成功,虽然我们可以跳过一个步骤,但重要的是要了解,除非所有步骤都成功,否则我们实际上并没有验证安装。

注意我会在BitcoinKnots v0.19.0.1.knots20200104客户端上验证我自己的签名,例如ppc64le Linux,同时验证别人的签名或其他文件,您需要更改命令行以使用该指纹或文件名。

步骤 0:安装加密软件 GNU Privacy Guard (GPG)

在开始之前,您需要确保已安装 GNU Privacy Guard (GPG) 工具,该工具是文件加密验证所必需的。

如果您运行的是基于 Linux 的系统,该系统通常通过操作系统供应商安装(最近通常默认安装),您可以通过运行 gpg --version 进行检查。如果没有,请尝试使用以下命令之一进行安装(如果失败,请转到下一个):

apt-getinstallgnupgdnfinstallgnupg2yuminstallgnupg2emergeapp-crypt/gnupgpacman-Sgnupgapkaddgnupg

如果你在 Windows 或 macOS 上不走运,你可以从官方网站下载 GnuPG,但我不知道有什么安全方法可以验证此类下载,当然,它们确实提供签名,但是鸡和问题来了鸡蛋:在您安装好副本之前,您无法验证这些签名!

第 1 步:验证 OpenPGP 密钥

这一步可以说是验证过程中最难的部分:您需要确认您实际使用的密钥是由您信任的人颁发的正确密钥。如果你不小心,你可能会得到一个假的“Luke Dashjr”钥匙!

每个 OpenPGP 密钥都有一个“指纹”,它是 40 个十六进制字符(数字 0-9 和 aF)比特币真假到哪里确认,有时带有空格以便于阅读。如果您确保您使用的密钥指纹与可信签名者的指纹相匹配,那么您就知道您拥有正确的密钥。

获取密钥或指纹

验证密钥最安全的方法是亲自见面并确认密钥“指纹”。几乎没有人记得他们的密钥指纹,因此我们可能不得不在自己的笔记本电脑或手机上查找它,并且偶尔(通常在会议上)可能会有一个“密钥签名者”,其中一组人确认其他每个参与者要么阅读他们亲自或手动确认每个人所看到或听到的内容都是正确的。如果您有机会参加这样的会议,这是一次验证多个密钥的好方法。

如果您不感兴趣或没有机会亲自见面,理想情况下应该从多个来源验证密钥。有时,会议会发布演示视频,其中可能会在幻灯片上显示关键指纹。当然,由于“深度造假”等新技术的存在,需要注意的是,视频中的幻灯片很容易被操纵。

开发人员通常在他们的网站上发布他们的密钥或指纹,也许还有其他一些途径(例如,我的密钥或指纹,在个人网站、bitcoinknots.org、bitcoin.org 和 GitHub 上)。

如果您安装了您信任的软件的副本,有时它会包含验证更新所需的密钥(目前比特币核心仅包含源代码)。

检查密钥文件的指纹

要查看密钥文件的指纹,可以使用以下命令:

gpg--import-optionsshow-only--import--with-fingerprintluke-jr.asc

这会输出很多关于密钥文件的信息,相关信息在最上面:

pubrsa81922012-03-23[SC][有效期:2020-06-09]E463A93F5F3117EEDE6C7316BD02942421F4889F

在此示例中,E463 A93F 5F31 17EE DE6C 7316 BD02 9424 21F4 889F 是我的密钥指纹。

注意:如果 GPG 说密钥已过期,那可能没关系!在第 2 步中,您将更新到同一密钥的最新版本,这通常会延长到期日期。

导入经过验证的密钥

无论您如何验证密钥,都应确保记住您使用的密钥,以便将来的更新可以验证是否使用了相同的密钥。即使您跳过验证密钥步骤(这不安全),至少这将确保您的更新具有相同的签名者。

当您确定您拥有正确的密钥时比特币真假到哪里确认,您可以像这样导入它(将 luke-jr.asc 替换为包含所需密钥的文件名):

gpg--导入