⚠ 目前仅有测试网 · 代码未经独立安全审计 · 测试币没有任何价值

一条规则透明、
总量固定的实验性区块链

OKT 是一个开源的工作量证明区块链原型:2100 万枚固定总量,透明账户与可选隐私交易共存,内置简单智能合约和全网唯一的代币名称。所有规则写在共识代码里,任何人都可以运行节点自行验证。

  • 21,000,000OKT 总量上限
  • PoW工作量证明
  • 测试网当前阶段
节点内置控制台:区块高度、节点、难度、发行量

核心特性

21M

固定总量

总量上限 2100 万 OKT,只通过区块奖励产生并按固定周期减半。手续费只在地址之间重新分配,不增发。节点每个区块都检查“透明余额 + 屏蔽池 = 已发行量 ≤ 上限”。

◐

可选隐私

隐形地址、Pedersen 承诺、CLSAG 环签名和 Bulletproofs+ 范围证明。隐私→隐私转账隐藏金额、接收方,并把发送方藏在环中。屏蔽/解除屏蔽采用固定面额,钱包在本地检查花费状态。

{ }

智能合约

一个小型、确定性的栈式虚拟机,按 gas 计费并有执行上限。适合计数器、登记表一类的简单逻辑;合约不能转移 OKT,减小攻击面。

Aa

唯一代币名

任何人都能发行代币,但名称在全网唯一:比较时不区分大小写、忽略空白,并拒绝易混淆字符(例如用西里尔字母冒充拉丁字母),减少仿冒代币。

🛡

安全设计

节点间 mTLS 与证书钉扎、对等节点评分与封禁、按 ID/IP/子网的带宽预算、随负载上升的连接工作量证明、Dandelion++ 交易传播、可选 Tor/SOCKS5、掉电故障注入测试。

✓

可验证

稀疏 Merkle 状态树为每个账户、代币余额、密钥镜像提供包含/不存在证明。轻客户端只下载区块头即可验证单条状态,不必信任所连接的节点。

技术架构

应用层CLI 钱包 · 节点内置 Web 钱包与区块浏览器(中文) · 轻客户端
执行层透明账户 · 代币 · 合约虚拟机(gas 计量) · 隐私交易验证(CLSAG / BP+ 批量验证)
状态层稀疏 Merkle 状态树(状态根写入区块头) · bbolt 存储 · 撤销记录支持重组 · 启动时完整性校验
共识层SHA-256 工作量证明 · 难度调整 · 最重链 + 检查点 · 共识手续费规则
网络层mTLS P2P · 地址簿分组 · 区块头优先同步 · 紧凑区块 · Dandelion++ · SOCKS5
Web 钱包:屏蔽与解除屏蔽,显示手续费预览与关联风险提示
Web 钱包:手续费预览、固定面额拆分、关联风险提示
合约部署与调用页面
合约部署与调用

代币与手续费

以下是共识代码中的规则说明,不构成任何收益承诺。OKT 目前只存在于测试网,没有市场价格。

发行

总量上限21,000,000 OKT(1 OKT = 108 基本单位)
产生方式仅区块奖励,按固定区块数减半
预挖 / 预分配无(创世区块不含任何余额,所有 OKT 都来自挖矿)
手续费只转移,不增发、不销毁

手续费规则(整数运算,向上取整)

转账、屏蔽max(最低费, ⌈金额 × 1%⌉)
代币转账最低费(OKT)+ ⌈数量 × 1%⌉(以该代币支付)
隐私→隐私固定费(金额被隐藏,无法按比例收取)
解除屏蔽固定费 + ⌈金额 × 1%⌉
发行代币、部署合约最低费
合约调用最低费 + gas 价格 × 实际 gas

每个区块的手续费分配

矿工 50%
基金会地址 30%
市场地址 20%

每个区块内的全部手续费按上述比例分配,取整产生的余数归矿工。基金会地址与市场地址写在共识参数中,任何人都能在链上核对它们收到的金额。需要注意:这意味着一半的手续费流向两个固定地址,而不是全部归出块者;这两个地址的私钥由谁保管、如何使用,是用户应当自行评估的信任前提。测试网使用公开的测试钱包;正式网络若启动,必须先替换为离线多方保管的地址,节点会拒绝以空地址或测试地址启动正式网络。

路线图

  1. 已完成 · 原型PoW 共识、账户与代币、合约虚拟机、持久化与重组、P2P 安全加固
  2. 已完成 · 隐私与可验证性CLSAG 环签名、Bulletproofs+、稀疏 Merkle 状态证明、轻客户端、Dandelion++、Web 钱包
  3. 进行中 · 公开测试网独立运营的种子节点、长期稳定性测试、文档完善
  4. 计划 · 独立安全审计优先审计隐私密码学(环签名、范围证明、密钥镜像),其次是共识与网络层;审计完成前不会建议任何主网使用
  5. 未定 · 主网只有在审计、独立基础设施和社区评审都完成之后才会考虑;没有时间表

文档与下载

源代码

Go 语言实现,依赖已 vendor,可离线构建:go build ./cmd/minichain

下载源码包(minichain.zip)

站点部署时需把源码包放到 downloads/ 下;本仓库不托管二进制。

快速开始

启动测试网节点并打开内置界面:

minichain node -network testnet \
  -web 127.0.0.1:8650

风险与免责声明