13 января 2020

Вечное противостояние Биткоина часть 1

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

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

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

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

Поехали!

 

Энтропия

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

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

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

Или, цитируя преподавателя Стэнфордского университета Тсаки Вайзмана, эксперта в вопросах энтропии:

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

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

В сети Биткоин и обратимость, и необратимость, – вероятностные величины. Если достаточное количество людей с достаточной вычислительной мощностью вступят в сговор, то транзакции можно отменить и перезаписать. Абсолютной необратимости для Биткоина не существует. Окончательный расчет никогда не является на 100% окончательным, но всегда вероятностным. Шансы на отмену записанной в блокчейн транзакции ничтожно малы, но, тем не менее, необратимо окончательного расчета в сети Биткоин не существует и не должно существовать – это противоречит консенсусу Накамото.

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

— Кнут Сванхольм (автор книги о Биткоине «Суверенитет посредством математики»)

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

  1. Секретная информация должна генерироваться источниками данных с высоким уровнем энтропии
  2. Новые блоки обращают энтропию вспять на локальном уровне, т.e. создают порядок из хаоса
  3. Модель безопасности Биткоина основывается на хаотических процессах
  4. Валидация основывается на детерминистических процессах
  5. Структурированные данные может проверить кто угодно
  6. Случайные данные не может угадать никто.

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

Не вдаваясь в подробности, постараюсь описать суть простыми словами. Представим, что у вас есть две монеты. В этом случае энтропия системы равна двум. То есть такую систему можно описать двухразрядными значениями: 00, 01, 10, 11.

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

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

Случайность

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

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

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

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

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

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

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

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

Информация

А кстати, что это вообще такое?

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

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

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

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

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

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

Но вернемся к изначальному вопросу: что есть информация?

Упорядоченные цвета. Какое количество информации содержит это изображение?

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

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

Поясню вышесказанное на примере числа Пи: число 3,141592653589793… можно сжать до π, или до отношения длины окружности к ее диаметру.

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

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

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

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

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

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

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

 

(Продолжение следует…)
Автор: Джиджи

Обсудить в Discord!

Buy-bitcoin.io
  • Зарегистрирован: 22 мая 2012 г.
  • Локация:London/United Kingdom
  • Сайт:penroseisparty.com