Модуль 3 из 8

Техническая история Биткоина

3.0 Введение

Аннотация к Bitcoin White Paper

Чисто одноранговая версия электронной наличности позволила бы отправлять онлайн-платежи напрямую от одного участника другому без участия финансового учреждения. Цифровые подписи обеспечивают часть решения, но основные преимущества теряются, если доверенное третье лицо всё ещё требуется для предотвращения двойных трат. Мы предлагаем решение проблемы двойных трат с использованием одноранговой сети. Сеть проставляет временные метки транзакциям, хешируя их в непрерывную цепочку доказательства работы на основе хеша, формируя запись, которую нельзя изменить без повторного выполнения доказательства работы. Самая длинная цепочка служит не только доказательством последовательности произошедших событий, но и доказательством того, что она была создана наибольшим пулом вычислительной мощности. Пока большинство вычислительной мощности контролируется узлами, которые не сотрудничают для атаки на сеть, они будут создавать самую длинную цепочку и опережать атакующих. Сама сеть требует минимальной структуры. Сообщения передаются по принципу наилучшего усилия, и узлы могут покидать и возвращаться в сеть по своему желанию, принимая самую длинную цепочку доказательства работы как подтверждение того, что произошло, пока их не было.

Bitcoin не появился из ниоткуда, а был построен на трудах многих людей за предыдущие десятилетия. В этом модуле мы рассмотрим основы интернета, на которых строится Bitcoin, а также исследования и разработки, признанные в whitepaper.

В 70-х годах группа людей обратила внимание на то, как правительство США, в частности, пыталось ограничить доступ к криптографии, и занялась тем, чтобы эта технология стала доступна всем людям для защиты их приватности в интернете. Некоторые из этих ранних пионеров также были сосредоточены на потенциальных преимуществах цифровой системы «звуковых денег», которую можно было бы использовать для хранения и обмена ценностью в зарождающемся интернете. Фридрих Хайек — ведущий представитель австрийской экономической школы — задолго до появления интернета представлял себе идеальную валюту, основанную на конкуренции свободного рынка, но пришёл к выводу, что это технически и политически невозможно. Помимо цифровой приватности, эта группа, которая впоследствии стала называться Cypherpunks, пыталась реализовать видение Хайека относительно цифровых денег, но эти попытки терпели неудачу до тех пор, пока Сатоши не опубликовал свои идеи в рассылке.

  • Протокол TCP/IP (1976)
  • Протоколы для криптосистем с открытым ключом — Ральф Меркле (1980)
  • Digicash — Дэвид Чаум (1989)
  • Цифровое проставление временных меток (90-е)
  • Hashcash — Адам Бэк (1997)
  • BitTorrent — Брэм Коэн (2001)
  • Reusable POW — Хэл Финни (2004)
  • Bitcoin Whitepaper — Сатоши Накамото (2008)

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

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

3.1 Разработка TCP/IP

Большинство из нас знакомы с протоколами TCP/IP, которые сегодня используются как основа интернета. Их происхождение уходит в конец 70-х годов, когда учёные исследовали альтернативные варианты для Arpanet — ещё более ранней сети, созданной Министерством обороны США для обмена ресурсами между удалёнными компьютерами. В 1983 году TCP/IP стал стандартным протоколом для Arpanet, что привело к его доминированию в качестве основной модели сетей к концу 1990-х и заложило фундамент для интернета, на котором сегодня работает Bitcoin.

Модель OSI TCP/IP
Прикладной Прикладной
Представительный Прикладной
Сеансовый Прикладной
Транспортный Транспортный
Сетевой Сетевой
Канальный Канальный
Физический Физический

В то же время, когда разрабатывалась модель TCP/IP, Международная организация по стандартизации (ISO) и телекоммуникационная индустрия (CCITT) разрабатывали похожую, но более комплексную структуру. Процесс создания новых протоколов или внесения изменений был медленным и громоздким по сравнению с более децентрализованным подходом, применяемым при разработке TCP/IP, что и привело к доминированию последнего подхода сегодня.

Запрос на изменение

Любые предложения по развитию существующих протоколов или идеи для новых могут быть предложены в модели TCP/IP через Запрос на изменение процесс. Они проходят процедуру утверждения, которой управляет Internet Engineering Task Force (IETF), и становятся открытым исходным кодом после утверждения, чтобы любой мог их реализовать и использовать. Некоторые примечательные примеры:

  • 1969 RFC 1 Описывал, как пакеты будут передаваться в Arpanet
  • 1981 RFC791 определил протокол Internet V4 — до сих пор широко используется
  • 1982 RFC 821 Протокол простой передачи почты (SMTP)
  • 1987 Система доменных имён — как доменные имена сопоставляются с IP-адресами
  • 1999 RFC 2616 Протокол передачи гипертекста — необходим для просмотра веб-страниц

В Bitcoin Improvement Proposal (BIP) используется похожий подход на RFC, но с фокусом исключительно на улучшениях самого Bitcoin, а не на разработке новых или альтернативных протоколов. Bitcoin также заимствует эту многоуровневую модель, и вы увидите дополнительные протоколы, описываемые как второй или третий уровень.

Так же, как базовые уровни модели TCP/IP менялись относительно мало за последние десятилетия, а инновации происходили на более высоких уровнях, базовый уровень Bitcoin также ожидается будет меняться очень медленно, а решения для масштабирования, такие как Lightning и Liquid, реализуются выше.

Хороший пример того, как протоколы базового уровня со временем становятся трудноизменяемыми — это IPv6. Ожидаемое исчерпание адресного пространства в IPv4 создало спрос на новый протокол. Первый проект стандарта был создан в 1998 году, но утверждён как интернет-стандарт только в 2017 году. Хотя он решил многие проблемы IPv4 и гораздо лучше подходит для будущего, его внедрение в индустрии до сих пор идёт очень медленно. За это время на верхних уровнях были определены многие новые протоколы для поддержки мультимедиа, электронной почты и т.д.

Строительные блоки, используемые Bitcoin

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

Уровень Оригинальный TCP/IP
Прикладной Использует систему доменных имён (DNS) для идентификации соседних узлов. Порт 8333 сигнализирует о протоколе Bitcoin.
Транспортный UDP для FIBRE-связи между майнерами для минимизации задержек. TCP для P2P-коммуникаций между узлами.
Транспортный TOR-маршрутизация: обеспечивает анонимность и приватность. Протокол широковещательной передачи: маршрутизирует трафик по сети.
Канальный Работает на любом носителе (например, Ethernet, Wi-Fi и др.)
Физический Физическая передача через беспроводные, Ethernet или другие аппаратные интерфейсы.
Bitcoin — это нейтральный протокол для передачи ценности, как HTTPS — протокол для передачи информации
  • HTTPS: Защищённые сайты
  • SMTP: Отправлять электронные письма
  • FTP: Передавать файлы
  • DNS: Управлять доменными именами
  • BTC: Хранить и передавать ценность

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

3.2 Криптография с открытым ключом и протоколы

Сегодня Интернет и большинство современных компьютерных систем полагаются на криптографию — метод сокрытия информации, при котором только получатель может её расшифровать. Основы криптографии, используемой для защиты Bitcoin, восходят к 70-м годам.

Первая задача, которую нужно решить — как передать общий секрет через незащищённую среду.

Впервые этот вопрос рассмотрели Уитфилд Диффи и Мартин Хеллман.

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

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

Поскольку приватный ключ никогда не нужно передавать, а для шифрования и расшифровки на каждом конце используются разные ключи, этот метод называется асимметричным алгоритмом шифрования.

Примеры использования:

  • Алиса подписывает сообщение публичным ключом Бориса — только он может расшифровать его с помощью своего приватного ключа
  • Алиса подписывает сообщение своим приватным ключом — расшифровав его её публичным ключом, любой может убедиться, что сообщение отправила Алиса, не зная её приватного ключа
  • Комбинируя эти два подхода с двумя слоями шифрования, можно отправить сообщение так, что только Борис сможет его расшифровать, и он сможет убедиться, что отправителем действительно была Алиса

Хотя в статье он не был указан как автор, Ральф Меркле сыграл ключевую роль в решении задачи, считавшейся до этого неразрешимой — как установить или восстановить приватную связь через открытую и потенциально враждебную сеть.

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

Протоколы для криптосистем с открытым ключом

Помимо вклада в систему с открытым ключом Диффи-Хеллмана, описанную выше, Ральф Меркле продолжал вносить вклад в эту область много лет и сыграл важную роль в разработке некоторых ключевых компонентов, используемых в Bitcoin.

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

  • Входные данные могут быть любого размера
  • Выход всегда фиксированной длины и детерминирован (одни и те же входные данные всегда дают одинаковый хеш)
  • Проверить результат легко, но чрезвычайно сложно обратить процесс, чтобы узнать исходные данные
  • Небольшое изменение данных полностью меняет результат
Hash function

Хеширование — неотъемлемая часть протокола Bitcoin. SHA-256, используемый в Bitcoin, был создан АНБ и является примером криптографического хеш-алгоритма.

  • Каждый блок в цепочке хешируется, чтобы данные нельзя было изменить — это обеспечивает целостность распределённого реестра
  • Сгенерированный хеш должен соответствовать критериям «Доказательства работы», чтобы считаться действительным блоком
  • Деревья Меркле — благодаря ветвлению и хешированию хешей, такие деревья позволяют проверять большие наборы данных с минимальными затратами памяти
  • Хеш-основанные подписи и ключи могут использоваться для кошельков, адресов и авторизации транзакций

Распределённая проверка состояния блокчейна и модели неизменяемого реестра становятся возможными благодаря одностороннему хешированию. Хеш-функции обеспечивают надёжный, детерминированный способ проверки событий в публичных реестрах, таких как Bitcoin, без необходимости централизованного доверия.

Создатели этих новых возможностей в области криптографии ожидали, что они приведут к новой волне инноваций.

Криптография на эллиптических кривых

Одним из таких последующих новшеств стала криптография на эллиптических кривых.

Криптография на эллиптических кривых была представлена в 1985 году двумя учёными — Н. Коблицем и В. Миллером. Они предложили использовать точки, определяемые эллиптическими кривыми, вместо конечных простых полей, чтобы выполнялось предположение о сложности задачи дискретного логарифмирования, как это принято в стандартном протоколе обмена ключами Диффи-Хеллмана. Подробности работы этого метода выходят за рамки данного раздела, но в общих чертах эллиптическая кривая — это множество точек, удовлетворяющих определённому математическому уравнению.

Уравнение эллиптической кривой выглядит примерно так:

Elliptic curve

Это даёт несколько полезных свойств:

  • Горизонтальная симметрия. Любую точку на кривой можно отразить относительно оси x, и она останется на той же кривой.
  • любая не вертикальная прямая пересекает кривую не более чем в трёх точках.
  • Компактные размеры ключей необходимы для эффективного хранения и передачи публичных ключей в блокчейне.

Эти свойства можно использовать для создания пар ключей аналогично алгоритму Диффи-Хеллмана. Bitcoin использует ECDSA, что расшифровывается как Алгоритм Цифровой Подписи на Эллиптических Кривых. Это процесс, в котором используется эллиптическая кривая и конечное поле для «подписания» данных так, чтобы третьи лица могли проверить подлинность подписи, а подписант сохранял исключительное право создавать подпись. В Bitcoin подписываются данные о транзакции, которая передаёт право собственности.

«Конечная» часть аналогична подходу с «mod» в Диффи-Хеллмане, когда результат уравнения делится, и остаток используется для того, чтобы он укладывался в определённый диапазон чисел.

3.3 DigiCash

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

Он разработал анонимный почтовый протокол с использованием криптографии с открытым ключом, который «перемешивал» сообщения, чтобы сохранить анонимность источника и получателя. Это стало основой для сети TOR.

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

Правительства хорошо умеют «отрубать головы» централизованным сетям, таким как Napster, но чисто P2P-сети, такие как Gnutella и TOR, похоже, держатся на плаву.Satoshi Nakamoto

Децентрализованные системы без центрального органа — пиринговые (peer-to-peer) — обладают рядом преимуществ:

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

Десять лет спустя он основал свою компанию Digicash, чтобы создать «ecash» — первую в мире систему цифровых денег. Многие известные имена присоединились к Digicash на какое-то время, компания добилась определённого успеха, но в итоге потерпела неудачу и объявила о банкротстве.

Дальнейшее развитие цифровых денег

В июле 2010 года на форуме Satoshi Nakamoto написал: «Bitcoin — это реализация предложения b-money Вэя Дая на Cypherpunks в 1998 году и предложения Bit Gold Ника Сабо».

Хотя ни одна из этих идей не вышла за пределы стадии предложения, некоторые из них явно повлияли на развитие Bitcoin:

  • Использование «доказательства работы» (Proof of work) для присвоения денежной ценности вычислительной работе
  • Концепция того, что стоимость вычислений со временем меняется и это необходимо учитывать

Но сначала мы рассмотрим Hashcash.

3.4 Hashcash

Hashcash был создан Адамом Бэком, ещё одним из ранних новаторов в этой области. Адам проявлял большой интерес к свободным рынкам и приватности в интернете, и наткнулся на рассылку Cypherpunks, к которой он присоединился и стал активным участником.

Он очень интересовался цифровыми деньгами и выдвинул несколько предложений о том, как группа могла бы более тесно сотрудничать с Chaum над DigiCash, но эти идеи ни к чему не привели. Затем он переключил своё внимание на другую возникающую проблему — спам в электронной почте. Он и остальные участники Cypherpunks хотели найти решение проблемы спама, когда для спамеров не составляло труда создавать и рассылать тысячи писем, засоряющих сети. Его инновационное решение основывалось на хешировании — возможности с помощью криптографии превращать любые данные в уникальную и случайную строку определённой длины, чтобы создать своего рода цифровую «марку», которую нужно было добавить к письму, чтобы оно считалось действительным и могло быть передано по сети. Для обычного письма это был бы незначительный расход, но для спамера — непреодолимое препятствие.

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

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

BitGold

Ник Сабо развил концепцию Hashcash и доказательства работы, чтобы предложить альтернативное решение, которое он описал в рассылке через год после публикации Hashcash, в 1998 году.

Хотя это предложение приблизило к решению, оно всё ещё имело несколько проблем.

  • Кто будет вести реестр владения хешами и как им можно доверять?
  • Хеширование со временем обычно становится дешевле, что также было проблемой для HashCash.

Поскольку связанные хеши должны были иметь временные метки, он предложил некую форму исторического отслеживания сложности хеширования на тот момент: более ранний хеш требовал бы больше вычислительных затрат, чем более поздний, поскольку стоимость вычислений со временем снижалась. К сожалению, это означало, что хеши не были бы «фунгибельными», то есть равными по стоимости, что считается ключевым свойством цифровых денег. Чтобы решить эту проблему, Ник предложил некую форму «свободного банкинга» поверх BitGold, который мог бы агрегировать разные группы хешей, оцениваемых одинаково.

B-Money

Вскоре после предложения Bit Gold Вэй Дай предложил похожее решение. Он уже разработал несколько других инструментов для Cypherpunks и имел свои собственные идеи о цифровых деньгах.

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

Вэй Дай предложил несколько решений этих проблем, одно из которых заключалось в том, что вместо центральной организации(ий), поддерживающей реестр, ВСЕ узлы будут хранить его копию. Если все пользователи будут проверять свой собственный реестр и действительность каждой транзакции, то, пока все узлы остаются актуальными, реестры должны оставаться синхронизированными по всей сети. Такая сильно распределённая система была бы трудна для коррупции.

Вэй Дай понимал, что это не решает проблему византийских генералов (1), так как узлы могли легко потерять синхронизацию или просто лгать. Он предложил альтернативные методы, такие как выделение подмножества «доверенных» серверов, которые поддерживают реестр, и создание финансовых стимулов для того, чтобы эти серверы оставались честными.

В качестве денежной политики он предложил привязать покупательную способность B-Money к какому-либо внешнему потребительскому ценовому индексу. Он хотел, чтобы одно и то же количество B-Money могло со временем покупать одинаковую долю индекса, обеспечивая некоторую стабильность цен. Таким образом, любой мог бы создавать новые единицы валюты, предоставив действительный хеш, но сложность генерации хеша могла бы меняться со временем в зависимости от стоимости процессора и ценового индекса, чтобы каждая единица оставалась «неизменяемой».

3.5 BitTorrent

Другим проектом, который сыграл значительную роль в формировании криптовалют вплоть до появления биткоина, является BitTorrent.

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

  • Рой: сообщество компьютеров, которые загружают или раздают контент
  • Трекер: специализированный инструмент, который работает аналогично поисковой системе, но отслеживает файлы, находящиеся в рое. Это позволяет пользователям легко находить и получать нужные им файлы
  • BitTorrent-клиент: устанавливается на компьютер для доступа к трекеру. Обратите внимание, что файлы фактически хранятся только в рое
  • Система поощрений, при которой пользователи, участвующие в сети как распространители файлов, получают более высокую скорость загрузки

Сходства с Биткоином:

  • Оба протокола работают по принципу одноранговой сети
  • Децентрализованный дизайн
  • Файлы BitTorrent и реестр Bitcoin распределены по всей сети
  • Открытый исходный код (BitTorrent со временем стал программой с закрытым исходным кодом)

3.6 Многоразовое доказательство работы

Хэл Финни — ещё один известный участник движения киберпанков, который проявлял большой интерес к развитию электронных денег и был активным участником рассылки.

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

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

Однако решение всё равно сталкивалось с теми же проблемами, что и другие предложения:

  • Проблема «курицы и яйца» при внедрении: отсутствует стимул для пользователей запрашивать токены, а продавцы не хотят подключаться к системе, если пользователи не хотят платить этими токенами.
  • Доказательство работы (POW), скорее всего, со временем будет становиться дешевле по мере роста вычислительной мощности, что означает, что рынок в конечном итоге будет переполнен единицами валюты RPOW.
Если закон Мура продолжит действовать, стоимость создания токена (POW) будет снижаться устойчиво и экспоненциально. Имейте в виду, что это не деньги и не предназначено для хранения стоимости, а скорее удобное для обмена представление вычислительных усилий.Хэл Финни

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

3.7 Биткойн

После многих лет и неудачных попыток киберпанки в основном начали терять интерес к идее цифровой валюты без разрешений, когда Адам Бэк получил электронное письмо со ссылкой на черновик white paper под названием «электронные деньги без третьей стороны» от анонимного человека, назвавшего себя Сатоши Накамото.

Подытожим на этом этапе, у нас есть как минимум следующие идеи:

  • Криптографические подписи, которые могли бы обеспечить определённый уровень приватности и анонимности
  • Концепция необеспеченной валюты (B-Money)
  • Предложения (но не способы) по ограничению выпуска новой валюты
  • Цифровые монеты, право собственности на которые определялось публичными ключами (B-Money) и которые могли передаваться путём подписи и переназначаться на адрес получателя (RPOW и Hashcash)
  • Все узлы поддерживают копию полностью распределённого реестра (B-Money) (в то время считалось непрактичным)
  • Протокол временных меток — использование хеширования по дереву Меркла для предоставления математически доказуемой хронологии событий, которую сложно подделать, если все пользователи ведут одинаковые записи
  • Доказательство работы для привязки реальных усилий к системе (но при этом сам хеш использовался как валюта)
  • Полностью децентрализованные сети, где все участники равны и могут свободно подключаться и отключаться от сети (BitTorrent)
  • Концепция связывания новых хешей с предыдущими (Bit Gold и протокол временных меток)

На тот момент отсутствовало:

  • Жизнеспособное решение проблемы «византийских генералов»
  • Метод ограничения количества денег в обращении несмотря на постоянное совершенствование оборудования
  • Система стимулов для участия людей (проблема «курицы и яйца»)

Другое важное отличие между недавними попытками и Bitcoin заключалось в том, что Сатоши уже некоторое время работал над кодом, следуя настоящему принципу «киберпанки пишут код», прежде чем объявить о проекте в рассылках, в отличие от Bit Gold и B-Money, которые были скорее концептуальными.

В чём заключалось новшество, которое выделило Bitcoin среди предыдущих попыток создать электронные деньги?

Доказательство работы использовалось как механизм консенсуса и способ обеспечения безопасности и неизменяемости: вместо использования хеша как формы денег, он применялся в новом концептуальном процессе, называемом майнингом, где узел собирал набор транзакций, добавлял случайное число и затем применял хеширование к «блоку» данных. Действительный блок, соответствующий требованию по хешу, затем объявлялся в сети. Эти блоки связывались между собой с помощью хеша предыдущего блока, и в случае разветвления цепи, когда разные узлы одновременно подтверждали и объявляли разные блоки, использовалась самая длинная цепочка блоков. Доказательство работы стало распределённым механизмом разрешения споров для решения проблемы византийских генералов.

Майнеры также получали стимул предоставлять вычислительную мощность, необходимую для выполнения доказательства работы, получая новые биткоины за каждый блок. Количество Bitcoin, которое они получают, также запрограммировано на уменьшение примерно каждые 4 года, пока все Bitcoin не будут созданы, что создаёт жёсткий лимит на общее количество Bitcoin, которое когда-либо будет в обращении — 21 миллион.

Самой оригинальной идеей был способ, которым он решил вопрос о том, сколько денег создаётся по мере совершенствования оборудования и увеличения мощности, применяемой к сети. Временные метки определённого количества блоков (2016) усреднялись, и если они создавались слишком быстро, требуемый для создания нового блока хеш усложнялся, если слишком медленно — упрощался. Это было заложено в децентрализованный протокол, который запускают все узлы, поэтому любой майнер, игнорирующий это, тратил бы энергию на майнинг блока без пользы, так как он был бы отклонён остальной сетью. Эта корректировка обеспечивает создание новых блоков в соответствии с запланированным графиком эмиссии и стимулирует майнеров «играть по правилам».


Резюме

Многие элементы головоломки, необходимые для создания децентрализованной одноранговой электронной денежной системы на принципах твёрдых денег, уже существовали до того, как Сатоши опубликовал свой whitepaper и вскоре после этого выпустил исходный код.

Природа Bitcoin такова, что после выпуска версии 0.1 основная архитектура была закреплена на весь срок его существования
Satoshi Nakamoto

Хотя было предложено и принято много идей для улучшений (BIP), Bitcoin работает в фоновом режиме с 2009 года, следуя протоколу, заложенному в первоначальном релизе, практически без перебоев. Все улучшения были реализованы с сохранением обратной совместимости со всеми предыдущими версиями.

Примечания
  1. Для объяснения проблемы византийских генералов см.https://en.wikipedia.org/wiki/Byzantine_fault

↑ К оглавлению