RS
里德-索洛蒙地址格式
Burstcoin帐号(地址)的缩写形式为:爆破-XXXX-XXXX-XXXX-XXXXX
此格式称为里德-索洛蒙地址。 这是官方客户端中的默认格式,其中X是一个明确的数字或字母字符(不使用字母I和O以及数字1和0)。 地址始终以“ BURST-”开头,连字符用于将地址分为4、4、4和5个字符。 地址不区分大小写。
通过输入和使用Burstcoin帐号时引入冗余来检测和纠正错误,此表格提高了可靠性。
背景
Burstcoin帐户的内部格式是从帐户的私钥派生的全数字64位标识符。 此格式容易出错,因为键入字符时出现单个错误可能会导致事务无意中发送到错误的帐户。
Reed-Solomon error-correction codes 纠错代码通过向地址添加冗余来在很大程度上解决此问题。 选择Reed-Solomon格式是因为:
- 帐户冲突率与默认地址格式相同;
- 系统的基本纠错可用于帮助用户键入地址;
- 某些编程语言没有本机 MD5 哈希函数,并且 Reed-Solomon 实现比 MD5 更简单。
里德-索洛蒙地址的好处
- 使用Burstcoin的4个“校验位”实现,发生随机地址冲突的机会是百万分之一(20位冗余度)。
- 它允许在地址中最多纠正2个拼写错误。
- 它保证可以检测到多达4个印刷错误。
- 地址长度始终为17个字符。
- “ BURST”前缀使地址易于识别为Burstcoin的地址。
Burstcoin 里德-索洛蒙地址的编码
- 不会以这种格式强制使用大小写,但是为了统一起见,所有地址都使用大写字母显示。
- 破折号将地址分为4个字符的组和最后5个字符的组,但这在地址输入期间不强制执行。
- 旧数字地址也得到识别和支持,以便向后兼容。
RS 地址示例:
- BURST-3DH5-DSAE-4WQ7-3LPSE
- BURST-K4G2-FF32-WLL3-QBGEL
技术细节
第一个也是最重要的规则是,没有任何错误纠正方案是绝对可靠的:错误纠正是一个有用的工具,但不能随意依赖它。
这个问题有点违反直觉:要么你可以做一个简单的是/否检查地址的有效性,这将给你一百万的碰撞,或者你可以尝试和纠正错误。 您不能同时执行这两个操作。
这里的问题是,里德-索洛蒙算法只能保证纠正最多 2 个错误。 如果一个地址条目中存在两个以上的错误,它将产生误报的可能性约为10%,并且交易仍将被发送到错误的地址。
将算法视为错误猜测,而不是帮助用户发现错误。
Burstcoin的Reed-Solomon(RS)地址的编码如下:
- 使用原始的64位帐户ID,将1个零位添加为65,然后将其拆分为13个5位“符号”(65/5 = 13)。
- 从符号的最低位到最高位按低位顺序排列符号,即位0-4、5-9、10-14等,最高60-64。
- 附加 4 个奇偶校验符号(20 位),由 里德-索洛蒙编码 从第一步(保持不变)的13个符号。 这将生成 13 × 4 = 17 符号代码字。
- 按预定义的顺序对代码字符号进行加扰,并用32个字符的字母将它们一对一编码,并用破折号将它们分成几组。
要与开发团队联系或寻求与该项目有关的任何帮助,请通过Burstcoin Discord频道与我们联系。