Realtime Price(实时价格):

再谈脑钱包

微博:比特币布道者

时间:2023年1月13日

【再谈脑钱包】
这次重点说一下脑钱包的随机性。
一、脑钱包的好处
首先说一下非脑钱包。对于非脑钱包,私钥必然要存储于某种物理介质上,例如助记词板、纸、U盘、网盘(这不是冷存储)等,要么以明文形式存储,要么加密后存储。
这种有物理介质的私钥,有两大缺点:一是私钥可以被铁拳等第三方销毁;二是不能随时转账,因为不可能把冷存比特币的物理介质随身携带。
但脑钱包则不同,没有任何物理介质,人走到哪里大饼也就到哪里了,币随人动,这就是人币合一,就如同灵魂与肉体的结合,就如同把知识注入大脑,共生共存。通俗讲,光着屁股,就能把比特币(你的财产)带到世界的任何角落。

二、脑钱包的随机性
以前自己也受九神等大佬们的影响,认为对于普通人不要用脑钱包,因为非专业人士对信息熵的理解还远远不够,黑客很容易破解你生成的私钥。
后来,经过达哥@囤饼达 和一位大神的点拨,终于有所领悟。(达哥微博里也有关于脑钱包生成的详细讲解)
(一)首先说明
1、脑钱包的生成过程不是由脑口令直接生成私钥(脑口令→私钥),而是:脑口令→熵→私钥。
这里的核心是如何生成“熵”。只有确保熵足够随机,才能保证由熵生成的私钥足够随机,也就能防住黑客的破解。
2、口令不止一个,即生成的熵也不止一个,熵熵再联合生成最终的熵,用于生成私钥。

(二)我以前思考中犯的错误。
“脑口令→熵→私钥”,这个步骤我以前也想到过,但自己犯过了想当然和不求甚解的错误。
认为从“脑口令→熵”的过程,无非就是利用sha256、sha512、md5等哈希算法,把脑口令转换成熵,但黑客可以把字典中的所有口令都经过哈希运算,再构建一个由熵组成的字典,进行暴力破解。
自己想当然地认为“只要世间已确定性存在的信息就不是随机信息”,这个观点犯的最致命的错误就是忽略了“概率”。严格来讲,每个私钥也都是已确定性存在的,只是由于私钥空间足够大,导致黑客撞库成功的概率几乎为零。

(三)纠正上述错误,正确生成脑钱包。
首先说明,“脑口令→熵”的过程,确实需要用到sha256、sha512、md5等哈希算法的一种或多种,且必须要用这次哈希运算,因为仅凭脑力,是无法生成足够随机的信息——熵。
1、单个熵的生成
(1)我们可以对sha256、sha512、md5等哈希算法的运算结果“动手脚”,即把运算结果进行增删改,即构建自己的哈希函数。
(2)我们可以再进行哈希套娃,即把几个哈希函数迭代混用,例如sha1(sha2(sha3(脑口令))),其中sha1、sha2、sha3均是自己构建的哈希函数。
(3)我们可以利用比特币本身的哈希运算:口令→“中间过程”的私钥→“中间过程”的地址,我们可以将“中间过程”的地址当做一个熵。其中,在生成“中间过程的地址”的过程中,自然而然地用到了哈希套娃,还用到了椭圆曲线加密算法。
(4)我们可以把多个口令进行排列组合,每种排列组合生成一个熵,例如用类似欧拉过桥的方式进行排列组合。
(5)我们可以把生成的熵与原口令组合到一起,再次计算熵。
(6)我们也可以引入外部熵,例如比特币区块链就是个熵的宝库,所有区块的哈希值、交易的哈希值、交易中的地址、地址对应的公钥等都是现成的熵,在引入这种熵的过程中,我们也可以做一些手脚,增删改后再引入。这些熵与比特币共生共存,不用担心遗忘。
(7)……不再一一列举了,上面只是抛砖引玉,自己可以随意脑洞。

2、熵熵联合
我们经过上述步骤,把脑口令1、脑口令2……或口令的不同排列组合,经过各种规则生成了熵1、熵2……
接着就是如何把这些熵运算成一个熵,用于生成最终的私钥。
其实也很简单,只需要把生成的熵1、熵2……看成是第二阶段的口令,进行各种组合,再次运用口令生成熵的规则即可。

3、序号选取
由于我们不止生成一个私钥与地址对,我们需要生成多个私钥与地址对,用于存储比特币,所以我们需要引入序号,每个序号对应一个私钥与地址对,我们可以在生成熵的任何阶段中引入序号。
序号可以是1、2、3……也可以是一、二、三……也可以是“天王盖地虎,宝塔镇河妖”中的每个字,自己随便脑洞吧。

4、口令的选取
口令可以是某本书或某几本书的第几页第几段话,也可以是自己学习工作生活中的某种事物,也可以是汉语,也可以英语、法语、日语、西班牙语……也可以是某种秘密……随便脑洞吧。

(四)小结
不论是口令、序号等的选取,还是口令生成熵的运算规则,本质上都是规则。
尽管脑钱包生成的私钥对于生成者来说不是随机的,是确定的,但由于规则是无穷无尽的,严格来讲其数量是没有上限的,是远远大于比特币私钥的数量(比特币私钥数量略少于2^256),所以对于黑客及计算机来说,你的脑钱包就是随机的!

(五)脑钱包生成规则的注意事项
1、规则不要太复杂,自己容易忘记,同时,由于防止发生意外人身伤害,例如不幸大脑痴呆了,需要提前把口令、规则等信息告诉爱人,同时也涉及比特币的继承问题,如果规则太复杂,导致别人根本记不住,甚至无法成功完成私钥的生成,那就失去了脑钱包的意义,不仅防了黑客,也防了自己。
2、要把关键提示信息记在纸上,定期进行“默背”式的私钥恢复演练,演练间隔要不断延长,至少达到半年以上,如果自己依然可以正确恢复出私钥,就可以往私钥对应的地址里打币了。

(六)脑钱包生成工具
1、只要你会编程,你自己就可以开发脑钱包生成工具,因为所有哈希哈数的生成过程、二进制/十六进制私钥到wif格式私钥(base58转换)的转换过程,比特币私钥到公钥再到地址的生成过程,都是开源的。例如我自己开发的脑钱包工具https://startbitcoin.org/brainwallet/ ,备用链接:https://happybole.github.io/brainwallet/

2、bitaddress工具:https://bitaddress.org

3、广义来讲,任何哈希工具+base58转换函数+任何比特币钱包,都可以用作脑钱包生成工具。
注意事项:一定要把各种工具保存到本地电脑或手机,例如网页版脑钱包工具基本上都是用JavaScript开发的,支持脱机离线运行。

(七)硬件设备的使用
(1)对于不差钱的人,弄个专用电脑。
断网后,再运行脑钱包工具来生成私钥,该电脑不能再联网,也不能用作他用。如果遇到特殊情况,要么直接销毁电脑,要么把硬盘中的全部内容擦除(不是格式化,是全部置成0或1),虽然硬盘里没记录私钥,但毕竟生成过私钥。
(2)对于稍微差钱的人,弄个专用硬盘。
该硬盘容量不用多大,只要能装操作系统即可,10G足够,把脑钱包工具拷入该硬盘,并用该硬盘启动操作系统,断网,生成脑钱包。该硬盘以后不能联网,也不能用作他用。除了该硬盘外,该电脑其他硬件可以重复利用,既节约资金,又没有安全风险。同样,如果遇到特殊情况,要么直接销毁硬盘,要么把硬盘中的全部内容擦除(不是格式化,是全部置成0或1),虽然硬盘里没记录私钥,但毕竟生成过私钥。
(3)对于很差钱的人,弄个专用U盘。
该U盘容量也不需要多大,能制作win pe启动盘即可,1G足够,如果想自作ubuntu启动盘,2G足够。先将脑钱包工具拷入U盘,提前拔掉电脑硬盘,用该U盘启动操作系统,断网,生成脑钱包。该电脑的全部硬件都可重复利用,很节约资金,也没有安全风险。该U盘不能再联网使用,也不能用作他用。 同样,如果遇到特殊情况,直接销毁U盘,虽然U盘里没记录私钥,但毕竟生成过私钥。

相关文章:

比特币布道者

比特币的坚定信仰者!

发表回复

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