风险提示:理性看待区块链,提高风险意识!
比特币里的私钥,公钥,地址是如何产生的?
首页 > 币界资讯 > 币种知识 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。

上一篇: 比特币私钥、公钥、钱包地址之间有什么关系?
下一篇: 比特币地址、公钥、私钥都是什么?有什么作用?
推荐专栏
Boss Wallet Web3 Econom Pass
专注币圈最新资讯
通俗浅显地聊透Web3大事小情
读懂区块链生态与未来,尽在币界网!
热门币种
更多
币种
美元价格
24H涨跌幅
BTC比特币
60,963.61 USDT
¥435,103.38
-2.72%
ETH以太坊
3,368.69 USDT
¥24,042.67
-0.3%
BNB币安币
570.68 USDT
¥4,073.00
-0.28%
USDT泰达币
1.02 USDT
¥7.25
-0.19%
SOL
135.96 USDT
¥970.36
+7.66%
USDC
1.00 USDT
¥7.15
-0.01%
TON
7.59 USDT
¥54.14
+4.55%
XRP瑞波币
0.47720 USDT
¥3.41
+0.48%
DOGE狗狗币
0.12210 USDT
¥0.87140
+2.43%
ADA艾达币
0.39050 USDT
¥2.79
+3.88%
热搜币种
更多
币种
美元价格
24H涨跌幅
Solana
181.08 USDT
¥1,313.10
-0.85%
比特币
66068.97 USDT
¥479,099.14
-0.69%
Curve
0.2556 USDT
¥1.85
-2.44%
Filecoin
4.3368 USDT
¥31.45
-3.08%
FTX Token
1.3826 USDT
¥10.03
-2.7%
比特币SV
51.0416 USDT
¥370.13
-3.46%
狗狗币
0.1251 USDT
¥0.91
-3.32%
柚子
0.5851 USDT
¥4.24
+2.27%
Yield Guild Games
0.4729 USDT
¥3.43
-3.82%
瑞波币
0.6491 USDT
¥4.71
+8.06%
奇亚
18.711 USDT
¥135.68
-1.57%
Conflux
0.1673 USDT
¥1.21
-1.65%
最新快讯
更多
Deribit上某大宗期权用户卖出10月底看涨和看跌以太坊期权,总计500枚ETH
2024-07-31 11:46:21
半小时前3800万枚XRP从Upbit转至r4186开头地址,价值约2482万美元
2024-07-31 11:45:58
Eclipse主网现已向开发者开放,首届黑客松奖金接近5万美元
2024-07-31 11:42:34
首尔法院命令GDAC归还780万WEMIX代币给WemadeCEO
2024-07-31 11:37:21
顶峰AscendEX将上线why(WHY)
2024-07-31 11:34:05
HashKeyGlobal即将上线WLD、ENS和BLUR
2024-07-31 11:28:00
去中心化跨链资产管理平台Mycel完成种子轮融资,CVLabs等参投
2024-07-31 11:26:01
下载币界网APP