Перейти до вмісту

Посібник

Як поставити часову позначку на документ, щоб довести, що він існував на певну дату?

Обчисліть криптографічний хеш файлу, а потім опублікуйте його в датованому записі, який ви не контролюєте: транзакції в публічному блокчейні або підписаному токені служби часових міток. Згодом будь-хто з тим самим файлом зможе повторно обчислити хеш і зіставити його з датованим записом. Це показує, що вміст існував до цієї дати, не розкриваючи його. Часова мітка доводить лише існування на певну дату: не авторство тексту, не згоду з ним і не його правдивість.

Оновлено 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 запити до AI Advisor на місяць) додаткова угода чи додаткове закріплення в Polygon коштує $1 одноразово за кожне. Закріплення потребує перевіреної особи. Pro за $19 на місяць включає 20 угод і 20 закріплень. Elite за $49 включає по 100. Плани щомісячні, їх можна скасувати будь-коли.

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

Ніщо з цього не змінює природу часової мітки. Закріплений відбиток і його дату можна перевірити будь-де. Можливість примусового виконання угоди залежить від місця перебування сторін і змісту домовленості. TrustChain нічого щодо цього не стверджує.

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

Зробіть це вручну

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

Онлайн-калькулятори хешів зручні, але мають два застереження. Усе, що ви вставляєте чи завантажуєте, залишає ваш комп’ютер, тож ніколи не використовуйте їх для документа, який не готові опублікувати. Засіб, що повністю працює у браузері, кращий. Для приблизної перевірки можна від’єднатися від мережі перед хешуванням і подивитися, чи він усе ще працює. До того ж незнайомий сайт може неправильно позначити алгоритм. Перш ніж покладатися на нього, звірте хоча б один результат із локальною командою.

Отримавши хеш, опублікуйте його в датованому місці, яке ви не контролюєте: доказі 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 нічого щодо цього не стверджує. Якщо це питання для вас важливе, зверніться до юриста, який практикує у вашій місцевості.

Нові перевірки особи наразі призупинено. Якщо ви вже проходили перевірку, можете й далі підписувати. Якщо ні, підписання чекатиме на їх відновлення. Створення чернеток, читання, надсилання посилань і пошук записів працюють.

Безкоштовний план охоплює 1 угоду на місяць: перевірку особи через Sumsub для кожного з вас, датований журнал підписів і публічне посилання. Картка не потрібна.

Читати далі