Блокчейн/Уровень I · Деньги/1.2 Путь шифропанков/Урок 7
Проблема двойной траты и византийские генералы
Проблема доверия, предшествовавшая решению
МатериалыБлок-эксплорер (например, mempool.space или blockchain.com)Whitepaper Накамото, раздел 4Лэмпорт и др., «Задача византийских генералов» (1982)
Любопытство
- Если цифровой файл можно скопировать идеально и мгновенно, что мешает потратить его дважды?
- Как группе незнакомцев, которых ничто не объединяет, договориться о единой истории без лидера, разрешающего споры?
- Что делает голос в открытой сети ценнее слова другого человека?
Исследование
- Цифровой токен — это всего лишь файл. В отличие от наличных денег, его можно скопировать бит в бит без затрат и без потери качества. Если Алиса отправляет Бобу десять единиц, у неё остаётся исходный файл, и она может одновременно отправить те же десять единиц Чарли. До 2008 года каждая работающая система цифровых денег зависела от доверенного эмитента: онлайн-схемы проверяли каждый платёж централизованно, а офлайн-схемы могли выявить двойную трату лишь постфактум.
- В DigiCash Дэвида Чаума каждый получатель вносил монеты в банк, который сверял каждый серийный номер со своим списком потраченных монет. Reusable Proofs of Work Хэла Финни опирались на единственный сервер с открытым кодом на защищённом оборудовании, отслеживавший потраченные токены. В b-money Вэй Дая предлагались серверы, которые вносили залог и могли быть оштрафованы за мошенничество, но эта схема так и не была реализована. В центре каждой из этих конструкций оставалась доверенная сторона или известная группа.
- В 1982 году Лесли Лэмпорт, Роберт Шостак и Маршалл Пиз формализовали задачу византийских генералов в журнале ACM Transactions on Programming Languages and Systems. Генералы, окружившие город, должны договориться, атаковать или отступать, но некоторые из них — предатели, рассылающие противоречивые сообщения; сами гонцы при этом надёжны. При неподписанных сообщениях согласие возможно, только если предателей меньше трети (n ≥ 3f+1); если их треть или больше, ни один протокол не может его гарантировать.
- Классические отказоустойчивые протоколы вроде PBFT требуют известного фиксированного набора участников. Это работает для внутренних банковских реестров, но не в открытых сетях, к которым может присоединиться кто угодно. В 2002 году Джон Дусер описал атаку Сивиллы: противник может создавать неограниченное число фиктивных личностей, чтобы размыть голоса честных участников или захватить кворум. В открытой пиринговой сети личности дёшевы и неисчерпаемы, поэтому любую схему, которая подсчитывает личности, может захватить один участник.
- Whitepaper Сатоши Накамото решает эту проблему напрямую. В его аннотации биткоин представлен как решение проблемы двойной траты без доверенной третьей стороны. Вместо того чтобы полагаться на личности или доверие к институтам, система привязывает каждый блок к накопленному доказательству работы. Голоса взвешиваются по вычислениям, а их нельзя умножить, выдумывая личности; чтобы переписать историю, злоумышленнику нужно превзойти честную сеть по вычислительной мощности.
- Результат — вероятностная окончательность. В математическом смысле транзакция никогда не становится окончательной навсегда, но с каждым новым блоком, продлевающим цепочку, она становится всё надёжнее. Пока злоумышленник контролирует меньше половины хешрейта, вероятность отмены экспоненциально падает с каждым подтверждением. Этот компромисс допускает теоретическую возможность отмены ради практической неизменяемости без централизованного контроля. Откройте блок-эксплорер и посмотрите, как с каждой новой высотой блока растёт накопленная работа; именно эти накапливающиеся затраты привязывают реестр к физической реальности.
Ключевые факты
- Лэмпорт, Шостак и Пиз опубликовали статью «Задача византийских генералов» в журнале ACM TOPLAS в 1982 году.
- Для достижения консенсуса с неподписанными сообщениями необходимо, чтобы более двух третей участников были честными (n ≥ 3f+1).
- Джон Дусер описал атаку Сивиллы в 2002 году, показав, что неограниченное число личностей ломает традиционные кворумы.
- Все системы цифровых денег до 2008 года полагались на доверенного эмитента для решения проблемы двойной траты.
- Биткоин достигает консенсуса, принимая цепочку с наибольшим объёмом накопленной работы.
- В ноябре 2008 года Сатоши Накамото объяснил своё решение в терминах задачи византийских генералов в списке рассылки по криптографии.
Упражнение девять, шесть, три, один
9СобратьПеречислите 9 распределённых систем или протоколов, в которых несколько сторон должны договориться о едином состоянии. Укажите, за кем остаётся последнее слово и что происходит, если одна из сторон лжёт.
6СгруппироватьРазделите эти 9 систем на 6 категорий по модели доверия: центральный орган, фиксированный кворум, доказательство работы без разрешений (permissionless), доказательство доли с разрешениями (permissioned), социальный консенсус или иное.
3Выделить главноеСократите 6 групп до 3 основных компромиссов между безопасностью, децентрализацией и масштабируемостью.
1КристаллизоватьНапишите одно предложение о том, почему «голос», взвешенный по затраченной энергии, сложнее подделать, чем голос, взвешенный по личностям.
Проверка фактов
Даты, цифры и утверждения были проверены по приведенным ниже опубликованным источникам.