3.1 数据的格式和顺序
链上数据的格式和顺序作如下规定。
公钥HASH 明文数据HASH 数据 签名 标注 NOTE
解释如下:
-
data0: 公钥HASH, 持有者的账号公钥的HASH160
-
data1: 明文HASH
- 如果是加密信息,则为明文的SHA256值。
- 如果是公开数据,则为0x00。
-
data2: 明文或密文, 数据可为加密或公开数据。原始数据使用Msgpack协议编码,需排序键值(sortKeys=true)。
-
data3: 签名, 使用持有者账号私钥对明文HASH进行的签名。签名可通过持有者账号公钥验证。签名算法采用Bitcoin Message标准。如果可以提供交易的公钥签名,此处为0x00;否则必须有签名。
-
data4: 描述数据的表现形式
- 8字节的整数0x00,表示数据使用了持有者的账号公钥加密
- 8字节的整数0x01,表示数据未加密
- 8字节的整数,范围:16~2^53 - 16,表示数据使用了数据加密公钥加密
-
NOTE:全大写,固定的协议标识符