风险提示:理性看待区块链,提高风险意识!
比特币里的私钥,公钥,地址是如何产生的?
首页 > 币界资讯 > 币种知识 2021-01-11 15:04:35

用过数字钱包的人,都知道私钥的重要性。如果拥有了一个私钥,就等于拥有了这个钱包里的数字资产。

可能大多数人,知道的也就是仅仅这些,但如果你知道一些更深层的知识,或许你会豁然开朗。

下面,小编就来跟大家分享一下这些基本的概念。

比特币(其它数字货币也一样),正是采用了一种叫公钥加密的密码学原理,也叫非对称性加密学,这种加密学诞生于上个世纪70年代。

最简单的加密学,就是一个密码,猜对了就可以。而这个非对称加密学,它是有两把锁的,也就我们说的,私钥 和 公钥。

私钥: 一个长256位的随机数,用来产生公钥,并用于交易时的数字签名。

公钥:可以产生更简单的地址,类似于银行帐号。

在这个之间,还有一些问题,就是如何产生?包括私钥如何产生?

整个过程可以用一张图来演示:

image.png

私钥的产生

如果你丢一枚硬币,正面的话 写1, 反面的话写0。 如果你连丢256次后,把所有的1和0连在一起,这就是一个很好的随机数。随机数就是私钥。

因为,另一个人要丢出和你一样的随机数,几乎为0,不信你找另一个人练练,看看你们能丢出几次相同的,记住要顺序一模一样,大概前6次你们还能相同,到10次你就能中彩票特等奖了,何况还是256次。

256位全部用0和1表示,因为计算机只认识0和1,我们所有存在计算机的内容最终全是0和1,这是计算机的世界。

那么,256位长度的随机数,就是2的256次方,大概是10000……一共有77个0。可以有这么多个随机数,也就是可以有这么多个私钥。

关于随机数的产生,也是有相关的算法的,也就是我们听到的SHA256哈希算法。不是真的让去丢硬币,总之,你只要记住,它是一个很长的数字。

SHA256哈希算法,通过读入一段随机的字典,就会生成一个256位的随机数。这个数必须小于2的256次方,那么这个随机数就是合格的私钥,如果不符合就再生成一次。

随机字典就是我们钱包里的助记词,由12到24个单词组成,用这个来产生私钥。有没有豁然开朗的感觉?

公钥

有了私钥,再通过椭圆曲线算法,就可以产生出公钥啦!这个私钥和公钥是配对的!

image.png

随圆曲线算法,也是一个高度复杂的数学公式,在这个世界上只有数学公式是唯一的真理,有没有让你想起高中数学题椭圆,双曲线,抛物线?对,就是高中数学,但是财神现在感觉好像没上过高中一样。

还有一点,椭圆曲线算法是一个单向计算过程。

就是说,只能通过私钥计算出公钥,不能由公钥计算出私钥来,否则你想想后果。

计算出来的公钥就是一个平面上的点,点它就是由(x, y)坐标来表示的。那么一个公钥长度就是256+256=512位,这么长长长的一个数字。

后面会讲,其实还有其它前缀,所以长度大于512位。

比特币地址

比特币地址大家就更加了解了,平时我们转帐,充值用的都是比特币地址,它是一个数字+字母的字符串,比特币地址相当于我们的银行卡号一样,供别人使用。

比特币地址又是由公钥,经过一个加密哈希算法函数计算而来的,比如我们说比特币使用SHA256加密算法,就是一个这样的哈希函数。

比特币地址 = RIPEMD160(SHA256(公钥))

嵌套两层哈希加密算法,SHA256 和 RIPEMD160,也有称作“双哈希”之称,最后得到了160位长度的比特币地址,即20个字节。目的就是让512位长度的公钥变得短一些,可读性更强,更重要是为了节省区块空间。

因为每笔交易记录,都要记录转帐的地址,而如果用512位长度的地址,那将极大的浪费空间。一个比特币区块的大小也就1M。

不同数学货币使用的算法有差别,但过程和原理是一样的。

我们说的一个比特币地址长度为160位,就是要160个数字那么长,写起来不方便也不好读,所以还会增加其它方式的编码。

在计算机硬盘上都是二进制,0和1,现实中我们用的是十进制,即0-9。还有其它编码如8进制,16进制,已经开始用字母表示啦,a表示10,b表示11,f表示16。

那么,比特币最后的地址还采用了58进制,64进制等编码格式,即包括了所有大小写的字母,这样160位长的数字就变得更短了,就是我们现在看到的长度。

58进制? 即0-9,a-z, A-Z,加起来62个,其中再减去几个容易出错的字母,0和字母O很像,所以去掉了0,还有字母I等等。

整个压缩过程如下

image.png

记住,编码方式可以有多种,它只是一种展示的方式,并不会改变数字本身。所以,地址前都有一个前缘,代表使用了何种编码。比特币第一个字字符是“1”,代表了一种编码格式。

经过后最后的编码后,比特币地址就诞生了,比如财神的比特币接收地址长成这样:1DeRhwdYkLy9mSdHrfpFEdNNUFZkkwGBx6。

上一篇: 比特币私钥、公钥、钱包地址之间有什么关系?
下一篇: 比特币地址、公钥、私钥都是什么?有什么作用?
推荐专栏
web3首席知识博主
一位相信价值投资的币圈KOL。稳定盈利的缠论野生交易员 #BTC行情分析师 #价值投资 #链上数据分析
爱Web 3,爱生活,爱科技,爱炒币的老韭菜
热门币种
更多
币种
价格
24H涨跌幅
BTC比特币
¥266,879.86
37,393.32 USDT
-0.75%
ETH以太坊
¥14,686.79
2,057.81 USDT
-0.83%
USDT泰达币
¥7.19
1.01 USDT
+0.25%
BNB币安币
¥1,648.74
231.01 USDT
-1.08%
XRP瑞波币
¥4.36
0.61050 USDT
-1.61%
USDC
¥7.14
0.99980 USDT
+0.03%
SOLSolana
¥408.78
57.28 USDT
-2.15%
OKBOK币
¥411.66
57.68 USDT
-0.83%
ADA艾达币
¥2.76
0.38610 USDT
-1.3%
DOGE狗狗币
¥0.55710
0.07807 USDT
-0.08%
热搜币种
更多
币种
价格
24H涨跌幅
Terra Classic
¥0.00
9.765E-5 USDT
+26.62%
FTX Token
¥28.18
3.9741 USDT
-3.67%
Gala
¥0.19
0.026783 USDT
+0.67%
dYdX
¥23.98
3.3817 USDT
-5.23%
Conflux
¥1.12
0.1582 USDT
-2.89%
PancakeSwap
¥16.42
2.3153 USDT
-3.89%
寿司
¥8.29
1.1685 USDT
-4.06%
Yield Guild Games
¥2.65
0.3731 USDT
-4.21%
Filecoin
¥32.43
4.5733 USDT
-3.81%
Solana
¥406.17
57.2759 USDT
-2.15%
Uniswap
¥43.48
6.1306 USDT
-0.13%
奇亚
¥181.39
25.5783 USDT
-1.6%
最新快讯
更多
PeckShield:KyberSwap攻击者已在Avalanche上退还361,876枚USDC.e
2023-11-27 10:27:31
PeckShield:KyberSwap攻击者已在AVAX上退还361,876枚USDC.e
2023-11-27 10:27:31
ScamSniffer:有人因网络钓鱼诈骗损失123万美元的aEthWETH
2023-11-27 10:24:23
3个鲸鱼过去24小时累计向CEX存入717万枚BLUR
2023-11-27 10:14:23
某地址自万圣节以来已囤积8674枚BTC
2023-11-27 10:09:55
近24小时BLUR下跌期间三鲸鱼向交易所存入总计约717万枚BLUR
2023-11-27 10:07:39
维基百科创始人:ChatGPT的维基百科写作“糟糕”且“混乱”
2023-11-27 10:04:47
下载币界网APP