跳至正文

指南

如何确认已签署协议未被修改?

要证明已签署协议未被修改,应将其与签署时已固定、双方事后均不能编辑的内容比对:双方各自的原件、电子签名服务商的证书和审计记录,或在已知日期记下的指纹。对于已锚定的 TrustChain 协议,公开记录显示指纹及为其确定日期的 Polygon 交易,免费开源核查工具则直接读取区块链并比对两者。

更新于2026年10月12日

TrustChain 向导 Pip 指向一旁

Pip 来说明

打开记录,找到指纹,在 Polygon 上找到同一指纹,再让核查工具比对。 先用下方的示例记录试一试。

我是使用向导,并非律师,因此这不构成法律建议。

唯一原则:与事后没人能编辑的内容比对

副本只能与签署时已固定、双方之后均无法改动的内容核对。一个人手里的两份副本证明不了多少,因为此人可能修改过两份。有用的问题始终是:签署时固定了什么,由谁保管?

通常有三种答案:双方各自的原件、您使用的电子签名服务保管的记录,以及在已知日期写入双方都无法控制之处的指纹。下文逐一说明。

纸质协议:逐页比对两份原件

如果各自保留了签署纸质原件,将两份并排逐页核对:措辞、数字、日期、手写修改及旁边的姓名首字母,以及页数。替换页面和数字的小改动,是副本最常出现差异的地方。

如果只有一份原件,次优选择是对方在签署时通过邮件或短信收到的扫描件或照片,因为消息有自己的日期。将纸件与它比对。

电子签名服务提供的 PDF

多数电子签名服务会随已签署文件提供两样东西。一是完成证书或审计记录,列出文件、每位签署人的电子邮箱,以及各人查看和签署的时间。二是许多服务会在 PDF 本身加上数字封印。

用支持数字签名的阅读器打开已签署 PDF,找到签名面板。文件带封印时,面板会显示签署后是否被改动。随后将自己的副本与对方收到的副本比对;如果账户仍能下载,也与服务商保存的副本比对。

证书和面板的位置因服务而异,应查看您所用服务的帮助页面。注意检查依赖什么:日期和审计记录来自服务商,其他人仍是依据服务商的报告接受这些信息。

逐步核查 TrustChain 协议

在 TrustChain 上,这项检查针对已锚定记录。锚定把记录指纹写入带日期的 Polygon 交易,只有已锚定记录的改动才能这样被发现:改动后便不再匹配。双方签署后公开链接即可使用,无需账户。

第 1 至 3 步只需浏览器。第 4 步需要电脑上的 Node.js。如不想做这一步,可用 trustchain.biz/verify-signature 的“检查记录”页面,在浏览器中比对您粘贴的指纹与 TrustChain 公开记录为该记录 ID 列出的指纹。

  1. 打开公开记录. 打开记录的公开链接,末尾是 8 位记录 ID。无需账户即可打开,已锚定的记录会显示已在 Polygon 上锚定。
  2. 记下指纹和交易. 复制指纹及“锚定于”日期,再通过“在 Polygonscan 查看”打开为其确定日期的 Polygon 交易。
  3. 在 Polygon 上寻找相同指纹. 在浏览器中确认交易成功并读取日期。该时间可能比记录页面的“锚定于”时间早几秒,后者是 TrustChain 保存锚定的时间。然后在交易输入数据中找出与指纹相同的 64 个字符。
  4. 运行开源核查工具. 从 TrustChain 的 GitHub 开源仓库运行 trustchain-verify,并提供记录 ID。它读取公开记录和 Polygon、进行比对,并输出每项检查及这些检查不能说明什么。

使用示例记录试一试

trustchain.biz/verify/5c79fbb0 是示例记录:TrustChain 在开发期间创建的自有测试记录,不是客户的协议。它已在 Polygon 上锚定,因此上述每一步都适用,开源核查工具自身的测试数据也来自它。

安装 Node.js 18 或更高版本后,这三个命令会下载核查工具,并对示例运行:

  1. git clone https://github.com/TRUSTCHAIN-creator-KK/trustchain-protocol.git
  2. cd trustchain-protocol
  3. node verify/bin/trustchain-verify.js 5c79fbb0

开源核查工具检查什么

trustchain-verify 只读。它向 TrustChain 发起一次调用,使用与记录页面相同的公开接口;其余信息均从公开 Polygon 节点读取。它绝不发送交易,也无需密钥或账户。

最后会返回退出代码。0 表示全部检查通过,1 表示某项检查失败。2 表示工具无法完成,例如网络中断,绝不是对记录作出的判断。

通过表示以下各项都成立:

  1. 公开记录列出了锚定:指纹和 Polygon 交易。
  2. 交易在 Polygon 上成功,并发送到 TrustChain 的锚定合约;该合约代码与仓库公开的源代码一致。
  3. 交易由 TrustChain 的锚定钱包发送。任何人都能向合约写入,因此这一项很重要。
  4. 交易写入的指纹与记录显示的一致,合约自身的事件日志也一致。
  5. 合约仍保存相同指纹及相同时间,区块时间也匹配。

什么是指纹

指纹是根据数据计算出的短代码。相同数据总会产生相同指纹,改动一个字符就会产生完全不同的指纹,因此匹配说明其背后的数据未改变。

TrustChain 指纹涵盖记录的内部 ID、标题、条款、金额和双方账户 ID。公开页面不显示账户 ID,因此无法单凭协议正文重新计算指纹。把正文放入指纹工具,绝不会得到 TrustChain 的值。

核查工具也可利用包含这些确切输入的记录文件重新计算指纹。已锚定协议的任何一方都能从协议的“证据”标签页下载该文件,其中的 Polygon 检查也在浏览器里进行同样比对。PDF 或证书不够,因为它们都不含账户 ID。

锚定写入的不只是指纹:Polygon 交易同时包含指纹、TrustChain 对该记录的 ID,以及两个空钱包栏位。协议正文、姓名和邮箱均不写入链上。TrustChain 如何存储和锚定记录,详见 trustchain.biz/security。

这些检查不能说明什么

匹配说明:该指纹在该时间由 TrustChain 的锚定钱包写入 Polygon,而且 TrustChain 的公开记录仍报告同一指纹。合约没有修改或删除条目的功能。匹配仍不能回答以下问题,核查工具每次都会打印出来:

  1. 当事人是谁,或是否有人签署。签署发生在 TrustChain 应用内,签名及其时间来自 TrustChain 自己的记录。
  2. 除 TrustChain 的说明外,不能独立证明 8 位记录 ID 属于这次锚定。该记录 ID 没有写入链上(写入的是 TrustChain 的内部 ID,是另一段代码);两者的关联来自 TrustChain 公开接口返回的交易。
  3. 指纹由哪些内容生成,除非您有只有协议双方才能下载的记录文件。
  4. 条款是否公平,或在您所在地意味着什么。
  5. 从未锚定的记录的任何情况。没有锚定就没有公开指纹,记录依赖 TrustChain 自身带时间戳的审计记录。

副本不一致时

不要丢弃任何副本,也不要修改一份来匹配另一份。保持两份原样,记下何时、如何发现差异,并保留收到各副本时所附的消息。

然后把每份副本与签署时固定的内容比对:另一份原件、服务商证书,或锚定指纹。下一次沟通应从可以指出且带日期的差异开始。如果变成对约定内容的争执,这篇指南介绍第一封应发送的回复:

接下来常问的问题

没有账户能核查 TrustChain 记录吗?

能。双方签署后,公开链接无需账户即可打开,“检查记录”页面可按记录 ID 查找记录。若记录已锚定,其 Polygon 交易可在任何区块浏览器打开;开源核查工具也不需要账户或密钥。

能在不信任 TrustChain 的情况下核查吗?

部分可以。锚定及其日期可以:它们保存在 Polygon 上,开源核查工具从公开 Polygon 节点读取,而不是从 TrustChain 读取。记录 ID 与锚定之间的关联仍依赖 TrustChain 的公开接口,因为 8 位记录 ID 并未写入链上;谁签署了协议也来自 TrustChain 自己的记录。

协议从未锚定怎么办?

那就没有可供比对的公开指纹。记录依赖 TrustChain 自身带时间戳的审计记录,双方均不能在应用中编辑文本。有账户的任何一方都能日后锚定已签署协议,此时 Polygon 上的日期是锚定当天,而非签署当天。

只有截图怎么办?

截图只显示屏幕当时的样子,没有其他人可以核查的日期。应寻找原件:收到协议的邮件或消息、对方的副本,或电子签名服务保存的记录。对于 TrustChain 协议,公开记录及锚定后的指纹和 Polygon 日期不依赖任何人的截图。

新的身份核验目前暂停。以前已通过核验者仍可签署;未通过者须等核验恢复。起草、阅读、分享链接和查找记录均可正常使用。

Free 方案每月包含 1 份协议:双方各经 Sumsub 身份核验、带日期的签名记录和公开链接。无需银行卡。

继续阅读