我们需要在一切都不稳定的互联网中,找到一个稳定的点深耕。
有人说:比特币底层技术区块链,是最伟大的发明,堪比互联网。
也有人说:比特币白给我都不要。
到底比特币是什么?如何判断?难道我们能做的就是人云亦云?
如何能有自己的独立判断?
让我们一起《精通比特币》,走向数字货币新旅程,这本书就能帮助您全面了解比特币,而且有助于理解其他数字货币。
正如书中前言所说:
无论你是正在构建下一个杀手级应用、投资创业,还是单纯对技术好奇,这本实用的书都是你不可或缺的阅读材料。
《精通比特币》这本书会让每位读者深刻理解比特币的工作原理,还会帮助读者为写出下一代神奇加密货币的应用程序做好充分准备。”
每天早上10:24发文,欢迎关注支持,一起加油!
《精通比特币》一书,英文原名为Mastering Bitcoin ,国内译做《精通比特币》。本书中英文电子版链接如下,点击蓝色字可跳转阅读:
今天我们一起来读《精通比特币》一书的 第4章第5节 高级密钥和地址。。
4.5 高级密钥和地址
4.5本节讲述了高级形式的密钥和地址,如加密私钥、脚本和多重签名地址,靓号地址,和纸钱包。
4.5.1 加密私钥(BIP0038)
私钥,就是你的比特币密室的唯一钥匙,如果私钥泄露,那么你密室中的比特币全都会转手他人,所以一定一定一定要备份好私钥,但备份时注意保密。
为了避免私钥丢失而存储备份时,会发现维护私钥私密性,是一件相当困难的事情。
私钥备份也可能需要存储在纸张上(参见“4.5.4 纸钱包”一节)或者外部存储介质里,比如U盘。
但如果一旦备份文件失窃或丢失呢?这些矛盾的安全目标,推进了便携、方便、可以被众多不同钱包和比特币客户端理解的加密私钥标准BIP0038的出台。
IP0038加密方案的结果,是一个由base58check编码过的加密私钥,加密私钥的前缀为6P。
如果你看到一个6P开头的的密钥,这就意味着该密钥是被加密过,并需要一个口令来解码该密钥,以便回到可被用在任何钱包WIF格式的私钥,WIF格式的私钥的前缀为5。
许多钱包APP,现在能够识别BIP0038加密过的私钥,会要求用户提供口令解码并导入密钥。
这样的两步操作,私钥——加密——6P密钥,使用时会采用用户提供口令的操作,6P密钥——用户提供口令解密——私钥,就大大填平了用户存储与保密之间的沟壑。使得维护私钥私密性,与避免私钥丢失而存储备份变得不再是不可调和的矛盾。
最通常使用BIP0038加密的密钥用例是纸钱包——一张纸张上备份私钥。只要用户选择了强口令,使用BIP0038加密的私钥的纸钱包就无比的安全,这也是一种很棒的比特币离线存储方式(也被称作“冷存储”)。
BIP0038加密私钥例子:
4.5.2 P2SH (Pay-to-Script Hash)和多重签名地址
传统的比特币地址从数字1开头,来源于公钥,而公钥来源于私钥。
虽然任何人都可以将比特币发送到一个1开头的地址,但比特币只能在通过相应的私钥签名和公钥哈希值后,才能被消费。
以数字3开头的比特币地址,是P2SH地址,有时被错误的称为多重签名或多重签名地址。
目前,P2SH函数最常见的实现,是用于多重签名地址脚本。也就是底层脚本需要多个签名来证明所有权,此后才能消费资金。
4.5.3 比特币靓号地址
所谓比特币靓号地址,与我们通常意义中手机的“靓号”一样,手机靓号指的是手机号中包含自己的生日,或者特定的数字。
而比特币靓号地址,指的是比特币地址中包含了特定的单词。例如,1LoveBPzzD72PUXLzCkYAtGFYmK5vYNR33这个比特币靓号地址,就包含了Base-58字母“love”。
比特币靓号地址,是包含了可读信息的有效比特币地址。
靓号地址,需要生成并通过数十亿的候选私钥测试,直到一个私钥能生成具有所需单词的比特币地址,靓号地址不比其他地址具有更多安全性。
4.5.3.1 生成靓号地址
Eugenia,一位在菲律宾工作的儿童慈善总监。假设Eugenia组织了一场比特币募捐活动,并希望使用靓号比特币地址,来宣布这个募捐活动。
Eugenia可以让捐款人捐款到她宣布的一个随机生成地址,也可以生成一个以“1Kids”开头的靓号地址,以显得更独特,促进儿童慈善募捐的活动。
生成一个靓号地址,是一项通过蛮力的过程:尝试一个随机密钥,检查结果地址是否和所需的图案相匹配,重复这个过程直到成功找到为止。
书中的例4-8是个靓号矿工的例子,用C++程序来寻找靓号地址。这个例子运用到了在“3.3 其他替代客户端、资料库、工具包”一节介绍过的libbitcoin库。
即使拥有数千台的电脑同时进行运算,也不会很快地创建出以“1KidsCharity”开头的靓号地址,每增加一个字符就会增加58倍的计算难度。
超过七个字符的搜索模式,通常需要专用的硬件才能被找出,譬如用户定制的具有多图形处理单元(GPU)的桌面级设备。
那些通常无法继续在比特币挖矿中盈利的钻机,被重新赋予了寻找靓号地址的任务。
用 GPU系统搜索靓号的速度,比用通用 CPU要快很多个量级。
另一种寻找靓号地址的方法,是将工作外包给一个矿池里的靓号矿工们,如靓号矿池中的矿池。
一个矿池是一种允许那些GPU硬件通过为他人寻找靓号地址,来获得比特币的服务。
对小额的账单,也可以外包搜索模式为7个字符靓号地址寻找工作,在几个小时内就可以得到结果,而不必用一个CPU搜索上几个月才得到结果。
书中的例4-8 列出了靓号挖掘程序代码,点击阅读原文可查看,在此文中省略。示例程序需要用C编译器链接libbitcoin库进行编译,直接执行vanity-miner的可执行文件,它就会尝试碰撞以“1kid”开头的比特币地址。
4.5.3.2 靓号地址安全性
靓号地址既可以增加、也可以削弱安全措施,它们着实是一把双刃剑。用于改善安全性时,一个独特的地址使对手难以使用他们自己的地址替代你的地址,以欺骗你的顾客支付他们的账单。不幸的是,靓号地址也可能使得任何人都能创建一个类似于随机地址的地址,甚至另一个靓号地址,从而欺骗你的客户。
在这两种情况下,使用单一固定地址的风险之一,是小偷有可能会黑进你的网站,用他自己的网址取代你的网址,从而将捐赠转移给自己。
所以,给某个比特币地址转账时,如果不放心,可以把地址的每一个字符都核对一下,虽然麻烦,但是保险。在去中心化的比特币网络世界,一切都是单打独斗,除了自己保护好自己,没有救世主,只有你自己,你就是你自己的漫威英雄。
那靓号地址会不会增加安全性?
如果Eugenia生成1Kids33q44erFfpeXrmDSz7zEqG2FesZEN的靓号地址,用户可能看到靓号图案的字母和一些字符在上面,例如在地址部分中注明了1Kids33。这样就会迫使攻击者生成至少6个字母相匹配的的靓号地址(比之前多2个字符),就要花费比Eugenia多3364倍的时间寻找包含靓号图案的地址。
本质上,Eugenia付出的努力,会迫使攻击者不得不生成更长的靓号图案。
如果Eugenia花钱请矿池生成8个字符的靓号地址,攻击者将会被逼迫到10字符的境地,那将是个人电脑,甚至昂贵自定义靓号挖掘机或靓号池也无法生成。
对Eugenia来说可承担的起支出,对攻击者来说则变成了无法承担支出,特别是如果欺诈的回报不足以支付生成靓号地址所需的费用。
所以,从以上这一个角度上来说,靓号地址有时会增加安全性。
4.5.4 纸钱包
本书这节所指的纸钱包, 是一个密钥和一个地址打印在纸张上的比特币钱包。
纸钱包,是打印在纸张上的比特币私钥。
纸钱包,是一个非常有效的建立备份,或者线下存储比特币的方式。
作为备份机制,一个纸钱包,可以防在电脑硬盘损坏、失窃或意外删除的情况下造成密钥的的丢失。
作为一个冷存储的机制,如果纸钱包密钥在线下生成,并永久不在电脑系统中存储,他们在应对黑客攻击,键盘记录器,或其他在线电脑欺骗更有安全性。
纸钱包有许多不同的形状,大小,和外观设计,但非常基本的原则是一个密钥和一个地址打印在纸张上。
通过使用工具,就可以很容易地生成纸钱包,譬如使用bitaddress.org网站上的客户端Javascript生成器。
这个页面包含所有必要的代码,甚至在完全失去网络连接的情况下,也可以生成密钥和纸钱包。
- 若要使用它,先将HTML页面保存在本地磁盘或外部U盘。
- 从Internet网络断开,从浏览器中打开文件。
任何在脱机情况下使用这个工具所生成的密钥,都可以通过USB线在本地打印机上打印出来,从而制造了密钥只存在纸张上而从未存储在在线系统上的纸钱包。
将这些纸钱包放置在防火容器内,发送比特币到对应的比特币地址上,从而实现了一个简单但非常有效的冷存储解决方案。
图4-14展示了通过bitaddress.org 生成的纸钱包。
纸钱包的不足之处,是那些被打印下来的密钥容易被盗窃。
一个能够接近这些纸的小偷,只需偷走纸或者拍摄纸上的密钥,就能控制被这些密钥锁定的比特币。
一个更复杂的纸钱包存储系统,使用BIP0038加密的私钥。
打印在纸钱包上的这些私钥,被其所有者记住的一个口令保护起来。
没有口令,这些被加密过的密钥也是毫无用处的。
但它们仍旧优于用口令保护,因为这些密钥从没有在线过,并且必须从保险箱或者其他物理的安全存储中导出。
图4-15 通过bitaddress.org 生成的加密纸钱包。密码是“test”。
第四章第5节所有内容到此结束,明天我们开始《第5章 交易》的学习。
今天就到这里吧,明天我们继续,祝大家夏天快乐!
279/365
20180810首发简书
第四章整体结构:
第四章参考文献:
3、比特币白皮书原版:Bitcoin: A Peer-to-Peer Electronic Cash System
5、Scalers:《比特币白皮书解析 | 从零开始区块链》a
照搬的信念,无法抵御波动的冲击,只有行动铸就的思想体系,并在行进中不断修正,才能让我们不断变得更好。——Scalers《投资赚钱就是信念变现》
网友评论