区块链中加密机制

加密机制是整个区块链中的基础,很多文章都有对加密机制进行详细的分析,但是相当不容易理解,我这里用简单的语言来尝试解释以下区块链的加密机制

 

哈希算法(hash)

哈希算法算是区块链中不可或缺的一种算法,它能把任意长度的数据映射成较短的固定长度的二进制值。它正向计算很快速,但是逆向十分困难,并且修改后hash值就会改变。
举个例子:
今天天气很晴朗
使用hash算法后会变成
6283725acf07139bc08db741bc78dc60078991a0
如果你改了其中一个字比如 今 改成 明,使用hash后会变成
348a04eb8a62ace1e8883231f3e6b0674f04e389
或者把这句话修改成如下
天气还不错
e4d7c6a8e828f4e835d88d7b04b47b753718a444
举个不太恰当但是更直观的例子:
假设三个数相加,其结果就是hash值
2+2+2 = 6
只要修改任何一个加数,算出来的结果都不对,比如把2改成1
1+2+2 = 5
逆向困难的意思就是,我现在给你个数字 6,你能告诉我原来是哪些数之和吗?

 

非对称加密

这是区块链中最重要的一种加密算法,非对称加密包括一对密钥:公钥和私钥,私钥自己持有,公钥可以公布出来。首先要知道的是,用公钥加密后的内容,只有私钥能解密;用私钥加密的内容,只有公钥能解密。

用公钥加密、私钥解密这个过程,就好比你手握的信箱钥匙(私钥),任何人都可以从信箱的投递口给你寄信,但是只有你能打开信箱看到内容。

用私钥加密、公钥解密这个过程,就好像纸钞的防伪,只有国家拥有给纸钞防伪的技术(私钥),但是其他人却可以通过这些防伪办法(公钥)来辨别真伪。

密码对生成

拿比特币举一个例子
在 0~2^256 之间随机选择一个数当成私钥,私钥通过椭圆曲线算法可以算出公钥,公钥再通过一层Hash算法就得到了比特币的地址。

流程可以总结为:私钥 -> 公钥 -> 地址,而且都是不可逆的,可以使用官方提供的程序来产生,当然如果你数学好,你甚至可以在纸上完成计算。

加密技术的运用

拥有了加密技术,区块链究竟是什么样运行的呢?
哈希算法的作用在于保证数据的不可变更,以及以后将会介绍到的工作证明等;
非对称加密在主要应用在数字签名上,要了解的是数字签名是 私钥加密,公钥解密,举个现实的例子可能更生动

  1. A写下一段文字 给小明转10块钱,计算hash值后
    2c169b8f47da442e6b22a694fa03dc9af31cf89086baffe0c3cbdf070f8767f0

  2. 用私钥加密Hash值,简单表示为 XXX

  3. 将文字和 XXX 发送到网络中

  4. 网络中的B接到这个消息,用A公布出来的公钥解密 XXX后得到hash值 2c169b8f47da442e6b22a694fa03dc9af31cf89086baffe0c3cbdf070f8767f0

  5. B对收到的文字进行Hash后,发现得出来的值与公钥解密的值一致,说明接收到的文字信息没错

  6. 主链侧链开发数字货币交易所白皮书区块链浏览器跨境支付场内场外宠物挖矿游戏基金会牌照  181-4069-6008 微信电话同号

以上的案例说明了数字签名验证的过程。数字签名在区块链的交易中使用颇多,所以后面讲交易的时候,还会详细讲解流程。

猜你喜欢

转载自www.cnblogs.com/mg66/p/9300827.html
今日推荐