芸峥信用

账本存证

储值与筹码的账本每天封存为一个指纹,与前一天的指纹相连,并通过 OpenTimestamps 在比特币区块链上加盖时间戳。任何人都可以核对已公布的历史没有被改动;你也可以核对自己的每一笔记录都在其中。基于 Orbit。

公开哪些内容

  • 每天:当天全部账本记录的指纹、前一天的指纹,以及记录条数。
  • 每个指纹的时间戳证明,通常在一天内于比特币区块中确认。

绝不公开:姓名、邮箱、账户 ID、金额或余额。每条记录以私密化名计算指纹,外部无法将其与账户对应。

核对证明文件

选择在这里下载的证明文件(.json)。文件不会上传。

你的记录

登录后可获取你自己记录的证明。

每日指纹

存证 2 · 2026-09-28

等待比特币区块
时段(UTC)
2026-09-28 00:00 – 12:30
记录
9
行
18
记录指纹
2762fb5623aca358827215791f885dc48268c28fe10cecbf1eea9340c04ceebb
上一个存证
eed7f0a19246274149229e2886741ee101db093e9076e0e20f81bb5af5c1dd57
存证指纹
44d35a82b27a45690513931f2fdbf38349a626f753ca07a412c78b8bd3c4a109

一天中的一部分:当天其余部分在下一个存证中。

存证 1 · 2026-09-27

等待比特币区块
时段(UTC)
2026-09-27 00:00 – 2026-09-28 00:00
记录
0
行
0
记录指纹
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
上一个存证
0000000000000000000000000000000000000000000000000000000000000000
存证指纹
eed7f0a19246274149229e2886741ee101db093e9076e0e20f81bb5af5c1dd57

如何核对

使用开源的 OpenTimestamps 客户端:

  1. 把某个存证的记录与时间戳证明下载到同一个文件夹。
  2. 安装客户端:
    pip install opentimestamps-client
  3. 查看证明内容:
    ots info credits-anchor-2.txt.ots
  4. 等待比特币区块期间,获取完整证明(会更新该文件):
    ots upgrade credits-anchor-2.txt.ots
  5. 确认后,用你自己的比特币节点核对:
    ots verify credits-anchor-2.txt.ots
  6. 没有节点时:客户端会列出区块号和要在任一区块浏览器中核对的值:
    ots --no-bitcoin verify credits-anchor-2.txt.ots
  7. 每条记录的「prev」行是前一条记录的 SHA-256:
    shasum -a 256 credits-anchor-1.txt     # macOS
    sha256sum credits-anchor-1.txt         # Linux
  8. 你某条记录的证明是一个 JSON 文件。可在本页核对,也可按下面的规范手动核对。

规范

规范以英文为准。

Lines. One line per posting of every entry created in the period (both currencies; test-account entries excluded):

yzc-leaf-v1|<entry id>|<account pseudonym>|<USD or CHIPS>|<amount>|<balance after>|<created at>|<idempotency key hash>

  • Amounts are integers: micro-US-dollars for USD (1 USD = 1,000,000), whole Chips for CHIPS; negative for money leaving the account.
  • The account pseudonym (32 hex) and the idempotency key hash (64 hex) are HMAC-SHA-256 values under a private key, so they cannot be linked to an account from outside.
  • Lines are sorted by created at, then entry id, then pseudonym.

Tree. Line hash = SHA-256(0x00 ‖ UTF-8 line). Node = SHA-256(0x01 ‖ left ‖ right). Pairs are formed left to right on each level; an odd last node moves up unchanged. An empty period has the fingerprint SHA-256 of nothing (e3b0c442…b855). A proof path lists, from the line upwards, each sibling and the side it is on (L or R).

Record. The text that is timestamped, UTF-8 with a newline after each line:

YunZheng Credits ledger anchor v1
seq: <n>
window: <start>/<end>
entries: <entries>
leaves: <lines>
merkle_root: <fingerprint of the entries>
prev: <anchor fingerprint of seq n-1, or 64 zeros>

Anchor fingerprint = SHA-256 of the record. It is submitted to several public OpenTimestamps calendars; the .ots file is the combined proof. Periods are consecutive, each within one UTC day.