CIP-37更新对Conflux普通用户的影响

1,033 阅读5分钟

本次更新为兼容版本更新,公链的共识层没有发生改变。

新旧地址格式只是做了一次编码转换,原有的私钥和助记词可以正常登陆Conflux钱包账户,不会对个人资产有任何影响。 本次升级临近中国假期,贸然升级可能无法得到足够的技术支持,建议大家谨慎升级。建议所有Conflux生态产品在2月22日之后升级新节点。

为什么要做这次修改

目前的 Conflux 和以太坊地址非常相似,很多情况下它们是可以互相兼容的,例如,一些以太坊上的地址(0x1开头地址)在 Conflux 上也是有效的;反之,Conflux地址在以太坊上也有1/16的概率可行(有资产丢失的可能)。保持兼容的好处是降低迁移的成本和门槛。但相似的地址也带来了不少问题,比如通过 shuttleflow 进行跨链操作的时候,经常因为地址相似而混用并导致资产丢失。资产丢失是一个非常严重的问题,为了优化跨链体验,减少地址用错的问题,Conflux 在CIP37 中尝试引入一种新的地址格式: base32Check

CIP37 地址修改的具体内容

为了解决地址混淆用错的问题,在 CIP37 引入了全新的 base32 带校验和的地址,该地址除校验和外还可以包含网络,类型等信息。

旧版格式的地址(格式为0x开头)为hex40 地址;新版格式的地址为base32地址(以网络标识开头,如cfx:)。 新旧地址对比:

hex40 地址: 0x1386b4185a223ef49592233b69291bbe5a80c527

base32地址:cfx:aak2rra2njvd77ezwjvx04kkds9fzagfe6ku8scz91

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

在新格式地中,同时包含了网络类型信息,目前包括三种: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

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

CIP37 详细内容参见:(https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-37.md)

中文翻译参见:(https://forum.conflux.fun/t/topic/4745)

我是普通用户,对我有什么影响?

Conflux基金会建议未来Conflux生态逐渐淘汰旧版 hex40 地址(0x开头),统一更新为 base32 格式的地址(以网络标识开头,如cfx:),ConfluxScan会有新旧地址转换。

新旧地址格式只是做了一次编码转换,原有的私钥和助记词可以正常登陆Conflux钱包账户,不会对个人资产有任何影响。

同一个Conflux钱包在不同网络下的地址是不同的如

Tethy网络:cfx:accxxxxxxubtnmezvhu9dhcxxxxxx0403y2dgpyfjp

测试网络:cfxtest:accxxxxxxubtnmezvhu9dhcxxxxxx0403ywjz6wtpg

测试网络:CFXTEST:TYPE.CONTRACT:ACCXXXXXXUBTNMEZVHU9DHCXXXXXX0403YWJZ6WTPG

但是在使用Conflux官方和生态产品时会有一定的影响:

1.Portal

  • Portal 将更新为0.5.11版本,更新后Portal将只展示 base32 格式的地址(以网络标识开头,如cfx:)。
  • 如果是在 Github 上下载的Portal文件,需要用户去Github上下载最新版本手动更新;如果是在谷歌浏览器上下载的Portal插件并科学上网,插件会自动更新。
  • 用户在 Portal 内添加新的账户时,新生成的地址为 base32 格式的地址(以网络标识开头,如cfx:)。
  • 转账时既可以转到 base32 格式的地址(以网络标识开头,如cfx:)也可以转到旧版 hex40 地址(0x开头),但转到旧版 hex40 地址(0x开头)时会有提示。

2.Scan

  • Scan上会放一则公告,内容包含 base32 格式的地址(以网络标识开头,如cfx:)和旧版 hex40 地址(0x开头)的转换工具。
  • Scan上会只展示 base32 格式的地址(以网络标识开头,如cfx:),但支持搜索旧版 hex40 地址(0x开头)。
  • 已经命名的智能合约将只显示合约名称,未命名的智能合约将显示合约 icon。

3.Shuttleflow

  • Shuttleflow中的Conflux地址将只展示 base32 格式的地址(以网络标识开头,如cfx:)。

4.Bounty

  • 暂时Bounty内的提现只支持旧版 hex40 地址(0x开头)。

5.Moondex

  • Moondex的网页端只展示 base32 格式的地址(以网络标识开头,如cfx:)。

6.其他社区钱包

  • Cobo、DAppbirds、比特派、虎符、Hashkey等生态钱包会在2月22日之后逐渐支持 base32 格式的地址(以网络标识开头,如cfx:)。

7.社区中心化交易所

  • 社区交易所暂时只支持旧版 hex40 地址(0x开头)格式。中国春节假期后交易所官方将建议用户升级为 base32 格式的地址,请注意留意交易所的官方公告。

8.Conflux生态应用

  • Conflux生态中的钱包会在2月22日之后逐渐支持 base32 格式的地址,在这之前Conflux中的生态应用可以正常使用;当Conflux生态应用升级后需要使用升级后的Conflux生态钱包才能使用,请注意留意Conflux生态应用的官方公告。

【CIP-37(Conflux-rust v1.1.1 )更新对开发者的影响】:(https://juejin.cn/post/6922723023715827726)