脑钱包的概念是从微博囤饼达和比特币布道者那里学来的。
钱包,对于囤币者来说是一个绕不过去的话题,而钱包又众多,究竟选择哪一款?
首先说钱包,在币的世界里钱包的意思是存放私钥的地方。
私钥是解锁自己比特币的钥匙,唯一的钥匙。
所以根据存放材质来分就会有硬件钱包、纸钱包、脑钱包等。
根据触网与不触网,又分为热钱包和冷钱包。
而今天介绍的脑钱包是把私钥放在脑子里,所以称为脑钱包。
私钥呢,是一个256位的随机数。
要知道,在计算机的世界里,一位就代表一个0或者1,因为机器不懂什么1234567,它只有高电位和低电位,对应过来就是0和1。
所以私钥就是一个256位的要不就是1要不就是0的随机数。
所以,任何的256位的随机数都可以作为私钥,你可以翻256次硬币,把正面当1反面当0然后写下来,作为自己的私钥。
为什么是256位呢?多一点或者少一点行不行?
既然私钥是0和1组成的随机数,那么黑客或者暴力破解就可以从零开始尝试破解你的密钥。
若你的密钥只有1位呢?
那么两次就破解成功了,1一次,0一次。
若是两位呢,就变成了四次,也就是2的两次方。
随着位数的增加,需要尝试的次数会指数级别变大,当达到256位的时候,理论上计算机的暴力破解可能性几乎为零了,因为时间太久了,你都嗝屁了,它还没遍历完呢。
所以,小了不行,极有可能被暴力破解,大了呢,破解的难度继续增加,但设计比特的初衷可不可以大一位,我不太懂,反正常规的是256位。
为什么一定要随机呢?
因为不随机的话,你的密钥可能被概率统计出来,哪些概率更大一些,哪些概率更小一些,这就直接降低了破解的难度,让破解变的可能。
所以,246位固定了后最重要的因数就成了随机。
如何获得真正的随机数也就成了制作私钥的关键。
你可以人为的翻256次硬币,但大多数人没这么偏执,现实世界里有很多真正的随机源。
比如哈希函数。
了解比特币的人大都知道哈希函数,这是比特币成为比特币的一个数学基础。
所谓哈希函数就是你给定任意长度的信息,哈希函数都会给你固定长度的输出。
拿比特币里的哈希256函数来说,你给定任意信息,哈希256函数都给你一个256位的随机输出。
怎么样,是不是很惊喜?
而哈希函数的特点是,唯一的输入只能有唯一的输出,两个不同的输入不会有同样的输出,从输出反推不出输入。
其实,理论上可能存在两个输入出现同一个输出的情况,但由于数量巨大,所以这种概率几乎就不考虑了。
既然这样,我们就会考虑给定一个信息,然后哈希函数,得到一个256位的随机数,然后用做私钥,只要能记住这个口令信息,那么就会记得私钥,不需要任何的物理存储介质。
这就是脑钱包的核心原理。
但这远远不够,因为口令信息不够随机,导致被暴力破解猜测到的概率大增,所以得继续增加难度。
如何增加?
算了,今天有点长了,明天接着说。