跳转至

全球亚文化俱乐部联盟 技术文档 1:IC 卡存储流程说明

  1. 先将以下数据存入到一个 MessagePack。

    • 研究员 GPC 编号(仅在转据点/转队/转俱乐部时才会发生变更,不可手动修改。在 GPC40 下,二进制形式,64 比特,也就是 8 字节;实际上当新版本 GPC 公布时,GPC 编号占用的字节数可能发生变化)

    • GPC 版本(不可手动修改,仅当 GSCU 公布新版本 GPC 时才会发生变更。不超过 24 字节)

    • 昵称(或者说"代号",可手动修改。不超过 120 字节)

    • GSCU 电子钱包 GSD 余额(不可手动修改,仅在完成交易之后发生变更,以 u 为单位。用一个 16 字节(128 位)有符号整数表示。范围大约是-1.70x10\^38 至 1.70x10\^38 之间,若转换为 GSD,则是-1.70x10\^32 GSD 至 1.70x10\^32 GSD。1.70x10\^32 GSD 非常巨大,若按 1 GSD = 1.5 USD,那就是 2.55x10\^32 GSD,相当于太阳价值的 0.2 倍至 8.4 倍[^1])

    • 简介(可手动修改。不超过 3000 字节)

    • 扩展内容(分为 user(可手动修改,由研究员自行添加)和 system(不可手动修改,由系统提供)两类。仅受到 IC 卡内部 NOR 芯片(或者未来会用到的 FeRAM 芯片)的总容量限制。)

    示例:

    研究员 GPC 编号(code):LFN2018-00121376(8255201800121376)

    GPC 版本(ver):GPC40

    GSCU 电子钱包余额(balance):8293.666667 GSD(8293666667)

    昵称(nickname):白雪公主

    简介(intro):GSCU Wiki 创建者 | 现居福建厦门

    扩展内容(extend):(例如:是否为 Wiki 管理员?)

    得到以下 MessagePack(以下内容是为进行教学展示,对 extend 部分(扩展内容)进行了简化的,大多数情况下,未压缩的 MessagePack 有 512 字节至 8192 字节(压缩后可能会在 300 字节至 7000 字节之间)):

    86 a4 63 6f 64 65 c4 08 00 1d 54 0f f2 d8 6c 20

    a3 76 65 72 d9 05 47 50 43 34 30 a8 6e 69 63 6b

    6e 61 6d 65 d9 0c e7 99 bd e9 9b aa e5 85 ac e4

    b8 bb a7 62 61 6c 61 6e 63 65 c4 10 00 00 00 00

    00 00 00 00 00 00 00 01 ee 57 4f 6b a5 69 6e 74

    72 6f da 00 27 47 53 43 55 20 57 69 6b 69 e5 88

    9b e5 bb ba e8 80 85 20 7c 20 e7 8e b0 e5 b1 85

    e7 a6 8f e5 bb ba e5 8e a6 e9 97 a8 a6 65 78 74

    65 6e 64 82 a4 75 73 65 72 de 00 00 a6 73 79 73

    74 65 6d de 00 01 aa 77 69 6b 69 5f 61 64 6d 69

    6e c3

分析:

字节 内容 长度 说明
0x00 86 1字节 6个元素:"code"、"ver"、"nickname"、"balance"、"intro"、"extend"
0x01 a4 1字节 接下来是4字节字符串
0x02-0x05 63 6f 64 65 4字节 "code"
0x06-0x07 c4 08 2字节 接下来是8字节二进制
0x08-0x0f 00 1d 54 0f f2 d8 6c 20 8字节 GPC编号(8255201800121376,也就是LFN2018-00121376)
0x10 a3 1字节 接下来是3字节字符串
0x11-0x13 76 65 72 3 字节 "ver"
0x14-0x15 d9 05 2字节 接下来是5字节字符串
0x16-0x1a 47 50 43 34 30 5字节 GPC版本("GPC40")
0x1b a8 1字节 接下来是8字节字符串
0x1c-0x23 6e 69 63 6b 6e 61 6d 65 8字节 "nickname"
0x24-0x25 d9 0c 2字节 接下来是12字节字符串
0x26-0x31 e7 99 bd e9 9b aa e5 85 ac e4 b8 bb 12字节 昵称("白雪公主")
0x32 a7 1字节 接下来是7字节字符串
0x33-0x39 62 61 6c 61 6e 63 65 7字节 "balance"
0x3a-0x3b c4 10 2字节 接下来是16字节二进制
0x3c-0x4b 00 00 00 00 00 00 00 00 00 00 00 01 ee 57 4f 6b 16字节 GSCU电子钱包GSD余额(例如给定内容为8293666667,也就是8293.666667 GSD)
0x4c a5 1字节 接下来是5字节字符串
0x4d-0x51 69 6e 74 72 6f 5字节 "intro"
0x52-0x54 da 00 27 3字节 接下来是39字节字符串
0x55-0x7b 47 53 43 55 20 57 69 6b 69 e5 88 9b e5 bb ba e8 80 85 20 7c 20 e7 8e b0 e5 b1 85 e7 a6 8f e5 bb ba e5 8e a6 e9 97 a8 39字节 简介(例如给定内容为"GSCU Wiki创建者 | 现居福建厦门")
0x7c a6 1字节 接下来是6字节字符串
0x7d-0x82 65 78 74 65 6e 64 6字节 "extend"
0x83 82 1字节 "extend"内2个元素:"user"和"system"
0x84 a4 1字节 接下来是4字节字符串
0x85-0x88 75 73 65 72 4字节 "user"
0x89-0x8b de 00 00 3字节 "user"内0个元素
- - 0字节 (还没有任何内容)
0x8c a6 1字节 接下来是6字节字符串
0x8d-0x92 73 79 73 74 65 6d 6字节 "system"
0x93-0x95 de 00 01 3字节 "system"内1个元素:"wiki_admin"
0x96 aa 1字节 接下来是10字节字符串
0x97-0xa0 77 69 6b 69 5f 61 64 6d 69 6e 10字节 "wiki_admin"
0xa1 c3 1字节 TRUE

长度统计:

GPC 编号:8 字节

GPC 版本:5 字节

昵称:12 字节

余额数值:16 字节

简介:39 字节

扩展内容(user):0 字节

扩展内容(system):12 字节

框架内容:70 字节

总计:162 字节 2. 然后,压缩数据:以级别 9 的 GZIP,或者以 LZMA,对 MessagePack 进行压缩。当然,也可以跳过此步骤,直接进入加密步骤。 3. 最后,通过 AES256 进行加密,存入 NOR 芯片(或者 FeRAM 芯片)。

[^1]: 太阳含有 1.47x10\^30 kg 的氢(含 4.9x10\^25 kg 氘)、4.94x10\^29 kg 的氦(含 6.2x10\^25 kg 氦-3)和 2.66x10\^28 kg 重元素(O、C、Ne、Fe、Si、Mg、S、......),若按普通氢每千克 2 美元,氘每千克 12500 美元,普通氦每千克 50 美元,氘每千克 2000 万美元,重元素每千克 100 美元来算,总价值约为 1.27x10\^33 美元,2.55x10\^32 仅仅是它的 20%;若不算氘和氦-3,则总价值约为 3.03x10\^31 美元,2.55x10\^32 是它的 8.4 倍。