1. 代币经济学 2. 共识机制 (PoW→PoS) 3. 质押 Staking 4. 地址与签名 5. HTTP API 全集 6. 节点与网络 7. 第三方集成指南 8. 错误码参考

1. 代币经济学

参数值说明
代币符号AIB8 位小数,最小单位 sat(1 AIB = 10⁸ sats)
总量上限3,141,592,653 AIB (π×10⁹)绝对上限,链上强制,永不再增发
PoW 初始补贴747 AIB/块h1–h10,000 引导窗口
减半周期2,102,400 块 (≈4年)Bitcoin 式减半
出块间隔60 秒难度调整窗口 64 块,幅度钳制 [1/4, 4x]
PoS 时代增发0h10,001 起无 coinbase,验证者只收手续费(fee-to-validator)
手续费销毁部分销毁(fee-burn)详见 RFC-002

当前流通量 ≈ PoW 窗口铸造量(h1–10,000 × 747 ≈ 747 万 AIB)+ PoS 时代零增发。任何"转 1000 万 AIB"的请求需先核对流通量。

2. 共识机制:PoW 引导 → 纯 PoS

2.1 两阶段设计(RFC-003 Bootstrap Window)

阶段一 PoW 引导(h1 – h10,000):无预挖、无 ICO。任何人 CPU 挖矿,按 PoW 出块,coinbase 747 AIB 自动质押(无锁定期)。

阶段二 纯 PoS(h10,001+):PoW 永久关闭。VRF 按质押权重抽签出块,coinbase=0,验证者收取块内全部手续费。消除了 PoS 冷启动死锁(无币→无块→无币)。

2.2 VRF 出块抽签

// 出块者选择 (每高度每 attempt)
msg     = "AIB-VRF-v1" || seed || height
output  = SHA512(pubkey || msg || ed25519.Sign(msg))
ticket  = SHA256("AIB-VRF-v1" || seed || height || output)
命中条件: ticket < stake × 2²⁵⁶ / totalStake   // 质押占比 = 中签概率
// slot 空转时按 attempt 轮转重抽 (v0.11.32+,防卡死)

验证者被抽中后签名出块(ed25519)。多 attempt 轮转解决离线验证者导致的链停滞(P27)。

2.3 终局性 Finality(v0.11.33+)

gossip 投票机制:验证者对近期块投票,2/3 质押权重确认后块标记 finalized,finalized 块禁止回滚。非侵入式设计(不改块头格式)。

2.4 同步协议

3. 质押 Staking(灵活流动质押,v0.11.38+)

参数值说明
最低质押1,000 AIBMinStakeAmount
生效下一块validator 集每个区块重建,质押即挖
UnstakeCooldown3 块 (~1.5-3 分钟)解除质押冷却
UnstakeUnlock2 块 (~1-2 分钟)币回到流动余额
StakeLockPeriod3 块最小防重组深度
奖励块内全部手续费fee-to-validator,PoS 无 coinbase

一句话:质押进去 ~1-2 分钟开挖,拿出来 ~2 分钟到账,无锁定期。权重 = 你的质押 / 全网总质押,当前全网总质押见 GET /v1/stake/validators。

4. 地址与签名

签名体系: ed25519(确定性签名,无随机数陷阱,验签快)。AIB 是 PoS 链,每个区块的提议与投票、每个 validator 的握手都在签名/验签,ed25519 是这一场景的工程最优解。

4.1 地址命名方案(权威定义)

AIB 地址 = ed25519 公钥原样 32 字节(非哈希型地址)。同一学派:Solana / Cardano / Stellar / Algorand / Nano。链上与 API 的规范格式(canonical)是 64 位 hex;人机界面推荐使用 AIB1… bech32m 显示格式(带校验和,防手滑,不可与 EVM 0x 地址混淆)。

格式形态用途校验和
AIB1…(大写)AIB1W4GT7S3DG…R6VZT(约62字符)显示/输入推荐格式(钱包、Explorer、对话中粘贴)✓ bech32m 6位(敲错一位必拒)
aib1…(小写)aib1w4gt7s3dg…r6vzt同上,全小写合法形态(BIP-350 允许全大写或全小写,拒绝混合)✓ 同上
64位hex(裸)7550bf42…1d51a37链上/API 规范格式(canonical),程序对接用✗ 无
0x…(EVM)0xf1bf…df0c(40位)AIB 链不存在此格式。发往 0x 地址的交易会被节点直接拒绝(INVALID_REQUEST,不会上链、资金不损失)—

换算关系:AIB1 显示地址 ↔ 64位hex 是同一 32 字节的两种拼写,任何钱包/Explorer/API 应同时接受(v0.11.42 起转账 API 已双格式兼容)。

4.2 三大地址体系对比(为什么选 ed25519 原样公钥)

维度AIB(ed25519 32B)ETH(0x+20B 哈希)Bitcoin(base58check)
签名算法ed25519(确定性)ECDSA secp256k1ECDSA secp256k1
随机数坏→私钥泄露数学上不可能✗ 历史真实盗币(Sony/安卓钱包)✗ 同左
验签速度~50µs(最快档)~200-400µs~200-400µs
地址=身份公钥本身就是地址公钥的 keccak 哈希后20字节公钥的双重哈希
防打错校验和AIB1 格式 ✓(6位bech32m)半个(EIP-55 大小写)✓ 完整
前缀可辨识AIB1 格式 ✓✓ 0x✓ 1/3/bc1
量子暴露面公钥常驻链上(PoS validator 天天签名,藏不了)休眠地址不暴露休眠地址不暴露
PoS 高频签名场景最优(每块每票都签名)可用可用

结论:PoS 链的签名密度是 PoW 链的百倍量级,确定性与验签吞吐是刚需 → ed25519 裸公钥 + bech32m 显示层(校验和+前缀)兼得安全与可用性。显示层于 v0.11.42 上线,链上格式零改动、零分叉。

4.3 示例地址(三格式对照)

用途AIB1 显示格式64位hex(canonical)
faucetAIB1W4GT7S3DGVJZSDWE4UPGE8WMXWUHHSAYP88VUS9DMM379SW4RGMSZR6VZT7550bf42…1d51a37
validator(示例)AIB16F6D7QZJPQYCP46MMV9TWQWGJZ6GU9UNN99LGN94JD0PXWS4RZWSHER5JYd274df00…a15189d

4.4 bech32m 技术细节

编码:BIP-350 bech32m(校验常数 0x2bc830a3,非 bech32 的 1);HRP=aib;5bit 分组;6 字符校验和。整串必须全大写或全小写,混合即非法。历史上 AIB 早期实现的校验和计算有误(缺 6 零填充+用错常数),v0.11.42 修复为标准 BIP-350 并通过独立参考实现交叉验证。

5. HTTP API 全集(节点 :8080)

5.1 核心

端点方法说明
/health /health/detailed /healthz /readyzGET健康检查
/v1/block/latestGET最新块(字段 data.height)
/v1/block/{height|hash}GET按高度/哈希查块
/v1/blocks/fetchPOST批量拉块
/v1/transaction/{hash}GET查交易
/v1/transactionsGET交易列表
/v1/mempoolGET内存池
/v1/status /v1/peersGET节点状态 / peer 表(Explorer 数据源)

5.2 余额与钱包

端点方法说明
/v1/balance/{address}GET查地址余额
/v1/stake/info/{address}GET质押+流动余额查询(推荐):liquid_aib / staked_aib
/v1/wallet/infoGET本节点钱包(balance_aib 含已质押,勿当流动余额用)
/v1/wallet/createPOST建钱包 {"label":"main"}(私钥只显示一次)
/v1/wallet/sendPOST转账 {"private_key","to_address","amount_aib":"1000"}(amount_aib 优先于 raw amount,v0.11.40+)
/v1/wallet/import|export|restorePOST导入/导出/恢复

5.3 质押

端点方法Body
/v1/stakePOST{"private_key":"<128hex>","amount_aib":"199990"} — 全部字符串!amount 数字会报错
/v1/unstakePOST{"private_key","amount_aib"} ~2 块解锁
/v1/stake/validatorsGET全网验证者+权重
/v1/miningGET本节点挖矿统计(slots_won / last_win_height)

5.4 其他子系统

支付通道 /v1/channel/*、AI 推理 /v1/ai/*、提案 /v1/proposals、分发 /v1/distribution、迁移 /api/migration/*、发布 /v1/release/* — 详见 GitHub docs/rfc/。

6. 节点与网络

6.1 安装(一键)

# 普通节点
curl -sSfL https://aib.one/install.sh | bash
# PoS 验证者(挖矿) — 参数形式,免疫管道环境变量陷阱
curl -fsSL https://aib.one/install.sh | bash -s -- validator

6.2 网络端口

端口用途
P2P (默认 51413)节点互联 + HTTP 文件分发(install.sh/二进制)
API (默认 8080)HTTP API(默认仅本机;对外需防火墙放行)
种子 seed.aib.one:51413主种子 + 发行中心(DNS A 记录待配置,当前经 install.sh 内置引导)

6.3 版本策略

7. 第三方集成指南

7.1 应用验证网关(AIB Auth Gateway)

第三方应用验证"用户是否持有 AIB 资产"(签名 + 链上实时查询,不上链、不碰用户币):

BASE = https://aib.one/auth   # Auth Gateway(注: CF 对 /auth/* 路径当前返回 404,规则清理前请向项目方索取直连端点)

① 注册应用:  POST /v1/apps  {"name":"myapp","min_balance_aib":1000,"min_stake_aib":5000}
② 拿挑战:    GET  /v1/auth/challenge?app_key=xxx        → nonce(5分钟有效)
③ 用户签名:  ed25519.Sign(nonce, 用户私钥)
④ 验证:      POST /v1/auth/verify {"challenge","signature","pubkey","address"}
              → 通过发放 session token,按链上余额/质押分层(basic/premium)
⑤ 校验 token: POST /v1/check {"token"}

7.2 做市 / 交易机器人接入

7.3 常见坑(实measured)

8. 错误码参考

code含义处理
INSUFFICIENT_BALANCE流动余额不足查 /v1/stake/info/{addr} 区分 liquid vs staked
INVALID_REQUEST参数格式错误检查 JSON 类型(amount 必须字符串)、地址 64 位 hex
Invalid private key length私钥 hex 长度不对node_key.pem 前 64 字节的 hex(128 字符)
Invalid to address format地址格式错误64 位 hex 无 0x,不是 EVM!
规范来源: 本页参数直接摘自 aib-repo 源码常量(pkg/utxo/pow.go、staking.go、vrf_proposer.go、pkg/api/server.go 路由表),与 v0.11.40 代码一致。深入阅读:GitHub docs/rfc/(RFC-001 POAT 共识 / RFC-002 fee-burn / RFC-003 bootstrap / RFC-004 治理 / RFC-005 bond)。

测试网可多次重置;生产参数以此 spec 为准。发现 spec 与代码不符,以代码为准并提交 issue。