美文网首页区块链研究区块链研习社区块链大学
『学概念找员外』比特币如何存放到本地以及虚荣地址

『学概念找员外』比特币如何存放到本地以及虚荣地址

作者: 刘员外__ | 来源:发表于2019-04-18 09:27 被阅读2次

    简单的本地储存

    我们要使用比特币,首先要知道一些公共的信息和一些私密的信息。公共信息就是那些记录在区块链上的内容,比如该比特币的识别信息、币值等。私密信息即比特币持有人也就是你本人的私钥。公共信息随时都可以去调取,但私钥则是需要好好保管的。所以储存比特币就是储存与管理你的比特币私钥。

    储存与管理私钥,主要有三个特性:

    • 可获取性,你可以随时随地取用;
    • 安全性,保证没有其他人可以动用你的比特币;
    • 便利性,密钥管理应当是简单易行的。

    要同时做到这三点是很不容易的:不同的密钥管理方法就是对上述三点做出权衡。

    最简单的钥匙管理当然是把它们储存在你自己的本地设备上:你的个人电脑、你的手机,或你的某个存储设备。用智能手机应用软件,按几个键你就可以支配使用你的比特币了,这么做的确非常方便。但这样做的可获取性或安全性都不是很好,如果你的设备丢失,或者你的设备死机,你需要格式化你的磁盘,或者你的文件被病毒侵蚀,你的私钥就丢失了,你的比特币也就一同丢失了。安全性方面的问题是类似的,例如有人窃取你的设备或入侵你的设备或者让你的设备中毒,将你的私钥拷贝,这样他们就可以将你所有的比特币转给他们自己了。

    这就好比你将部分零用钱放在你的钱包里一样,方便日常开销,你肯定不会把所有的积蓄随身携带。同理我们只需要将一小部分钱放在你的钱包里,把大部分钱存在其他地方。像员外就是把全部身家都随身携带了,因为都不够领用的...

    比特币钱包软件

    如果你想本地存放比特币,一般都会使用比特币钱包软件。比特币钱包非常有用,尤其是你需要处理一大堆地址和与其相关的密钥的时候。前面说过,制定一对公钥私钥很容易,你可以用其来匿名与保护你的个人隐私。钱包应用就是这样一个简单的接口,告诉你钱包里有多少比特币。当你要使用比特币的时候,它会处理关于密钥管理的一切技术细节,比如使用密钥或生成新的地址等。

    Base58编码和二维码

    要使用或是接收比特币,你需要与对方交换比特币的地址。目前有两种主流的方式将地址加密:一种是字符串,另一种是二维码。

    为了给地址赋予一个字符串,我们把密钥的字节从二进制字符转换成Base58码。Base58就是用一个包含58个字符的字符集来编码,这被称为base58记号法。为什么是58个字符?我们把大写小写字母都算上,然后去掉几个比较容易混淆的字母,比如大写的“O”与“0”看起来很像,就得到了58个字符。我们可以将加密的地址读出来,或者在需要时也能够打印出来。当然这也太不方便了,最好能避免这种手工的方式,而是采用其他方法,例如二维码。

    其实叫QR码,是一种简单的二维码。用QR码的好处是你可以用手机拍张照片,然后钱包应用会把QR码自动转换成代表比特币地址的字节。这不仅更方便,还可以将地址输错的概率降低到零。想想如果你的比特币转错地址,会不会想死。

    虚荣地址

    例如博彩公司网站中本聪骨头(Satoshi Bones)的收款地址中就含有“骨头”(bones),如:1**bones**EeTcABPjLzAb1VkFgySY6Zqu3sX

    大家知道所有的地址都是通过哈希计算产生的随机字符串,想要获取这样带有自己想要的字符的特殊地址,只能不停地重复生成私钥,直到私钥中包含它们希望出现的字符串,这样的地址被称为虚荣地址。当然这需要工具来生成。

    一般需要多少工作量能得到这样的结果呢?由于每个字符位有58种可能性,如果你想得到一个字符串中有k个字节的特殊字符,你平均需要生成58的k次方次地址,才能获得你要的结果。所以如果要生成“bones”开头的地址则要生成超过6亿个地址,这个工作现在通过一台笔记本电脑就可以完成。但是你每增加一个字符,工作量会几何级数增长。如果你想获得一个15位字符的地址需要的计算量难以想象,而且是不间断的哈希计算,这是无法实现的。

    相关文章

      网友评论

        本文标题:『学概念找员外』比特币如何存放到本地以及虚荣地址

        本文链接:https://www.haomeiwen.com/subject/xfqtsqtx.html