区块链技术科普:哈希算法的现状与未来

文章来源:蓝狐笔记碳交易网2018-09-20 11:11

区块链技术科普:哈希算法的现状与未来

新手在了解区块链的时候经常会接触到哈希(hash)和哈希算法(hashing algorithm)这样的概念,它们在安全方面可以说是无处不在。通过P2P运行像比特币,以太坊之类有众多节点的去中心化网络需要去信任机制和验证的高效性。
 
这就是说,这些系统需要想办法将信息以一种高效而简洁的方式编码,并允许其参与者能够安全而快速的进行验证。
 
比特币和以太坊所涉及的主要概念是“区块”,这是一种包含交易记录,时间戳以及其他元数据的数据结构。这种数据结构安全性的关键在于:它能够将大量关于全球网络状态的信息压缩成一小段信息标准,并使这一小段信息能被高效的验证,这一小段信息被称为哈希。
 
即使仅仅改变输入信息的一个字符也会产生一个完全不同的哈希值!
 
加密学上的哈希被用于各行各业,从密码储存到文件验证系统。基本思想是使用一种确定性的算法(deterministicalgorithm),这种算法能够接受一个输入并每次都产生一个长度固定的字符串。也就是说,一个相同的输入得到的永远都是相同的输出。
 
除了这种确定性,哈希算法还有一个特性:输入中的任何一点点的改变都会导致输出变得完全不同。
 
哈希算法有一个问题,就是冲突必然性(inevitability of collisions)。它的意思是:由于哈希函数输出的字符串长度一定,不同的输入有可能会产生相同的哈希值。冲突是不好的,如果一个攻击者能够故意产生冲突,他便能够把恶意的文件或者数据伪装成正确的哈希值并将其传递下去。一个好的哈希函数的目标是让冲突的发生变得几乎不可能。
 
计算一个哈希值不应该太过高效,因为这会让冲突的实现变得太过容易。哈希算法应该能够抵御“原像攻击(pre-image attack)”。也就是说,根据已知的哈希值找到输入值应该是极其困难的(输入值被称作原像,比如s = hash(x),根据s找到x应该是几乎不可能的)。
 
总结起来,一个好的哈希算法应该具备以下特征:
 
·  改变输入的任意一点都会产生一个完全不同的输出
 
·  发生冲突的可能性非常低
 
·  在不牺牲抵御冲突的情况下有一定的效率 本文@内/容/来/自:中-国-碳^排-放-交易&*网-tan pai fang . com
 
【版权声明】本网为公益类网站,本网站刊载的所有内容,均已署名来源和作者,仅供访问者个人学习、研究或欣赏之用,如有侵权请权利人予以告知,本站将立即做删除处理(QQ:51999076)。

相关阅读

省区市分站:(各省/自治区/直辖市各省会城市碳交易所,碳市场,碳平台)

华北【北京、天津、河北石家庄保定、山西太原、内蒙】东北【黑龙江哈尔滨、吉林长春、辽宁沈阳】 华中【湖北武汉、湖南长沙、河南郑州】
华东【上海、山东济南、江苏南京、安徽合肥、江西南昌、浙江温州、福建厦门】 华南【广东广州深圳、广西南宁、海南海口】【香港,澳门,台湾】
西北【陕西西安、甘肃兰州、宁夏银川、新疆乌鲁木齐、青海西宁】西南【重庆、四川成都、贵州贵阳、云南昆明、西藏拉萨】
关于我们|商务洽谈|广告服务|免责声明 |隐私权政策 |版权声明 |联系我们|网站地图
批准单位:中华人民共和国工业信息部 国家工商管理总局  指导单位:发改委 生态环境部 国家能源局 各地环境能源交易所
电话:13001194286
Copyright@2014 tanpaifang.com 碳排放交易网 All Rights Reserved
国家工信部备案/许可证编号京ICP备16041442号-7
中国碳交易QQ群: 6群碳交易—中国碳市场  5群中国碳排放交易网