Грокаем технологию Биткоин - Калле Розенбаум - E-Book

Грокаем технологию Биткоин E-Book

Калле Розенбаум

0,0

Beschreibung

Хотите разобраться в технологии Биткоин на глубоком концептуальном уровне? "Грокаем технологию Биткоин" на наглядных схемах и ярких примерах учит мыслить по-новому. Вы узнаете, как на самом деле происходит майнинг, возникают биткоины, как войти в сеть Биткоин и как функционирует цифровой кошелек. Основы технологии Биткоин; хеш-функции и цифровые подписи; криптография и алгоритмы шифрования; анатомия транзакций; верификация и пропускная способность; хард- и софт-форки От вас не требуется продвинутых навыков программирования, но базовое представление об основах — базах данных, компьютерных сетях, веб-серверах и (о ужас!) математики — не будет лишним.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 465

Veröffentlichungsjahr: 2024

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Переводчик А. Киселев

Калле Розенбаум

Грокаем технологию Биткоин. — СПб.: Питер, 2024.

ISBN 978-5-4461-1424-5

© ООО Издательство "Питер", 2024

Оглавление

Предисловие
Вступление
Благодарности
О книге
Кому адресована эта книга
Структура книги
Соглашения об оформлении кода
Прочие онлайн-ресурсы
От издательства
Об авторе
1. Введение в Биткоин
Что такое Биткоин?
Общая картина
Проблемы современных денег
Подход, предлагаемый технологией Биткоин
Где можно использовать биткоины?
Другие криптовалюты
Итоги
2. Криптографические хеш-функции и цифровые подписи
Электронная таблица учета жетонов на булочки
Криптографические хеши
Упражнения
Цифровые подписи
Повторение
Упражнения
Итоги
3. Адреса
Раскрыты привычки потребления булочек
Замена имен открытыми ключами
Укорачивание открытых ключей
Избегание дорогостоящих опечаток
Возвращаемся к конфиденциальности
Повторение
Упражнения
Итоги
4. Кошельки
Первая версия кошелька
Резервное копирование закрытых ключей
Иерархически детерминированные кошельки
Назад к резервному копированию
Расширенные открытые ключи
Создание защищенных закрытых ключей
Математика открытого ключа
Умножение публичного ключа
Повторение
Упражнения
Итоги
5. Транзакции
Проблемы в старой системе
Платежи с использованием транзакций
Язык сценариев
Необычные виды платежей
Дополнительные элементы в транзакциях
Вознаграждение и создание монет
Доверие к Лизе
Повторение
Упражнения
Итоги
6. Блокчейн
Лиза может удалять транзакции
Построение блокчейна
Легкие кошельки
Деревья Меркла
Безопасность легких кошельков
Повторение
Упражнения
Итоги
7. Доказательство работы
Клонирование Лизы
Принуждение к честному получению счастливых чисел
Майнеры должны уйти
Корректировка сложности
Какой вред могут принести майнеры?
Комиссионные отчисления за транзакции
Повторение
Упражнения
Итоги
8. Одноранговая сеть
Общая папка
Создание одноранговой сети
Как общаются соседние узлы?
Сетевой протокол
Оставляем в прошлом систему жетонов на булочки
Инициализация сети
Запуск собственного полного узла
Повторение
Упражнения
Итоги
9. И снова о транзакциях
Временная блокировка транзакций
Временная блокировка выходов
Сохранение данных в блокчейне Биткоин
Замена ожидающих транзакций
Разные типы подписей
Повторение
Упражнения
Итоги
10. Segwit
Проблемы, решаемые с помощью segwit
Решения
Экономия пропускной способности
Совместимость кошельков
Еще раз о типах платежей
Ограничения блоков
Повторение
Упражнения
Итоги
11. Апгрейды Биткоин
Форки в Биткоин
Повторение транзакции
Механизмы обновления
Повторение
Упражнения
Итоги
A. Использование bitcoin-cli
Взаимодействие с bitcoind
Графический интерфейс пользователя
Знакомство с bitcoin-cli
Начало работы
Б. Решения упражнений
Глава 2
Глава 3
Глава 4
Глава 5
Глава 6
Глава 7
Глава 8
Глава 9
Глава 10
Глава 11
В. Веб-ресурсы

Посвящается любви всей моей жизни — жене Линнее. Умной, верной, настоящей. И биткоинерам всего мира

Предисловие

В чем разница между системой Биткоин и аналогами денег, которые используются в многопользовательских играх? Все они определяются программно, создаются из ничего и могут иметь ценность, сопоставимую с традиционными валютами. Случайному наблюдателю они кажутся почти одинаковыми.

Но есть важные различия в том, как они реализованы, что оказывает влияние на все аспекты соответствующих систем: если игровые валюты реактивно банят пользователей, уличенных в мошенничестве, то Биткоин действует упреждающе, предотвращая различные виды мошенничества, делая их невозможными, непрактичными или менее выгодными, чем честное поведение.

Книга «Грокаем технологию Биткоин» точно описывает, как это достигается. Когда вы познакомитесь с хеш-функциями, цифровыми подписями, доказательствами работы и многими другими понятиями, то увидите, что технология Биткоин весьма эффективно предотвращает мошенничество, не требуя глобального запрета на активность какого-либо пользователя.

Здесь приведено множество преимуществ этой ключевой особенности. Когда вы узнаете об адресах, кошельках, майнерах и узлах, то увидите, что в ситуации, когда никто не имеет реальной возможности обманывать, можно разрешить всем участвовать в каждой части протокола, не ставя никого в положение безграничного доверия. И поскольку никто не сможет воспользоваться своим положением, отпадает необходимость в идентификации личности. «Грокаем технологию Биткоин» наглядно демонстрирует, как любой может использовать публичную цепочку блоков (блокчейн), сохраняя определенную степень конфиденциальности.

Децентрализованная система, которая не использует идентификацию личности или не зависит от доверия других участникам, в корне отличается от привычных систем, знакомых большинству из нас. Калле Розенбаум активно использует эту особенность, начиная объяснение каждого аспекта Биткоина с примера централизованной системы, эксплуатирующей доверие или зависящей от идентификации и понятной любому читателю. Затем он постепенно превращает эту базовую систему в децентрализованную и псевдонимную систему, не требующую выражения доверия и реализованную с использованием технологии Биткоин. Благодаря пошаговым объяснениям с четкими определениями и превосходными иллюстрациями, даже самые узкоспециальные темы становятся доступными для заинтересованного непрофессионала.

Технология Биткоин нуждается в книгах, таких как «Грокаем технологию Биткоин», но ей также нужны активные пользователи, которые читают эти книги и разбираются в технических принципах, на которых она основана. В течение первых дней, которые, как я надеюсь, продолжатся долгой историей использования биткоинов, пользователей часто просят оценить предлагаемые изменения в системе — изменения, которые могут повлиять на безопасность и конфиденциальность их электронных кошельков. Прочитав эту книгу, вы поймете, как система предотвращает мошенничество, и сможете гарантировать, что будущие изменения сохранят эту важную особенность и ее многочисленные преимущества.

Дэвид А. Хардинг (David A. Harding), соавтор документации для Биткоин

Вступление

Биткоин изменил мир.

Мир стал свидетелем крупных достижений, способствовавших улучшению качества жизни людей, в том числе изобретения вакцины, электричества, радио, автомобиля и Интернета. Некоторые из этих технологий начинались как игры для богатых, но в конечном счете получили массовое распространение и стали приносить огромную пользу жителям Земли. Биткоин вскоре встанет с ними в один ряд. Именно это и кажется мне в нем самым захватывающим.

Мне повезло жить в социально стабильном обществе. Проводя финансовые операции, я не боюсь, что кто-то постучится в мою дверь. Я никогда не чувствовал, что нужно как можно быстрее потратить деньги, потому что гиперинфляция съест мой обед. Но из-за этого мне трудно было понять важность Биткоин. Технология Биткоин1 интересует меня больше с теоретической стороны, но когда я слышу от менее удачливых людей, живущих под властью репрессивных или некомпетентных режимов, о том, как Биткоин улучшает их жизнь, все становится более чем реальным. Биткоин даст людям возможность отказаться от системы, которая держит их в заложниках.

Сатоши Накамото (Satoshi Nakamoto), так называет себя человек (или группа людей), пожелавший не раскрывать свою личность, опубликовавший в октябре 2008 года научную статью в списке рассылки, посвященном криптографии. Статья называлась «Bitcoin: A Peer-to-Peer Electronic Cash System» (см. приложение В). В своей статье Накамото описывает важные части технологии Биткоин, первой системы электронных (цифровых) денег, в которой отсутствует центральный орган эмиссии или обработки транзакций. В январе 2009 года Накамото опубликовал первую программу, реализующую эту систему. В то время технология Биткоин не привлекла широкого внимания, кроме узкого круга экспертов в области криптографии. Но по мере того как система доказывала свои возможности, круг интересующихся расширялся. Однако пока голос противников Биткоин звучит громче, чем голос сторонников, как часто бывает с новаторскими технологиями. По состоянию на 2019 год уже сотни миллионов людей знают о Биткоин и десятки миллионов используют эту систему.

Когда я начал изучать Биткоин в 2013 году, мне потребовалось много времени, чтобы получить достаточно полное понимание технологии. И не потому, что я несообразительный, а потому что Биткоин — сложная система. Это не просто новомодная база данных, а смесь экономики, математики, технологий и антропологии.

В 2015 году я начал вести блог о Биткоин, и, думаю, издательству Manning понравились мои статьи, потому что компания прислала мне электронное письмо с предложением написать книгу о «блокчейне». Поскольку моя страсть — Биткоин, а не только блокчейн, чрезмерно раскрученное слово, обозначающее базу данных для Биткоин, — я выразил свою благодарность и сказал, что мне было бы интереснее написать книгу о Биткоин. Я несколько лет искал свое место в биткоин-сообществе, и эта возможность показалась мне подходящей. Я начал работу над проектом, но он оказался намного сложнее и занял больше времени, чем я ожидал.

Первоначально эта книга задумывалась как типичный технический обзор Биткоин, но оказалось трудно описать одну тему без передачи всех нюансов. Начало книги получилось бы слишком сложным. Стало ясно, что нужен какой-то иной подход. Я обсудил это с женой, и у нас появилась идея концептуального описания Биткоин с нуля. Книга начинается с действительно простой системы электронных таблиц, понятной каждому, и эта система постепенно превращается в Биткоин. В каждой главе описываются некоторые проблемы в текущей системе, и затем решаются добавлением технологии, рассматриваемой в этой главе.

Рукопись «Grokking Bitcoin» будет выпущена под лицензией Creative Com­mons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) вскоре после публикации печатной версии. Выпуск версии под открытой лицензией был моим требованием, которое я выдвинул, перед тем как взяться за эту книгу. Это мой способ внести свой вклад в биткоин-сообщество, давшее мне так много за эти годы. Я и издательство Manning надеемся, что те, кто не сможет позволить себе купить эту книгу, смогут прочитать ее свободно распространяемую версию. Однако благотворительность — не единственная причина. Мы также надеемся, что эта версия сделает книгу более заметной, дав потенциальным читателям возможность ознакомиться с ее содержимым. Если можете себе это позволить, пожалуйста, купите красивую печатную версию. Издательство Manning и я потратили много времени и сил на создание этой книги, и мы будем очень признательны за ваш вклад!

Я надеюсь, вам понравится книга «Грокаем технологию Биткоин» настолько же, насколько я страдал, работая над ней!

1 Здесь и далее: Биткоин (с прописной буквы): концепция и протокол первой децентрализованной криптовалюты, использующей технологию блокчейн. Криптовалютный токен биткоин (со строчной): валюта сама по себе. — Примеч. ред.

Благодарности

Я должен сказать спасибо многим людям, без которых эта книга была бы невозможна.

В первую очередь хочу поблагодарить свою жену Линнею за наши обсуждения и ее безоговорочную поддержку. Ты лучшая!

Кристина Тейлор (Christina Taylor), мой дорогой редактор из Manning, спасибо, что не давали мне расслабиться. Работа, работа и еще раз работа. Спасибо также вам, Берт Бейтс (Bert Bates), за ваш ценный вклад в педагогику.

Я также хочу поблагодарить других сотрудников издательства Manning за их профессионализм: Озрена Харловича (Ozren Harlovic), Ребекку Райнхарт (Rebecca Rinehart), Кэндис Гиллхулли (Candace Gillhoolley), Ану Ромак (Ana Romac), Майкла Стивенса (Michael Stephens), Эрин Туи (Erin Twohey), Кристофера Кауфмана (Christopher Kaufmann), Матко Хрватина (Matko Hrvatin) и Грега Уайлда (Greg Wild). Отдельное спасибо фантастической команде из технического отдела: Чаку Ларсону (Chuck Larson), иллюстратору; Ребекке Деуэль-Гальегос (Rebecca Deuel-Gallegos), редактору; Кевину Каллахану (Kevin Callahan), наборщику; Тиффани Тейлор (Tiffany Taylor), корректору; а также Лори Вайдерт (Lori Weidert), выпускающему редактору.

Хочу поблагодарить Джонатана Йогенфорса (Jonathan Jogenfors) и Понта Линдблома (Pontus Lindblom) за обзор некоторых глав, охватывающих их области знаний.

Многие люди на различных интернет-форумах оказали значительную помощь мне в моих исследованиях. Особенно помогли Дэвид А. Хардинг (David A. Harding), Питер Уилль (Pieter Wuille) и Марк Эрхардт (Mark «Murch» Erhardt). Спасибо вам за беседы в Twitter и отличные ответы на Bitcoin Stack Exchange (см. веб-ресурс 2 в приложении C).

В обсуждении условий открытой публикации этой книги мне помогал Андреас М. Антонопулос (Andreas M. Antonopoulos). Вашу поддержку в этом деле трудно переоценить. Спасибо! Также спасибо за аналогию с «вегетарианским рестораном», использованную в главе 11. И спасибо за увлекательные беседы с вами; вы стали для меня главным источником вдохновения.

Я писал эту книгу, используя Asciidoctor — язык разметки текста. Спасибо вам, Дэн Аллен (Dan Allen), за ваш тяжелый труд над Asciidoctor; это невероятно удобный язык.

Книга преодолела три раунда рецензирования с разными научными редакторами. Их отзывы и замечания были чрезвычайно полезны для проверки идей и выявления пробелов. Спасибо вам: Ян Гойвертс (Jan Goyvaerts), Макс Хамбер (Max Humber), Ирина Романенко (Iryna Romanenko), Жан-Франсуа Морин (Jean-Francois Morin), Аль Кринкер (Al Krinker), Джоэл Котарски (Joel Kotarski), Маркус Бекманн (Markus Beckmann), Кристофер Бейли (Christopher Bailey), Витон Витанис (Viton Vitanis), Паоло Фрейли (Paolo Freuli), Томо Хельман (Tomo Helman), Марчелло Сери (Marcello Seri), Мацей Дроздзовски (Maciej Drozdzowski), Цицерон Зандона (Cicero Zandona), Барнаби Норман (Barnaby Norman), Фрэнсис Буонтемпо (Frances Buontempo), Гленн Свонк (Glenn Swonk) и Серхио Фернандес Гонсалес (Sergio Fernandez Gonzalez).

Спасибо также всем читателям программы раннего доступа Manning Early Access Program (MEAP), которые делились своими мыслями, предложениями и вопросами на форуме издательства Manning, а также спасибо Аруну Сурье (Aruna Surya) за советы и предложения, присланные по электронной почте.

Если я кого-то не упомянул, прошу извинить меня — и вам тоже спасибо.

О книге

Основная цель этой книги — помочь вам решить, доверяете ли вы технологии Биткоин. На пути к этой цели вы подробно познакомитесь с множеством понятий, таких как цифровые подписи, доказательство работы и одноранговые сети. Попутно мы достигнем некоторых промежуточных целей:

• установим кошелек с биткоинами на свой смартфон и разберемся, как все это работает;

• изучим технические аспекты Биткоин;

• рассмотрим варианты хранения личных ключей, в зависимости от количества биткоинов в кошельке и желаемого уровня безопасности и удобства;

• запустим полноценный узел для участия в финансовых транзакциях без третьих сторон;

• познакомимся с необычными заявлениями жуликов, обманщиков и аферистов, сопровождающими успехи Биткоин. Будьте внимательны!

Кому адресована эта книга

Эта книга адресована всем, кто хочет понять технологию Биткоин на глубоком концептуальном уровне. Книга не требует навыков программирования, но базовое представление о некоторых технических понятиях пригодится — например, о базах данных, компьютерных сетях, компьютерных программах и веб-серверах. Нелишними будут и некоторые знания математики, но это, конечно, не обязательно.

Структура книги

Эта книга состоит из 11 глав и трех приложений.

• Глава 1 предлагает обзор Биткоин. Здесь вы узнаете, что такое технология Биткоин, почему она так важна и как работает.

• Глава 2 рассматривает криптографические аспекты: хеш-функции и цифровые подписи. Это основные строительные блоки, знание которых понадобится в остальной части книги. Здесь также закладывается основа системы фиктивных денег на примере таблицы жетонов на булочки, которую мы будем развивать в главах 2–8.

• Глава 3 охватывает адреса. Пересылая биткоины, вы должны указать биткоин-адрес получателя. Что такое биткоин-адреса, зачем они нужны, как создаются и используются?

• Глава 4 рассказывает, как биткоин-кошелек следит за вашими секретными ключами и как сгенерировать несколько секретных ключей из одного огромного случайного числа, называемого начальным числом, или сидом. Здесь также подробно обсуждаются вопросы резервного копирования.

• Глава 5 исследует анатомию транзакций в Биткоине, как транзакции получают цифровую подпись и обрабатываются.

• Глава 6 рассматривает технологию блокчейн (blockchain): базу данных для хранения транзакций. Здесь мы посмотрим, как устроена цепочка блоков и как она позволяет использовать так называемые легкие кошельки.

• Глава 7 охватывает вопросы доказательства работы, которое используется для выбора того, кто добавит новую транзакцию в цепочку блоков. Этот процесс, называемый майнингом, обеспечивает безопасность биткоинов в цепочке блоков — блокчейне.

• Глава 8 исследует сеть Биткоин. Биткоин не имеет центрального органа управления, и вы узнаете, как можно организовать подобное с использованием одноранговой сети. Здесь также рассказывается, как стать активным членом сети Биткоин, запустив свой узел.

• Глава 9 вновь возвращается к транзакциям, чтобы рассказать о дополнительных возможностях, важных для разных применений.

• Глава 10 вводит понятие протокола SegWit. В 2017-м в технологию Биткоин было добавлено серьезное усовершенствование, повышающее надежность транзакций, эффективность верификации и пропускную способность блокчейна, и в этой главе мы узнаем все подробности.

• Глава 11 рассматривает ситуации софт-форка и хард-форка, то есть разделения версий криптовалюты, и того, как Биткоин может безопасно модернизироваться путем софт-форка с использованием тщательно разработанного плана развертывания.

Советую обязательно прочитать главы 2–8, в которых мы последовательно с самого начала будем строить систему жетонов, или токенов, на булочки. Каждая глава добавляет в систему технологию для решения конкретной проблемы, и к концу главы 8 мы создадим сеть Биткоин. Главы 9, 10 и 11 можно читать не по порядку, но рекомендую особенно внимательно прочитать главу 11, потому что она охватывает суть Биткоин. Поняв, о чем рассказывает глава 11, вы грокнете Биткоин.

Время от времени я буду использовать некоторые обзорные рисунки из главы 1, как во вступительных разделах к главам, так и внутри самих глав, чтобы вы не заблудились. Легко потерять представление об общей картине и цели текущей темы; ищите заголовки со значком перископа «На чем мы остановились?»

Все главы, кроме главы 1, включают упражнения. Я добавил их, чтобы вы могли оценить свои знания и навыки. Каждый блок упражнений делится на разделы с простыми, помогающими быстро проверить знание некоторых фактов, и более сложными, требующими более скрупулезных рассуждений, упражнениями. Называются они «Для разминки» и «Придется пораскинуть мозгами». Некоторые упражнения в разделах «Придется пораскинуть мозгами» действительно очень сложные, поэтому, если вам не удастся их выполнить, обратитесь к приложению B за ответами.

Соглашения об оформлении кода

В книге очень мало примеров программного кода. Его практически нет. Но в главе 8 и в приложении A приводятся несколько команд для ОС Linux. Коман­ды начинаются со знака доллара и пробела, как показано ниже:

$ cd ~/.bitcoin

Длинные команды, не умещающиеся в одну строку, будут разбиты на несколько строк с использованием символа обратного слеша \ и отступа в следующей строке на четыре пробела, например:

$ ./bitcoin-cli getrawtransaction \

30bca6feaf58b811c1c36a65c287f4bd393770c23a4cc63c0be00f28f62ef170 1

Обратные слеши используются для записи команд в нескольких строках большинством интерпретаторов командной строки для Linux, поэтому коман­ды из книги можно напрямую копировать в окно терминала. Длинные строки, которые выводятся командами, не разбиваются с использованием обратного слеша; они просто переносятся и снабжаются значком стрелки, обозначающим перенос, как показано ниже:

{"result":"000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",

"error":null,"id":"1"}

Во всей книге данные оформляются моноширинным шрифтом, например: 7af24c99. Я обычно не указываю кодировку явно (десятичные числа, шестнадцатеричные строки, строки base64, строки base58 и т.д.), потому что часто это очевидно из контекста.

Прочие онлайн-ресурсы

Если у вас есть вопросы о Биткоин, на которые вы не нашли здесь ответов, рекомендую обратиться на сайт Bitcoin Stack Exchange (приложение В), где качество ответов определяется голосованием читателей.

Также советую посетить сайт Bitcoin Developer Reference (веб-ресурс 3), где можно найти исчерпывающую документацию о Биткоин.

Исходный код Bitcoin Core (веб-ресурс 4) является наиболее точным источником информации. Это эталонная реализация протокола Биткоин, и чтение такого исходного кода иногда является единственным способом найти необходимые ответы.

От издательства

Ваши замечания, предложения, вопросы отправляйте по адресу [email protected] (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На веб-сайте издательства www.piter.com вы найдете подробную информацию о наших книгах.

Об авторе

Калле Розенбаум (Kalle Rosenbaum) занимается разработкой программного обеспечения вот уже 20 лет. Его увлечение Биткоином началось в 2013 году и продолжается до сих пор. В 2015-м Калле основал консалтинговую компанию по технологии Биткоин и с тех пор работает в этой отрасли. Он также ведет блог, где разъясняет различные технические вопросы, связанные с Биткоином, такие как усовершенствование механизма распространения блоков, боковые цепочки и транзакции «replace-by-fee» (замена за плату). Его блог служит целью помочь себе и другим извлекать выгоду.

2. Криптографические хеш-функции и цифровые подписи

Эта глава охватывает следующие темы:

• создание простой денежной системы: жетоны на булочки;

• знакомство с криптографическими хеш-функциями;

• аутентификация платежей с использованием цифровых подписей;

• сохранение секретов в секрете.

В этой главе мы рассмотрим основные темы, необходимые для понимания остальной части книги. Мы рассмотрим простую платежную систему, которую сможем улучшить с помощью технологии Биткоин. Когда мы достигнем главы 8, эта простая система разовьется в то, что мы называем Биткоин.

Во второй части этой главы я познакомлю вас с криптографическими хеш-функциями. Они играют очень важную роль в Биткоин, поэтому нужно понять их, прежде чем изучать что-либо еще. Вы увидите, как с помощью криптографической хеш-функции можно убедиться, что файл не изменялся после последней проверки.

В оставшейся части главы мы займемся решением проблемы самозванца: злоумышленника, притворяющегося кем-то другим, чтобы платить деньги со счета этого другого. Мы решим ее, введя цифровые подписи (рис. 2.1) в простую систему.

Рис. 2.1. Цифровые подписи в Биткоин

Электронная таблица учета жетонов на булочки

Предположим, в здании, где вы работаете, есть кафе. Вы и коллеги используете электронную таблицу для учета жетонов на булочки (рис. 2.2), которые обозначим символами CT3. Эти жетоны можно обменять в кафе на булочки.

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

Биткоин, валюта

Жетон на булочки соответствует биткоину, единице валюты Биткоин. Первую реальную стоимость биткоин приобрел в 2010 году, когда кто-то купил две пиццы за 10 000 BTC. В ноябре 2018-го за эти деньги можно было бы купить 6 000 000 пицц.

Лиза хранит эту электронную таблицу на своем компьютере. Всем сотрудникам в офисе, кроме Лизы, она доступна только для чтения. Лиза пользуется очень высоким доверием. Все доверяют ей. У нее есть полный доступ к таблице, и она может сделать с ней все, что захочет. Вы и все остальные можете только просматривать электронную таблицу.

Всякий раз, когда Алиса хочет булочек, она просит Лизу, которая работает рядом с кафе, перевести 10 CT от Алисы в кафе. Лиза знает, кто такая Алиса, и, заглянув в электронную таблицу, может убедиться, что у нее достаточно жетонов; она выполнит поиск по имени «Алиса», сложит все числа в столбце «Кому» в записях с именем Алисы и вычтет из суммы все числа в столбце «От» в записях с именем Алисы. На рис. 2.3 изображены все результаты поиска; в таблице есть три записи с именем Алисы.

Рис. 2.3. Лиза вычисляет баланс Алисы. Сумма полученных ею жетонов равна 100, а сумма потраченных равна 30. Соответственно Алиса имеет 70 CT

Выяснив, что на своем балансе Алиса имеет 70 CT (достаточно, чтобы перевести 10 CT в кафе), Лиза добавит запись в конец таблицы (рис. 2.4).

Рис. 2.4. Лиза добавила запись о платеже за булочки. Запись добавлена в конец таблицы учета жетонов

Заработай их

Также есть возможность получить часть заработной платы жетонами.

Сотрудник кафе заметит новую запись в таблице и передаст булочки Алисе.

Когда жетоны закончатся, вы сможете купить их за доллары у кого-то, кто согласится продать вам немного, например у Энни или в кафе, по цене, о которой вы договоритесь. Лиза добавит в таблицу соответствующую запись.

Лиза пообещала никогда не удалять и не изменять что-либо в электронной таблице, а только добавлять новые записи. Все, что попало в таблицу, остается неизменным!

Лиза выполняет важную работу, обеспечивая безопасность этой денежной системы, и ежедневно получает за это 7200 новых жетонов (рис. 2.5). Каждый день она добавляет в таблицу новую строку, записывая на свой счет 7200 новых жетонов.

Так создаются все жетоны на булочки в электронной таблице. Первая запись в таблице — это запись с вознаграждением, подобная изображенной на рис. 2.5, создавшая самые первые 7200 CT. Согласно плану, Лиза будет ежедневно получать вознаграждение в 7200 CT в течение первых четырех лет, в течение следующих четырех лет вознаграждение будет уменьшено вдвое — до 3600 CT в день, и так далее, пока вознаграждение не уменьшится до 0 CT в день.

Рис. 2.5. Лиза вознаграждается жетонами на булочки

Пока нет причин волноваться о том, что произойдет, когда сумма вознаграждения достигнет 0 — это вопрос отдаленного будущего. Мы обсудим его в главе 7. Сокращение вдвое каждые четыре года приведет к тому, что общая денежная масса — общее количество жетонов в обращении — приблизится к 21 миллиону CT, но никогда не превысит этого числа.

Кривая выпуска новых жетонов

В системе Биткоин действует тот же график выпуска новых монет, что и в случае с жетонами на булочки. Все новые биткоины создаются как вознаграждение узлам за безопасность консенсусного реестра Биткоин — блокчейна, в точности как Лиза вознаграждается за безопасность электронной таблицы.

Как Лиза распорядится новыми жетонами — это ее дело. Она может продать жетоны или купить на них булочки. Она также может сохранить их на будущее. Система с электронной таблицей работает хорошо, и каждый получает неплохую порцию булочек.

Фактически Лиза выполняет ту же работу, что и майнеры в сети Биткоин. Она проверяет платежи и обновляет консенсусный реестр — электронную таблицу учета жетонов на булочки. В табл. 2.1 поясняется, как идея электронной таблицы соответствует идее Биткоин.

Таблица 2.1. Как ключевые понятия системы с электронной таблицей соотносятся с системой Биткоин

Жетоны на булочки

Биткоин

Где описывается

1 жетон на булочки

1 биткоин

Глава 2

Электронная таблица

Блокчейн

Глава 6

Запись в электронной таблице

Транзакция

Глава 5

Лиза

Майнер

Глава 7

Эта таблица будет сопровождать нас на протяжении всей книги. В ней описаны различия между жетонами на булочки и биткоинами. Я буду удалять из нее строки по мере знакомства с понятиями из мира Биткоин. Например, строку «Электронная таблица» я удалю в главе 6, когда расскажу, как для хранения транзакций используется блокчейн. Я также буду добавлять новые строки, представляя новые идеи для системы жетонов, которые отличаются от аналогов в Биткоин.