认知学习比特币-密钥地址

这个部分主要的关键知识点主要是三个,分别是密钥、地址和钱包。 我针对这个部分做了思维导图,具体如下:

认知学习比特币-密钥地址_第1张图片

一、密钥

比特币的钱包包含一系列的密码对,密钥分为私钥和公钥。私钥好比我们的银行卡密码,公钥好比我们银行卡的卡号。 

而私钥和公钥之间是什么样的关系呢?

比特币是采用了非对称的加密算法技术,私钥是数字k,通常是随机产生的,而公钥则是私钥通过椭圆曲线加密算法产生的。具体就是K(公钥)=g*k(私钥)g是生成点的常数点。

1)私钥

私钥是随机产生的,它可以是1和n-1之间的任何数字,其中n是1个常数,n=1.158*10^77, 略小于2^256)

特点: 必须妥善保管,不可泄露,要好好保护,尽量不要在任何公开场合公布。(包括网络,云端等)

格式:私钥可以不同的编码格式显示出来,但是所有这些都对应于相同的256位的数字。

2)公钥

这里有个特点就是,公钥是在得知私钥的情况下,通过椭圆曲线加密算法产生,而且这个过程是不可逆,也就是说即使你知道公钥,但是无法推断出私钥是什么。 

K = k * G 。 已知公钥K,能够求私钥k吗?能,但是这是非常困难的,因为k的值可能会存在于10^77 个解当中(只是假设,仅表示数值很多),所以这就像去试验所有可能的k值,即暴力搜索。

格式:非压缩格式或压缩格式公钥这两种形式。前缀04是用来区分非压缩格式公钥, 压缩格式公钥是以02或者03开头。

二、地址

比特币的地址是公钥通过单向加密哈希算法得到的,哈希算法是一种单向函数,接收任意长度的输入产生指纹或哈希。由公钥生成比特币地址的算法主要运用到这两种SHA256 和RIPEMD160 。

A = RIPEMD160(SHA256(K))     K是公钥,A是生成的比特币地址。

因为通过算法得到的是二进制的数字,需要通过编码方式转化容易让人辨识的钱包地址。

这个过程主要采用了Base58和Base58Check编码 这两种编码方式。

三、纸钱包

纸钱包就是将比特币私钥打印在纸张上进行妥善保存。

纸钱包是一个非常有效的建立备份或者线下存储比特币(即冷钱包)的方式。作为备份机制,一 个纸钱包可以提供安全性,以防在电脑硬盘损坏、失窃或意外删除的情况下造成密钥的的丢失。

你可能感兴趣的:(认知学习比特币-密钥地址)