Если вы новичок в проектах с открытым кодом (биткоин — один из них), то вы, вероятно, не слышали о GPG (PGP — это оригинальное проприетарное программное обеспечение, GPG — это реализация PGP с открытым кодом). GPG — это ПО, используемое для создания цифровых подписей openPGP, которые разработчики биткоина используют при публикации программного обеспечения. GPG соответствует духу биткоина, поскольку не требуют посредничества третьих сторон. Однако Windows и macOS не поддерживают проверку подписей PGP; вы должны загрузить программное обеспечение GPG и выполнить проверку самостоятельно.
Ниже приведено руководство по проверке подписей PGP на примере популярного биткоин-кошелька Electrum. Руководство показывает, как убедиться в том, что загруженный вами файл был действительно опубликован разработчиком Electrum Томасом Вётлином. Для этого требуется:
- Подлинный отпечаток ключа PGP, который мы можем увидеть на презентации разработчика биткоина и участника Web of Trust Грегори Максвелла;
- Веб-сайт для анализа взаимосвязанных подписей PGP (https://pgp.cs.uu.nl);
- Программное обеспечение GPG, которое проверяет корректность подписей.
Процесс состоит из трёх этапов:
- Импорта открытого ключа, который используется в качестве подписи на загрузочной странице Electrum;
- Проверки подлинности открытого ключа;
- Проверки загруженного файла с использованием GPG.
1. Импортируйте открытый ключ, используемый в качестве подписи на загрузочной странице Electrum
Нужно импортировать ключ PGP на загрузочной странице electrum.org в GnuPG (GPGTools для macOS; пользователи Windows используют gpg4win). Получить информацию об этом ключе можно запустив в командной строке gpg --fingerprint 0x7F9470E6 (для Windows) или терминале (для macOS). В результате мы увидим отпечаток ключа — 6694 D8DE 7BE8 EE56 31BE D950 2BD5 824B 7F94 70E6, шестнадцатеричное число из 40 символов.
Теперь нужно определить отношение этого ключа к ключу доверенного человека. В данном случае мы будем определять это отношение к ключу Грегори Максвелла.
2. Проверка подлинности открытого ключа
Мы знаем ключ Грегори Максвелла — DE47 BC9E 6D2D A6B0 2DC6 10B1 AC85 9362 B041 3BFA, потому что он был включен в видеопрезентацию, которая, как мы предполагаем, не подделана. Я доверяю ему потому, что его ключ относится только к ключам доверенных людей (см. Web of Trust).
Мы вводим оба отпечатка пальца на веб-сайте PGP pathfinder & key statistics, чтобы узнать, являются ли они участниками Web of Trust. В результате мы должны получить этот список.
Мы видим, что между двумя ключами PGP существует как минимум восемь путей доверия. Путь доверия — это цепочка подписей, где A подтверждает, что личность B является доверенной, B подтверждает, что C является доверенной, C подтверждает D и так далее. Согласно этим результатам, существует 8 таких путей между ключом PGP Грегори Максвелла и ключом Томаса Вётлин, который в свою очередь связан с сайтом electrum.org. Поэтому я делаю вывод, что ключ PGP, загруженный с веб-сайта https://www.electrum.org/, контролируется настоящим Томасом Вётлином.
Важное примечание: в идеале вы должны вручную импортировать ключи в ПО GPG. Если вы укажете своему ПО доверять ключу Максвелла, тогда ваше программное обеспечение предоставит ту же информацию, что была указана выше. Веб-сайт https://pgp.cs.uu.nl просто выполняет эту работу для вас. Если вы хотите хранить много биткоинов на кошельке, вам не следует использовать только https://pgp.cs.uu.nl.
Таким образом, мы проверили подлинность ключа PGP Томаса Вётлина.
3. Используйте GPG для проверки загруженных файлов
Теперь, когда мы определили, что ключ PGP с отпечатком 6694 D8DE 7BE8 EE56 31BE D950 2BD5 824B 7F94 70E6 является ключом Томаса Вётлина, мы можем проверить, что файлы, доступные для загрузки по адресу https://electrum.org/#download, были подписаны Томасом.
Загрузите инсталлятор и связанный файл подписи .asc в ту же папку. Для Windows выберите файл electrum-3.3.4-setup.exe и electrum-3.3.4-setup.exe.asc. Для macOS выберите electrum-3.3.4.dmg и electrum-3.3.4.dmg.asc.
Используйте GPG для проверки файла .asc. Для этого в gpg4win (для пользователей Windows) нужно щелкнуть правой кнопкой мыши на файле .asc и выбрать дополнительные параметры GpgEX > Verify. В GPGTools (пользователи macOS) нужно щелкнуть правой кнопкой мыши файл .asc и выбрать Services > OpenPGP: Verify Signature of File.