标准名称

Similar documents
PowerPoint 演示文稿

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

Chapter #

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

申 请 挂 牌 公 司 声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主

<4D F736F F D20B9F0D5FEB0ECB7A2A3A A3A93835BAC52E646F63>


財金資訊-80期.indd

标准名称

<4D F736F F F696E74202D DA578C657B27BA6E6ABD8BF76B5B2BA63A475B57BAABABADEB27AA8EEABD7BB50A7EFB669ABD8C4B32DBDB2A7D3B4AD2E BACDBAE65BCD2A6A15D>

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

< FB14EA5D028B2C4A447A6B8B4ABC0C9295FB05DAC46B3A1A4BDB0C8ADFBB9EFA644A8C6B0BBAC64C576AF715FA4BAADB D6D5FB3E6A6E22E696E6464>


( 总 第 1073 期 ) 浙 江 省 人 民 政 府 主 办 2015 年 3 月 17 日 出 版 省 政 府 令 省 政 府 文 件 目 录 浙 江 省 大 型 群 众 性 活 动 安 全 管 理 办 法 ( 浙 江 省 人 民 政 府 令 第 333 号 ) (3) 浙 江 省 人 民 政

<D7DCCEC4BCFE2E696E6464>

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

面 試 考 古 題 01 請 你 先 簡 單 做 個 自 我 介 紹 自 我 介 紹 通 常 是 面 試 的 第 一 題 在 雙 方 對 彼 此 都 不 太 熟 悉 的 情 況 下, 由 求 職 者 簡 短 自 我 介 紹 中, 面 試 官 可 快 速 掌 握 求 職 者 的 背 景 資 料, 並

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

附件9 电梯运行安全监测管理信息平台技术规范 第11部分:系统信息安全技术规范(征求意见稿)

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

01

untitled

牧 者 心 聲 要 因 心 懷 平 而 作 惡 要 謹 慎 言 行 免 得 舌 頭 犯 罪 ; 惡 人 時 候 要 用 嚼 環 勒 住 口 ( 詩 三 十 九 1) 今 天 社 會 和 教 會 裏 極 其 渴 望 人 能 以 具 體 行 動 勉 勵 走 善 良 正 直 路 作 好 榜 樣 ; 可 惜

支付宝2011年 IT资产与费用预算

共识算法 SOLO kafka(cft) FBFT 节点数 1 2f+1 3f+1 错误节点容忍 不容忍 最多 1/2 个 crash 节点 最多 1/3 个拜占庭错误节点 交易性能 一般 TPS 2000+TPS 快速拜占庭容错算法 (Fast Byzantine Fault Tole

关于建立境内违法互联网站黑名单管理制度的通知

? 這 全 都 是 市 政 府 提 供 給 我 的 資 料 低 底 盤 公 車 計 畫 96 年 預 算 新 台 幣 4,500 萬 元 97 年 預 算 新 台 幣 1 億 6,500 萬 元 98 年 預 算 新 台 幣 3 億 2,300 萬 元, 共 有 307 台 低 底 盤 公 車,99

ChinaBI企业会员服务- BI企业

解 除 身 份 验 证 机 密 性 Wep 等 一 些 加 密 机 制 MSDU 传 递 (MAC Service Data Unit) 负 责 将 数 据 传 送 给 实 际 的 接 收 端 传 输 功 率 控 制 (Transmit Power Control 简 称 TPC) 欧 洲 标 准

静态分析 投放文件 行为分析 互斥量 (Mutexes) 执行的命令 创建的服务 启动的服务 进程 cmd.exe PID: 2520, 上一级进程 PID: 2556 cmd.exe PID: 2604, 上一级进程 PID: 2520 访问的文件 C:\Users\test\AppData\Lo

1 公钥管理 1.1 公钥管理配置命令 display public-key local public display public-key local { dsa rsa } public [ { begin exclude include } regular-expression ]

( Version 0.4 ) 1

中華電信憑證總管理中心憑證實務作業基準

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

K-HW508K / HW516K K-NL408K / NL416K 最新固件版本 :V G Seagate Pipeline HD2 ST CS - 可用 Seagate Pipeline HD2 ST1000VM002 - 可用 1T Seagate SV35.5

2014 年 87 月 259 日 K-HW508K / HW516K K-NL408K / NL416K 最新固件版本 :V3.200 容量 供应商 系列 型号 格式 可用性 兼容性能 备注 500G Seagate Pipeline HD2 ST CS - 可用 Seagate Pi

论文,,, ( &, ), 1 ( -, : - ), ; (, ), ; ;, ( &, ),,,,,, (, ),,,, (, ) (, ),,, :. : ( ), ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ), ( ),,,, 1 原译作 修补者, 但在英译版本中, 被译作

以太坊钱包开发

2

KL DSC DEMO 使用说明



通过Hive将数据写入到ElasticSearch

九江学院 2014年度毕业生就业质量报告

附件9-郵政行動金融卡-VISA卡特別約定條款104.10

F515_CS_Book.book

Transcription:

中国区块链技术和产业发展论坛标准 CBD-Forum-002-2017 区块链数据格式规范 Blockchain Data format specification 2017-12 - 22 发布

目次 前言... III 1 范围... 1 2 术语和缩略语... 1 2.1 其他标准中定义的术语... 1 2.2 缩略语... 2 3 数据对象结构... 2 4 数据分类... 3 5 数据元... 3 6 数据格式规范... 3 6.1 账户数据格式... 3 6.2 区块数据格式... 5 6.3 事务数据格式... 8 6.4 实体数据格式... 9 6.5 合约数据格式... 11 6.6 配置数据格式... 12 附录 A ( 资料性附录 ) 数据项标识符... 15 附录 B ( 资料性附录 ) 共识机制相关数据格式... 16 B.1 类拜占庭容错... 16 B.2 基于权益的证明... 19 B.3 基于工作量的证明... 20 参考文献... 21 I

前 言 本标准按照 GB/T 1.1-2009 给出的规则起草 本标准由中国区块链技术和产业发展论坛提出 本标准负责起草单位 : 中国电子技术标准化研究院 中国万向控股有限公司 浙江蚂蚁小微金融服务集团有限公司 深圳前海微众银行股份有限公司 乐视联服信息技术 ( 北京 ) 有限公司 万达网络科技集团有限公司 中国平安保险 ( 集团 ) 股份有限公司 上海金丘实业股份有限公司 上海钜真金融信息服务有限公司 鑫苑 ( 中国 ) 置业有限公司 众安信息技术服务有限公司 上海分布信息科技有限公司 用友网络科技股份有限公司 海航科技集团有限公司 三一集团有限公司 本标准主要起草人 : 李鸣, 唐晓丹, 谭智勇, 张开翔, 季宙栋, 周平, 吴小川, 赵博然, 华正皓, 陈家乐, 宋文鹏, 周子焱, 李斌, 李俊, 左鹏, 李奕, 李彦博, 金龙, 杜宇, 姚辉亚, 韩梅, 杨宝刚, 李佳秾, 罗荣阁, 胡丹青, 郝玉琨, 董长江, 高西林, 杜君君, 朱天阳, 倪旻, 易锋平, 孙琳, 周政军, 李升林 使用帮助信息 : 任何单位和个人在使用本标准的过程中, 若存在疑问, 或有对本标准的改进建议和意见, 请与中国电子技术标准化研究院 ( 中国区块链技术和产业发展论坛秘书处 ) 联系 电话 :010-64102801/2804; 电子邮件 :cbdforum@cesi.cn 通信地址 : 北京市东城区安定门东大街 1 号 (100007) 为了推动本标准的持续改进, 使其更加贴近用户组织的实际需求, 欢迎社会各方力量参加本标准的持续改进, 本标准的更多信息欢迎关注中国区块链技术和产业发展论坛官方网站和公众号 http://www.cbdforum.cn III

区块链数据格式规范 1 范围 本标准规定了区块链的数据格式规范 具体规定了以下 : a) 区块链技术相关的数据结构 ; b) 区块链技术相关的数据分类及其相互关系 ; c) 区块链技术相关的数据元的数据格式要求 本标准适用于 : a) 为计划使用区块链的组织建设区块链系统提供数据格式参考 ; b) 指导区块链服务提供组织建立区块链系统数据结构 ; c) 为区块链系统建设过程的中间件服务组织提供数据格式参考 2 术语和缩略语 2.1 其他标准中定义的术语 GB/T 19488.1-2004 GB/T 18391.2-2009 GB/T 18391.1-2002 和 CBD-Forum-001-2017 界定的以下术语和定义适用于本文件 2.1.1 attribute 一个对象或实体的特征 [GB/T 18391.2-2009] 2.1.2 区块链 blockchain 一种在对等网络环境下, 通过透明和可信规则, 构建不可伪造 不可篡改和可追溯的块链式数据结构, 实现和管理事务处理的模式 注 : 事务处理包括但不限于可信数据的产生 存取和使用等 [CBD-Forum-001-2017] 2.1.3 数据元 data element 通过定义 标识 表示和允许值等一系列描述的一个数据单元 [GB/T 19488.1-2004] 2.1.4 数据类型 data type 由数据元操作决定的用于采集字母 数字和 ( 或 ) 符号的格式, 以描述数据元的值 1

[GB/T 18391.1-2002] 2.1.5 标识符 identifier 数据元的唯一标识 [GB/T 18391.1-2002] 2.1.6 智能合约 smart contract 以数字形式定义的能够自动执行条款的合约 注 : 在区块链技术领域, 智能合约是指基于预定事件触发 不可篡改 自动执行的计算机程序 [CBD-Forum-001-2017] 2.2 缩略语下列缩略语适用于本标准 PKI 公钥基础设施 (Public Key Infrastructure) ID 标识 (Identity) 3 数据对象结构 区块链技术相关的数据对象结构包括上述区块 事务 实体 合约 账户 配置六个主要数据对象 其中区块链核心的数据对象包括区块 事务 实体和合约 每一区块数据对象中包含一个或多个事务数据对象, 每个事务对象包括类的实体数据对象, 还包括事务的业务逻辑, 即合约数据对象 在区块链核心数据对象之外, 包括配置数据对象, 提供区块链系统正常运行过程中所需的配置信息 配置数据对象和区块链核心数据对象共同构建了区块链运行所需的基础数据基础 而账户数据对象表示区块链业务的实际发起者和相关方对应的数据结构 图 1 给出了数据视图相关的实体间关系 注 : 区块链技术数据结构中所包含的关键要素是区块链技术中涉及到的必要数据, 在不同区块链技术相关的平台中可能包含其他非必要数据未在本标准的范围中 账户 区块 核心 事务 实体 合约 配置 图 1 2

4 数据分类 本标准以数据对象的类别为依据, 将区块链数据分为以下六类 : a) 账户数据 : 指描述区块链事务的实际发起者和相关方的数据 区块中记录的事务信息均被关联到相关的账户之上, 每个区块链服务客户拥有一个或多个账户来使用区块链服务 b) 区块数据 : 指区块链网络的底层链式数据, 用来把一段给定时间内发生的事务处理结果持久化为成块链式数据结构 通常情况下, 区块由区块头和区块体组成 区块头包含区块相关的控制信息, 区块体包含具体的事务数据 c) 事务数据 : 指描述区块链系统上承载的具体业务动作的数据 其中, 事务既包括交易类型事务, 也包括非交易类型事务 d) 实体数据 : 指描述事务的静态的数据 通常包括发起方地址 接收方地址 交易发生额 交易费用 存储数据和实体数据备注 e) 合约数据 : 指描述事务的动态处理逻辑的数据 合约又称智能合约, 是一套以计算机代码形式定义的承诺, 以及合约参与方可执行承诺的协议 这里的合约数据既包括处理逻辑的可执行代码, 也包括处理逻辑的执行结果 f) 配置数据 : 指区块链系统正常运行过程中所需的配置信息 通常包括共识协议版本号 软件版本号和网络通信底层对等节点配置信息等 5 数据元 区块链数据元通过数据标识符 中文名称 英文名称 数据类型 数据长度 数据说明 数据备注 7 个来描述 具体说明见表 1 表 1 名称说明数据标识符各数据元的唯一标识, 编号是以阶层式分类, 分别将数据分类和数据元依顺序进行流水号编码记录 前段码为数据分类号码, 后段码以数据元的流水号, 详见附录 A 中文名称数据元的中文名称, 在一定语境下名称应保持唯一 英文名称数据元的英文名称, 在一定语境下名称应保持唯一 数据类型描述数据元的特征和基本要素, 本标准中使用的数据类型主要包括 : 字符串类型 整数类型 数组类型 数据长度描述该数据元的长度, 在本标准中用定长或不定长表示, 并给出了推荐字节长度 数据说明详细描述该数据元的和表达的含义 数据备注描述该数据元是否必要, 在本标准中分为必选和可选 第 6 章给出了对各种区块链数据元的说明和要求 对各数据元的数据标识符的参考性规范见附录 A 6 数据格式规范 6.1 账户数据格式 账户数据主要包括以下几种数据元 : a) 账户公钥 ; b) 账户私钥 ; 3

c) 账户资产 ; d) 数字证书 ; e) 账户所属机构 6.1.1 账户公钥账户公钥的数据格式要求见表 2 表 2 中文名称账户公钥英文名称 Account Public Key 数据类型字符串数据长度定长, 推荐 64 字节数据说明根据 PKI 体系为用户生成的密钥对里, 可公开的部分 数据备注必选 6.1.2 账户私钥账户私钥的数据格式要求见表 3 表 3 中文名称账户私钥英文名称 Account Private Key 数据类型字符串数据长度定长, 推荐 32 字节数据说明根据 PKI 体系为用户生成的密钥对里, 不公开的部分 数据备注必选 6.1.3 账户资产账户资产的数据格式要求见表 4 表 4 中文名称账户资产英文名称 Account Asset 数据类型数组数据长度不定长数据说明账户拥有的资产说明, 包括资产名称, 资产列表, 余额等 数据备注可选 6.1.4 数字证书数字证书的数据格式要求见表 5 4

中文名称英文名称数据类型数据长度数据说明数据备注 表 5 数字证书 Digital Certificate 数组不定长数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件 可选 6.1.5 账户所属机构账户所属机构的数据格式要求见表 6 表 6 中文名称账户所属机构英文名称 Institution 数据类型数组数据长度不定长数据说明机构为加入到区块链网络的, 独立运作的成员, 可以为企业, 组织, 团体等, 账户可以在组织关系上归属于某个机构 数据备注可选 6.2 区块数据格式区块数据主要包括以下几种数据元 : a) 区块高度 ; b) 区块标识 ; c) 版本信息 ; d) 前一区块摘要值 ; e) 默克尔树根 ; f) 区块时间戳 ; g) 区块随机数 ; h) 难度系数 ; i) 事务列表 6.2.1 区块高度 区块高度的数据格式要求见表 7 表 7 中文名称区块高度英文名称 Block Height 数据类型整数数据长度定长 数据说明标识区块序号, 描述区块在区块链中的位置 5

数据备注 可选 6.2.2 区块标识区块标识的数据格式要求见表 8 中文名称区块标识英文名称 Block ID 表 8 数据类型数据长度数据说明数据备注 字符串定长, 推荐长度 32 字节通常指区块摘要, 区块在区块链中的唯一标识 必选 6.2.3 版本信息 版本信息的数据格式要求见表 9 表 9 中文名称 版本信息 英文名称 Block Version 数据类型 字符串 数据长度 不定长 数据说明 当前区块版本号, 主要对应当前区块头的结构及各个字段的含义 数据备注 可选 6.2.4 前一区块摘要值 前一区块摘要值的数据格式要求见表 10 表 10 中文名称 前一区块摘要值 英文名称 Previous Block Hash 数据类型 字符串, 推荐长度 32 字节 数据说明 通常指前一区块的区块摘要, 区块在区块链中的唯一标识 数据备注 必选 6.2.5 默克尔树根 默克尔树根的数据格式要求见表 11 中文名称默克尔树根 表 11 6

英文名称数据类型数据长度数据说明数据备注 Merkle Tree Root 字符串定长, 推荐长度 32 字节由本区块里相关的信息通过树状结构算法汇总生成的摘要值 事务树根必选, 状态和回执树根可选 6.2.6 区块时间戳 区块时间戳的数据格式要求见表 12 表 12 中文名称 区块时间戳 英文名称 Block Timestamp 数据类型 整数, 推荐长度 8 字节 数据说明 表示本区块的生成时间刻度 ( 正整数 ), 从 1970 年起的时间计数, 精度为毫秒数, 正序增加 数据备注 必选 6.2.7 区块随机数 区块随机数的数据格式要求见表 13 表 13 中文名称 区块随机数 英文名称 Block Nonce 数据类型 整数 数据说明 区块随机数, 通常用于记账节点竞争记账权的 Hash 计算的可变参数 数据备注 可选 6.2.8 难度系数 难度系数的数据格式要求见表 14 表 14 中文名称 难度系数 英文名称 Difficulty 数据类型 整数, 推荐长度 8 字节 数据说明 通常用于表示记账节点竞争记账权的 Hash 计算难度的参数 数据备注 可选 6.2.9 事务列表 7

事务列表的数据格式要求见表 15 表 15 中文名称事务列表英文名称 Transaction List 数据类型数组数据长度不定长数据说明区块中的事务列表, 每个事务通常表示一个业务操作 数据备注必选 6.3 事务数据格式事务数据主要包括以下几种数据元 : a) 事务标识 ; b) 事务类型 ; c) 签名者 ; d) 事务时间戳 6.3.1 事务标识事务标识的数据格式要求见表 16 表 16 中文名称事务标识英文名称 Transaction ID 数据类型字符串数据长度定长数据说明事务处理中, 可保证事务数据的唯一标识, 通常为哈希值 数据备注必选 6.3.2 事务类型事务类型的数据格式要求见表 17 表 17 中文名称事务类型英文名称 Transaction Type 数据类型字符串或整数数据长度定长数据说明进行事务操作时, 定义事务操作的事件类型, 可以有一或多种类型 数据备注可选 6.3.3 签名者签名者的数据格式要求见表 18 8

中文名称英文名称数据类型数据长度数据说明数据备注 表 18 签名者 Signers 字符串定长进行事务操作时, 对事务进行签名的签名者的集合 可选 6.3.4 事务时间戳事务时间戳的数据格式要求见表 19 表 19 中文名称事务时间戳英文名称 Transaction Timestamp 数据类型整数数据长度 32 字节数据说明正整数, 从 1970 年起的时间计数, 精度为毫秒, 正序增加 数据备注可选 6.4 实体数据格式实体数据主要包括以下几种数据元 : a) 发起方地址 ; b) 接收方地址 ; c) 事务处理发生额 ; d) 事务处理费用 ; e) 附件数据 ; f) 实体数据备注 6.4.1 发起方地址发起方地址的数据格式要求见表 20 表 20 中文名称发起方地址英文名称 Sender Address 数据类型字符串长度定长说明事务操作的发起者或源账户, 作为该事务发起方的唯一标识 备注必选 6.4.2 接收方地址 接收方地址的数据格式要求见表 21 9

中文名称英文名称数据类型数据长度数据说明数据备注 表 21 接收方地址 Recipient Address 字符串定长事务操作中的接收方, 作为事务操作对象的唯一标识 可选 6.4.3 事务处理发生额 事务处理发生额的数据格式要求见表 22 表 22 中文名称 事务处理发生额 英文名称 Transaction Amount 数据类型 整数或字符串 数据说明 事务操作中涉及到账户资产的变更数量, 交易额 数据备注 可选 6.4.4 事务处理费用 事务处理费用的数据格式要求见表 23 表 23 中文名称 事务处理费用 英文名称 Transaction Fee 数据类型 整数或字符串 数据说明 事务操作中通常会产生一定的交易费用, 以防止垃圾交易 流量攻击等 数据备注 可选 6.4.5 附加数据 附加数据的数据格式要求见表 24 表 24 中文名称 附加数据 英文名称 Additional Data 数据类型 字符串 数据说明 为部分业务需要提供的备选字段, 可增加与业务需求相关的附加数据 数据备注 可选 10

6.4.6 实体数据备注实体数据备注的数据格式要求见表 25 表 25 中文名称实体数据备注英文名称 Memo 数据类型字符串数据长度不定长数据说明事务操作中, 可对应该事务的 text ID 和 hash 类型的备注字段 数据备注可选 6.5 合约数据格式合约数据主要包括以下几种数据元 : a) 合约标识 ; b) 合约版本号 ; c) 合约代码 ; d) 合约存储 6.5.1 合约标识合约标识的数据格式要求见表 26 表 26 中文名称合约标识英文名称 Contract ID 数据类型字符串数据长度定长数据说明合约在区块链上部署后, 通过一个唯一的确定的地址标识, 供调用方访问合约的代码, 状态存储等 数据备注该标识一般由创建该合约的账户信息 + 序列号 + 其他合约信息 ( 可选 ) 通过可选的摘要算法生成, 要求生成的标识唯一, 确定, 可用 可选 6.5.2 合约版本号合约版本号的数据格式要求见表 27 表 27 中文名称合约版本号英文名称 Contract Version 数据类型字符串数据长度不定长数据说明针对智能合约的代码和编译发布到区块链上的二进制代码数据, 使用版本号标识不同的版本 数据备注某个智能合约持续提供某个业务功能, 但因需求更迭, 或面向不同的问题域而具备不同的特性, 需要进行版本划分 可选 11

6.5.3 合约代码合约代码的数据格式要求见表 28 表 28 中文名称合约代码英文名称 Contract Code 数据类型字符串数据长度不定长数据说明合约的可执行指令, 经过指定编译器编译生成, 供区块链上的虚拟机调用执行 数据备注根据不同的虚拟机体系, 合约代码采用不同的计算机语言编写, 并由不同的编译器生成二进制可执行指令 可选 6.5.4 合约存储合约存储的数据格式要求见表 29 表 29 中文名称合约存储英文名称 Contract Storage 数据类型数组数据长度不定长数据说明合约执行过程生成的状态数据的集合, 其与合约的逻辑密切相关 数据备注可采用 key-value 格式或关系型数据库保存 可选 6.6 配置数据格式配置数据主要包括以下几种数据元 : a) 协议版本号 ; b) 版本软件号 ; c) 节点标识 ; d) 节点地址 ; e) 节点公钥 6.6.1 协议版本号协议版本号的数据格式要求见表 30 表 30 中文名称协议版本号英文名称 Protocol Version 数据类型字符串数据长度不定长数据说明针对区块链节点之间以及外部应用和区块链节点通信, 交互的协议, 使用版本号标识不同的协议版本 数据备注区块链协议可以随着软件版本升级, 具备不同的接口, 功能, 一般区块链软件应在协议层面向下兼容, 12

采用协议版本号进行区分, 一套软件可以对使用不同的协议的各种客户端提供服务 可选 6.6.2 软件版本号 软件版本号的数据格式要求见表 31 表 31 中文名称 软件版本号 英文名称 Software Version 数据类型 字符串 数据长度 不定长 数据说明 针对区块链软件本身, 含代码和二进制软件形态, 使用版本号标识不同的发行版本 数据备注 区块链软件可以针对不同的软件生命周期, 以及不同的应用场景, 不同的目标用户, 采用不同的版本 必选 6.6.3 节点标识 节点标识的数据格式要求见表 32 表 32 中文名称 节点标识 英文名称 Peer ID 数据类型 字符串 数据长度 不定长 数据说明 区块链节点的唯一标识, 可选用节点的公钥做为唯一标识 数据备注 必选 6.6.4 节点地址 节点地址的数据格式要求见表 33 中文名称节点地址英文名称 Peer Address 数据类型字符串数据长度按照 IPv4 和 IPv6 定义长度不定数据说明区块链网络节点的 IP 地址 数据备注必选 6.6.5 节点公钥节点公钥的数据格式要求见表 34 表 33 13

中文名称英文名称数据类型数据长度数据说明数据备注 节点公钥 Peer Public Key 字符串定长区块链网络节点的公钥信息 可选 表 34 14

区块链数据元参考标识见表 A.1 附录 A ( 资料性附录 ) 数据项标识符 表 A.1 数据分类数据元数据标识 账户数据 区块数据 事务数据 实体数据 合约数据 配置数据 账户公钥 01_001 账户私钥 01_002 账户资产 01_003 数字证书 01_004 账户所属机构 01_005 区块高度 02_001 区块标识 02_002 版本信息 02_003 前一区块摘要值 02_004 默克尔树根 02_005 区块时间戳 02_006 难度系数 02_007 随机数 02_008 事务列表 02_009 事务标识 03_001 事务类型 03_002 签名者 03_003 事务时间戳 03_004 发起方地址 04_001 接收方地址 04_002 交易发生额 04_003 交易费用 04_004 附加数据 04_005 实体数据备注 04_006 合约标识 05_001 合约版本号 05_002 合约代码 05_003 合约存储 05_004 共识协议版本号 06_001 软件版本号 06_002 节点标识 06_003 节点地址 06_004 节点公钥 06_005 15

附录 B ( 资料性附录 ) 共识机制相关数据格式 B.1 类拜占庭容错 注 : 类拜占庭容错共识算法是指能解决拜占庭将军问题的一类算法, 典型的如 PBFT 算法及其演变的类似算法 B.1.1 验证者格式 B.1.1.1 验证者地址 验证者地址的数据格式要求见表 B.1 表 B.1 中文名称 验证者地址 英文名称 Validator Address 数据类型 字符串 数据说明 地址作为验证身份的标识, 验证者不可更改其地址 数据备注 可选 B.1.1.2 验证者公钥 验证者公钥的数据格式要求见表 B.2 表 B.2 中文名称 验证者公钥 英文名称 Validator Public Key 数据类型 字符串 数据说明 验证者公钥用来验证验证者签名的正确与否, 公钥编码后也可得到其相应验证者地址 数据备注 必选 B.1.1.3 验证者投票权重 投票权重的数据格式要求见表 B.3 表 B.3 中文名称 投票权重 英文名称 Validator Voting Power 数据类型 整数 数据说明 验证者根据所占投票权重进行投票, 投票中超过一定比例的权重可进入下一轮投票 数据备注 必选 16

B.1.2 验证者 B.1.2.1 验证者地址列表 验证者地址列表的数据格式要求见表 B.4 表 B.4 中文名称 验证者地址列表 英文名称 Validator Address 数据类型 数组 数据长度 不定长 数据说明 验证者列表包含当前区块链系统里所有的验证者, 验证者具有区块记账的权利 数据备注 必选 B.1.2.2 提案者 提案者的数据格式要求见表 B.5 表 B.5 中文名称 提案者 英文名称 Proposer 数据类型 数组 数据说明 提案者也是验证者, 但相对验证者多了提交打包下一个区块提案的任务 数据备注 必选 B.1.2.3 验证者投票权重总和 验证者投票权重总和的数据格式要求见表 B.6 表 B.6 中文名称 权重总和 英文名称 Total Voting Power 数据类型 整数 数据说明 当前区块链系统里所有验证者投票权重的总和 数据备注 必选 B.1.3 投票 B.1.3.1 投票者地址 投票者地址的数据格式要求见表 B.7 17

中文名称英文名称数据类型数据长度数据说明数据备注 表 B.7 投票者地址 Voter Address 字符串定长地址作为投票者在区块链里的身份标识, 地址由公钥编码后产生 必选 B.1.3.2 投票者序号 投票者序号的数据格式要求见表 B.8 表 B.8 中文名称 投票者序号 英文名称 Voter Index 数据类型 整数 数据说明 投票者在投票者列表里会有唯一的序号作为投票者另一身份标识 数据备注 可选 B.1.3.3 被投票的区块高度 被投票的区块高度的数据格式要求见表 B.9 表 B.9 中文名称 投票高度 英文名称 Voting Height 数据类型 整数 数据说明 指准备打包的下一个区块的高度, 即当前区块链的下一个区块高度 数据备注 必选 B.1.3.4 投票轮次 投票轮次的数据格式要求见表 B.10 表 B.10 中文名称 投票轮次 英文名称 Voting Round 数据类型 整数 数据说明 投票者所处轮次, 在打包一个区块的过程中节点会经过多个轮数, 每个轮数会有相应的时间限制 数据备注 非可选 18

B.1.3.5 投票的类型 投票类型的数据格式要求见表 B.11 表 B.11 中文名称 投票类型 英文名称 Voting Type 数据类型 整数 数据说明 在提交一个区块时, 存在多种投票类型 这里用不同整数来表示具体的投票类型, 如 : 预投票, 预提交 数据备注 非可选 B.1.3.6 投票区块标识 投票区块标识的数据格式要求见表 B.12 表 B.12 中文名称 投票区块标识 英文名称 Voting Block ID 数据类型 字符串 数据说明 所投区块的摘要, 此摘要通过区块的做哈希运算得到 数据备注 必选 B.1.3.7 投票者签名 投票者签名的数据格式要求见表 B.13 表 B.13 中文名称 投票者签名 英文名称 Signature 数据类型 字符串 数据说明 投票者对投票信息的签名, 此签名可代表其所做动作确实是其所为, 而非他人 数据备注 必选 B.2 基于权益的证明 B.2.1 权益累计时长 权益累计时长的数据格式要求见表 B.14 中文名称权益累计时长英文名称 Accumulated Stake Duration 表 B.14 19

数据类型数据长度数据说明数据备注 整数定长参与记账投票权益的时长, 权益证明成功产生新的权益后, 权益时间会清零 必选 B.3 基于工作量的证明 B.3.1 随机数 随机数的数据格式要求见表 B.15 表 B.15 中文名称 随机数 英文名称 Nonce 数据类型 整数 数据说明 基于工作量证明的区块链系统会要求记账者 ( 矿工 ) 找到适当的随机数, 对该随机数和待记账的区块内 容的合并信息进行 Hash 运算, 并要求计算出来的 Hash 值必须满足特定格式 ( 通常必须以特定数量的 0 开 始 ) 数据备注 必选 B.3.2 区块记账者 区块记账者的数据格式要求见表 B.16 表 B.16 中文名称 区块记账者 英文名称 Block Generator 数据类型 字符串 数据说明 标识实际提交本区块的记账者 ( 矿工 ) 信息, 通常用记账者的公钥地址或账户地址来表示 数据备注 必选 20

参考文献 [1] GB/T 18391.1-2002 信息技术数据元的规范与标准化第 1 部分数据元的规范与标准化框架 [2] GB/T 18391.2-2009 信息技术数据元的规范与标准化第 2 部分数据元的分类 [3] GB/T 18391.3-2001 信息技术数据元的规范与标准化第 3 部分数据元的基本 [4] GB/T 18391.4-2001 信息技术数据元的规范与标准化第 4 部分数据定义的编写规则与指南 [5] GB/T 18391.5-2001 信息技术数据元的规范与标准化第 5 部分数据元的命名和标识原则 [6] CBD-Forum-001-2017 区块链参考架构 21