«Белая книга» Bitcoin: что в ней оказалось верным, что ошибочным, и о чем мы ещё не знаем

0
ПОДЕЛИТЬСЯ

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

«Белая книга» Биткойна по праву является одним из наиболее оригинальных и влиятельных документов по программированию в истории.

Она породила многомиллиардную индустрию и тысячи других «белых книг».

Но есть смысл взглянуть на этот документ под критическим углом (и на те элементы первоначального дизайна сети Биткойн, которыми пренебрегли), чтобы спросить себя: что в «белой книге» оказалось верным, что ошибочным, и на какие вопросы у нас до сих пор нет ответа.

В чём создатель Биткойна оказался прав

Пожалуй, самым сложным было составить этот раздел.

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

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

Перед появлением Биткойна децентрализованные системы активно разрабатывали в двухтысячные годы (обычно их описывали как пиринговые сети), также проводились исследования технологий анонимизации (развитие браузера Tor и других систем).

Но все эти разработки не рассматривались как обязательные для системы платежей. Что же привнёс Биткойн?

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

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

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

4. Определение долгосрочных стимулов. Сатоши не участвовал в промышленном майнинге или майнинговых пулах, по крайней мере, он не указал об этом в «белой книге». Однако документ о Биткойне включает очень предусмотрительную мысль о рисках централизации: «[атакующий] рано или поздно должен понять, что ему выгоднее играть по правилам, таким правилам, которые предоставят ему на несколько больше монет, чем у всех остальных, вместе взятых, вместо того, чтобы подрывать всю систему и основание для его собственного богатства». Несмотря на большое число теоретических атак, описанных с тех пор, никакие из них не были исполнены на практике. Сатоши установил сильный принцип — что у майнеров есть долгосрочные стимулы не атаковать, поскольку они инвестируют в здоровье всей экосистемы.

В чем «белая книга» Биткойна ошиблась

Мы опустим некоторые причудливые функции в ранних версиях кода Биткойна, такие как оплата по IP-адресу и встроенная система электронной торговли, которая никогда не увидела свет.

Но некоторые характеристики оказались ошибочными, и их не следует повторять.

1. ECDSA. В то время, как этот алгоритм подписи был лучшим выбором, чем, скажем, RSA, он всё же уступает технике Шнорра во всех аспектах. Скорее всего, Сатоши просто не знал о такой возможности (из-за «патентных войн» за наследие Шнорра). Сегодня выгода от использования подписей Шнорра очевидна, если не брать во внимание более продвинутые схемы типа BLS.

2. Пластичность транзакций. Эта непреднамеренная трудность привела к проблемам для платёжных систем и сделала возможной атаку на биржу Mt. Gox. Сегодня в более разумном дизайне сети разработчики будут использовать SegWit, чтобы удостовериться в отсутствии пластичности хэшей транзакций.

3. Новые функции. Весьма очевидно, что решение не включать в биткойн популярные функции типа pay-to-script-hash (P2SH) и CheckLocktimeVerify (CLTV) оказалось ошибкой, хотя они и были добавлены в последующих софт-форках.

4. Ограниченная разрядность монет. Эмиссия биткойна ограничена 21 миллионом монет, но что более важно, у него есть лимит минимальных единиц, составляющий примерно 2^52 сатоши. Если биткойн действительно задумывали как единственную расчетную единицу на планете, следовало предусмотреть несколько миллионов единиц на одного человека. Текущего количества недостаточно для ежедневных платежей (даже округлённых до десятков долларов) и крупных сбережений. Можно просто прибавить к текущей системе несколько новых базовых единиц, и тогда разрядность больше никогда не будет проблемой.

5. Все блоки в одной цепи. Принимая во внимание, какое значение имеет слово «блокчейн», следует отметить, что размещение блоков в линейной цепочке — это непредусмотрительность, которая приводит к удорожанию процесса подтверждения старых блоков облегчённым узлом. Если Биткойн корректно располагает транзакции в древовидном порядке, почему не сделать то же самое для блоков? Список пропусков тоже был бы важным дополнением. Любопытно, что проект Certificate Transparency (созданный независимо в то же время, что и биткойн) использует верную архитектуру и размещает новые блоки в виде дерева, тогда как лишь немногие преемники Биткойна отклонились от линейной конструкции цепи.

6. Отсутствие обязательных данных о состоянии сети. Майнеры Биткойна отслеживают состояние системы через входящие платежи, являющиеся неизрасходованными выходами (UTXO). Но эта информация не относится к каждому блоку и должна браться из истории транзакций. Поэтому облегченным узлам сложно подтверждать текущее состояние сети и статус расходования перевода. Можно было бы достаточно легко включить обязательство UTXO в каждый блок, и многие последующие системы (например, Ethereum) уже это делают.

7. Анализ упрощенной атаки. В «белая книге» Биткойна уделяется повышенное внимание (примерно четверть всего текста) анализу шансов майнера на успешный форк при обладании менее 51% майнинговой мощности. Последующие исследования выявили много других векторов атаки (например, эгоистичный майнинг), и теперь этот анализ выглядит устаревшим.

8. Один процессор — один голос. Сатоши описал Биткойн как систему, большинство участников которой будут майнерами, использующими собственные процессоры. Однако уже много лет в добыче монет доминирует специализированное оборудование. Хотя польза или вред ASIC-майнинга — это спорный момент, в оригинальном документе о нём не сказано.

О чем мы до сих пор не знаем

1. Загадка алгоритма SHA-256. Использование основанных на хэшах вычислительных головоломок («доказательство работы», PoW) в сети Биткойна является одной из самых популярных тем дебатов в сообществе. Потребляет ли этот алгоритм слишком много электричества? Усиливают ли ASIC-чипы децентрализацию? Смогли бы задачи, разработанные для майнинга на графических картах, предоставить лучшие стимулы по меньшей цене? Победит ли в итоге «доказательство доли владения» (PoS)?

2. Размер блока и другие ограничения. Ограничение размера блока 1 мегабайтом, по меньшей мере, остаётся спорным вопросом, так же, как и 10-минутные интервалы между блоками. Многие последующие блокчейн-сети процветают с большими размерами и меньшими интервалами блоков. Является ли консервативная архитектура Биткойна обоснованной в долгосрочной перспективе?

3. Анонимность. Аргумент о том, что сеть Биткойна анонимна вследствие использования публичных ключей, изложенный в «белой книге», со временем оказался несовершенным из-за развития технологий анализа транзакций. Такие системы, как Confidential Transactions, Monero или Zcash предлагают более надежную конфиденциальность переводов. С другой стороны, для сети Биткойна было предложено много схем с целью запутывания активности путем смешивания транзакций. Является ли анонимность критической функцией, которая оказалась не учтена в блокчейне Биткойна?

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

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

6. Ограниченная программируемость. Биткойн установил серьёзные ограничения на возможность программирования сети, чтобы сохранить простоту подтверждения транзакций (а их стоимость — предсказуемой). Проект Ethereum продемонстрировал существенный спрос на более обширную модель программирования, хотя она и вызывает опасения в масштабируемости. Станет ли Биткойн «инвалидом» в долгосрочной перспективе из-за более слабой модели программирования?

Источник

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here