Даниэль Мешедер: Какие реальные задачи решает технология блокчейн?

Rational Reminder 17,1 тыс. 1 ч 25 мин 9 мин 03.06.2022
Главное

В первом выпуске специальной серии подкаста «Rational Reminder» ведущие Бенджамин Феликс и Кэмерон Пэссмор обсуждают фундаментальные аспекты публичных блокчейнов с инженером программного обеспечения Даниэлем Мешедером (Daniel Mescheder). Имея за плечами богатый опыт проектирования архитектуры распределенных систем и работы со структурами данных в Amazon, эксперт разбирает блокчейн не с финансовой или идеологической, а со строгой инженерной точки зрения. В центре дискуссии — критический анализ того, какие реальные проблемы способны решать распределенные реестры, где их применение избыточно и почему техническая сложность может стать главным врагом программного проекта.

🌐 Особенности инженерии данных и «хайп-циклы» технологий 4:14

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

Обсуждая эволюцию ИТ-индустрии, Даниэль Мешедер сравнивает текущий блокчейн-бум с волной популярности искусственного интеллекта в 1980-х годах. Он напоминает, что технологии часто развиваются по определенному «циклу хайпа» (hype cycle), когда завышенные первоначальные ожидания сменяются спадом интереса — так называемой «зимой ИТ». В случае с ИИ это привело к «зиме искусственного интеллекта» (AI winter), после которой технология возродилась в совершенно иной форме. Гость полагает, что блокчейн сегодня проходит похожий этап развития, когда за громкими заявлениями скрывается необходимость трезвой инженерной оценки.

💻 Что такое распределенная система: Масштабируемость и отказоустойчивость 9:41

Чтобы объяснить природу блокчейна, Даниэль Мешедер предлагает разобрать базовые принципы хранения данных на примере гипотетической валюты «Daniel Coin». В простейшем сценарии транзакции можно вести в обычном файле Excel на одном ноутбуке. Обновление балансов по электронной почте вполне эффективно для учета совместных расходов на обед в коммунальной квартире, но абсолютно неприменимо в масштабах реального мира из-за двух фундаментальных проблем — масштабируемости (scale) и отказоустойчивости (resilience).

[Image of Centralized vs Distributed Architecture]

Проблема масштабирования возникает, когда вместо двух транзакций в день система должна обрабатывать 20 000 операций в секунду. Одиночный компьютер быстро достигнет предела своих аппаратных возможностей. Проблема отказоустойчивости заключается в рисках поломки или банальной перезагрузки машины, из-за чего система становится временно недоступной. Традиционные распределенные системы призваны решить эти проблемы двумя путями:

🤝 Проблема консенсуса в распределенных сетях 13:25

Создание копий данных в нескольких географических локациях неизбежно порождает необходимость синхронизации. Компьютеры в Брюсселе и Торонто должны постоянно обмениваться сообщениями, чтобы избежать ситуации, когда в одной таблице у пользователя числится $60, а в другой — только $50. Ситуация осложняется тем, что компьютерные сети принципиально ненадежны: сообщения и подтверждения об их получении могут теряться в пути.

Задача обеспечения одинакового видения состояния системы всеми узлами называется проблемой консенсуса. В традиционной инженерии существуют надежные алгоритмы консенсуса, такие как Paxos или Raft. Однако, как подчеркивает Даниэль Мешедер, достижение согласия всегда имеет высокую вычислительную цену, поскольку передача множества сообщений по сети — одна из самых низкопроизводительных операций в компьютерных науках.

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

⚔️ Византийский консенсус и атака Сивиллы 16:26

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

Попытка защититься простым голосованием большинства не решает проблему из-за уязвимости перед атаками Сивиллы (Sybil attack). В этом сценарии один нарушитель создает миллионы своих цифровых клонов (виртуальных машин), которые подтверждают ложь и полностью искажают результаты голосования.

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

🔗 Анатомия блокчейна: Хеширование и цифровые подписи 22:52

По оценке Даниэля Мешедера, архитектура блокчейна на 80% состоит из двух фундаментальных криптографических инструментов: хеш-функций и цифровых подписей. Хеш-функция генерирует уникальный компактный «отпечаток» (хеш) для любого объема данных. Важнейшим свойством хеша является необратимость: невозможно математически вычислить исходные данные на основе отпечатка, единственный эффективный способ — перебор миллиардов вариантов наугад. Также практически невозможно найти два разных набора данных с одинаковым хешем.

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

Каждый блок содержит хеш заголовка предыдущего блока, формируя непрерывную «цепочку хешей». Даниэль Мешедер объясняет, что включение отпечатка старого блока в новый принудительно задает временной порядок транзакций, доказывая, что создатель нового блока видел предыдущее состояние сети. Эксперт напоминает, что все эти технологии были разработаны задолго до появления блокчейна, в основном в 1980-х годах (включая труды известного ученого Лесли Лампорта), и активно применяются в классической ИТ-инженерии.

🪙 Инновация Сатоши Накамото: Экономические стимулы и Proof-of-Work 29:23

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

Чтобы добавить новый блок в сеть, майнеры обязаны потратить реальные деньги (купить оборудование и оплатить электричество) на решение задачи Proof-of-Work (доказательство выполнения работы). Им необходимо подобрать такие случайные данные, чтобы итоговый хеш блока начинался с длинной последовательности нулей. Затраты компенсируются возможностью создать новые монеты из «воздуха» в специальной транзакции (coinbase transaction) и забрать комиссии за переводы.

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

⚙️ Публичные против приватных (permissioned) блокчейнов 32:52

Даниэль Мешедер критически относится к термину «приватные (permissioned) блокчейны» (такие как Hyperledger Fabric от IBM), указывая на то, что ограничение доступа к сети полностью меняет суть технологии. Если централизованный орган решает, кто имеет право валидировать транзакции, проблема атак Сивиллы исчезает сама собой. В таком случае разработчики могут вернуться к более простым и производительным алгоритмам консенсуса Лампорта из 1980-х годов.

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

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

Для ускорения процессов инженерам приходится создавать производные структуры данных поверх блокчейна, как это сделано в Биткоине с набором UTXO (unspent transaction outputs). Этот набор представляет собой вынесенную базу данных доступных для траты средств, без которой поиск балансов на самом блокчейне был бы слишком дорогим.

🛑 Проблема оракулов, управление кодом и недостатки технологии 41:53

Помимо экстремальной расточительности Proof-of-Work, потребляющего энергию на уровне средних стран, использование блокчейна несет серьезные инженерные риски. Даниэль Мешедер подчеркивает, что избыточная сложность — главный убийца программных проектов, увеличивающий стоимость отладки и вероятность ошибок. Обновление систем и миграция данных в блокчейне превращаются в серьезную проблему: для изменения протокола требуется согласие большинства майнеров, что грозит расколом сети (хардфорком).

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

Гость выражает скепсис по поводу альтернативных протоколов консенсуса. Переход Ethereum на Proof-of-Stake (договорное «слияние» / The Merge) он сравнивает с бесконечной игрой в «бей крота» (whack-a-mole): виртуализация затрат через заморозку активов порождает новые сложные векторы атак, такие как воссоздание всей истории сети с нуля. Кроме того, системы остаются уязвимыми перед сговором (атака 51%), примером которой гость называет откат истории сети Ethereum после знаменитого взлома The DAO для возврата украденных средств.

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

По мнению Мешедера, если для работы системы все равно требуется доверенный посредник (оракул или гарант), то этот же посредник мог бы с гораздо большей эффективностью хранить данные в обычной базе данных. В связи с этим гость критикует NFT, называя их просто чеками на блокчейне, популярными исключительно из-за спекуляций, и указывает на условность термина «смарт-контракты», которые по сути являются аналогами старых «хранимых процедур» (stored procedures) из классических СУБД.

🔍 Практическое применение: Когда блокчейн действительно оправдан? 1:13:35

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

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

💬 Цитаты

«Попытка достичь консенсуса обходится весьма дорого, поскольку отправка сообщений по сети — одна из самых низкопроизводительных операций в вычислениях.»

Даниэль Мешедер 16:01

«Ключевое новшество документа Биткоина 2008 года — идея создания экономического стимула для соблюдения протокола.»

Даниэль Мешедер 30:16

«Работа системы на блокчейне добавляет сложности. А сложность — это реальный убийца для программных проектов.»

Даниэль Мешедер 1:05:30
👥 Спикеры
🔗 Упомянутые сайты и проекты
📖 Термины
Консенсус Накамото
Алгоритм достижения согласия в децентрализованной сети с защитой от атак Сивиллы с помощью экономических стимулов.
Атака Сивиллы
Вид атаки в компьютерных сетях, при которой злоумышленник создает множество ложных личностей для захвата контроля над голосованием.
Византийский консенсус
Способность распределенной системы приходить к единому согласию даже в присутствии участников, пытающихся передавать ложные данные.
Проблема оракулов
Сложность надежного и безопасного переноса данных из реального физического мира внутрь блокчейн-системы.
UTXO Set
База данных Биткоина, отслеживающая все неизрасходованные остатки транзакций для оптимизации проверки балансов.
📊 Цифры
🗓 Хронология
  1. 1980-е годы Период активных научных открытий в области распределенных систем (включая работы Лесли Лампорта) и наступление «зимы ИИ».
  2. 2008 год Публикация whitepaper Биткоина Сатоши Накамото, заложившая основу консенсуса на базе экономических стимулов.
  3. 2016 год Взлом проекта The DAO на платформе Ethereum, повлекший за собой хардфорк сети для отмены вредоносных транзакций.
  4. 2018 год Волна бума первичных предложений монет (ICO), в ходе которой продвигались проекты вроде Filecoin.
⚖️ Другая сторона
Технологии и IT Даниэль Мешедер консенсус Накамото Proof-of-Work распределенные системы