Вечная борьба Биткоина
Cover

Вечная борьба Биткоина

December 19, 2019

Как Биткоин процветает на грани порядка и хаоса

Перевод статьи GiGi подготовлен автором паблика ♾️/21M. Редактура Тони⚡️. Поддержать проект.

Биткоин работает. Независимо от того, какого мнения вы бы не придерживались касательно этого странного явления, оно, несомненно, работает, развивается или, как я (и другие) утверждали ранее, живо. Даже если бы бóльшая часть мира остановилась, Биткоин-сеть продолжала бы создавать валидные блоки примерно каждые 10 минут или около того.

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

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

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

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

Давайте начнем.

Энтропия #

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

Примечание: технический термин, описывающий эту нежелательную передачу монет звучит как “рект”. Вам не нужно углубляться в словообразование фразы “ректануться” или выяснять, как попасть в такую ситуацию; достаточно знать, что такого развития событий следует избегать любой ценой.

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

  • Высокая энтропия: случайность.

  • Низкая энтропия: упорядоченность.

Или, следуя формулировке Цахи Вейсмана:

  • Высокая энтропия: низкая сжимаемость.

  • Низкая энтропия: высокая сжимаемость.

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

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

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

– Кнут Сванхольм

В Биткоине энтропия важна по нескольким причинам:

  1. Секретная информация должна генерироваться источниками данных с высокой энтропией.

  2. Новые блоки локально обращают энтропию, т.е. создают порядок из хаоса.

  3. Модель безопасности Биткоина основана на хаотичных процессах.

  4. Валидация опирается на детерминированные процессы.

  5. Каждый может проверить структурированные данные.

  6. Никто не может угадать случайные данные.

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

Не вдаваясь в детали, мы постараемся предоставить более простой пример. Если у вас есть две монеты, энтропия этой системы равна двум. Например: всю систему можно описать двумя битами: 00, 01, 10, 11.

2 бита энтропии

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

Случайность #

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

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

Случайный шум. Сколько информации содержится в этом изображении?

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

  • “Хорошая” случайность: несжимаемая/высокая энтропия/секретная/безопасная.

  • “Плохая” случайность: сжимаемая/низкая энтропия/угадываемая/небезопасная.

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

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

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

Информация #

Что вообще такое информация?

Мы часто слышим, что Биткоин термодинамически защищен. Хотя это и правда, мне хотелось бы копнуть немного глубже. Что именно означает термодинамическая безопасность?

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

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

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

Тот факт, что изменение вещей - или, другими словами, инвертирование битов - требует энергии, является основной загадкой всех вычислений. Это причина, по которой ваш компьютер шумит и нагревается, если много “думает”. Именно по этой причине студентам-компьютерщикам приходится изучать нотацию Big O, а компании, разрабатывающие программное обеспечение, любят задавать кучу вопросов на эту тему. Изменение нуля в единицу требует работы, и каким эффективным вы бы ни были, вам все равно придется затратить некоторое количество энергии. Согласно физике, бесплатного сыра буквально не существует. Инвертирование битов - это работа, требующая энергии.

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

Хорошо. Возвращаемся к нашему первоначальному вопросу: что вообще представляет из себя информация?

Сортированные цвета. Сколько информации содержится в этом изображении?

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

  • Осмысленная информация: вполне сжимаемая.

  • Бессмысленная информация: не очень сжимаемая.

Число Пи может помочь мне доступнее раскрыть собственную мысль: 3,141592653589793… можно “сжать” в π или длину окружности с диаметром, равным единице.

Как программист, вы могли бы представить себе эту концепцию следующим образом: могу ли я написать программу, способную генерировать передаваемую мною информацию в более сжатом виде, чем оригинальные данные? (Именно это я имею в виду, когда говорю “сжимаемый”.)

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

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

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

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

Слева хаос, справа порядок.

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

Какие процессы являются упорядоченными, а какие хаотичными и как Биткоин может расти на грани порядка и хаоса, мы рассмотрим далее.

Рост на грани порядка и хаоса #

Что заставляет Биткоин работать? Опять же, на этот вопрос может быть много ответов, но единственное, что действительно тикает в сети Биткоин, - это глобальные часы: часы блоков, где каждый блок - это единица времени.

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

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

С точки зрения “поиска новых блоков” мы все еще находимся на очень ранней стадии. Прошло всего около 10 лет. Эра вознаграждения за блок продлится примерно до 2140 года, а это означает, что мы находимся примерно на 13% фазы начального развития Биткоина: эпохи вознаграждений.

Сатоши, несомненно, знал, что это долгая игра. Эпоха, когда новые блоки связаны с вознаграждением, - это лишь одна из фаз Биткоин-игры. Обратите внимание, что длина этой фазы составляет 6930000 блоков. С усредненным временем генерации блока ~10 минут эпоха вознаграждений длится около 131 года.

2019: первые дни эпохи биткоин-вознаграждений.

Настанет время, когда те, кто озадачится нахождением новых блоков, будут получать вознаграждения в основном через рынок комиссий сети, что и подчеркнул Дэн Хелд в статье “Bitcoin’s Security is Fine”. Рынок комиссий возьмет верх где-то между сегодняшним днем  и 2140 годом. Или же Биткоин умрет, или некоторые музейные компьютеры будут пытаться находить новые блоки, терпя при этом убытки.

После этого момента мы, вероятно, все еще будем называть процесс обеспечения безопасности сети Биткоин “майнингом”, даже несмотря на то, что “майнеры” не будут добывать новые биткоины. Все 21,000,000 BTC - или, если быть точным, 2 099 999 997 690 000 сатоши - будут добыты. Новые биткоины не будут добавляться в пул существующих монет в обращении.

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

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

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

Имея в виду такие понятия, как порядок, информация, случайность и энтропия, давайте взглянем на некоторые концепции Биткоина. Различим их визуально: от хаотичных (слева) до упорядоченных (справа).

Биткоин растет на грани порядка и хаоса

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

Давайте немного поразмыслим над этими понятиями.

  • Приватный ключ: хаотичная информация, очень высокая случайность. Секретная информация, которую следует хранить в тайне. Максимальная энтропия для максимальной безопасности. Если ваш приватный ключ не случайный, вас ожидает неприятный сюрприз.

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

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

  • Вершина цепи: формирование вершины цепи - это процесс, который в основном упорядочен, но, опять же, он порождается хаотичным процессом. Как уже говорилось выше, вершина цепи может быть неоднозначной. Одна версия вершины выживет, проигравшие версии становятся “блоками-сиротами” (orphan blocks). Вы можете проверить правильность всей информации во всех блоках вплоть до последнего блока цепи. Вершина цепи отражает текущее время в Биткоине.

  • Блоки-сироты (orphan blocks): Блоки-сироты являются частью упорядоченного, естественного процесса роста цепи блоков Биткоина. Валидные блоки регулярно отбрасываются. Если два валидных блока обнаруживаются примерно в одно и то же время, они ведут вероятностную битву за выживание. В конечном итоге только один блок может выиграть в этой гонке. Проигравший блок станет “сиротой” и умрет одинокой смертью.

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

  • Закопанные блоки: упорядоченная структура, созданная некоторое время назад в результате хаотического процесса. Реорг (реорганизация закопанных блоков) становится экспоненциально все менее возможным, поскольку вероятности неудачи при попытке изменения цепочки умножаются. Пример: если каждый блок имеет 50%-ную вероятность реорганизации, вероятность реорганизации 6 блоков составит 1,5%. Фактические цифры ближе к 0,31% на блок и 0,0000000000008875% для реорганизации 6 блоков.

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

  • Публичные ключи: расширенные публичные ключи (xpub, ypub, zpub) генерируются детерминированным процессом из случайной сид-фразы - вашего приватного ключа.

  • Время блока: валидные блоки находятся в среднем каждые 10 минут. Это то, что обеспечивает работоспособность Биткоина. Если измерить пульс Биткоина в блоках, вы увидите, что он крайне регулярен. Хотя майнинг и является регулярным, если измерять его в человеческом времени, майнинг по своей сути является вероятностным процессом, и поэтому существует реальная вероятность того, что некоторые блоки будут найдены очень быстро или, наоборот, сравнительно медленно.

  • Корректировка сложности: несмотря на то что корректировка сложности является очень упорядоченным процессом, она может оказаться немного хаотичной в случае резкого изменения хеш-мощностей (как это произошло в августе 2017 года из-за спорного хард-форка bcash). Корректировка сложности основана на времени блока, которое только вероятностно связано с человеческим временем.

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

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

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

Тот факт, что все вышеперечисленное, весь механизм работает согласованно, чтобы дать ответ “да” или " нет" на вопрос “Произошло ли это на самом деле?” никогда не перестанет меня удивлять.

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

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

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

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

Я называю его жизнью. И мы все называем его Биткоином.


Подключитесь к нашему релею, чтобы оставить комментарий. Подробнее.