作者 |?错皮 出品|白话区块链 判断一个人是否真的了解区块链,可以先问一句:“我转 Token 给你,你的钱包地址是什么呢?”这个试金石可以轻松地区分很多人。在区块链世界,没有自己的钱包地址就是一个旁观者。 要创建一个钱包,需要先获得自己的钱包地址。比如,这就是一个合法的比特币地址: 1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm 就像银行账户一样,有了它,任何人都可以给你转账。其实,任何人都可以独立地、不联网地生成自己的钱包。这是怎么做到的呢?
?01 公钥和私钥 这涉及到一个密码学上的一个基本概念:公钥加密技术。 公钥加密技术中,公钥和私钥成对出现,公钥加密的东西可以拿私钥解开,私钥加密的东西可以用公钥解开。两者的关系,大家可以想象成一个带锁的盒子和一把钥匙之间的关系。这个特性用来加密和签名。 加密的过程,就像是把要寄的信放到盒子里,锁上并写上地址,然后寄出去。寄件人和收件人都很放心,因为其他人无法打开盒子。 签名的过程,类似于对外展示钥匙的过程。锁上的盒子只有你可以打开,如果有人拿着你发的钥匙打开了盒子,那盒子里的东西一定是你发的。 你手里面握着私钥,无论如何都不能泄露;你的钱包地址,是满世皆知的转换后的公钥。钥匙信息可以被公钥打开,则说明是知道私钥的人加密的。所以,任何的交易一旦用你的私钥加密了,收到的人用你的公钥可以解密,那就认为是你授权的操作。
?02 钱包地址的生成 比特币世界几个关键的信息是按照这个顺序生成的:先生成私钥,再由私钥算出公钥,再由公钥经过一系列哈希算出钱包地址。 私钥 → 公钥 → 钱包地址 上面的推导次序是单向的,反向不可能。也就是说,从钱包地址无法得到公钥,从公钥无法得到私钥。比特币的公钥变形出来的钱包地址,可以想象成用户名,这全世界都可以知道;私钥可以想象成密码,这个只有自己知道。 私钥是一切的开端。私钥是一个大于零、小于 2 的 256 次方的任意数字,比如下面这个私钥: 00000000000000000000000000000001(也就是数字 1) 需要注意的是,不是随机生成的私钥,风险非常大! 然后,私钥通过椭圆曲线函数,生成对应的公钥,比如下面这个: 0479BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8 经过一系列哈希加密之后,最终形成比特币地址,比如下面这个:1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm 私钥就像《阿里巴巴和四十大盗》故事里面的“芝麻开门”。世界上任何人只要知道“芝麻开门”这个咒语,就可以在那座大山里面找到那个山洞并且打开大门。一个人是否拥有账户,只看他知不知道那个咒语。四十大盗知道咒语后可以取走宝贝,阿里巴巴知道后也可以取走,至于那个山洞里面有没有金银财宝,则是另外一件事情了。 看这篇文章的你,在知道了本文举例中的比特币私钥(即数字 1),这意味着我们对这个地址里面的“钱”都拥有控制权。 在比特币的世界,虽然无法知道地址背后的人是谁,但这个地址历史上所有的交易都是公开的,可以通过区块链浏览器查询。 ——End—— 『声明:本系列内容仅供区块链科普入门学习,不构成任何投资意见或建议。如有任何错漏,敬请留言指出。未经本文来源「白话区块链」授权,谢绝任何第三方转载本文。』 —- 编译者/作者:白话区块链 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
入门 | 加密货币的钱包、公钥和私钥的用法和原理
2019-10-31 白话区块链 来源:区块链网络
LOADING...
相关阅读:
- CRDT:支付卡和令牌持有者2020-08-05
- 你可能不知道Uniswap已经火成这样了2020-08-05
- 比特币的三大看涨迹象表明:BTC总体需求正在大幅飙升2020-08-05
- 区块链入门|一文回顾区块链的发展历程2020-08-05
- 最新改版的卡尔达诺基金会网站上线了2020-08-05