Перейти к содержимому

Руководство

Как поставить временную метку документа, чтобы доказать его существование на определённую дату?

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

Обновлено 3 октября 2026 г.

Что такое криптографический хеш

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

Чаще всего встречаются SHA-256 и Keccak-256. SHA-256 является распространённым стандартом Bitcoin и большинства служб временных меток. Keccak-256 используется в Ethereum и совместимых сетях, например Polygon, а также в TrustChain при закреплении подписанного соглашения. Оба дают 64-символьную шестнадцатеричную строку и подходят для временных меток. Нужно лишь записать использованный алгоритм.

  1. Одинаковый файл каждый раз даёт одинаковый отпечаток
  2. Один изменённый символ меняет весь отпечаток
  3. Из отпечатка нельзя восстановить текст
  4. Длина отпечатка одинакова для одной строки и гигабайтного файла

Почему публикация хеша доказывает существование на дату

Весь приём в публикации хеша вместо документа. Хеш ничего не раскрывает о содержании, поэтому может быть публичным. Поскольку практически невозможно задним числом создать документ под выбранный хеш, публичная запись хеша с датой показывает, что именно это содержание существовало к этой дате.

Сила доказательства исходит от записи, а не хеша. Хеш в вашей записной книжке ничего не доказывает, поскольку книжку и даты контролируете вы. Хеш в блоке Bitcoin или Polygon либо подписанном токене службы временных меток датируется неподконтрольной вам системой, за которой наблюдают многие другие.

Сохраните исходный файл побайтно. Доказательство работает, только если позже вы предъявите файл с опубликованным хешем. Повторно сохранённый PDF, заново набранный текст или документ с отслеживаемыми правками дадут иной хеш. Храните точный файл в нескольких местах с указанием алгоритма и места публикации хеша.

Чего временная метка не доказывает

Метка доказывает существование конкретных байтов не позднее определённой даты. Больше ничего. Она даже не доказывает дату написания: январский текст, закреплённый в марте, имеет мартовскую метку. Метке часто приписывают ещё три недоступных ей свойства. Это относится ко всем способам здесь, включая закрепление Polygon и подписанный токен службы.

  1. Кто написал. Любой может хешировать любой файл, включая чужой. Хеш в блоке или токене не определяет автора или опубликовавшего человека без отдельной проверки личности, связывающей его с действием.
  2. Что согласовано. Черновик с временной меткой показывает существование черновика, а не просмотр, принятие или подписание другой стороной. Согласие требует записи принятия одного текста каждой стороной.
  3. Что это правда. Хеш счёта, заявления или требования ничего не говорит о точности содержания. Это отпечаток байтов, а не проверка фактов.

Закрепление в публичном блокчейне: Polygon и Bitcoin

Закрепление помещает хеш в транзакцию публичной сети, а включающий её блок содержит дату. В Polygon или Ethereum хеш попадает в данные транзакции или событие контракта. В Bitcoin обычный путь, OpenTimestamps: бесплатный открытый протокол объединяет множество хешей в дерево Меркла, фиксирует корень одной транзакцией Bitcoin и выдаёт небольшой файл доказательства для хранения.

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

Недостатки: точность и личность. Время блока устанавливает сеть, и оно приблизительно. В Bitcoin отклонение может составлять час и более, поэтому воспринимайте его как доказательство дня, а не минуты. Полное подтверждение OpenTimestamps может занять часы, а ID транзакции или файл доказательства нужно хранить самим. Главное, транзакция никого не идентифицирует: она показывает публикацию хеша кошельком в определённое время, но не автора или согласившегося с документом.

Службы временных меток и нотариусы

Служба временных меток представляет собой сервер, подписывающий хеш вместе с текущим временем и возвращающий токен. Распространённый стандарт, RFC 3161. Европейская система eIDAS определяет квалифицированный вариант с надзором за поставщиками. Вы передаёте хеш, а не документ, поэтому служба не узнаёт содержание.

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

Нотариус является человеческой альтернативой: проверяет личность, свидетельствует подпись и записывает дату в реестр. Это другой вид доказательства, единственный здесь, говорящий о присутствовавших в помещении. Ограничения: стоимость, согласование времени и то, что нотариус обычно удостоверяет бумажное подписание, а не байты цифрового файла. Нотариальная бумажная копия и изменённая цифровая могут разойтись, если отдельно не хешировать файл.

Почему письмо самому себе является слабым способом

Популярная отправка документа себе по почте слаба по трём причинам. Вы контролируете ящик и можете удалить и создать сообщение заново с изменённым вложением. Даты заголовков являются обычным текстом и могут меняться при получении или в экспорте. И содержание полностью находится в ящике, поэтому способ не обеспечивает ни закрытости, ни компактности.

Единственное преимущество, время получения на неподконтрольном вам сервере почтового поставщика. Это немного лучше, чем ничего, но поставщик ничего не удостоверяет, его журналы не предназначены для доказательств, и спустя годы он не поможет получить серверную запись. Для столь же простого, но действительно подтверждающего дату способа хешируйте файл и поставьте метку OpenTimestamps: одна команда, публичные календари бесплатны.

Место TrustChain

Обычная временная метка отвечает на один вопрос: существовали ли байты к дате. TrustChain создан для другого: приняли ли обе проверенные стороны этот точный текст и когда. Обе стороны один раз проверяют личность через Sumsub по документу с фотографией и селфи и подписывают один окончательный текст. С аккаунтами оба также могут общаться в чате со сквозным шифрованием. Непроверенный аккаунт не может подписывать.

При подписании TrustChain фиксирует каждую подпись проверенного аккаунта в журнале со временем. Браузеры и приложения не могут её редактировать, и именно этого не даёт один хеш. Закрепление необязательно: оно вычисляет отпечаток Keccak-256 подписанной записи и записывает его в транзакцию основной сети Polygon с публичной датой. На Free ($0, без карты: 1 соглашение и 3 запроса к ИИ Советнику в месяц) дополнительное соглашение или закрепление стоит $1 разово за каждый случай, закрепления требуют проверенной личности. Pro за $19 в месяц включает 20 соглашений и 20 закреплений, Elite за $49 включает по 100. Тарифы месячные, отмена в любое время.

При закреплении отпечаток и внутренний ID попадают в блокчейн с двумя пустыми полями кошельков, но никогда текст, имена или почта. Текст хранится на серверах TrustChain для вычисления отпечатка и предоставления записи, сертификата и PDF, бесплатных на любом тарифе. Чат защищён сквозным шифрованием, и TrustChain не читает сообщения. Публичная ссылка без аккаунта показывает статус и при закреплении отпечаток, но никогда личности сторон. Название видно только у соглашений Elite. Транзакцию закрепления можно проверить в любом обозревателе независимо от TrustChain. Смарт-контракт TrustChain в основной сети Polygon: 0x649Bc303d15E173D95B4d379e163868b03cf5Fec.

Это не меняет природу временной метки. Закреплённый отпечаток и дату можно проверить везде. Исполнимость зависит от местонахождения сторон и договорённости, и TrustChain не делает об этом утверждений.

  • trustchain-verify на GitHub: открытый инструмент только для чтения, сравнивающий публичную запись с транзакцией Polygon без аккаунта или ключей
  • Как TrustChain фиксирует подпись: что записывает каждое событие журнала и кто может или не может его менять

Проверка вручную

Выберите одну хеш-функцию и запишите её. Эти шаги для файла, который хешируете сами: отпечаток TrustChain также охватывает внутренние ID записи и аккаунтов, поэтому не совпадёт с хешем текста соглашения. Для SHA-256 инструмент есть в каждой распространённой ОС. Для Keccak-256, используемого TrustChain и Ethereum-совместимыми сетями, нужен короткий скрипт: параметр sha3-256 в OpenSSL и подобных утилитах означает NIST SHA-3 с иным дополнением данных и другим результатом.

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

Получив хеш, опубликуйте его с датой там, где вы не контролируете запись: доказательство OpenTimestamps, токен службы временных меток или транзакция публичного блокчейна. Затем храните точный оригинал с алгоритмом, хешем и местом публикации.

Для поздней проверки выполните ту же команду над тем же файлом и сравните две 64-символьные строки. Префикс 0x и регистр букв неважны, остальные символы должны совпадать. При различии изменился файл либо использованы другой алгоритм или кодировка. Частые причины, повторно сохранённый PDF, преобразованные окончания строк или завершающий перевод строки. Если хеш закреплён в блокчейне, откройте транзакцию, найдите хеш в данных и сравните так же.

  1. SHA-256 в macOS: shasum -a 256 agreement.pdf
  2. SHA-256 в Linux: sha256sum agreement.pdf
  3. SHA-256 в Windows (PowerShell): Get-FileHash agreement.pdf -Algorithm SHA256
  4. Keccak-256 в Python (сначала pip install pycryptodome): python3 -c "from Crypto.Hash import keccak; print(keccak.new(digest_bits=256, data=open('agreement.txt','rb').read()).hexdigest())"
  5. Keccak-256 в Node.js (сначала npm install ethers): node -e "const {ethers}=require('ethers'); console.log(ethers.keccak256(require('fs').readFileSync('agreement.txt')))"

Что спрашивают дальше

Доказывает ли временная метка авторство?

Нет. Хеш определяет байты, а не людей: любой может хешировать чужой файл. TrustChain отвечает на соседний вопрос о подписантах: обе стороны проверяют документ с фотографией и селфи до подписи, непроверенный аккаунт подписать не может, поэтому подписи принадлежат проверенным личностям. Это всё равно ничего не говорит о первоначальном авторе текста.

Сколько стоит закрепление соглашения в Polygon через TrustChain?

Free ($0, без карты) включает 1 соглашение в месяц. Дополнительное закрепление в Polygon стоит $1 разово и требует проверенной личности. Pro за $19 в месяц включает 20 соглашений и 20 закреплений, Elite за $49 включает по 100. Тарифы месячные, отмена в любое время. Закрепление необязательно: каждое подписанное соглашение имеет запись со временем, недоступную для редактирования браузерам и приложениям, закрепление добавляет отпечаток Keccak-256, а ваша запись, сертификат и PDF бесплатны на любом тарифе.

Хранится ли текст соглашения в блокчейне?

Нет. При выбранном закреплении в блокчейн попадают отпечаток Keccak-256 и внутренний ID с двумя пустыми полями кошельков, но никогда текст, имена или почта. Текст хранится на серверах TrustChain для вычисления отпечатка и предоставления записи, сертификата и PDF. Чат переговоров защищён сквозным шифрованием, TrustChain не читает сообщения. Отпечаток охватывает внутренние ID записи и аккаунтов наряду с текстом, поэтому по одному тексту его не вычислить.

Можно ли проверить временную метку TrustChain без аккаунта?

Да. Публичная ссылка без аккаунта показывает статус и при закреплении отпечаток, но никогда личности сторон. Название видно только у соглашений Elite. При закреплении транзакция Polygon проверяется в любом обозревателе независимо от TrustChain. Смарт-контракт TrustChain в основной сети Polygon: 0x649Bc303d15E173D95B4d379e163868b03cf5Fec.

Становится ли соглашение сильнее с правовой точки зрения благодаря временной метке?

TrustChain этого не утверждает. Метка показывает существование текста к дате, а запись TrustChain добавляет проверенные аккаунты подписантов и время. Только это она и показывает. Закреплённый отпечаток и дата проверяются везде. Исполнимость зависит от местонахождения сторон и содержания, и TrustChain не делает об этом утверждений. Если это важно, спросите юриста, практикующего по вашему месту нахождения.

Новые проверки личности пока приостановлены. Если вы уже проходили проверку, можно подписывать. Иначе подписание станет доступно после их возобновления. Черновики, чтение, отправка ссылок и поиск записей работают.

Тариф Free включает 1 соглашение в месяц: проверку личности каждого из вас через Sumsub, журнал подписей с датами и публичную ссылку. Карта не нужна.

Читать дальше