区块链学习爱莉莎学区块链投资系列编程语言快速入门

《精通比特币》要点总结|第四章密钥、地址、钱包

2017-07-29  本文已影响916人  竹三七

前言

昨天BigOne众筹,场面火爆,20分钟抢光。你抢到了吗?
OK, 开始正题。
讲个故事先。今年比特币大涨,小明突然想起,自己有100个比特币耶。但是,他发现,自己居然忘记了他的私钥,而且助记词也找不到了。然后,就没有然后了。
这个悲伤的故事,是为了让大家重视今天说的要点: 密钥、地址、钱包。

先提一个问题——密钥、地址、钱包,谁需要保密?谁需要备份?
好了,文末有答案,看看你的回答对不对!

什么是密钥、地址、钱包?

比特币的所有权是通过数字密钥、比特币地址和数字签名来确立的。

密钥

每笔比特币交易都需要有效的签名才会被存储在区块链。这个有效的数字签名,由密钥产生。拥有比特币的密钥,就拥有了该帐户的比特币的控制权。

密钥是成对出现的,包括一个私钥,和由其衍生出的唯一的公钥。
私钥:用于比特币支付时的交易签名。就像控制账户的PIN码或支票的签名。52位字符串。
公钥:用于接收比特币。就像银行的帐号。34位字符串。

钱包

钱包是密钥所在之处。数字密钥实际上并不是存储在网络中,而是由用户生成,并存储在一个文件或简单的数据库中。这个文件或数据库,我们称之为钱包。
一般情况下,密钥被存储在钱包文件内,由比特币钱包软件进行管理。

地址

在比特币交易的支付环节,收件人的公钥是通过其数字指纹表示的,称为比特币地址。地址就像支票上的支付对象的名字(即“收款方”)。
一般情况下,比特币地址由一个公钥生成并对应于这个公钥。然而,并非所有比特币地址都是公钥;他们也可以代表其他支付对象,譬如脚本。

这三者之间有什么关系?

钱包存储密钥。可以是公钥私钥对,也可以只存私钥。
私钥生成公钥。
公钥生成地址。
地址用来收款。
私钥用于比特币支付签名。

其它重点:

密钥如何被产生?

私钥(k)是一个数字,通常是从一个随机数生成私钥。
来来来,试一试。用硬币、铅笔和纸就快成随机生成你的私钥:掷硬币256次,用纸和笔记录正反面并转换为0和1,随机得到的256位二进制数字可作为比特币钱包的私钥。该私钥可进一步生成公钥。

有了私钥,通过椭圆曲线算法可以从私钥计算得到公钥。
这是不可逆转的过程:K = k * G。其中k是私钥,G是生成点的常数点,而K是所得公钥。
其反向运算,被称为“寻找离散对数”——已知公钥K来求出私钥k——是非常困难的,就像去试验所有可能的k值,即暴力搜索。比特币私钥空间的大小,约是10的77次方,要知道可见的宇宙才含有10的80次方个原子。数据量非常大。暴力搜索很难很难算出私钥。
有了公钥(K),我们就可以使用一个单向加密哈希函数生成比特币地址(A)。


0728_1.PNG

地址如何被产生?

比特币地址是一个由数字和字母组成的字符串,可以与任何想给你比特币的人分享。
比特币地址是由公钥经过单向的哈希函数生成的。


0728_2.png

比特币钱包和助记码词汇

钱包是私钥的容器。通常通过有序文件或者简单的数据库实现。
钱包分类:
非确定性(随机)钱包
最早的钱包,只是随机生成的私钥集合。
随机钥匙的缺点就是如果你生成很多,你必须保存它们所有的副本。否则一旦钱包不可访问时,钱包所控制的资金就付之东流。

确定性(种子)钱包
包含通过使用单项离散方程,可从公共的种子生成的私钥。
种子是随机生成的数字。在确定性钱包中,种子足够收回所有的已经产生的私钥,所以只用在初始创建时的一个简单备份就足以搞定。

助记码词汇
是英文单词序列,代表用作种子对应所确定性钱包的随机数。
单词的序列足以重新创建种子,并且从种子那里重新创造钱包以及所有私钥。在首次创建钱包时,带有助记码的,运行确定性钱包的钱包的应用程序将会向使用者展示一个12至24个词的顺序。单词的顺序就是钱包的备份。
助记码词汇也可以被用来恢复以及重新创造钱包的私钥
所以,助记词一定要好好保管,不要截屏,最好手抄。

分层确定性钱包
确定性钱包被开发成更容易从单个“种子”中生成许多关键的钥匙。
分层确定性钱包,包含从数结构所生成的钥匙。这种母钥匙可以生成子钥匙的序列。这些子钥匙又可以衍生出孙钥匙,以此无穷类推。这个树结构表如下图所示。

0728_3.png

后记——【答案】

密钥、地址、钱包,谁需要保密?
私钥必须始终保密,一旦被泄露给第三方,该私钥保护之下的比特币也拱手相让了。
区块链的世界,只认私钥。

谁需要备份?
如果选二个,私钥和助记码词汇,必须备份。
如果只能选一个,助记码词汇,必须备份。
因为,助记码词汇可以被用来恢复以及重新创造钱包的私钥
如果当时,小明把助记码抄到笔记本上,把笔记本锁到保险箱里,那么他的比特币,还是他的。

这一章还具体讲了【椭圆曲线密码学】 和【Python代码实现】,感兴趣的同学,请看知笔墨上
中文版《精通比特币》,第四章.

谢谢你的阅读。

参考阅读
爱莉莎学区块链投资系列
如何在疯狂的区块链投资市场,冷静理性的投资?
疯狂的ICO,你投了吗?【附ICO参投三步走】
三招应对区块链投资风险
《精通比特币》要点总结|第一章介绍
《精通比特币》要点总结|第二章比特币的原理
《精通比特币》要点总结|第三章比特币客户端
《精通比特币》要点总结|第四章密钥、地址、钱包

上一篇下一篇

猜你喜欢

热点阅读