风险提示:理性看待区块链,提高风险意识!
比特币公钥与私钥的基本原理是怎样的?
首页 > 币界资讯 > 币种知识 2021-01-11 15:16:51
摘要
在区块链中,我们经常听到这样的词汇——公钥和私钥。很多小白在学习区块链知识时,还是容易被这些术语搞得一脸懵逼。此文谨献给币圈新朋友,希望能够用Emoji帮助大家理解比特币公钥和私钥的基本常识。研究密码学的人们经常使用“爱 。
币界网报道:

在区块链中,我们经常听到这样的词汇——公钥和私钥。很多小白在学习区块链知识时,还是容易被这些术语搞得一脸懵逼。此文谨献给币圈新朋友,希望能够用Emoji帮助大家理解比特币公钥和私钥的基本常识。

研究密码学的人们经常使用“爱丽丝”和“鲍勃”作为解释概念的角色。今天,我将用他们来帮助解释公钥密码学的基本逻辑。

首先,什么是对称加密。举个例子,爱丽丝想交给鲍勃一个装有秘密文件的公文包。如果爱丽丝和鲍勃有互相匹配的钥匙,事情很简单:她可以将公文包上锁,并用钥匙把它锁起来,然后将它给鲍勃。

image.png

当鲍勃收到公文包时,他会用自己的钥匙解锁,因为这两把钥匙相同,于是鲍勃会得到包中的秘密文件。这个过程被称为对称加密。

但是通常而言,人们互相之间少有“同时拥有一把锁的钥匙”这种情况,因为要安全地传递钥匙并不容易。或者说,如果爱丽丝有给鲍勃发送钥匙的私人且安全的方式,她同样也可以用其来传输文件本身。

所以,比较常见的方式为,爱丽丝和鲍勃不需要同时拥有一个锁的钥匙,而是他们彼此都有自己的钥匙和自己的锁,这意味着他们不需要考虑传递钥匙的事情。

具体是这么运作的:

爱丽丝用钥匙锁起了带有挂锁的公文包,并将其传递给鲍勃。当鲍勃收到爱丽丝的公文包时,他无法解开爱丽丝的挂锁。但是,他将其添上了自己的挂锁。

image.png

然后将其返还给爱丽丝:

image.png

然后爱丽丝用她的钥匙将挂锁从公文包上摘下来:

image.png

公文包上现在只有一个挂锁:鲍勃的。爱丽丝再将公文包寄回给鲍勃:

image.png

最后鲍勃可以打开他自己上锁的公文包,并顺利拿出里面的文件。

现在,爱丽丝和鲍勃不需要再分享同一把钥匙。他们只需要拥有自己的挂锁和自己的钥匙。

但是如果对方不是你认为的那个人呢?万一发生了什么奇怪的事,比如鲍勃被一头牛所取代了呢?

那么接下来,将发生这样的事情:

1. 爱丽丝把带有挂锁的公文包寄了出去。她以为寄给的是鲍勃,但是却寄给了一头奶牛。

image.png

2. 这头牛,以惊人的灵巧度,将它的挂锁锁在了公文包上,然后将其寄回给爱丽丝。

3. 爱丽丝很高兴看到公文包带着“鲍勃”(实际上是奶牛的)挂锁回来了,她打开自己的挂锁并将其寄送回去。

4. 这头奶牛拿回公文包,打开了自己的锁。

5. 牛把秘密文件吃掉了。

鉴于没有人希望他们的秘密被一头牛消化掉,所以我们需要采取一个步骤来保护机密数据:鲍勃确保爱丽丝知道他的挂锁是什么样子,所以当她重新拿回公文包时,能够验证这个新锁是否属于鲍勃。

事实上,鲍勃能够复制他的挂锁的模样,并将其公开。每个人都知道鲍勃的挂锁是什么样子其实并不重要,毕竟他是唯一可以用钥匙解锁的人。同时,这能让爱丽丝认出鲍勃的锁。她可以在打开自己的锁之前,检查第二个挂锁是否真的属于鲍勃。

如果我们需要处理的仅仅是物理挂锁和密钥,那是很难做到复制挂锁和钥匙的。但是当我们以数字化方式进行处理的时候,我们使用的是数字密码和数字锁,即数值。

在上面的例子中,挂锁代表的数字是公开的,也可以叫做公钥。钥匙代表的数字是私有的。这个被称为“私钥”的私人数字可以用来“打开”公共锁。这种非对称加密算法,公钥与私钥是成对的,他们互相解密,因为加密和解密使用的密钥不一样,被称为非对称加密算法。他们的关系如下:这即是比特币所采用的公钥密码学。

人们保护私钥,是因为私钥可以解锁任何相对应的公锁。(在密码学中,这种解锁过程被称为签名)人们会公开他们的公钥,这样其他人就知道什么被锁住了。

在比特币系统中,公共密码学被用来证明所有权。用Emoji来表示具体的操作流程如下:

在比特币的世界里,爱丽丝需要传递给鲍勃的并不是一个挂锁公文包,而是一个放着挂锁和比特币的“玻璃盒子”。

image.png

为了将比特币传递给鲍勃,爱丽丝必须做两件事:

1. 爱丽丝必须把鲍勃的挂锁(公钥)放在自己的箱子里。这很简单,因为鲍勃的挂锁实际上是一个公开数值。这样,鲍勃可以通过解锁自己的挂锁来证明自己的所有权。

2. 爱丽丝必须证明这个盒子放置的挂锁是她的,而不是别人的。她需要用钥匙(私钥)打开自己的挂锁。

image.png

然后,当鲍勃决定将这些比特币传递给另一个人(我们暂且称他为卡洛斯)时,他会做同样的事情:将卡洛斯的公钥放置其中,然后用自己的私钥签署交易。

让我们回到区块链,私钥本质上是32个byte组成的数组,由256个0或者1随机组成。一般我们看到的私钥是下面这样的一段字符串:

5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss

公钥是一个65个byte数组,一个未压缩的公钥长这样:

04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235

地址是由公钥产生的,公钥经过多种加密算法转换成公钥哈希,公钥哈希经过Base58编码生成地址。就如同爱丽丝把鲍勃的挂锁放在盒子里一样。实际上,单个公钥可以生成无限多个地址。因此,如果鲍勃希望每次都使用不同的地址,他也可以这么做。

总的来说,私钥,公钥,地址的关系如下:

image.png

(图片来自微信公众号: 槿小喵)

让我们回到比特币是如何交易的。我把它发送到你的比特币地址上,你的比特币地址以数字化的方式与你的私钥相连,那么你将在这个地址中获取比特币。

为了花掉这5美元,你需要进行一个新的交易,包括一个属于收件人的地址,然后用你的私钥签署。这相当于把收件人的挂锁挂在公文包上,然后打开你的挂锁。

总结:私钥公钥是成对出现,公钥可以生成对应的唯一地址,这样就能确认了该地址发送的交易是否使用了对应的私钥。这种做法有一个副作用,那就是,比特币几乎是匿名的。因为地址上使用的是“假名”。比特币与你的名字无关,其所需要的是你的私钥。换句话说,谁掌握了私钥,就掌握了你地址上的财产,这也是为什么进入区块链行业一定会被提醒:私钥一定要保管好。

上一篇: 加密货币的钱包、公钥和私钥都是怎么回事?
下一篇: 比特币私钥与公钥有什么区别?
推荐专栏
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