LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > 深度科普||比特币的加密机制是如何工作的?

深度科普||比特币的加密机制是如何工作的?

2019-11-21 币迷 来源:区块链网络

当下,我们都在大谈特谈区块链,谈它的应用场景,谈它的精神理念,谈改变未来的机会...却很少有人去关注它的一些基本原理,我想一方面是因为基本原理啃起来比较枯燥,另一方面很多人认为基本原理对我们普通人没用。其实,我想说的是,当前在认真读这篇文章的你,一定不是”普通人”,而是早早踏入这片蓝海的先知先觉的“高知”人群,作为一“高知”,若不去了解其基本原理,只局限于雾里看花,那将很难在这个领域保持长久优势,发出独到的声音。同时,更实际一点,掌握基本原理,也是你对区块链项目,虚拟货币进行精准判断的基础。基于以上考虑,币迷决定今天和财友们探讨一些比较硬核的东西, 言归正传,研究区块链,始终无法绕开比特币,今天我们就先从区块链的源头--比特币的加密机制是如何工作的聊起。

以“张三给李四转账1个比特币”为例,通过从交易发起到最终的上链确认过程来看比特币加密机制的工作原理。

一、张三进入比特币钱包或某交易平台,输入转帐的比特币金额为1,收款地址为: 一串字符串。提交等待确认。如图是在Blockchain.infos上看到的最新未确认交易。

微信图片_20191121160441-未确认交易.png二、比特币客户端收到转账指令会做3件事:

1、原始信息【张三给李四转1个比特币】---〉进行【SHA256运算】---〉得到【原哈希值】。

2、原哈希值--〉张三私钥给原哈希【加密上锁】---〉密哈希值。

3、广播信息:原始信息、密哈希值、张三的公钥。

如图为广播的交易信息的概况。微信图片_20191121160415-交易概况.png三、矿工客户端收到广播信息会进行以下几个动作:

1、把收到的【原始信息】----〉进行【SHA256运算】---〉得到【原哈希值】?。

2、把收到的【密哈希】--〉用张三的【公钥解密]】---〉得到【原哈希值】。

3、判断1、2结果是否一致,一致说明没有篡改,则标示为合格交易,不一致,认为信息已被篡改,将其丢弃。

4、循环往复上述1、2、3步骤。

5、当矿工搜集约1000条左右合格交易数据后,打包成一个区块,1个区块上限是1MB。

6、把这些合格交易也就是【一串字符串】+【一个随机数】----〉进行【SHA256运算】---〉【256位二进制数】

7、当前难度系数下,哪个矿工最快算出“256位的二进制数的前72位均为0”,她将有幸将该区块挂在主链上末尾,并获取挖矿奖励和手续费收入。

8、若你的交易信息在这个幸运矿工打包的区块中,你的交易此时将得到确认,也就是这1个比特币成功转给了李四。图中的是13.12个BTC完成转账确认。

微信图片_20191121161625-确认信息.png

小结:整个处理过程中,SHA256函数和非对称加密算法起着至关重要的作用。

1、SHA256函数的运用,解决了交易是否被改动的问题。

因为SHA256函数生成的值具有唯一、长度固定、且不可逆的特点。唯一、长度固定,让其不管输入什么样的数据,那怕输入一部电影,最终产生的结果都是唯一长度恒定的二进制数。不可逆性,让矿工很方便的对比旷工收到的原始信息是否和张三发出的原始信息一致。

2、公钥私钥的应用,解决加解密及交易签名的问题。

比特币使用的非对称加密算法,可以理解为有加密和解密两把钥匙,这两把钥匙是关联成对的,选择公开的那把钥匙当作公钥,另一把则可以当作私钥,私钥无需告诉任何人,永远掌控在自己手中。

对于这对不对称的公私钥,可以正着用,也可以反着用。正着用的逻辑:当烈日炎炎想给币迷转帐时,找到币迷的公钥,用币迷的公钥把信息加密后发给币迷,币迷用自己对应的私钥解密即可。--这是正着用的逻辑

反着用的逻辑:列日炎炎给币迷转帐时,烈日炎炎为了证明这条转帐是他发出的而不是一姐发出的,它先用自己的私钥给信息加密,再把加密后的信息广播出去,别人用烈日炎炎公布的公钥能解开,那就能确认是烈日炎炎发出的而不是别人发出的。因为这个世界上只有烈日炎炎有这个公钥对应的私钥。

币迷是现学现卖,以输出促输入,若有不妥或谬误之处,请多多指正,希望能和你一起站在高处,更深刻的认识这块“新大陆”。

————————————————————————

币迷,写于北京,公众号:币白修炼场。

—-

编译者/作者:币迷

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...