VeritasChain Cloud为VCP合规系统提供基于云的日志记录和证书颁发
VCC是VeritasChain Protocol (VCP)的参考实现,演示了:
| 方面 | VCC演示 | VCC生产 |
|---|---|---|
| 部署 | 静态托管 | 云基础设施 |
| 存储 | 浏览器IndexedDB | PostgreSQL / TimescaleDB |
| 外部锚定 | 模拟 | OpenTimestamps / 区块链 |
| 多租户 | 单用户 | 带API密钥的多租户 |
| 加密签名 | SHA-256哈希 | 带HSM的Ed25519 |
VCC演示实现了VCP v1.1定义的三层完整性架构
单个事件的防篡改证据
使用默克尔树的批量验证
第三方时间戳锚定
VCC演示完全在浏览器中运行,无服务器依赖
┌─────────────────────────────────────────────────────────────────────┐
│ 浏览器环境 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ React应用程序 │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │
│ │ │ 仪表盘 │ │ 事件 │ │ 验证 │ │ │
│ │ │ 标签 │ │ 标签 │ │ 标签 │ │ │
│ │ └──────┬──────┘ └──────┬──────┘ └──────────┬──────────┘ │ │
│ │ │ │ │ │ │
│ │ └────────────────┼─────────────────────┘ │ │
│ │ ▼ │ │
│ │ ┌───────────────────────┐ │ │
│ │ │ VCCService │ │ │
│ │ │ (业务逻辑) │ │ │
│ │ └───────────┬───────────┘ │ │
│ │ │ │ │
│ │ ┌────────────────┼────────────────┐ │ │
│ │ ▼ ▼ ▼ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ 加密 │ │ 默克尔 │ │ UUID │ │ │
│ │ │ 模块 │ │ 模块 │ │ 模块 │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │
│ │ │ │
│ └──────────────────────────────┬───────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌────────────────────────┐ │
│ │ IndexedDB │ │
│ │ ┌────────┐ ┌────────┐ │ │
│ │ │events │ │anchors │ │ │
│ │ └────────┘ └────────┘ │ │
│ └────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘
用于交互式组件的UI框架
实用优先的CSS框架
原生浏览器加密
基于浏览器的持久存储
证书透明度标准
时间排序唯一标识符 (RFC 9562)
VCC演示使用行业标准加密原语
使用Web Crypto API实现原生性能:
const sha256 = async (data) => {
const encoder = new TextEncoder();
const dataBuffer = encoder.encode(
typeof data === 'string' ? data : JSON.stringify(data)
);
const hashBuffer = await crypto.subtle.digest('SHA-256', dataBuffer);
return Array.from(new Uint8Array(hashBuffer))
.map(b => b.toString(16).padStart(2, '0'))
.join('');
};
域分离以防止第二原像攻击:
| 节点类型 | 前缀字节 |
|---|---|
| 叶节点 | 0x00 |
| 内部节点 | 0x01 |
[Root]
│
┌──────────┴──────────┐
│ │
[N01] [N23-4]
│ │
┌────┴────┐ ┌─────┴─────┐
│ │ │ │
[N0] [N1] [N23] [L4]
│ │ │
┌──┴──┐ ┌──┴──┐ ┌──┴──┐
│ │ │ │ │ │
[L0] [L1] [L2] [L3] [L2] [L3]
Lx = merkleHashLeaf(Ex), Nxy = merkleHashNode(Lx, Ly)
了解演示版的局限性和生产环境的替代方案
VCC演示是一个演示工具。"锚定"在浏览器中模拟, 不提供外部可验证性。生产系统必须使用真实的外部时间戳机构 (OpenTimestamps、RFC 3161)、用于不变性的区块链锚定和基于HSM的数字签名。
| 方面 | VCC演示 | 生产环境 |
|---|---|---|
| 密钥存储 | 无 | HSM |
| 签名 | SHA-256 | Ed25519 |
| 防篡改 | 浏览器 | 区块链 |
| 数据隐私 | 本地 | 服务器端 |
通过crypto.subtle的原生加密操作
用于UUID生成的crypto.getRandomValues()
浏览器强制执行的跨站数据访问防护
用户可以随时清除所有数据
认证状态: 此演示未获得VC认证,不代表VSO的认可。 要获得官方认证,组织必须实施完整的VCP v1.1规范,使用生产级加密, 通过合规性测试,并完成认证审计。