首页 > 编程知识 正文

哈希函数是什么,比特币是区块链吗

时间:2023-05-05 19:58:56 阅读:154692 作者:1829

介绍了比特币诞生的偶然性和必然性,比特币是历史上第一个成功的个人通过技术手段发行货币。 “幸福的花生”需要做很多事情才能让这种货币顺利流通。 他要让人们相信,这个电子现金系统的账本不是他的“幸福之花”,也不是每个人都能控制和篡改的。 要达到这种自证清白的效果,他必须引用强有力的验证机制,让每个人都能迅速发现数据被篡改,让坏人无处可逃。 这种数据防篡改技术的基础是散列函数。

哈希函数最基本的作用是保证数据的一致性。 想想看,傲娇洋葱经过一夜的努力,终于做出了一份非常重要的文件。 她第二天用这个文件做很多重要的操作。 那么,她怎么保证这份文件没有被篡改呢? 她的主机很可能被黑客或其他人入侵,如果文件直接存储在主机上,文件很可能被篡改,如果该文件是发布工资单的列表,黑客就有可能输入原本不存在的名字,上了傲慢的洋葱的当

哈希函数解决了骄傲洋葱的担忧。 创建文件后,可以使用散列函数求出文件的散列值,然后将其放置在随身携带的u盘或其他安全环境中。 这样,决定再次使用文件时,只需再次计算文件的哈希值,如果哈希值与自己保存的哈希值一致,就证明文件没有被篡改。

很多人可能想到了,黑客并不是傻瓜。 他在获得文件时可以先计算一次哈希值,然后修改文件,再设法使新的哈希值与原始哈希值相同。 这是个好主意。 如果这个哈哈函数的算法不那么牢固,确实可以。

首先谈谈散列函数的特性吧。 散列函数可以归纳为y=h(x )这样的公式。 其中的h函数有一个特点,可以通过输入x (不限长度)生成固定长度的y,也就是散列值。 事情似乎朝着我们的期待发展。 因为y的长度是固定的,所以也可以认为y的取值范围是有限的,x的长度是不固定的。 这样x的取值范围是无限的,它一定是x和x’,x!=x’,但h(x ) h(x ) )。 这就是所谓的冲突!

言归正传,一旦黑客篡改了文件,找到了利用冲突使新文件的哈希值与旧文件相同的方法,他坏事成功了! 当然,这是不可能的。 如果真的发生了我们描述的视频,比特币早就胎死腹中了。事实上,散列函数是防止冲突的。 当然,这种防止冲突是有一定前提的。 像MD4、MD5、SHA1这样的哈希函数已经由中国密码学家、中国科学院院士王小云带领她的团队解密。 比特币使用的是SHA2中的sha256散列函数。 也就是说,该哈希值的可取范围是2的256次幂,理论上只有可能在这种可取范围内达到一次冲突。 从这个观点来看,比特币的散列函数可以说是防止冲突的。 (

具有哈希函数的防碰撞特性,一个数据修改后可以立即用哈希值验证,比特币基础数据结构诚实的大船树和时序区块链结构基于哈希函数构建,这两种结构发生在区块链上

关于哈希函数的知识点还没有介绍完,下一篇将进行讨论。 欢迎大家的信息、评论。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。