Темпография — совокупность методов защиты и нападения на децентрализованные и распределенные сети нового поколения, такие как блокчейн-решения или DAGs, основанные на использовании временных аномалий.

Введение

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

Поэтому самое время разобраться. И начну с очевидного — с примеров.

Примеры темпографии

Представьте себе для начала следующие ситуации:

  • нулевое время, то есть время, которое остановилось; 

  • инвертированное время, то есть время, которое пошло задом наперед;

  • параллельное время, то есть такое, которое как-то появилось вне основного… 

Кажется, что все это фантастика? Игра фантазии? Нет, это реальность ДРС. 

Нулевое время

Им прославилась Solana. В этой сети, помимо прочего, есть часть алгоритма консенсуса под кодовым названием PoH (подробнее читаем в White paper). Для нас важно, что Solana работает как со стандартным, глобальным, временем, так и с локальным. И локальное, в свою очередь, не раз отклонялось от глобального. Пример: «проблема (была) вызвана увеличением периода, которое требуется валидатору, чтобы отправить блок в сеть (slot time)». 

Solana прославилась тем, что с 2021 года стала все чаще и чаще уходить на обед: эту проблему я рассматривал в одной из предыдущих статей. Но что происходит в это время со временем? С тем самым локальным временем, которое есть не только у Соланы, но и у сети Биткоина, Эфириума и многих других подобных? Оно останавливается. До какого момента? Как правило, до нахождения так называемого социального консенсуса. 

Поэтому нулевое время — не фантазия, но реальность. Внутри ДРС. Использовать его можно как во благо, так и во зло:

  • Во зло, например, совместив с любой разновидностью атаки Сивиллы: пока сеть находится «в отключенном состоянии», а держатели нод договариваются между собой, мало что стоит между рядовым пользователем и подложными транзакциями; 

  • Во благо, например, если нулевое (локальное) время одной сети является основанием для создания генезис-блока другой сети. 

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

Инвертированное время

У этого времени есть несколько подсостояний:

  • Скажем, если говорим о взломе Binance Hub, то время сначала остановилось и стало, соответственно, нулевым внутри системы, а потом было перезапущено и вернулось назад на несколько блоков. То есть произошла параллелизация настоящего через возврат к точке останова в прошлом. Нечто подобное было и в тестнете Harmony после взлома их моста. То есть инверсия заключается в том, что блоки идут в прямой последовательности (высота не нарушается), но целостность цепи нарушается из-за удаления ряда из них до определенной величины.

  • Второй подход инвертированного времени иной: он свойственен, например, сети Биткоина: блок Х+1 появляется в основной цепи раньше, чем блок Х. Почему это возможно? Потому что расхождение при синхронизации между нодами может составлять до двух полновесных часов и наследуется аж с эпохи Сатоши: «Временная метка (timestamp) считается действительной, если она больше чем медианная временная метка предыдущих 11 блоков, и меньше, чем время с поправкой на сеть (+ 2 часа). „Время с поправкой на сеть“ — медиана временных меток, возвращенных всеми узлами, подключенными к сети».

  • Наконец, третий подход временной инверсии. Создается блокчейн, где задан блок, скажем 1 000 000 000, а дальше идет обратный отсчет. То есть потом будет блок 999 999 999, потом 999 999 998 и так далее. Вплоть до анти-генезис блока: 0 (нулевого блока). 

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

А вот пример уже действующей хронокапсулы внутри сети Биткоин:

  • Представьте, что вы отправили транзакцию Биткоина в будущее, то есть она станет доступной на определенном блоке — стандартный механизм, встроенный в эту ДРС.

  • Так вы задаете первую часть временного периода. Затем, зная основные зоны воздействия на сеть Биткоина — халвинг (210 000 блоков), перерасчет сложности (2016 блоков) и так далее, — создаете блокчейн А, который ведет обратный отсчет и создает блоки, скажем, каждый час. Высчитываете, что за период отправки транзакции должно при нормальных условиях быть создано N блоков. Так получаете второе число заданного диапазона. Для примера я сделал эту тестовую страницу на ChatGPT. 

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

Зачем это нужно? Например, чтобы никто не мог получить некие активы раньше установленного времени: будь то наследство или принадлежащее некому ДАО цифровое имущество. При этом в стабильной сети, прямо сейчас, в начале мая 2023 года, транзакции в том же Биткоине стоят весьма недешево, а из-за перегруженности мемпула время завершения может исчисляться сутками, а не часами. 

Но и это — еще не все. 

Параллельное время и эпоха интероперабельности 

Сегодня есть три способа добиться функциональной совместимости активов:

  1. Создать единую среду существования: будь то EVM-блокчейны или парачейны внутри Polkadot, хабы в Cosmos, сабчейны в Avalanche.

  2. Создать унифицированный инструментарий, существующий изначально в любой из взаимодействующих ДРС, скажем, (w) NFT.

  3. Создать систему оракулов, умеющих проверять начальные и конечные условия существования активов. 

При этом нет ни одного противоречия для того, чтобы соединить все способы в один. А самое интересное: все три и есть прямое подтверждение параллельного времени. Судите сами:

  1. Когда заходите на мост первого поколения и делаете обмен, то фактически морозите актив в одной сети (пусть будет ETH в сети Эфириума) и создаете его аналог в другой (пусть будет wETH в сети Polygon). Таким образом, важно не только, что актив заморожен в сети Эфира, но и что время для этого актива в ДРС с разрешенной степенью детализации расхождений одинаково: иначе как будем знать, что деньги вернулись через мост назад? Верно — никак; 

  2. В любом мультичейне по определению локализованное и локальное время — не одно и то же: локализованное — глобально для всего мультичейна, а локальное – локально исключительно для его части. 

Но какой во всем этом практический смысла? Тем более — здесь и сейчас? 

MEV-боты и их друзья во времени

Давайте начнем с примера, некогда обнародованного на Bits.media: «Будильник Эфириума позволяет пользователям сети заранее планировать будущие транзакции, определяя адрес получателя, сумму и желаемое время транзакции. Также пользователи должны заранее оплатить сборы за газ». Итак, там, где появляется нечто со словом «заранее» или его синонимами — это темпография. Но где же такое происходит постоянно? Верно: у MEV-ботов. 

Кто они такие? MEV — максимально извлекаемая стоимость (Maximal Extractable Value): «В теории определять включение транзакций в блок должны валидаторы, на практике это делают сёрчеры (searchers), независимые участники которые ищут потенциально выгодные транзакции и запускают в них своих ботов. Валидаторы все равно немного выигрывают, потому что сёрчеры ставят газ фи выше среднего, а дельта идет валидаторам взамен за повышенную вероятность включения транзакции в ближайший блок».

Поэтому фактически MEV работают в ускоренном времени. И это не просто арбитраж, но тонкая настройка внутри так называемого «темного леса» Ethereum, который пытаются освоить и в положительном русле, и в отрицательном. Больше об атаках подобного образца можно почитать по ссылке: если же тема будет интересна, то опишу современные методы защиты и нападения в подобном русле. Тем более что персонажи навроде jaredfromsubway.eth становятся все более популярны. 

Но вот что важно для нас:

  1. MEV-боты и механизмы их противостояния — это практика темпографии, которая в 2020-2023 годах получила новое развитие за счет роста TVL и, как следствие, проектов, который эти самые заблокированные средства хотят поделить меж собой. 

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

Tepmpography.Menaskop

Таким образом, с ростом сложности архитектуры ДРС, значимость темпографии будет возрастать по экспоненте. В частности, на это повлияют:
  1. Шардинг и другие способы масштабирования, поскольку они изначально нацелены на параллельное (локальное) время. 

  2. DAG-эволюция. Решения, такие как byteball, hashgraph, tangle и подобные, тоже в концепте поддерживают параллельное (локальное) время. 

  3. Мульти и/или кроссчейн решения, которые уже сегодня сталкиваются со всеми выводами настоящей статьи на практике. 

Конечно, это не все тезисы, но, думаю, что для начала достаточно: пишите комментарии на форуме и в телеграм-канале, делитесь статьей со знакомыми и 

До!