Биткоин - это Время
Перевод
Это вольный перевод: dergigi.com/2021/01/14/bitcoin-is-time. И сделан он потому что для меня темпография - один из важнейших феноменов Web 3.0.
Начало
Одни знакомые часы на небе объявили, что время не было ни правым, ни неправым. Роберт Фрост, “Знакомство с ночью” (1928)
Время по-прежнему остаётся для нас великой тайной. Это не более чем концепция; мы даже не знаем, существует ли оно... Клиффорд Д. Саймак, “Планета Шекспира” (1976)
Время - деньги: так гласит поговорка. Отсюда следует, что деньги также являются временем: представление о коллективной экономической энергии, сохранённой человечеством. Однако связь между временем и деньгами более сложна, чем кажется на первый взгляд. Если для создания денег не требуется времени, они плохо функционируют как деньги, или не надолго. [Если копнуть] глубже, то увидим, [что] отслеживание вещей в информационной сфере всегда предполагает отслеживание времени.
Как только деньги становятся цифровыми, нам приходится договориться об определении времени, и в этом заключается [самый] проблемный момент.
Можете подумать, что определить время так же просто, как взглянуть на любые часы поблизости, и в этом будете правы, когда дело касается до повседневных задач. Но когда речь идёт о синхронизации состояния глобальной, противоборствующей, распределённой сети, определение времени становится почти неразрешимой проблемой.
Как определите время, если часам нельзя доверять? Как создадите концепцию единого времени, если ваша система охватывает галактику? Как измерите время в вечности?
Чтобы ответить на эти вопросы, придётся ближе рассмотреть саму концепцию времени и то, как Биткоин формирует своё, собственное, время: “блок-время” - более известное как высота блока.
[Ниже] исследуем, почему проблема ведения времени тесно связана с ведением записей, почему в децентрализованной системе нет абсолютного времени и как Биткоин использует причинность и непредсказуемость для построения своего собственного понятия «сейчас».
Устройства ведения времени не раз преобразовывали цивилизации. Как указал Льюис Мамфорд в 1934 году: «Часы, а не паровая машина, являются ключевой машиной современной индустриальной эпохи». Сегодня снова устройство ведения времени преобразует нашу цивилизацию: часы, а не компьютеры, являются истинной ключевой машиной современной информационной эпохи. И этими часами является Биткоин.
Ведение учёта вещей
Позвольте ребенку научиться считать вещи, таким образом понимая понятие числа. Эти вещи рассматриваются в целях подсчёта одинаково, и они могут быть отдельными объектами или группами. Дэвид Юджин Смит, “Преподавание элементарной математики” (1900)
Говоря (предельно) широко, существуют два способа вести учёт вещей: физические токены и регистры. Вы можете либо использовать непосредственно артефакты реального мира, например, дать кому-то морскую раковину, монету или какую-то другую материальную вещь, либо воспроизвести состояние мира, записав произошедшее на листе бумаги.
Представьте себе, что вы пастух и хотите убедиться, что всё ваше стадо вернулось домой. Вы можете надеть ошейник на каждую овцу, и как только овца вернётся домой, просто снимите ошейник и повесите его в сарае. Если у вас есть одна вешалка для каждого ошейника, то вы будете знать, что каждая овца вернулась в безопасности, как только все вешалки будут заполнены.
Конечно, можете пересчитать овец и вести список. Однако вам придётся убедиться, что создаёте новый список каждый раз, когда начинаете считать, и вам также придётся убедиться, что не считаете одну овцу дважды.
Деньги в основном являются инструментом для отслеживания того, кто - кому и что должен.
Говоря предельно широко, всё, что мы использовали как деньги до сих пор, можно разделить на две категории: физические артефакты и информационные списки. Или, используя более распространённую лексику: токены и регистры (леджеры).
Важно осознать врождённое различие между этими категориями, поэтому позвольте мне явно указать на него:
- Первый метод - физический жетон (токен) - напрямую представляет состояние вещей.
- Второй метод - регистр (леджер) - косвенно отражает состояние вещей.
Каждый из них имеет свои преимущества и недостатки. Например, жетоны физические и распределённые; регистры информационные и централизованные. Жетоны по своей природе лишены доверия; регистры - нет.
В цифровой области - несмотря на то, насколько усердно маркетологи пытаются убедить нас в обратном - можем использовать только регистры. Это информационная область, а не физическая. Даже если называете определённый вид информации "жетоном" (aka токеном), это всё равно будет податливый кусок информации, записанный на жёсткий диск или другой носитель, способный хранить информацию, что фактически делает его информационной записью.
Сущность регистра всех цифровых данных является корневой причиной проблемы двойного расходования.
Информация никогда не представляет состояние мира непосредственно. Кроме того, передвижение информации подразумевает копирование. Информация существует в одном месте, и для "перемещения" её нужно скопировать в другое место и стереть в источнике. Эта проблема не существует в физической области. В физической области мы действительно можем перемещать вещи из (пункта) А в (пункт) В. Информационная область не обладает этим свойством. Если хотите "переместить" информацию из списка А в список В, придётся скопировать из А в В. Нет другого способа.
Ещё один способ осмыслить это - в терминах уникальности.
Физические жетоны - уникальные композиты атомов, сборка которых не легко воспроизводима. Чистая информация не обладает этим свойством. Если можете прочитать информацию, также можете скопировать её. [То есть] следует признать, что физические жетоны являются уникальными, а цифровые - нет.
Я бы даже утверждал, что "цифровой жетон" - неправильное название. Жетон может представлять собой секретную информацию, но он никогда не будет представлять уникальную, единственную, неподдельную информацию.
Это различие в свойствах показывает, что действительно нет способа "передать" информацию. Невозможно передать цифровой жетон, как вы бы передали физический, поскольку никогда не можете быть уверены, уничтожил ли исходный владелец информацию со своей стороны. Цифровые жетоны, как и вся информация, могут только распространяться: как идея.
... если у вас есть яблоко и у меня есть яблоко и мы обмениваемся яблоками - у каждого из нас остаётся только одно яблоко. Но если у нас с вами есть идея, и мы обмениваемся идеями - у каждого из нас остаётся две идеи. Чарльз Ф. Брэннан (1949)
Физические жетоны - то, что называем физическими носителями, или "наличные" - свободны от этой дилеммы.
В реальном мире, если даёте мне монету, ваша монета исчезает. Нет волшебного дублирования монеты, и единственный способ передать её мне - передать физически. Законы физики не позволяют вам дважды потратить её.
Хотя двойные траты существуют в нецифровой области - приходит на ум Джордж Паркер, аферист, который известен своим "двойным" расходованием Бруклинского моста и других памятников - [такой подход] требует хитроумного обмана и доверчивых покупателей. Но не в цифровой области.
В цифровой области, поскольку всегда имеем дело с информацией, двойные траты - это врождённая проблема. Любой, кто когда-либо копировал файл или использовал копирование и вставку, знает: информацию можно копировать, и она не привязана к средству, которое её хостит. Если у вас есть цифровое фото, например, можете скопировать его миллион раз, сохранить некоторые копии на USB-накопителе и отправить его тысячам различных людей. Идеальные копии возможны, потому что информация предлагает коррекцию ошибок, что исключает деградацию.
И, чтобы завершить [этот тезис]: дублирование практически не требует затрат, и нет способа узнать, какой была исходная (фотография).
Повторюсь: когда речь идёт об информации, копирование - это всё [что есть/что (нам) доступно]. Просто нет [иного] способа переместить цифровую информацию из А в Б. Информация всегда копируется из А в Б, и если процесс копирования был успешным, исходная копия А удаляется. Вот почему проблема двойных трат так сложна.
В отсутствие центральной власти нет способа передать что-либо из А в Б надёжным образом. Вам всегда нужно доверять тому, что исходная копия будет удалена. Естественным побочным эффектом является то, что, когда речь идёт о цифровой информации, невозможно определить, сколько копий существует и где они могут находиться.
Поэтому использование цифровых "жетонов" в качестве денег никогда не сработает.
Поскольку жетоны получают свою надёжность от того, что их трудно воспроизвести из-за их уникальной физической конструкции: это преимущество исчезает в цифровой области. В цифровой области жетонам нельзя доверять. В результате внутренних свойств информации единственным пригодным форматом для цифровых денег является не жетон, а регистр (леджер) - что и приводит нас к проблеме времени.
Жетоны бессрочны, регистры - нет
Ведь видимое временно, а невидимое - вечно. Апостол Павел, Послание к Коринфянам 4:18b
Когда дело доходит до физических жетонов, время совершения транзакции не имеет значения. Либо у вас есть монеты в кармане, либо нет; вы либо можете потратить их, либо нет. Простое владение - единственная предпосылка для расходования. Законы природы заботятся обо всём остальном.
Когда дело доходит до регистров, физическое владение уступает дорогу [иному подходу]. Тот, кто контролирует регистр, должен следить за порядком. [И этот подход] иначе обеспечивается физическими законами, а именно: то, что не можете тратить деньги, которых у вас нет, и не можете потратить деньги, которые уже потратили ранее, должно быть обеспечено правилами, созданными человеком. Именно эти правила определяют порядок работы и обслуживания регистра, а не физические законы.
Переход от физических законов к правилам, созданным человеком, - суть вопроса.
Правила, созданные человеком, могут быть искривлены и нарушены, физические законы - [почти всегда] нет. Например, не можете просто "сделать" физическую золотую монету. Вы должны выкопать [золото] из земли. Однако абсолютно [точно] можете создать “золотую” монету на бумаге: для этого просто добавьте запись в регистр и “дайте” себе пару монет. Или, в случае центральных банков: просто добавьте несколько триллионов [USD] несколькими щелчками компьютерных клавиш. (Фантастические финансовые люди называют это "перезакладыванием", "частичным резервированием" или "количественным смягчением" - но не дайте себя обмануть, это всё одно и то же: создание денег [из ничего]).
Чтобы сохранять регистры и тех, кто ими управляем, честными, требуются регулярные, независимые проверки. Способность учитывать каждую отдельную запись в регистре - не роскошь. Аудиторы должны иметь возможность просматривать книги: [заглядывая] в прошлое - чтобы сохранять регистры честными и функционирующими. Без надёжных временных меток проверка внутренней согласованности регистра невозможна. Механизм для установления однозначного порядка необходим.
Без абсолютного понимания времени нет способа иметь определённый порядок транзакций. И без определённого порядка транзакций невозможно следовать правилам регистра. Как ещё можно убедиться, сколько денег у вас на самом деле? Как ещё можно убедиться, что всё в порядке?
Различие между жетонами и регистрами подчёркивает необходимость отслеживания времени. В физической области монеты - вечные артефакты, которые можно обменивать без надзора. В цифровой области темпоризация монет требует временных меток.
Централизованная чеканка монет
Время: великий гравер или ластик. Яхия Лабабиди (р. 1973)
Обычный способ решения проблемы двойных трат - проблемы обеспечения того, что цифровой перевод происходит только один раз - заключается в наличии центрального списка транзакций.
Как только у вас есть централизованный список транзакций, у вас есть единый регистр, который может действовать как единственный источник (правды/правдивых данных). Решение проблемы двойных трат сводится к тому, чтобы пройти по списку и убедиться, что всё сходится правильно. Так решают проблему двойных трат PayPal, Venmo, Alipay и все банки этого мира - включая центральные банки.
Проблема, конечно же, в том, что получатель не может проверить, что один из владельцев не использовал (ту или иную) монету дважды. Обычным решением является введение доверенного центрального органа, или монетного двора, который проверяет каждую транзакцию на двойное расходование. Проблема этого подхода заключается в том, что судьба всей денежной системы зависит от компании, управляющей монетным двором, и каждая транзакция должна проходить через них, как через банк.
Сатоши Накамото (2009)
Следует отметить, что Сатоши не смог сделать информацию не копируемой. Каждая часть биткоина - его исходный код, регистр, ваш закрытый ключ - может быть скопирована. Всё это может быть продублировано и подвергнуто вмешательству.
Однако Сатоши смог построить систему, которая делает нарушающие правила копии совершенно бесполезными. Сеть Биткоина исполняет сложный танец [с бубном], чтобы определить, какие копии являются полезными, а какие нет, и именно этот танец придаёт цифровой области характер недостаточности. И, как и в любом танце, для ритма требуется временная мера.
Даже централизованный регистр может решить проблему двойных трат только в том случае, если у него есть последовательный способ отслеживать время. Вам всегда нужно знать, кто сколько кому дал, и, самое главное: когда. В мире информации нет чеканки монет без отметки времени.
Следует подчеркнуть, что невозможность ассоциировать события с точками времени в распределённых системах была нерешенной проблемой, которая не позволяла децентрализованному регистру (стать) возможным, пока Сатоши Накамото не изобрёл решение. Григорий Трубецкой (2018)
Децентрализованное время
Время подчиняет все вещи. Эсхил (525 до н. э. - 456 до н. э.)
Время и порядок имеют очень тесные отношения. Как отмечал Лесли Лэмпорт в своей статье 1978 года "Время, Часы и Упорядочивание Событий в Распределённой Системе": "Понятие времени фундаментально для нашего мышления. Оно происходит из более базового понятия порядка, в котором происходят события."
В отсутствие центральной точки координации кажущиеся интуитивно понятия "до", "после" и "одновременно" разрушаются. Словами Лэмпорта: "понятие 'происходит до' определяет неизменный частичный порядок событий в распределённой многопроцессорной системе".
Сформулируем по-другому: кто должен контролировать время, если нельзя никого назначить на эту роль? Как можно иметь надёжные часы, если нет центральной системы отсчёта?
Вы могли бы подумать, что решить эту проблему легко, потому что каждый мог бы использовать свои собственные часы. Это работает только в том случае, если часы каждого точны, и, что более важно, все играют честно/по правилам.
В адверсативной системе полагаться на индивидуальные часы было бы катастрофой. И, из-за относительности, это не работает последовательно в пространстве.
Для лучшего иллюстрирования невозможности решения проблемы давайте рассмотрим конкретный пример.
Представьте, что у вас и вашего делового партнёра есть доступ к совместному банковскому счёту вашей компании. Вы ведёте бизнес по всему миру, поэтому ваш банковский счёт находится в Швейцарии, вы находитесь в Нью-Йорке, а ваш деловой партнёр - в Сиднее.
Для вас сейчас 3 января, и вы наслаждаетесь красивым воскресным вечером в вашем отеле. Для партнёра уже утро понедельника, поэтому он решает купить завтрак, используя дебетовую карту вашего совместного банковского счёта. Стоимость - 27 долларов. Доступный баланс - 615 долларов. Местное время - 8:21 утра.
Тем временем вы собираетесь оплатить проживание другой дебетовой картой, привязанной к тому же банковскому счету. Стоимость - 599 долларов. Доступный баланс - 615 долларов. Местное время - 5:21 вечера.
И так происходит, что - в точно такой же момент - вы оба проводите [оплату] картой. Что происходит? (Уважаемые физики, пожалуйста, простите моё использование "в тот же момент": будем игнорировать относительные эффекты и факт отсутствия абсолютного времени в нашей вселенной на данный момент. Также будем игнорировать то, что концепция синхронных событий на самом деле не существует. Биткоин (сам по себе) - достаточно сложен!).
Центральный регистр в вашем банке, вероятно, получит одну транзакцию раньше другой, так что один из вас будет везунчиком, а другой - нет. Если транзакции случайно поступят в один момент - скажем, в одну миллисекунду - банку придётся решить, кто получит право потратить деньги.
Теперь представьте, что если бы здесь не было банка?
Кто решает, кто первым провёл (платёж) картой? Что, если это были не только вы двое, а сотни или даже тысячи людей? Что, если вы не доверяете этим людям? Что, если некоторые из этих людей пытаются обмануть (вас), например, откатив свои часы назад, чтобы казалось, что они потратили деньги (на) несколько минут раньше?
Требуется инструмент, связанный со временем, для установления канонического порядка и обеспечения уникальной истории в отсутствие какого-либо центрального координатора. Джакомо Дзукко, Открытие Биткоина (2019)
Из-за этой проблемы все предыдущие попытки создания цифровых денег требовали централизованного реестра: вам всегда приходилось доверять кому-то, чтобы правильно определить порядок вещей. Требовалась централизованная сторона для отсчёта времени.
Биткоин решает эту проблему, переосмысливая само время. Он говорит "нет" секундам и "да" блокам.
Вести время: блок за блоком
Слава времени - утихомирить соперничающих королей, Обнажить ложь и привести к свету истину, Поставить печать на старых вещах, Разбудить утро и стать стражем ночи, Совершать праведные поступки, пока они не исправят несправедливость. Уильям Шекспир, “Насилие над Лукрецией” (1594)
Все часы основаны на периодических процессах, то, что мы могли бы назвать "тиком".
Знакомый (звук) “тик-так” старинных часов в сущности то же самое, что и молекулярно-атомное жужжание наших современных кварцевых и цезиевых часов. Что-то качается - или осциллирует - и просто считаем эти качания, пока они не “превратятся” в минуту или секунду.
Для больших маятниковых часов эти качания длинные и легки для наблюдения. Для более маленьких и специализированных часов требуется специальное оборудование. Частота часов - как часто они тикают - зависит от их применения.
У большинства часов фиксированная частота. В конце концов, хотим знать время; Точно. Однако есть часы с переменной частотой. Например, метроном имеет переменную частоту, которую можете установить перед его запуском. Хотя метроном сохраняет свой темп постоянным после установки, время Биткоина меняется для каждого тика, потому что его внутренний механизм вероятностен.
Однако цель одна и та же: сохранить музыку живой, чтобы танец продолжался.
Факт, что Биткоин - часы: на виду. Действительно, Сатоши указывает на то, что весь сетевой протокол Биткоин действует как часы или, его словами, (как) распределённый временной штамповщик.
В этой статье предлагается решение проблемы двойных трат с использованием распределённого сервера временных штампов для генерации вычислительного доказательства хронологического порядка транзакций. Сатоши Накамото (2009)
То, что отштамповка времени была корневой проблемой, которую нужно было решить, также очевидно, если рассмотреть ссылки в конце белой книги Биткоин. Из восьми ссылок в общей сложности три касаются отштамповки времени:
- Как проштамповать цифровой документ, С. Хабер, В. Сторнетта (1991);
- Улучшение эффективности и надёжности цифровой отштамповки времени, Д. Байер, С. Хабер, В. Сторнетта (1992);
- Проектирование безопасного сервиса временной отметки с минимальными требованиями к доверию, Х. Массиас, X.S. Авила и Ж.-Ж. Квискватер (май 1999 года).
Как Хабер и Сторнетта указали в 1991 году, цифровая отметка времени - практический вычислительный процесс, делающий невозможным для пользователя - или злоумышленника - откатить или продвинуть вперёд цифровой документ. В отличие от физических документов, цифровые документы легко поддаются подделке, и изменение не обязательно оставляет на нём какие-либо явные признаки на физическом носителе (самого документа).
В цифровой области фальсификации и манипуляции могут быть идеальными.
Изменчивая природа информации делает отштамповку времени цифровых документов сложным процессом. Наивные решения не работают. Возьмите текстовый документ, например: вы не можете просто добавить дату в конце документа, поскольку каждый - включая вас - мог бы просто изменить дату в будущем. Вы также могли бы просто выдумать (и проставить) любую дату изначально.
Время - причинно-следственная цепь
В предельном случае мир можно рассматривать только как связи, ничего более. Тим Бернерс-Ли, "Ткачество веба" (1999)
Поддельные даты - общая проблема, даже в нецифровой сфере. То, что в мире похищений называется "Аутентификация через газету", является общим решением проблемы произвольных временных меток.
Это работает потому, что газету сложно подделать и легко проверить. Её сложно подделать, потому что передняя страница сегодня ссылается на события вчерашнего дня, события, которые не могли быть предсказаны похитителем. По этим событиям, фотография является доказательством того, что заложник был жив на день выхода газеты.
Этот метод подчёркивает одну из ключевых концепций времени: причинность.
Стрелка времени описывает причинно-следственные отношения событий. Без причинности, нет времени. Принцип причинности также является причиной того, почему криптографические хеш-функции настолько важны, когда речь заходит о временных метках документов в киберпространстве: они вводят причинно-следственные отношения.
Поскольку практически невозможно создать действительный криптографический хеш без наличия документа, между документом и хешем устанавливается причинно-следственная связь: данные существовали первыми, хеш был сгенерирован позже. Другими словами, без вычислительной необратимости однонаправленных функций не было бы причинности в киберпространстве.
Имея в виду этот причинный строительный блок, можно разработать схемы, которые создают цепь событий, причинно связывая A с B с C и так далее. В этом смысле безопасная цифровая отметка времени перемещает нас из безвременного места в область цифровой истории.
Причинность закрепляет события во времени. Если событие было обусловлено определёнными ранними событиями и определяет определённые последующие события, то событие надёжно встроено в своё место в истории. Байер, Хабер, Сторнетта (1992)
Само собой разумеется, что причинность имеет важнейшее значение, когда речь идёт об экономических расчетах. И поскольку реестр - не что иное, как воплощение экономических расчётов множества сотрудничающих участников, причинность необходима для каждого реестра.
Нам нужна система, чтобы участники согласовывались по единой истории [...]. Решение, которое предлагаем, начинается с сервера временных меток. Сатоши Накамото (2009)
Интересно, что все элементы головоломки, благодаря которым работает Биткоин, уже существовали. Уже в 1991 году Хабер и Сторнетта представили две схемы, которые делают "трудным или невозможным производство ложных временных меток".
Первая опирается на доверенное третье лицо; вторая, более сложная схема "распределённого доверия", этого не делает. Авторы даже выявили встроенные проблемы доверия к причинной цепи событий и то, что потребуется для переписывания истории.
По их словам, "единственным возможным трюком является подготовка фальшивой цепи временных меток, достаточно длинной, чтобы исчерпать самого подозрительного вызывающего…" Подобный вектор атаки существует и сегодня в Биткоине в форме атаки на 51%.
Через год Байер, Хабер и Сторнетта развили свою предыдущую работу и предложили использовать вместо простых связанных списков деревья Меркла.
То, что мы сегодня знаем как деревья Меркла, - просто эффективные структуры данных для создания хеша из нескольких хешей детерминистически. Для отметки времени это означает, что можете эффективно объединить несколько событий в один "тик".
В том же документе авторы предложили, что модель распределённого доверия, представленная в 1991 году, может быть улучшена путём проведения регулярного "чемпионата мира", чтобы определить одного единственного "победителя", который широко опубликует полученный хеш где-то общественно, например, в газете. Знакомо?
Как увидим, газеты также отличный способ размышлять о втором компоненте времени: непредсказуемости.
Причинность и непредсказуемость
Время не является реальностью [hupostasis], а скорее понятием [noêma] или мерой [metron]… Антифон Софист, “О Правде” (III век н. э.)
Хотя причинность необходима, она недостаточна. Нам также нужна непредсказуемость, чтобы время текло. В физическом мире наблюдаем естественные процессы, описывающие поток времени. Наблюдаем общее увеличение энтропии и называем это стрелой времени. Несмотря на то что законы природы, кажется, беспечны в отношении направления этой стрелы в большинстве случаев, определённые вещи невозможно отменить.
Как говорится: из скрэмбла яйца не сделать.
Аналогично, для установления времени в цифровой области требуются функции, увеличивающие энтропию. Как и в случае с физическим миром, без увеличения энтропии могли бы двигаться во времени как угодно.
Последовательность чисел Фибоначчи, например, является причинной, но не энтропийной. Каждое число в последовательности вызвано двумя числами, которые предшествуют ему. В этом смысле это причинная цепь. Однако она не годится для определения времени, потому что полностью предсказуема.
Точно так же, как похититель (см. выше) не может просто встать перед страницей календаря, показывающим текущую дату, мы не можем использовать предсказуемые процессы в качестве доказательства времени. Мы всегда должны полагаться на что-то, что невозможно предсказать заранее, например, на первую страницу сегодняшней газеты.
Биткоин опирается на два источника непредсказуемости: транзакции и доказательство работы.
Подобно тому как никто не может предсказать, как будет выглядеть завтрашняя газета, никто не может предсказать, как будет выглядеть следующий блок Биткоина. Вы не можете предсказать, какие транзакции будут включены, потому что вы не можете предсказать, какие транзакции будут распространены в будущем. И, что более важно: не можете предсказать, кто найдёт решение текущей головоломки доказательства работы и каким будет это решение.
В отличие от газет похитителя, доказательство работы физически связано с тем, что произошло непосредственно. Это не просто запись события — это само событие.
Именно вероятностная прямолинейность доказательства работы исключает доверие из уравнения. Единственный способ найти действительное доказательство работы — это предпринять множество догадок, а на каждую догадку уходит немного времени. Вероятностная сумма этих догадок и составляет цепочку времени, которая и есть Биткоин.
Используя причинность хэш-цепей и непредсказуемость доказательства работы, сеть Биткоина предоставляет механизм для установления неоспоримой истории событий. Без причинности невозможно различить то, что было до и после. Без непредсказуемости причинность не имеет смысла.
То, что каждый похититель интуитивно понимает, было явно указано Байером, Хабером и Сторнеттой в 1992 году: "Для того чтобы установить, что документ был создан после определённого момента времени, необходимо сообщить о событиях, которые не могли быть предсказаны до их происшествия."
Это сочетание причинности и непредсказуемости позволяет создать искусственное "сейчас" в принципиально безвременной цифровой сфере.
Как указывают Байер, Хабер и Сторнетта в своей статье 1991 года: "последовательность запросов клиентов на отметки времени и хеши, которые они предоставляют, не могут быть известны заранее. Поэтому, если включаем биты из предыдущей последовательности запросов клиентов в подписанный сертификат, то знаем, что отметка времени произошла после этих запросов. [...] Но требование включения битов из предыдущих документов в сертификат также можно использовать для решения проблемы ограничения времени в другом направлении, потому что компания по отметке времени не может выдавать более поздние сертификаты, если у неё нет текущего запроса в наличии."
Все части головоломки уже были на месте. То, что сделал Сатоши, - объединил их таким образом, что исключил "компанию по отметке времени" из уравнения.
Доказательство времени
Causa latet: vis est notissima. Причина скрыта, но результат известен. Овидий, "Метаморфозы", IV. 287 (8 г. н.э.)
Давайте подведём итог: чтобы использовать деньги в цифровой сфере, нам необходимо полагаться на реестры. Для того чтобы сделать реестры надёжными, требуется ясный порядок. Для установления порядка необходимы временные метки.
Таким образом, если хотим иметь безопасные деньги в цифровой сфере, должны удалить любую сущность, создающую и управляющую временными метками, и любую единичную сущность, отвечающую за время само по себе.
Для того чтобы реализовать распределённый сервер временных меток на основе пиринговой сети, нам нужно использовать систему доказательства выполнения работы, аналогичную Hashcash Адама Бэка.
Нам нужно использовать систему доказательства выполнения работы, потому что нам нужно что-то, что присуще цифровой сфере. Поняв, что цифровая сфера информационна по своей природе, очевидным выводом становится то, что всё, что у нас есть - вычисления.
Если ваш мир состоит из данных, то манипуляция данными - всё, что есть.
Доказательство выполнения работы работает в пиринговой среде, потому что оно не требует доверия и не зависит от внешних входов - таких как показания часов (или газет). Оно опирается только на одно: вычисление требует работы, а в нашей вселенной работа требует энергии и времени.
Преодоление временных промежутков
Я знаю, что это работает для меня. Когда мы переходим мост - горящий мост - С пламенем позади нас, Мы стоим на передовой. Это ты и я, детка, против всего мира. Кейт Буш, Сгоревший мост
Когда нет доказательства выполнения работы, всегда возникает проблема Оракула, потому что физическая среда и информационная среда вечно отделены друг от друга.
Отметки на вашем списке овец не являются вашими овцами, карта не является территорией, и то, что было написано в газете вчера, не обязательно произошло в реальном мире. Точно так же, просто потому что вы используете часы реального мира для записи временной метки, это не означает, что нечто действительно происходило в это время.
Проще говоря, нет никакого способа доверять тому, что данные отражают реальность, кроме как если реальность присутствует в самих данных.
Великолепие в доказательстве выполнения работы Биткоина в том, что оно создаёт свою собственную реальность, а также своё собственное пространство и время.
Доказательство выполнения работы обеспечивает прямую связь между цифровой и физической средой. Более того, это единственная связь, которую можно установить без доверия. Все остальное всегда будет зависеть от внешних входов.
Количество работы для создания нового блока Биткоина регулируется так, чтобы тонкая нить между временем Биткоина и нашим временем оставалась целой.
Как по часам, сложность майнинга перенастраивается каждые 2016 тактов. Цель этой перенастройки - поддерживать среднее время между тактами в десять минут. Именно эти десять минут обеспечивают стабильную связь между физическим и информационным мирами.
Следовательно, требуется понимание человеческого времени для перенастройки тактов Биткоина. Чисто блоковая перенастройка не сработает, потому что она была бы полностью оторвана от нашего человеческого мира, а цель перенастройки состоит в том, чтобы остановить нас, изобретательных людей, от быстрого нахождения блоков (или слишком медленных).
Как показал Эйнштейн, время - не статичная вещь. Нет такого понятия как универсальное время, на которое мы могли бы полагаться. Время относительно, и одновременность не существует. Этот факт один по себе делает все временные метки - особенно на больших расстояниях - внутренне ненадёжными, даже без наличия агрессивных действующих лиц. (Кстати, по этой причине временные метки спутников GPS должны постоянно корректироваться).
Для Биткоина тот факт, что наши временные метки человека не точны, не имеет большого значения. Также не имеет значения то, что у нас вообще нет абсолютной системы отсчёта. Они должны быть достаточно точными, чтобы вычислить весьма надёжное среднее значение за 2016 блоков. Для того чтобы гарантировать это, временная метка блока принимается только в случае, если она удовлетворяет двум критериям:
- Временная метка должна быть больше медианной временной метки предыдущих 11 блоков.
- Временная метка должна быть меньше сетевого времени, увеличенного на два часа. («Сетевое время» - просто медиана временных меток, возвращённых всеми узлами, подключенными к вам).
Иными словами, корректировка сложности заключается в том, чтобы сохранить постоянное время, а не постоянный уровень безопасности, сложности или энергозатрат.
Это великолепно, потому что хорошие деньги должны быть дорогими во времени, а не в энергии. Связывание денег только с энергией недостаточно для обеспечения абсолютной нехватки, поскольку каждое улучшение генерации энергии позволит нам создавать больше денег.
Время - единственная вещь, которой никогда не сможем создать больше. Это - истинный ресурс, как указывает Джулиан Саймон. Это делает Биткоин исключительной формой денег, потому что его выпуск прямо связан с вечным ресурсом нашей вселенной: временем.
Корректировка сложности существенна, потому что без неё внутренние часы Биткоина будут склоняться к увеличению скорости с каждым новым майнером, присоединяющимся к сети, или увеличению эффективности устройств для майнинга.
Мы быстро столкнулись бы с проблемой координации, которую Биткоин стремится решить.
Как только время блока упадёт ниже определённого порога, скажем, 50 миллисекунд, будет невозможно договориться о общем состоянии, даже в теории. Свету требуется около 66 миллисекунд, чтобы пройти от одного края Земли к другому.
Без периодической корректировки тактов Биткоина мы ёс безнадежной проблемой решения проблемы координации быстрее, чем скорость света. Время также лежит в основе проблемы криптографической нестабильности, описанной выше.
Криптография работает из-за асимметрии во времени: на построение криптографической стены требуется короткое время, а на её разрушение - длительное.
В каком-то смысле доказательство выполнения работы - и корректировка сложности, которая сопровождает его - искусственно замедляют время, по крайней мере, с точки зрения сети Биткоина.
Другими словами, Биткоин создаёт внутренний ритм, чья низкая частота обеспечивает достаточный буфер для задержки связи между пирами. Каждые 2016 блоков внутренние часы Биткоина перенастраиваются, так что - в среднем - только один действительный блок будет найден каждые 10 минут.
С внешней точки зрения Биткоин направляет хаотический поток глобально транслируемых асинхронных сообщений в параллельную вселенную, ограниченную своими собственными правилами и своим собственным пространством и временем.
Транзакции в памяти - безвременные с точки зрения сети Биткоина. Только когда транзакция включается в действительный блок, ей присваивается время: номер блока, в который она включена.
Это невероятно изящное решение. Как только у вас есть возможность создавать собственное определение времени, расшифровка того, что произошло раньше и что после, становится тривиальной. В свою очередь, согласование того, что произошло, в каком порядке, и, следовательно, кто чему кому должен, также становится тривиальным.
Корректировка сложности гарантирует, что тики внутреннего метронома Биткоина в значительной степени постоянны. Она является дирижёром оркестра Биткоина. Это то, что сохраняет музыку живой.
Но почему можем полагаться на работу в первую очередь?
- Можем полагаться на неё, потому что вычисление требует работы;
- Работа требует времени;
- А заданная работа - угадывание случайных чисел - не может быть выполнена быстро (эффективно).
Вероятностное время
Время вечно разветвляется в бесчисленные будущие. Хорхе Луис Борхес, “Сад расходящихся тропок” (1941)
Поиск действительного nonce для блока Биткоина - это игра в угадывание.
Это очень похоже на бросание кубика, подбрасывание монеты или кручение рулеточного колеса. В сущности, вы пытаетесь найти число, которое астрономически большое. Прогресса к нахождению решения нет. Вы либо выигрываете джекпот, либо нет.
Каждый раз, когда подбрасываете монету, шанс того, что она выпадет орлом или решкой, составляет 50% - даже если бросали её двадцать раз до этого, и каждый раз выпадал орёл. Точно так же каждый раз, когда ждёте появления блока Биткоина, шанс того, что он будет найден в эту секунду, составляет ~0,16%. Неважно, когда был найден последний блок. Приблизительное время ожидания следующего блока всегда одинаково: ~10 минут.
Отсюда следует, что каждый отдельный такт этого времени непредсказуем. По сравнению с нашими человеческими часами этот такт кажется спонтанным и неточным. Это не имеет значения, как указывает Григорий Трубецкой: «Неважно, что эти часы неточны. Важно то, что это одни и те же часы для всех, и состояние цепочки может быть однозначно связано с тактами этих часов». Часы Биткоина могут быть вероятностными, но они не являются иллюзорными.
Время - это иллюзия: обеденное время удваивается. Дуглас Адамс (1979)
Тем не менее, текущий момент может абсолютно быть иллюзией в Биткоине.
Поскольку в сети нет центрального органа, могут возникнуть странные ситуации. Хотя это маловероятно, возможно, что два действительных блока будут найдены одновременно (ещё раз: извиняюсь перед физиками), что заставит часы двигаться вперед в двух разных местах одновременно. Однако, поскольку два разных блока, вероятно, будут различаться по содержанию, они будут содержать две разные истории: обе одинаково действительные.
Это называется разветвлением цепочки и является естественным процессом согласования Накамото. Как стая птиц, которая на мгновение разделяется на две части, а затем снова сливается вместе, узлы в сети Биткоина в конечном итоге сойдутся к общей истории после некоторого времени благодаря вероятностной природе угадывания.
Консенсус Накамото просто утверждает, что правильная история находится в самой тяжелой цепи, то есть в цепи с наибольшим количеством встроенной в неё работы.
Таким образом, если у нас есть две истории А и В, некоторые майнеры будут пытаться
построить историю А, другие - историю В. Как только один из них найдёт следующий действительный блок, другая группа запрограммирована принять то, что они были на неправильной стороне истории, и перейти на самую тяжелую цепь - цепь, которая представляет собой то, что на самом деле произошло, по определению.
В Биткоине история действительно написана победителями.
Получатель нуждается в доказательствах того, что на момент каждой транзакции большинство узлов согласились, что это первая полученная транзакция. [...] Когда существует несколько двойных версий одной и той же транзакции, одна и только одна станет действительной.
Получатель платежа должен подождать час или около того, прежде чем поверить, что это действительно так. Сеть разрешит любые возможные гонки на двойные расходы к тому времени. Сатоши Накамото (2009)
В этом простом утверждении лежит секрет распределённой проблемы координации. Вот как Сатоши решил проблему "одновременного платежа", с которым столкнулись наши вымышленные бизнес-партнёры ранее. Он решил её однажды и навсегда, открыв противоречия относительности!
Из-за этой вероятностной природы часов Биткоина текущий момент - то, что мы называем кончиком цепи - всегда неопределён. Прошлое - блоки, зарытые в цепи- становится всё более определенным.
Чем более глубокое понимание необходимо, тем дальше в прошлое нужно вернуться.
Гордон Кларк, “Христианское видение человека и вещей”(1951)
Следовательно, часы Биткоина могут периодически перематываться в прошлое для некоторых узлов, на один или два такта.
Если ваша цепь - (в) текущий момент - случайно проигрывает конкурирующей цепи, ваши часы сначала перематываются назад, а затем скачут вперёд, перекрывая последние несколько тактов, которые вы уже считали историей.
Если ваше время вероятностно, ваше понимание прошлого тоже должно быть таковым.
Тик-так, тик-так, тик - который час? Тик-так, тик-так ... это заканчивается в c619. Вы уверены, что это нормально? Мы, вероятно, опаздываем? Абсолюты не имеют значения: перед девятью идёт восемь. Часы не точны; иногда они идут задом наперёд. Точное время предполагает центр; вот корень этого проклятья! Тем не менее эти часы продолжают тикать, тик-так и тик-так, нет прибыли от обмана; просто тик-так и следующий блок. Забавный стишок о Биткоине и времени (2020)
Заключение
Время до сих пор остаётся одной из великих тайн в физике, которая подвергает сомнению само определение того, что (есть) такое физика. Хорхе Чам и Дэниел Уайтсон: “Книга Понятия не имеем. Путешествие по неизвестной Вселенной” (2017)
Отслеживание вещей в информационной среде предполагает отслеживание последовательности событий, что, в свою очередь, требует отслеживания времени. Для отслеживания времени необходимо согласование "сейчас" - момента времени, который вечно связывает установленное прошлое с неопределённым будущим.
В Биткоине это "сейчас" - вершина самой тяжелой цепи доказательства работы.
Для структуры времени существенны два строительных блока: причинные связи и непредсказуемые события. Причинные связи необходимы для определения прошлого, а непредсказуемые события необходимы для построения будущего. Если бы последовательность событий была предсказуемой, можно было бы пройти вперёд. Если отдельные шаги последовательности не были бы связаны, изменить прошлое было бы тривиально. Благодаря внутреннему чувству времени, чрезвычайно сложно обмануть Биткоин. Нужно было бы переписать прошлое или предсказать будущее. Время блокчейна Биткоина предотвращает оба случая.
Рассматривая биткоин через призму времени, становится ясно, что "цепь блоков" - это не основная новация. Это даже не новая идея.
Блокчейн - это цепь блоков. Питер Тодд
Что является новой идеей - то, что понял Сатоши, - способ договориться об истории событий независимо: без центральной координации. Он нашёл способ реализовать децентрализованную схему отметки времени, которая (а) не требует компании по отметке времени или сервера, (б) не требует газеты или любого другого физического носителя в качестве доказательства, и (в) может поддерживать такты примерно постоянными, даже когда она работает в среде всё более быстрых часов ЦП.
Сохранение времени требует причинности, непредсказуемости и координации.
В Биткоине причинность обеспечивают однонаправленные функции: криптографические хеш-функции и цифровые подписи, которые являются основой протокола.
Непредсказуемость обеспечивается как головоломкой доказательства работы, так и взаимодействием с другими узлами: нельзя заранее знать, что делают другие, и нельзя заранее знать, каким будет решение головоломки доказательства работы.
Координацию обеспечивает регулировка сложности, волшебный соус, который связывает время Биткоина с нашим. Без этого моста между физическим и информационным миром было бы невозможно договориться о времени, полагаясь только на данные.
Биткоин - время более во многих смыслах.
Его единицы - накопленное время, потому что они являются деньгами, и его сеть - это время, потому что это децентрализованные часы. Непрекращающееся тиканье этого часового механизма порождает все волшебные свойства Биткоина. Без этого биткоиновский танец развалился бы. Но с ним каждый на Земле имеет доступ к чему-то по-настоящему удивительному: к Волшебным Интернет-Деньгам.
Дополнения
Перевод этого труда не в моём прочтении есть в сборнике: 21ideas.org/21-sposob/vvedenie, но мне она не подошла из-за по-другому расставленных акцентов.
Также рекомендую изучить труд по темпографии: платно или бесплатно.