687 / 736BK71

Building Bitcoin in Rust

Lukáš Hozda: понять Bitcoin, построив собственную модель

Что происходит между командой в кошельке и принятием платежа? Lukáš Hozda объясняет Bitcoin через программирование на Rust. Читатель собирает учебную систему и постепенно узнаёт, за что отвечает каждая её часть.

Building Bitcoin in Rust — практический учебник издательства Braiins. Он знакомит с идеями Bitcoin и языком Rust на упрощённой реализации; это не руководство по безопасному хранению настоящих биткоинов.

Чтобы отправить платёж из кошелька, не обязательно знать, как программы общаются между собой. Но тем, кому хочется заглянуть внутрь, Lukáš Hozda предлагает выйти за рамки определений и самостоятельно построить части системы. Braiins выпустило книгу в 2024 году и указывает среди участников Daniela Brozzoni и Luukas Pörtfors. Основная аудитория — студенты и специалисты по ИТ, желающие изучать Bitcoin, создавая код. [1]

Издатель описывает путь от Whitepaper, первоначального объяснения замысла Bitcoin, через основы Rust к библиотеке, майнеру, узлу и кошельку с текстовыми командами. Библиотека предоставляет общие компоненты, майнер ищет подходящий блок, а узел участвует в проверке и передаче данных. Кошелёк работает с ключами и готовит платежи. CPU-майнер использует процессор компьютера: здесь это учебный инструмент, а не обещание дохода от майнинга. [3]

Сопровождающий репозиторий, то есть общедоступное собрание исходного кода, называет проект упрощённой учебной реализацией. Такая модель позволяет проследить связи, которые легко потерять в большой программе. Однако название книги не означает, что результат заменяет Bitcoin Core. Возможность обмениваться собственными транзакциями внутри модели не доказывает ни совместимости с настоящей сетью Bitcoin, ни пригодности для хранения денег. [4]

Программе нужна память для данных. Обращение к ним после освобождения этой памяти может привести к ошибкам. Rust помогает предотвращать их правилами ownership: они определяют, какая часть программы владеет значением и когда его можно использовать. Компилятор, преобразующий исходный код в исполняемую программу, проверяет эти правила до запуска. Но он сам не знает, правильно ли написаны правила платежей. Успешная компиляция ещё не доказывает правильность всей системы. [5]

Представьте собственное учебное упражнение: вы готовите платёж, подписываете его, а затем меняете подписанную сумму. Цифровая подпись должна связывать согласие с конкретными данными; проверка исходной подписи на таких изменённых данных должна завершиться неудачей. Поэтому недостаточно увидеть платёж на экране. Нужно проверить и отказ принимать неверные входные данные. Это наш пример подхода к тестированию, а не отчёт о проверенном поведении кода из книги. [4] [5] [6]

В репозитории разделены библиотека, майнер, узел и кошелёк. Вводный файл README показывает их сборку и запуск, помогая проследить разные роли программ. Исходный код опубликован под лицензией ISC, допускающей использование и изменения при соблюдении её условий. Тот же файл прямо исключает текст книги из этой лицензии. Следовательно, открытый доступ к коду не даёт автоматического права свободно воспроизводить издание. [4]

Если вы ещё не программировали, начните с объяснений транзакции, ключа, узла и майнинга и параллельно изучайте основы программирования. Затем двигайтесь небольшими шагами: что должен делать этот шаг, как это реализует код и как обнаружить ошибку? Это наш рекомендуемый способ обучения. Ценность книги — в возможности связать идею с опытом, а не быстро получить готовый кошелёк. Не используйте в упражнениях настоящие сбережения и ключи от них. [1] [3]

Каталог Braiins указывает 432 страницы, магазин — 429. Мы не сравнивали печатный экземпляр, поэтому не считаем расхождение выясненным. Обзор основан на издательских данных, представлении проекта, README репозитория и документации Rust по ownership. Это не рецензия на всю книгу и не аудит безопасности кода; сборку и выполнение примеров мы не проверяли. Источники позволяют описать направленность и границы проекта, но не гарантируют его работу. [1] [2] [3] [4] [5] [6]

Для полной картины прочитайте эту статью вместе с Bitcoin Core, Майнинг, Bitcoin, Braiins.

01Нужно ли уже уметь программировать?

Книга рассчитана прежде всего на студентов и ИТ-специалистов и также знакомит с Rust. Полным новичкам советуем сначала освоить основы программирования и значение транзакции, ключа и узла, чтобы обучение не опиралось на незнакомые понятия.

02Можно ли хранить свои биткоины в получившемся кошельке?

Этот обзор не даёт для этого оснований. Репозиторий описывает учебную модель, а не проверенный инструмент для настоящих средств. Не используйте в нём ключи от сбережений; совместимость с сетью и безопасность мы не тестировали.

DOC · 001Braiins — book recordПервичный источник DOC · 002Braiins Store — paperbackПервичный источник DOC · 003Braiins — learning projectПервичный источник DOC · 004Braiins — companion repositoryПервичный источник DOC · 005Rust — ownershipПервичный источник DOC · 006Satoshi Nakamoto — Whitepaper: signatures and verificationПервичный источник
Обновлено: Сначала источники · Не является инвестиционной рекомендацией