白话区块链 10-30
加密货币的钱包、公钥和私钥都是怎么回事?| 白话区块链入门233
index_new4.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

在白话区块链成立 2 周年之际,我们举办了「有奖征文」活动,本文是获得二等奖的征文(点此查阅所有中奖名单)。征文活动截至 11 月 11 日,欢迎继续来稿。

作者 |   错皮

出品|白话区块链(ID:hellobtc)

判断一个人是否真的了解区块链,可以先问一句:" 我转 Token 给你,你的钱包地址是什么呢?"这个试金石可以轻松地区分很多人。在区块链世界,没有自己的钱包地址就是一个旁观者。

要创建一个钱包,需要先获得自己的钱包地址。比如,这就是一个合法的比特币地址:

1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm

就像银行账户一样,有了它,任何人都可以给你转账。其实,任何人都可以独立地、不联网地生成自己的钱包。这是怎么做到的呢?

  01  公钥和私钥

这涉及到一个密码学上的一个基本概念:公钥加密技术。

公钥加密技术中,公钥和私钥成对出现,公钥加密的东西可以拿私钥解开,私钥加密的东西可以用公钥解开。两者的关系,大家可以想象成一个带锁的盒子和一把钥匙之间的关系。这个特性用来加密和签名。

加密的过程,就像是把要寄的信放到盒子里,锁上并写上地址,然后寄出去。寄件人和收件人都很放心,因为其他人无法打开盒子。

签名的过程,类似于对外展示钥匙的过程锁上的盒子只有你可以打开,如果有人拿着你发的钥匙打开了盒子,那盒子里的东西一定是你发的。

你手里面握着私钥,无论如何都不能泄露;你的钱包地址,是满世皆知的转换后的公钥。钥匙信息可以被公钥打开,则说明是知道私钥的人加密的。所以,任何的交易一旦用你的私钥加密了,收到的人用你的公钥可以解密,那就认为是你授权的操作。

  02  钱包地址的生成

比特币世界几个关键的信息是按照这个顺序生成的:先生成私钥,再由私钥算出公钥,再由公钥经过一系列哈希算出钱包地址。

私钥 → 公钥 → 钱包地址

上面的推导次序是单向的,反向不可能。也就是说,从钱包地址无法得到公钥,从公钥无法得到私钥。比特币的公钥变形出来的钱包地址,可以想象成用户名,这全世界都可以知道;私钥可以想象成密码,这个只有自己知道。

私钥是一切的开端。私钥是一个大于零、小于 2 的 256 次方的任意数字,比如下面这个私钥:

00000000000000000000000001(也就是数字 1)

需要注意的是,不是随机生成的私钥,风险非常大!

然后,私钥通过椭圆曲线函数,生成对应的公钥比如下面这个:

0479BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8

经过一系列哈希加密之后,最终形成比特币地址,比如下面这个:1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm

私钥就像《阿里巴巴和四十大盗》故事里面的 " 芝麻开门 "。世界上任何人只要知道 " 芝麻开门 " 这个咒语,就可以在那座大山里面找到那个山洞并且打开大门。一个人是否拥有账户,只看他知不知道那个咒语。四十大盗知道咒语后可以取走宝贝,阿里巴巴知道后也可以取走,至于那个山洞里面有没有金银财宝,则是另外一件事情了。

看这篇文章的你,在知道了本文举例中的比特币私钥(即数字 1),这意味着我们对这个地址里面的 " 钱 " 都拥有控制权。

在比特币的世界,虽然无法知道地址背后的人是谁,但这个地址历史上所有的交易都是公开的,可以通过区块链浏览器查询。

区块链行业中,你还想了解什么相关小知识呢?欢迎在留言区分享你的观点。

「白话区块链入门系列」互动有奖

本文发布 24 小时后,将精选一名留言者,奖励8.8 元红包;

指出本文事例、逻辑等重大错误、并提出优秀建议的留言,一经采纳,奖励50 元

本系列长期接受投稿,稿酬丰厚。后台回复「投稿」获取详细信息。

往期内容精选

006 比特币的矿工和挖矿是什么意思?

014 虚拟货币价值的本质是什么?

015 神奇而有趣的比特币

018 被称为 " 区块链 2.0" 的以太坊是什么?

021 被称为 " 区块链 3.0" 的 EOS 是什么?

★后台回复「入门」获取完整目录!★

—— End ——

『声明:本系列内容仅供区块链科普入门学习,不构成任何投资意见或建议。如有任何错漏,敬请留言指出。

亲,据说 99.9% 有品位的人都点了「在看」

相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论