春节期间,一个不怎么联系的朋友发短信找我借钱买房。
我说:兄弟,最近在币圈被套了几十万啊,手头比较紧呀。
朋友:你帮帮忙吧,就差1万块钱就够首付了,身边的朋友都接完了,只有你能帮我啦。
后来实在推不过,就答应了,他短信发给我银行卡号,让我给他把钱打过去。
怎么证明这短信确实是我的朋友发的呢?整个验证的过程,可以联系到我们平时聊到的私钥,公钥和地址。
1.地址:银行卡号
我朋友给我的短信是:“农业银行,6228481523547888,账户名:布洛克”。
我在想,刚好自己没有农业银行卡,我也去办张卡吧。刚好连身份证一起办了,毕竟都16岁了,也该做个有身份的人。
去银行开一张卡之前,我得先去理理发,到时候拍张帅帅的身份证照片,一用就是10年呢。
如果我朋友这次是在迪拜用比特币买房,那么它发给我的短信应该是:“比特币 地址1hkMqqKPW5Q3qLWSNi2re4ZW6b6nFb6pL,打款请核对地址”。而不是“农业银行,6228481523547888,账户名:布洛克”了。
简单的理解地址就是一个账户代码,一个是放人民币,一个是放比特币。
农业银行=比特币
地址=银行卡号
2.公钥:“地址由公钥计算,而地址无法推算出公钥”
我说:不对啊,我怎么知道这个短信是你本人发的呢?(好歹我也是上过小学的人啊,想骗我)
朋友:那我先给你打500块过去吧,真是,害怕我骗你吗,这么多年朋友。
于是,我的账户收到500元。但是,我还是无法确认是他呀,直接打钱给他,我不是太傻了吗?他这一定是放长线钓大鱼!继续保持怀疑。
我说:要不你把身份证和银行卡放在一起,拍给我看看,我记得你的右嘴角有颗黑痣!
朋友:我就是我!(估计都怒了,怕我不还他500块吗?咱不是这样的人~~)
我说:你tm倒是证明给我看呀!
在区块链的世界里面,我们可以把公钥比作个人(私钥)的身份证。“我们去开银行卡,需要身份证,去办理车牌需要身份证,没有身份证办不成很多事情的。”同样的,区块链里面的地址(银行卡)是从公钥经过一系列哈希算法生成出来的。
我们在银行办理银行卡也是一样,首先需要身份证验证核对你的身份,这是最基础的。你说我没有身份证,就是要办理银行卡,那银行保安会请你去喝茶的。
你出示你的银行卡,柜台美女服务员,“滴”一下,提取你的身份证卡号,一系列手续后,给你对应的银行卡。必须有身份证(公钥)才能生成对应的银行卡号(地址)。
某天,你捡到一张银行卡(地址),可你无法从银行卡(地址)推算出身份证号码(公钥)。你非要拿这个地址去取钱,会被保安再次请出喝茶的,这是行不通的。
“地址由公钥计算,而地址无法推算出公钥”
3.私钥:私钥经过椭圆曲线算法计算出公钥。(私钥和公钥成对出现)
当我理完一个满意的发型,。拍照办理身份证(公钥),拿出户口本,脱掉眼镜,拍照,录取指纹,最后等七天左右发证。(区块链世界生成公钥可是比这快多了)从此,我也是有身份的人了!
在办理身份证的过程中,,指纹等信息。非常类似区块链系统SECP256K1算法处理私钥,生成公钥的过程。
公钥可以单独拿来证明我就是我了吗?不行,身份证得和我本人(公钥和私钥成对出现)一起出现才能证明“我就是我”。,,再伪造一个“我”。
我的声音,我的脸,我的指纹,脚纹等等,组成了独一无二的我,我就是我的私钥!
最后,我和朋友进行了视频通话,“验证”了他的声音,头像,最后借给他一万元,高兴的去付了房款首付。
对于不懂编程,不懂算法的我们来说,只要知道,私钥,公钥,地址的关系:
私钥生成公钥(不可逆),公钥生成地址(不可逆)。保管好私钥!有了私钥就有了打开公钥,地址的可能,千万要保管好私钥了。
那么私钥,是哪里来的呢?私钥在我们使用区块链系统的时候,区块链系统就经过复杂的算法,给我们生成了一个私钥代码!就如同咱们呱呱落地的时候,就注定我们是这个区块链世界“独一无二”的私钥!
--END--