什么是哈希?

简单来说,哈希就是输入任意长度的字符串都可以产生固定大小的输出。在比特币这种加密货币中,交易就是输入,然后经过哈希算法(比特币采用的是 SHA - 256),产生固定长度的输出。

下面就是使用 SHA-256 算法的例子:

通过上面的例子可以看出,无论输入大或者小,输出都是固定256比特的长度。这一特性在处理大量数据和交易时是至关重要的。基于哈希这一特性,我们不用记输入数据是多么大,只需要记住hash值即可。

在我们进一步讨论之前,我们首先需要看看哈希函数的各种属性以及它们在区块链中的实现方式。

加密哈希函数

加密哈希函数是一类特殊的哈希函数。为了让哈希函数达到密码安全,需要有以下几个特性:

1.确定性(Deterministic)

对于同一个输入,无论用哈希函数计算多少次,都会得到相同的结果。

2.快速计算

对于输入的字符串,能在合理的时间内算出哈希函数的输出,否则会影响系统的性能。

3.隐秘性

如果我们已知字符串 A 的哈希值是 H(A),那么我们没有可行的办法算出 A 是什么。注意,这里说的是 “不可行” 而不是 “不可能”。 比如下面的例子中,知道输出哈希值是可以算出输入的。

假如我们掷骰子

区块链(一)----哈希与区块链相关推荐

  1. 区块链 01(简化后的区块包括父区块哈希值、数据、时间戳、哈希值这四个字段,区块的哈希值由父区块哈希值、数据、时间戳、3个字段拼接通过 哈希算法计算而成)

    """区块包括区块头和区块体两个部分.区块头由版本.父区块哈希值.数据.Merkle根.时间戳.目标难度. #Nonce值组成:区块体实际上可以包含任何内容,在比特币中包 ...

  2. 哈希函数--区块链的back bone

    点击上方"蓝色字"可关注我们! 作者:Bitcoin Magazine 了解比特币和区块链非常简单,只要理解三部分, 第一是了解其数据结构,第二个就是分布式储存和共识,第三就是网络 ...

  3. 区块链概况:什么是区块链

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 区块链技术自身仍然在飞速发展中,目前还缺乏统一的规范和标准. wikipedia 给出的定义为: A blockchai ...

  4. 【区块链Go语言实现】区块链基本原型

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 0x00 介绍 区块链(Blockchain)是21世纪最具革命性的技术之一,目前它仍处于逐渐成熟阶段,且其发展潜力尚未 ...

  5. 区块链学习(6)区块链

    写了几篇区块链的学习笔记,今天来写写比特币中的区块链.比特币中区块链是由包含交易信息的区块从后向前有序链接起来的数据结构.每个区块从后向前有序地链接在这个链条里,每个区块都指向前一个区块. 区块结构 ...

  6. 区块链浏览器_什么是区块链浏览器?

    本文由IPFS原力区Iris原作 提到区块链浏览器,你会想到什么?是浏览器中用运到区块链技术了么?这样的↓↓↓ 这样的↓↓↓ NoNoNo它是这样的↓↓↓ 区块链浏览器:就像百度,是一种搜索工具,也是 ...

  7. 【三分钟讲清区块链/比特币】之一:区块链入门教程

    区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来.可是,简单易懂的入门文章却很少.区块链到底是什么,有何特别之处,很少有解释. 下面,我就来尝试,写一篇最好懂的区块链教 ...

  8. 区块链浏览器_欧科云链OKLink区块链浏览器,如何挖掘数据背后的价值?

    "支付宝转个账还能有交易回执,京东白条被盗刷了还能去找平台,交易没有任何国家信用背书的虚拟货币的用户,是如何确认自己完成了交易的?在没有第三方平台的情况下,如何实现链上数据追踪?" ...

  9. 区块链浏览器_如何用区块链浏览器实现链上数据追踪?

    "支付宝转个账还能有交易回执,京东白条被盗刷了还能去找平台,交易没有任何国家信用背书的虚拟货币的用户,是如何确认自己完成了交易的?在没有第三方平台的情况下,如何实现链上数据追踪?" ...

  10. 区块链是什么通俗解释_区块链技术是什么?区块链的通俗解释原来是这样!

    原标题:区块链技术是什么?区块链的通俗解释原来是这样! 区块链概念诞生已有一段时间,但一直都是少数人知道它是什么,有什么样的价值,同时伴随着区块链的有数字货币,公链,智能合约等新兴概念的产出,我们该怎 ...

最新文章

  1. Spark采坑系列(三)Spark操作Hive的坑
  2. opengles2.0 帧缓存对象(FBO)
  3. 影响网站权重的关键性因素有哪些?
  4. 八、JQurey总结
  5. ASP.NET中实现MSN通知消息功能
  6. Unity 发射子弹的两种方式
  7. 解析AMD品牌的中国元素
  8. Flash CS6 新功能
  9. dsm php virtualbox,私有云测试环境搭建 黑群晖 For VirtualBox(XPEnoboot 5022.3 DSM_DS3615xs_5022)...
  10. 强大的Pidgin,Pidgin的使用
  11. Flight_Simulator(DHC-2‘Beaver’aircraft )
  12. 树莓派4b摄像头使能
  13. 这样去做信用贷款违约预测项目,效果提升明显
  14. 函数参数缺省值/默认值
  15. IE主页被恶意修改处理办法
  16. 无符号数与有符号数比较
  17. 【SequoiaDB巨杉数据库】Oma-stopAllNodes
  18. Windows Presentation Foundation 巡游
  19. 自动化横行的今天,手工测试如何杀出一条血路?
  20. 路由器中的MAC地址

热门文章

  1. centOS下安装ettercap
  2. 微信中下载apk的诀窍(openinstall公开的免费方案)
  3. Android 不得不说的VideoView的一些坑及其解决方案(转)
  4. pygame加载obj 重新绘制
  5. 一致性Hash算法与虚拟节点
  6. kaggle实战:基于超市消费数据的用户个性化分析案例
  7. 年轻化、高学历成就城市租房新趋势
  8. C/C++、C#、F#、Go AMD x86-64 编译器内部实现乘法运算
  9. 一大波开发者福利来了,一份微软官方Github上发布的开源项目清单等你签收
  10. big mac sur 免驱显卡_big sur值得升级吗?千万不要手残升级Mac Big Sur!坑你没商量...