Что такое Time Stamping?
Time Stamping это пометка данных доверенным моментом, чтобы все могли согласиться, когда что произошло. В криптографии он привязывает каждую транзакцию к сетевому времени, утверждённому сетью, подобно тому как библиотекарь ставит дату на квиток, но это подкреплено математикой и доступно публично.
Time Stamping означает идеальное реальное время до точной секунды. Не совсем. Сети записывают время в секундах и сверяют его с пирами, обычно ссылаясь на UTC (Координированное всемирное время), но существует допустимое окно. Это достаточно точно для упорядочивания событий, но это не атомные часы.
Как работает Time Stamping
Представьте загруженный mempool, который превращается в упорядоченную хронологию. Вот краткий процесс.
- Шаг 1: Вы отправляете транзакцию, и она попадает в пул ожидающих транзакций.
- Шаг 2: Майнер или валидатор формирует кандидатный пакет и записывает метку времени в заголовок блока.
- Шаг 3: Другие узлы сверяют эту метку времени с недавней историей и локальными часами. Если она корректна, запись оказывается в новом блоке.
- Шаг 4: Метка времени помогает упорядочить события и запускает временную логику в контрактах, например выпуск по графику или аукционы.
- Шаг 5: После подтверждения изменение этого времени потребует переписывания большой части истории, что обойдётся крайне дорого.
Это практический процесс, никакой магии.
Почему Time Stamping важен
Почему вам важны несколько цифр времени
- Польза: Он даёт надёжный порядок событий для квитанций, проверок и доказательств без обращения к посреднику.
- Перспектива: Ожидаемое время блока формирует ощущение скорости приложений, длительность ожидания и то, как разработчики строят функции.
- Актуальность: Вы встретите это в графиках вестинга, выплатах из эскроу, голосованиях DAO, чеканке NFT и выплатах, основанных на оракулах.
Эксплореры часто показывают ваш местный часовой пояс. При сравнении событий между приложениями или цепочками переключите отображение на UTC или как минимум учтите смещение, чтобы не спорить из-за нескольких минут.
Ключевые характеристики Time Stamping
Черты, которые делают его надёжным
- Порядок: Обеспечивает общую последовательность, чтобы все соглашались, что было первым.
- Доказательство: Запись закреплена консенсусом и криптографией, подтверждая обещание Неизменности.
- Окно: Метки времени должны укладываться в правила консенсуса, допуская небольшое отклонение, но блокируя абсурдные значения.
- Глобальность: Хранятся в секундах, а не в локальных календарных особенностях, поэтому такие метки корректно работают между странами.
Варианты
Разные цепочки ведут учёт времени чуть по-разному
- Bitcoin: Использует медиану недавних блоков, чтобы ограничивать будущие времена и сдерживать злоупотребления со стороны создателей блоков.
- Ethereum: Производители должны задавать метку времени, которая движется вперёд, в согласии со слотами валидаторов.
- Оракулы: Некоторые приложения запрашивают доверенное внешнее время, когда требуется согласование с юридическими событиями или событиями вне цепочки.
Метка времени, которую вы видите, была предложена создателем блока и затем проверена сетью. Ваш эксплорер может конвертировать её в местное время, поэтому два человека в разных городах могут увидеть разные подписи одного и того же момента.
Пример
В контракте вестинга токены выпускаются, когда в цепочке Time Stamping достигает 2026 01 01 в 00 00 00.
Интересный факт
Узлы Bitcoin принимают блоки, опережающие их локальные часы примерно на два часа, это запас для работы при неточных часах без нарушения консенсуса.
Вывод
Считайте Time Stamping публичными часами, которые записываются в историю, чтобы вам не приходилось спорить о том, кто был первым.
