用熵,为时间作证

为数字文件建立 可重新核验的时间与历史记录

在文件形成过程中记录时间、 公开熵上下文和内容身份, 以后需要核对时, 可以重新验证文件与既有记录是否匹配。

当前公平码
-------
---- -- -- --:--:-- UTC
UTC(协调世界时)
当前有效区块
--
系统状态
连接中
公平码状态
--
当前区块计算详情
原始区块哈希
--
派生哈希
--
两个按钮分别打开独立公开区块浏览器, 用于核对当前区块高度和区块哈希。
这里使用的是 Bitcoin(比特币)区块链公开产生的区块数据, 不是使用比特币作为支付、投资或资产。 区块高度表示区块在链上的顺序位置;区块哈希是该区块头数据经过密码学计算得到的 256 位摘要。 在未来区块真正形成前,具体的未来区块哈希不能仅凭当前公开信息被准确预先算出; 这并不等于“物理随机”,而是说明其具体结果依赖尚未完成的区块内容与工作量证明计算。
自助工具

自己计算,自己核对

基础计算工具直接在浏览器本地运行。 文件与文字的 SHA-256 计算不会因为计算本身上传内容。

工具一

SHA-256 计算与核对

文件和文字都可以在浏览器本地计算 SHA-256, 再与已有 SHA-256 进行核对。

尚未选择文件
SHA-256
--
也可以直接对文字计算 SHA-256。 文本按当前输入内容的 UTF-8 字节计算; 空格、标点、换行及其他字符差异都会改变结果。 文本不会因为计算 SHA-256 上传到粟倬诺服务器。
文本 SHA-256
--
已有一串 SHA-256 需要核对? 可以把它粘贴到下面,与上面最近一次计算出的 文件或文本 SHA-256 直接比较。
请优先使用原始文件

粟倬诺按文件的精确字节内容进行核验。 文件即使肉眼看起来完全一样, 只要内部字节已经发生变化, 就不再作为同一个精确数字对象处理。

聊天软件、社交平台、网页以及图片或视频处理工具, 在传输或重新保存过程中可能进行压缩、转码、 重新封装或修改元数据。 因此再次取得的文件可能已经不是原始字节文件。

哈希不一致只说明两个文件的字节内容不同。 它本身不能判断变化发生的原因, 也不能自动证明存在恶意篡改。

本工具只在浏览器本地分块读取文件并计算 SHA-256。 文件不会因为“计算哈希”这一操作上传到粟倬诺服务器。

工具一说明|从“字节”到 SHA-256

什么是哈希?什么是 SHA-256?

哈希(Hash)可以理解为:把一段数字数据经过固定算法,得到一个长度固定的摘要。 它不是“压缩后还能还原”的压缩包,也不是加密密码;正常情况下不能靠摘要直接还原原始文件或原始文字。

SHA-256 为什么叫“256”?

SHA 是 Secure Hash Algorithm(安全哈希算法)的缩写;256 表示输出长度固定为 256 bit(位),也就是 32 byte(字节)。 网站通常不直接显示 256 个 0/1,而是用十六进制显示。

1 个十六进制字符 = 4 bit 256 bit ÷ 4 = 64 个十六进制字符

所以常见 SHA-256 看起来是一串 64 位字符,只会使用 0–9 和 a–f。 十六进制只是同一组二进制数据更紧凑的写法,不是另一种加密。

文件和文字到底算的是什么?

哈希算法处理的是字节。文件本来就是字节序列;文字则先按 UTF-8 编码转换成字节,再计算 SHA-256。 因此空格、换行、标点、大小写或一个字节的变化,都可能得到完全不同的摘要。

可靠吗?边界是什么?

SHA-256 是公开、广泛使用并长期接受密码学分析的哈希算法。工程上依赖的是它的确定性、抗碰撞与难以反推原文等性质, 但不应把它描述成“绝对不可能出问题”。它能帮助判断数字内容是否一致,不能单独证明照片里的事情真实发生、文字陈述为真或某个人负有责任。

工具二

哈希转短码

输入 Bitcoin 原始区块哈希(64位十六进制), 按当前公开规则重新计算派生哈希和公平码。

派生哈希
--
短码计算结果
--
这里计算的是当前线上公开规则。精确公式、区块、派生哈希、十六进制和公平码的含义见右侧说明。
工具二说明|Bitcoin 区块 → 派生哈希 → 公平码

这里为什么会出现 Bitcoin 区块?

Bitcoin 是一个公开运行的区块链网络。这里使用的是该网络公开产生的区块数据, 不是把粟倬诺做成“比特币项目”,也不是要求用户持有、购买或交易比特币。 粟倬诺把公开区块看作一种任何人都能独立查询的外部公开状态来源。

什么是区块、区块高度和区块哈希?

  • 区块:区块链按顺序连接的一组数据记录。
  • 区块高度:区块在主链中的顺序编号,可理解为“第几个区块”。
  • 区块哈希:对区块头数据计算得到的 256 位密码学摘要,通常显示为 64 位十六进制字符。

未来某个区块尚未形成时,其最终区块内容、Nonce(工作量证明搜索值)等尚未确定, 因而具体的未来区块哈希不能仅凭当前公开信息准确预先知道。 这里应理解为“对未来具体结果具有不可预先确定性”,而不是把区块哈希宣传成物理随机数。

当前公平码精确计算规则

1. raw_block_hash = 64位十六进制区块哈希,先转小写 2. derived_hash = SHA-256( raw_block_hash 这64个字符本身的 UTF-8 字节 ) 3. N = integer(derived_hash, 16) 4. faircode = N mod 10,000,000 5. 按普通十进制整数输出,不补前导零

派生哈希就是第2步重新计算出的 SHA-256;它与 Bitcoin 原始区块哈希不是同一个值。 “integer(derived_hash, 16)”表示把这串十六进制摘要按一个无符号 256 位整数解释。

为什么现在是 1~7 位?

因为当前公开规则取模 10,000,000,所以当前数值范围是 0~9,999,999;又因为不补前导零,显示长度自然是 1~7 位。 7位附近是当前产品为了人工读取、输入和传播方便而采用的人类友好范围,不是 SHA-256 或密码学本身只能产生7位。 未来如果公开规则改用其他模数或编码方案,可以形成10位、15位或其他长度;但同一运行规则下必须固定,才能让任何人重复计算得到相同结果。

公平码是什么,不是什么?

公平码是便于人类查询和交流的短数字入口,不是密码,也不是唯一事件ID。 由于从巨大哈希空间压缩到较短数字空间,同一个公平码在不同时间重复出现是允许的;因此查询时必须连同时间、区块高度、区块哈希等上下文识别具体历史事件。

工具三

验证文件

上传文件重新计算内容身份, 核对它是否与粟倬诺既有数字绑定记录匹配。

打开文件验证工具
验证时请尽量使用原始文件

在线验证按文件的精确字节内容重新计算内容身份。 如果文件经过第三方平台传输、压缩、转码、 重新封装或重新保存后字节已经变化, 即使画面或声音看起来相同, 也可能无法与原 Binding 记录匹配。

“未匹配”只表示当前文件没有与既有记录形成相同的 数字内容身份关系。 它不自动代表文件虚假、被恶意修改, 也不自动判断现实事件真假。

当前在线文件验证单文件上限为 512MiB。 本地 SHA-256 计算工具不使用服务器上传通道, 因此不以 512MiB 作为算法限制; 实际可处理大小取决于浏览器、设备和本地文件系统能力。

工具三说明|Binding 与历史核验

什么是 Binding(数字绑定记录)?

在粟倬诺中,Binding 可以理解为服务器保存的一条数字关系记录:它把一次已经建立的历史事件与文件内容哈希、时间上下文、公平码和对应公开区块上下文关联起来。 Binding 不是“现实世界真实性证书”,而是系统内部可再次查询和核验的数字记录。

Binding Match 是什么意思?

上传验证文件后,服务器重新计算当前文件的 SHA-256,并查询是否存在相同的历史内容哈希记录。 Binding Match 表示当前文件字节计算出的内容身份与某条历史 Binding 记录匹配。

No Binding Match 又是什么意思?

No Binding Match 只表示当前文件哈希没有匹配到现有 Binding。 可能原因包括文件本来没有建立记录,也可能是文件后来被压缩、转码、重新保存或改变了字节;它不能自动推出“文件是假”“有人篡改”或现实事件没有发生。

什么是历史记录?

历史记录保存系统当时实际形成的数字信息和事件上下文。它的价值在于以后仍能回到当时的记录重新核对; 历史不会因为后来算法、公司或产品版本变化而被静默改写。

完整流程与名词

每一个数字从哪里来,分别代表什么

粟倬诺把“时间、公开外部状态、文件内容身份和历史记录”分开处理。 下面按实际流程解释常见名词;这些说明用于帮助复算和理解,不把技术关系扩大成现实真假结论。

① UTC 时间使用协调世界时作为统一时间表达,避免不同地区本地时区造成歧义。
② 公开 Bitcoin 区块读取公开区块高度和区块哈希,作为可被外部独立查询的公开状态。
③ 派生哈希与公平码按公开公式把区块哈希再次做 SHA-256,并转换成便于人工使用的短数字。
④ 文件内容哈希正式文件完成后按精确字节计算 SHA-256,用于识别这一数字文件内容。
⑤ Binding服务器把文件内容身份与当时的时间、公平码和公开区块上下文建立数字关联。
⑥ 历史记录保存已经发生的数字记录,供以后查询和重新核验。
⑦ Verify以后提交文件时重新计算内容哈希,与历史 Binding 做匹配查询。
⑧ Proof Boundary系统报告自己实际记录和核验到的数字关系,不替代现实调查、责任认定或司法判断。
Byte(字节)

数字文件真正由字节组成。肉眼相同的图片,如果内部字节不同,就不是同一个精确数字对象。

UTF-8

一种把文字转换为字节的通用编码。文本 SHA-256 实际计算的是输入文字按 UTF-8 编码后的字节,因此空格和换行也属于输入。

UTC(协调世界时)

全球通用的时间标准。中国标准时间通常表示为 UTC+8。保存 UTC 可以让不同国家、设备和时区对同一个时间点有统一参照;UTC 本身不是“证明事件发生”的工具。

Hash(哈希)

固定算法根据输入数据得到数字摘要。它常用于内容一致性和完整性核对;哈希不是原文件,也不是现实真实性结论。

SHA-256

输出固定为256 bit的密码学哈希算法。常见显示形式是64位十六进制。相同输入得到相同结果;输入变化后结果通常会发生显著变化。

十六进制

使用0–9和a–f共16个符号表示数值。1个十六进制字符表示4 bit,所以256 bit正好可写成64个十六进制字符。

Bitcoin 区块

Bitcoin 区块链网络公开产生的数据区块。粟倬诺读取其公开数据,不等于使用比特币资产、要求用户交易比特币或把项目建立在币价之上。

区块高度

区块在主链上的顺序位置。高度本身不是时间戳,但可帮助定位具体区块和它在链中的先后关系。

区块哈希

由区块头经过 Bitcoin 的密码学规则计算出的256位摘要,是定位和核对具体区块的重要公开数据。

公开熵 / 公开外部状态

在这里指系统读取的外部公开、可独立查询、事前不能由本系统任意指定的状态信息。它不是“绝对随机”的同义词。

派生哈希

粟倬诺按公开规则对原始区块哈希文本再次计算 SHA-256 得到的摘要,用于后续公平码转换。

公平码

由派生哈希按公开数值规则缩短得到的数字入口,方便人类读取、输入和查询。它不是密码,也不是唯一事件ID。

Binding

系统保存的一条数字关联记录,用于把文件内容身份与一次历史事件的时间和公开上下文连接起来。

Verify(验证)

重新计算当前文件的内容哈希,并查询是否与既有 Binding 记录匹配。它验证数字关系,不自动裁判现实事实。

为什么要求原始文件

对数字文件来说, 精确到每一个字节

粟倬诺保护的是具体数字文件对象的可核验关系。 “看起来还是同一张照片或同一个视频” 与“文件字节完全一致”是两件不同的事情。

看起来一样

压缩、转码、元数据修改、重新封装或重新保存, 都可能在几乎不改变视觉内容的情况下改变文件字节。

字节完全一致

粟倬诺核验的是精确数字对象。 系统不会因为两个文件“看起来差不多” 就把它们当成同一个文件。

这是对用户的保护

当数字对象已经发生变化时, 系统不会继续宣称它与原始记录完全一致。 同时,发现哈希不一致也不会被自动解释成 “造假”或“恶意篡改”; 系统只报告它真正能够确认的字节关系。

粟倬诺怎样形成一条可核验记录

时间、公开区块、文件哈希与 Binding 分工合作

粟倬诺不替你判断现实世界的真假, 它负责把文件形成时能够确定的数字信息记录下来, 并让这些信息以后仍然可以重新核对。

第一步

使用统一时间基准(UTC)

系统使用统一的 UTC 时间表达记录时间上下文, 不直接把不同设备各自的本地时钟当作同一种权威时间。

第二步

取得公开区块上下文

系统读取公开 Bitcoin 区块的高度和区块哈希, 再按公开规则形成派生哈希与公平码。

第三步

计算文件内容 SHA-256

正式文件完成后按精确字节计算 SHA-256, 得到用于以后重新核对该数字内容的内容哈希。

第四步

建立 Binding 与历史记录

服务器把文件内容哈希与对应时间、公平码、公开区块上下文建立数字 Binding, 并保存以后可以重新查询和核验的历史记录。

我们能验证什么

只证明系统真正记录过的东西

可以重新核验

  • 文件内容是否与既有记录匹配
  • 对应的时间上下文
  • 对应的公平码和区块上下文
  • 对应数字记录是否已经建立

不会自动判断

  • 现实事件是否一定真实发生
  • 文件中的叙述是否真实
  • 谁应当承担现实责任
  • 最终法律结论
公平码历史

公开历史记录

下列记录按粟倬诺各历史阶段的真实记录方式展示。 Bitcoin 历史记录显示区块高度、记录时间、 原始区块哈希与派生哈希; 更早的公开熵记录保持当时的历史身份,不倒写成 Bitcoin 记录。

公平码不是唯一标识。 同一个公平码在不同时间出现时, 搜索会显示它的全部历史记录, 不按公平码合并。
正在读取公开历史……