之前我们介绍过比特币诞生的偶然性和必然性,比特币是历史上第一次成功的个人依靠技术手段发行货币。若想要这个货币能够顺利流通起来,“中本聪”有很多事情要做。他必须让人们相信,这个电子现金系统的账本不是由他“中本聪”,也不是任何人能够控制和篡改的。为达到这样的自证清白的效果,他必须引用一种强大的验证机制,可以让任何人快速地发现数据被篡改,让坏人无处遁形。这种数据防篡改的技术基石正是哈希函数。
哈希函数的最基础作用是保证数据的一致性。试想,Alice在经过了一晚上的努力之后终于编写出一个非常重要的文件,她第二天要利用这个文件做很多关键的操作。那么,她如何保证这个文件没有被篡改呢?她的主机很可能被黑客或其他人侵入,如果文件直接保存在主机上,很可能的结果是文件被篡改了,如果这个文件是一个发放工资单的列表,黑客很可能会加入一些原本不存在的名字而使Alice上当受。
我们还是先来说说哈希函数的特性,哈希函数可以归纳为公式: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次幂,在这样的取值范围之内想要达到一次碰撞只是理论上的可能,站在这个角度上说比特币的哈希函数是防碰撞的。
有了哈希函数的防碰撞特性,当一个数据被修改后,可以立即通过哈希值验证出来,而比特币的基础数据结构默克尔树,以及时序的区块链式结构都是基于哈希函数构造的,这样的两个结构可以保证区块链发生的每个交易都不可篡改,一旦篡改会立刻被验证出来,并被其他节点所抛弃。
关于哈希函数的知识点尚未介绍完,我们将在下一篇再展开讨论。欢迎大家留言,评论。
目前,百济神州已经有三款自主研发抗癌新药实现商业化 01突破之道:成为“bestinclass”创新药研究赛道竞争激烈,与其背后暗藏的巨大利润密不可分.
来源|01区块链 作者|刘夏 北京时间6月9日,萨尔瓦多正式通过《比特币法》,此法将在萨尔瓦多政府公报上公布九十天后生效,萨尔瓦多也因此即将成为全球首个承认比特币为法定货币的国家.
数字人民币时代,银行机具厂商究竟要撤退还是向前?6月16日,北京商报记者在北京地区走访银行网点时注意到,部分银行网点ATM机已启用数字人民币存取现功能.
来源:澎湃新闻 澎湃新闻见习记者吴遇利 特斯拉CEO埃隆·马斯克再次为比特币“代言”。当地时间7月21日,马斯克在一场线上活动中表示,旗下太空探索技术公司也持有比特币,但是无出售计划.
“在时代的浪潮之巅,互联网巨头也不想错过这个机会。” 链新原创 作者|冯铭 6月23日零点,支付宝在“蚂蚁链粉丝粒”小程序上限量发售“敦煌飞天”“九色鹿”两款付款码NFT皮肤.
前段时间锣鼓喧天的币圈突然熄火了。5月以来,不管是主流的比特币、以太币,还是非主流的狗狗币、shi币全部大跳水,几十万人瞬间爆仓,各大数字货币交易所一度宕机,百亿资金在顷刻间化为乌有,而这种血崩.