区块链中的哈希到底是什么?
什么是哈希?
哈希是将任意长的输入编程加密的固定长度输出的过程。哈希并不等同于加密方法,因为无法解密哈希值来获取原始数据。事实上哈希是一种单向加密函数。
With the hash function,the data on the Internet can be saved in the form of a fixed length string.One method is SHA-256(secure hash algorithm-256 bits).SHA-256 is the successor of SHA-1,and the output of SHA-1 is 160 bits.Lucky hash game system development and construction,rule mode customization,
哈希是区块链技术和不可篡改和潜力的核心基础和最重要的方面。哈希维护了记录和查看数据的真实性,区块链的完整性也是这样的。
这也是区块链技术最重要的技术特征的一部分,只有理解了哈希才能了解区块链不可篡改性的潜力和价值。
1.确定性如果两个散列值是不相同的(根据同一函数),那么这两个散列值的原始输入也是不相同的。
2.散列碰撞(collision)散列函数的输入和输出不是唯一对应关系的,如果两个散列值相同,两个输入值很可能是相同的,但也可能不同。
3.不可逆性一个哈希值对应无数个明文,理论上你并不知道哪个是。“船长,如果一样东西你知道在哪里,还算不算丢了。”“不算。”“好的,那您的酒壶没有丢。”
4.混淆特性输入一些数据计算出散列值,然后部分改变输入值,一个具有强混淆特性的散列函数会产生一个完全不同的散列值。
Merkle Tree(马尔科夫树)是什么?
当有大量数据需要验证时,就需要消耗大量的内存来存储和确保安全,这个过程很难。但是有了马尔科夫树(Merkle tree),就可以轻易解决这些问题。
马尔科夫树是区块链技术的基础,在该结构中,可以很容易地在大量数据中找出哪些数据发生了变化,整个数据验证的过程非常高效。比特币和以太坊中都使用了马尔科夫树。
所有的交易都在底部,最顶部的哈希值叫作Root hash或Merkle root(马尔科夫根)。
Root hash有所有交易的信息。马尔科夫树会重复计算节点对的哈希值,直到只剩下一个哈希值,就是Root hash。
Merkle tree是一个二叉树,所以需要偶数个叶子结点,如果交易数是奇数,那么最后一个哈希值会复制一次来创建偶数个叶子节点。
可以看出奇数值的交易数中有复制的交易进行了哈希,表明Merkle tree会计算奇数的叶子树。
所有交易数据会总结成一个Root hash,保存在区块头(block header)中。数据中有任何改变,整个哈希值就会变化,如果哈希值变化了,Merkle root就会发生变化。Merkle tree可以帮助维护数据的完整性。
- 北京酒店转让
- 上海酒店转让
- 天津酒店转让
- 重庆酒店转让
- 深圳酒店转让
- 广州酒店转让
- 合肥酒店转让
- 南京酒店转让
- 苏州酒店转让
- 杭州酒店转让
- 福州酒店转让
- 厦门酒店转让
- 南昌酒店转让
- 济南酒店转让
- 太原酒店转让
- 郑州酒店转让
- 武汉酒店转让
- 长沙酒店转让
- 三亚酒店转让
- 南宁酒店转让
- 桂林酒店转让
- 昆明酒店转让
- 丽江酒店转让
- 大理酒店转让
- 贵阳酒店转让
- 成都酒店转让
- 西安酒店转让
- 兰州酒店转让
- 银川酒店转让
- 西宁酒店转让
- 拉萨酒店转让
- 沈阳酒店转让
- 长春酒店转让
- 大连酒店转让
- 东莞酒店转让
- 惠州酒店转让
- 珠海酒店转让
- 青岛酒店转让
- 海口酒店转让
- 石家庄酒店转让
- 哈尔滨酒店转让
- 呼和浩特酒店转让
- 乌鲁木齐酒店转让