IOTA视频教程-2:Trit和Tryte

 

 

三进制系统

  • 三进制数值系统有两种:平衡三进制系统, trit取值为 -1, 0, 1; 非对称三进制系统,trit取值为 0, 1, 2
  • 这里我们只讨论平衡三进制系统
  • Trit 是 Trinary Digit, 三元数字位, 类似于 bit, Trit取值 -1, 0,1
  • Tryte 是 Trinary Byte, 类比于 byte, 一个tryte 由3个trits 组成

三进制数值系统

  • 1 byte = 2^8 = 256种组合
  • 1 tryte = 3 trits = 3^3 = 27 种组合
  • 5 trits = 3^5 = 243 种组合
  • 5 trits不等于 1 byte

平衡三进制计算

  • 将 tryte -1, 1, 0转化为整数:
  • -1*3^0 + 1 * 3^1 + 0 * 3^2 = 2
  • 将 tryte 1, -1, 1 转化为整数:
  • 1*3^0 – 1* 3^1 + 1 * 3^2 = 7
  • 一个tryte 能表示的最大数字是多少? 答案: 13
  • 如果你认为答案是 3^3-1=26,那么你就是二进制思维。
  • 在二进制系统中,2 bits有以下四种组合,00 = 0, 01=1, 10=2, 11=3, 最大值是 2^2 – 1 = 3
  • 平衡三进制中两个 trits 的组合有: 0,0 = 0; 0,1 = 3; 0, -1 = 0*3^0 +(-1)*3^1 = -3;  1,0 = 1; 1,1 = 4;  1,-1 = -2; -1, 0 = -1; -1,1 = 2; -1,-1 = -4; 围绕 0 对称: -4, -3, -2, -1, 0, 1, 2, 3, 4: 最大值 (3^2-1)/2 = 4
  • 所以,1个tryte,含有3trits 的最大值为 (3^3-1)/2 = 13,其中有27中组合
  • 1个tryte有以下值: -13, -12,…, -2, -1, 0, 1, 2,…, 12, 13
  • 将以下两个trytes转换成整数: -1,-1,-1,1,0,0 = -1*3^0-1*3^1-1*3^2+1*3^3 = 14

IOTA Tryte字母表

IOTA视频教程-2:Trit和Tryte

  • IOTA使用平衡三进制系统
  • 为了使得tryte更好地让用户识别,IOTA创建了 tryte 字母表: 9ABC…XYZ; 包含26个大写字母和数字9,总共27个字符
  • 1tryte = 3^3 = 27种组合,每个tryte 可以用上述 tryte 字母表中的一个字符来表示。
  • IOTA 种子,地址,哈希等等,都是 trytes, 都采用 tryte 字母表中的字符来表示
  • 例子: 整数14, 转换为 trytes: -1,-1,-1, 1, 0, 0, 转换为tryte字母表: -1, -1, -1 = N;  1, 0 , 0 = A,所以整数14转换为trytes 就是NA
  • 单词“Zoo” 转换为 trytes 就是 ICCDCD。ASCII 值: Z = 90 = 0,0,1,0,1,0 = IC; ASCII值: o = 111 = 0,1,0,1,1,0 = CD

IOTA 种子

  • IOTA中种子包含81个字符,也就是 81个 trytes
  • 例如: C9RQFODNS***** AWF
  • 每个 tryte 有27种组合(27个字符),这意味着IOTA的种子总共有 27^81 ~ 8.71*10^115种组合
  • 而比特币中随机数组合有: 2^256 ~ 1.15*10^77 中组合

 

 

 

 

 

Jimmy Xiong

专栏作者:Jimmy Xiong

个人简介:研究者,布道者,投资人,IEN成员,IOTAChina创办人。

作者邮箱 作者主页 Ta的文章

发表评论

邮箱地址不会被公开。 必填项已用*标注