专栏名称: 刘教链
加密货币和区块链研究者、投资者,前北航软件学院特聘教授,《比特币史话》作者。
目录
相关文章推荐
高分子科学前沿  ·  苏州大学曹暮寒、陈金星、王璐Angew:原子 ... ·  10 小时前  
高分子科技  ·  浙理工邵建中、黄益/蒙纳士大学San H. ... ·  3 天前  
高分子科学前沿  ·  研三学生出租屋内烧炭自杀,疑因毕业无望,警方 ... ·  3 天前  
51好读  ›  专栏  ›  刘教链

耐磨损汉字私钥

刘教链  · 公众号  ·  · 2025-02-20 22:29

正文

小技巧:搜索教链历史文章,从下方公众号名片进入后,点击右上角放大镜图标,输入关键词或“指定发布时间”进行查询。


却还是要写一写,提醒自己,这一次要做的比上一次好一点点。有一点点进步,就可以了。


投资这事儿,要战胜的最大敌人,不是别人,而是自己,自己心中的魔。


隔夜BTC小幅向上修复,重新站上97k。昨2.19教链内参 《一氩一子磷一鹅》 提到,教链琢磨出了一个用汉字编码BTC私钥的办法,克服英文符号书写和辨识困难(比如大写C和小写c)、不耐磨损(比如E如果刻在石碑上磨损掉了底部就会被误认成F)、对汉语使用者不友好等问题。


后来教链又迭代了几版设计,初步定稿的版本目前已经整理并开源到了github(MIT协议,自由、免费使用):


https://github.com/hmisty/base58ext-hanzi


欢迎感兴趣的朋友试用。反馈建议请直接提交到github代码库的Issues里。


代码库里附带了一个python程序,可以用来把BTC私钥、地址(base58check格式或bech32格式)转换成汉字编码,或者反向转换。如果你需要其他语言的版本,可以把源代码喂给deepseek让它帮你转换成其他编程语言。


举几个例子:


一、比特币压缩格式私钥,base58check编码:


输入: KypbGTSbWygTSBeHsFz1g4yg5VqvcTNMJDFW54eXm8EJmVVC7336


输出: 钾杨潘白镓钛硫白钨杨高钛硫硼鄂氢孙氟赵壹高肆杨高伍钒秦俞程钛氮镁金镝氟钨伍肆鄂氙毛捌铒金毛钒钒碳柒叁叁陆


二、比特币普通地址格式,base58check编码:


输入: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa


输出: 壹氩壹赵磷壹鄂磷伍铅镓鄂冯伊贰镝镁磷钛冯钛锂伍硫锂毛俞柒镝伊俞冯氮安


三、比特币隔离见证地址,bech32编码:


输入: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq


输出: 白程壹秦安任零孙任任任柒谢冯孔俞杨伍李陆肆叁李杨戴牛王玖任鄂伍玖高唐赵赵王冯伍毛戴秦


编码字符集是base58check扩充了bech32的0和小写l,为了同时兼容隔离见证地址。因此base58ext字符集包含60个字符:


0123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz


对应的汉字则是:


零壹贰叁肆伍陆柒捌玖氩硼碳镝铒氟镓氢金钾锂镁氮磷铅氡硫钛铀钒钨氙钇锌安白程戴鄂冯高韩伊蒋孔李毛牛欧潘秦任孙唐乌俞王谢杨赵


它们的偏旁部首是:


雨士贝厶聿亻阝木扌王气石石钅钅气钅气金钅钅钅气石钅气石钅钅钅钅气钅钅宀白禾戈阝冫高韦亻艹子木毛牛欠氵禾亻子广丿人王讠木走


(化学元素部首多为「钅」「气」「石」,而这几个部首均不在姓氏中出现,确保区分度)


汉字结构上也选用了上下结构、左右结构等不同构型,以确保较高的区分度。


教链考虑的设计目的是要1、耐磨损,容错性强;2、轻松译码。在deepseek的帮助下,经过反复尝试,最终确定使用财务大写汉字数字编码阿拉伯数字,使用元素周期表的元素汉字编码大写字母,使用百家姓汉字编码小写字母。


充分运用社会既有的、广泛具有的公共知识进行编码的好处是,即便不看编码表,一个受过教育的人,靠直觉也能够轻松分辨数字、化学元素(大写字母)和百家姓(小写字母),并能轻松目视译码,把耐磨损汉字私钥直接对译成原始的base58check私钥。


教链感受了一下:目视汉字私钥,如上面的“钾杨潘白镓钛硫……”,可以轻松直接写出“KypbGTS...”来。


而对于汉语使用者而言,抄写和识别汉字,比书写和辨认无规律的混合大小写的英文字符要更轻松一些,也避免了一些笔误(比如把大写C和小写c混淆,把大写O和小写o以及数字0混淆,把小写g和小写q混淆,把数字1和字母l混淆,等等)。


之所以叫做耐磨损私钥,是因为汉字作为象形字,其信息量和全息度远高于英文字符和阿拉伯数字,这就使得当我们把汉字私钥写在纸上、刻在铁板上或者刻在石头上的时候,在长期保存经受环境腐蚀的情况下,汉字的方块字在部分被涂抹、磨损、毁坏的情况下,仍然有更大的辨识度,更有可能复原。


而在汉字字形的挑选上,教链也下了一番心思。这方面的细节,此处不再赘述,可以打开上面的github开源仓库查看说明文档。


最后说一下,编码成汉字私钥不是为了加密,防止破译,恰恰相反,耐磨损汉字私钥的编码设计是为了尽可能简单、直观地译码而设计的。


这项工作是冷钱包保存比特币策略的延续。关于使用冷钱包,也就是使用私钥保管BTC,请参考教链此前写的 《如何使用私钥保管比特币》 《小科普:私钥、地址、助记词》 《哪里能买到冷钱包?答案你肯定想不到》 《脑钱包》 等文章。


本文介绍的工作,则是在我们创建了私钥之后,尝试解决更安全抄写、保管和防意外的问题。


比如上面的私钥:


钾杨潘白镓钛硫白钨杨高钛硫硼鄂氢孙氟赵壹高肆杨高伍钒秦俞程钛氮镁金镝氟钨伍肆鄂氙毛捌铒金毛钒钒碳柒叁叁陆


长度是52个汉字(压缩格式私钥的长度是52个字符)。


在此基础上,就可以进一步设计私钥管理的策略。比如可能是这样的:


1. 生成:采用脑钱包生成私钥。脑钱包的口令由掌财人记忆在脑子里。


2. 备份:把私钥拆分成19个字、7个字、7个字、19个字四个部分,分别做如下处理:


头部19个字:抄写在一个本子上,锁在家中保险柜里


钾杨潘白镓

钛硫白钨杨高钛

硫硼鄂氢孙氟赵

(五言句、五言句、七言句)


肩部7个字:刻写在令牌上,老公随身携带


壹高肆杨高伍钒

(七言句)


腰部7个字:刻写在令牌上,老婆随身携带


秦俞程钛氮镁金

(七言句)


尾部19个字:抄写在另一个本子上,由可以负责抚养孩子至成人并把本子传承给孩子的老人代为保管


镝氟钨伍肆

鄂氙毛捌铒金毛

钒钒碳柒叁叁陆

(五言句、五言句、七言句)


如果口令不慎忘记,或者掌财人意外死亡,那么亲人可以通过收集私钥碎片还原私钥。


持有碎片的亲人之间将通过博弈进行利益分配。


任何一个本子或者令牌丢失或失窃,捡拾者或窃贼都无法恢复出私钥。


如果任何一个本子被毁,比如火灾等,或者任一令牌丢失,都可以通过掌财人使用脑钱包口令重新恢复。


当然这只是一个应用场景的设想和示例。


欢迎就此展开进一步的思索和探讨。


* * *

2.19 内参:一氩一子磷一鹅

阅读更多内参,请加入刘教链的VIP会员:

* * *

延伸阅读更多刘教链精彩文章:

真的假的?Bitcoin Core不支持导入私钥了? 2024.6.23

自己手搓一个比特币私钥地址生成器,不到百行代码,不依赖第三方库! 2024.6.14

软件泄露你私钥的5+N种方法 2023.8.28

警惕私钥缺陷,牛奶悲伤漏洞已造成近30枚BTC被盗 2023.8.15

BIP-38: 口令保护的私钥 2023.6.20

私钥争夺战 2023.6.17

江城子·非你私钥非你币 2023.6.10

教链内参2025年1月合订本

教链内参2024年12月暨全年合订本

(公众号:刘教 。加入会员:公众号回复"会员"或"VIP")

(免责声明:本文内容均不构成任何投资建议。加密货币为极高风险品种,有随时归零的风险,请谨慎参与,自我负责。)

喜欢本文就请点赞转发支持哦

👇👇👇
























请到「今天看啥」查看全文