作者:错皮 / 来源:白话区块链
判断一个人是否真的了解区块链,就先问一句:“我转钱给你,你的钱包地址是什么呢?” 这个试金石可以轻松区分很多伪专家。在成熟的互联网世界,没有邮件地址还说得过去,毕竟没有邮件地址也可以点外卖,但是在百废待兴的区块链世界,没有自己的钱包地址就是一个旁观者。
要开始,就先要搞一个钱包,获得自己的地址。比如,这就是一个合法的比特币地址:1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm。就像银行账户一样,有了它任何人都可以给你转账了。任何人都可以自己独立的、不联网的生成自己的钱包。这是怎么做到的呢?
01
公钥和私钥
这涉及到一个密码学上的一个基本概念:公钥密钥。公钥和密钥是成对儿出现的,公钥加密的东西可以拿私钥解开,私钥加密的东西可以用公钥解开。大家就想象成一个带锁的盒子和一把钥匙的关系吧。
这个特性用来加密和签名。
加密的过程就好像是把自己的盒子写上自己的地址发的全世界都是,谁都可以免费要一个。谁要给你寄信就把信放到盒子里面锁上,然后寄给你。寄件人和收件人都很放心,因为路途上没有任何人可以打开盒子。世界上能够知道信的内容就只有你和寄信的人。
签名的过程也很容易理解。就是写着你名字的钥匙发的满世界都是,谁都可以免费拿一个。而用这把钥匙能打开的盒子只有你有,谁都不给。如果有人得到了一个盒子,拿你发的钥匙可以打开,盒子里的东西一定是你发的,因为这把钥匙能够打开的盒子,这个世界上只有你有,你无法抵赖。
区块链世界用了这个精妙设计的公钥私钥体系,但是不是用来加密,主要用于签名。你手里面握着私钥,打死你也不说的私钥。而你的地址,就是那个满世界皆知的公钥。钥匙信息可以被公钥打开,则说明一定是知道私钥的人加密的。所以任何的交易一旦用你的私钥加密了,收到的人验证一下用你的公钥可以解密,那就认为是你授权的操作。