Broadchain

Conflux 进阶课 | 详解CIP-37(上)

Conflux中文社区 2021-02-02 11:27 1823

为减少资产损失问题,优化跨链体验,减少地址用错问题,Conflux 在 CIP-37 中尝试引入一种新的地址格式: base32。

Conflux 进阶课

在这里,Conflux 团队成员将敞开心扉,权威解析 Conflux 网络最新进展、生态构建进程等信息,没有八卦、没有小道消息,绝对干货、绝对知无不言,想要 360° 无死角了解 Conflux,来这里就够了!

Conflux 网络具备高性能的同时,也保持了对以太坊生态的兼容,如使用格式兼容的地址、采用了兼容 EVM 的虚拟机。保持兼容,有利于降低迁移的成本和门槛,但相似的地址也带来了一些问题。

目前,Conflux 地址与以太坊地址非常相似。并且,在很多情况下,它们可以互相兼容。例如,一些以太坊上的地址(0x1开头地址)在 Conflux 上也是有效的;而 Conflux 地址在以太坊上有约 1/16 的概率可行。例如通过 ShuttleFlow 进行跨链操作时,常因为地址相似而混用,导致资产受到损失。

也有部分小伙伴也曾直接在 ConfluxPortal 上复制以太坊的地址进行转账,最终使资产转入“黑洞”。

为减少因此带来的资产损失问题,优化跨链体验,减少地址用错问题,Conflux 在 CIP-37 中尝试引入一种新的地址格式: base32,以减少用户在进行跨链操作时误将错误交易提交至网络,达到保护用户资产安全的目的。

CIP-37 源于“Conflux 地址改进#37”产生的地址改进提案——通过引入一种新的 base32 编码地址,区别目前与以太坊地址相似的 Conflux 地址。

新旧地址对比:

旧版地址(格式为0x开头)为 16 进制地址,而新版格式的地址为 base32 地址(以网络标识开头,如cfx:)。

16 进制地址:0x1386b4185a223ef49592233b69291bbe5a80c527

base32地址:cfx:aak2rra2njvd77ezwjvx04kkds9fzagfe6ku8scz91

新地址规范采用自定义字符的 base32 编码地址,目前使用的字符如下:abcdefghjkmnprstuvwxyz0123456789(移除了 o、 i、 l、 q )

新版地址增加的前缀中,同时包含了网络类型信息,这将有效避免用户在主网上意外提交测试网或私有链交易。也就是说,同一个 Conflux 钱包地址在不同网络下的地址是不同的。目前前缀包括三种:cfx,cfxtest,net[n] (分别对应主网,测试网,自定义网络)。

cfx:aak2rra2njvd77ezwjvx04kkds9fzagfe6ku8scz91

cfxtest:aak2rra2njvd77ezwjvx04kkds9fzagfe6d5r8e957

net1921:aak2rra2njvd77ezwjvx04kkds9fzagfe65k87kwdf

除此之外新版地址中还可以包含可选类型信息,目前有四种类型(带类型的地址一般以大写表示):

用户地址: CFX:TYPE.USER:AAK2RRA2NJVD77EZWJVX04KKDS9FZAGFE6KU8SCZ91

合约地址: CFX:TYPE.CONTRACT:ACB2RRA2NJVD77EZWJVX04KKDS9FZAGFE640XW9UAE

内置合约地址: CFX:TYPE.BUILTIN:AAEJUAAAAAAAAAAAAAAAAAAAAAAAAAAAAJRWUC9JNB

零地址: CFX:TYPE.NULL:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0SFBNJM2

旧版 16 进制地址(0x开头)和 base32 地址是可以互相转换,转换为 byte 数组是一样的,但旧版 16 进制地址(0x开头)转换为 base32 地址的时候,需要额外的 network id 信息。

看不太明白?没关系,烤仔最强科普来啦~

不过,不用担心,CIP-37 仅是一次兼容版本更新,并未改变网络共识层内容。新旧地址格式只是做了一次编码转换,原有的私钥和助记词可以正常登陆 Conflux 钱包账户,不会对个人资产有任何影响。

CIP-37 将于近期开始上线,各相关产品也将逐步进行更新。更多关于 CIP-37 的内容,我们下期再见~

声明:BroadChain Finance网站和App所发布的内容,均不构成任何投资建议。

Conflux中文社区

——

260 篇 作品
48.42W 总阅读量