了解比特币以及了解学习比特币背后的区块链技术必然离不开对哈希值的学习,对于有编码功底以及密码学功底的人来说是是最简单不过的概念,但对自己这样的小白理解起来就有点尴尬。那什么的Hash呢?
在网上会查到关于的Hash的介绍:Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。那到底是怎么一会事呢?让我一一道来。
上面的意思简单说就是a(土豆批发价两块钱一斤)转换为一个固定长度的字符串b(4ehID67NMop9eRU78IOPotVBn45TR),然后用b还原出a在互联网上的交易,只有买卖土豆双方知道这笔交易是买卖土豆,这个交易完全公开在互联网上而外人只知道有这么一个交易但是完全并不知道这个交易背后是什么。比如我委托云币网把一定数量的数字货币提现到ico.info平台,这个时候就相当于我进行了价值的转移需要上交一部分的旷工费生成下面的字符串,只有本人知道这个过程发生了多大数量的虚拟货币交易,如下图:
分别点击字符串就会进入Ehterscan查询到如下结果:
通过仔细观察就会发现a这个交易转换成为了一个固定长度的字符串b,然后点击b的消息摘要就能够看到a的这个交易情况,同时a是加密过的字符串在有私钥的情况下能够看到上面红线发生数目的多少,但是对没有私钥的人都能够看到公钥里比如下面的内容:
追踪to这个地址,只会看到如下内容:转移的价值值多少钱、花了多少矿工费等。
这个就是利用Hash算法的高效,使用非常频繁,散列值的空间远小于输入空间的特性使得数据能够实现同时同步的把数据公开在互联网上,由于Hash算法的不可逆不可篡改使得每个人更加注重自己的信誉,这样就使得在区块链世界里更加的和谐当然这是下一个话题,但是这就是这个技术要实现的人与人之间的信任问题,不在依靠权威机构以及中心化的组织。
网友评论