公钥加密、加密Hash散列、Merkle树……区块链的密码学你知多少?

区块链资讯牛市来了2019-09-10 09:15:11  阅读 -评论 0

大家都知道,区块链比特币的底层技术,但区块链技术的核心,又是什么?

公钥加密、加密Hash散列、Merkle树……区块链的密码学你知多少?

来源 | Crushcrypto
编译 | 火火酱
责编 | Carol出品 | 区块链大本营(blockchain_camp)

大家都知道,区块链是比特币的底层技术,但区块链技术的核心,又是什么?
是密码学。
密码学是区块链技术的核心。所有的交易信息都会被编码到区块里,而区块链则是由这一个个区块连接在一起而形成的结构。
密码技术由来已久,主要经历了古典密码、机械密码、现代密码三个发展阶段。随着历史推进,密码技术不断在演变,密码学成为了科学。而今天我们就要一起来看看,区块链技术当中的密码学,与过去我们了解的密码学有什么不同?它的作用在哪里?

什么是密码学?

密码学是开发防止第三方查看私人数据的学科。现代密码学结合了数学、计算机科学、物理、工程等学科。一些重要术语的定义如下:

  • 加密:将文本编码成不可读的格式。
  • 解密:将混乱的信息转换为其原始形式。
  • Cipher密码一种用于执行加密或解密的算法,通常是一组可履行的、定义明确的步骤。

【密码学】在以前是加密的同义词,即把信息从可读的格式转换为毫无意义的信息的过程。加密技术的历史可以追溯到古埃及,历史十分悠久。
举例来说,Caesar Cipher凯撒密码是凯撒大帝用来与将军们进行安全通信的一个著名的密码。密码将信息中的每个字母都移动了一定的距离(移位为2),A变成了C,B变成了D,依此类推。(http://practicalcryptography.com/ciphers/caesar-cipher/)

区块链技术以多种不同的方式对钱包、交易、安全性和隐私保护协议进行加密。本文将讨论与区块链技术相关的一些重要加密主题,包括公钥加密Hash散列Merkel树

公钥加密

公钥加密(也被称为非对称加密)是一种使用一对密钥(公钥和私钥)进行加密的密码系统。公钥可以广泛分发,但是私钥只有其所有者才知道。密钥总是成对创建的,每个公钥必须有一个相对应的私钥。

公钥加密经常被用于以安全的方式加密两个人或两台计算机之间的消息。任何人都可以使用某人的公钥来加密信息,但是信息一旦被加密,只有使用相对应的私钥才能解密该消息。
假设Alice想要向Bob发送一条加密消息,其工作原理是这样的:

  • Alice使用Bob的公钥来加密消息;
  • Alice将加密后的消息发送给Bob,如果被第三方拦截,那么第三方只能看到随机的数字和字母;
  • Bob使用他的私钥来解密和读取收到的消息;


这个过程可以用下面这个图表来表示:

公钥加密、加密Hash散列、Merkle树……区块链的密码学你知多少?

来源: Wellesley College

公钥加密是区块链技术的一个基本组成要素,是钱包和交易的基础技术。当用户在区块链上创建钱包时,就是在生成公私密钥对。

钱包的地址,或者其在区块链上的表示方式,是由公钥生成的一串数字和字母的组合。由于区块链技术本身的性质,这个地址对所有人来说都是公开的,可以用来检查钱包里的余额或向其发送代币

与钱包相关联的私钥证明了钱包的所有权和控制权。这是唯一能把代币发送出去的方法,如果私钥丢失,那么里面的代币将被永远封存。

区块链上的交易不过就是一条广播信息,其本质是在说,"从我的钱包里取出X枚代币,并将X枚代币存入另一个钱包"。一经确认,交易就会被不可更改地写入分类账簿,并更新双方余额。

然而,此交易消息需要发送钱包的密钥签名才有效,消息广播后,任何人都可以使用钱包的公钥来确保来自私钥的数字签名是真实的。这是区块验证者们在向区块链添加交易(即消息)前要承担的一个角色。

加密Hash散列


加密Hash散列是区块链技术的另一个基本要素,它直接保障了区块链的不可变性,这是区块链最重要的特性之一。

Hash是计算机科学中的一个术语,意思是输入任意长度的字符串,然后产生一个固定长度的输出。无论某个Hash散列函数的输入是3个字符还是10个字符,其输出的长度始终是相同的。

加密Hash散列函数具有以下几个关键特性:

  • 确定性:无论给函数多少次特定的输入,它都始终会得到相同的输出;
  • 不可逆性:无法根据函数的输出来确定输入的内容;
  • 抗冲击性:没有任何两个输入可以得到相同的输出;

加密Hash散列函数的另一个重要特性是改变输入中的任何一位数据都将极大地改变输出结果。举例来说,111111和111112的Hash散列输出将会是绝对唯一的,且彼此间没有任何联系。

加密Hash散列函数最为广泛的用例是密码储存。大多数网站不会储存用户的原始密码,它们会储存用户密码的Hash散列,并在用户访问给定的站点并输入密码时,检查散列是否匹配。如果黑客入侵了他们的数据库,也只能访问不可逆的密码Hash散列。

那么,加密Hash散列又是如何实现区块链技术不变性的呢?答案就是每个新的数据块都包含前一个区块中所有数据的Hash散列输出。

想象一个刚刚添加了第1000个区块的区块链。来自区块999的数据作为Hash散列函数输出存在于第1000个区块中。然而,包含在区块999中的数据是区块998中数据的Hash散列,区块998中又包含了区块997中数据的Hash散列。

这样向前回溯,从第1000个区块到第1个区块就这样通过加密Hash散列连在了一起。其结构图如下所示: 公钥加密、加密Hash散列、Merkle树……区块链的密码学你知多少?来源: Block Geeks

一直以来,这就是保证区块链中数据具有不可变性的原因。如果有人想在前面的区块中哪怕更改一位数据,那么不仅会改变该区块数据的Hash散列输出,还会改变后面的每一个区块。网络上的矿工和节点会立刻注意到所产生的Hash散列与其链的版本不匹配,并拒绝此次更改。

供参考:比特币使用的是名为SHA-256的加密Hash 散列函数,Ethereum使用的是名为 keccak256的加密Hash 散列函数。

Merkle 树


上面的图是区块链的一种简化版本,它省略了一些重要信息。图中有三个向上的箭头,表示每个区块的交易都被储存在一个Merkle根中,而这就是Merkle树的根节点。

树是计算机科学中的一个术语,代表以分层树状结构储存数据,其中,数据位被称为节点。有一个根(顶)节点,下面连接着"子"节点(Child Node),子节点本身也有子节点,依此类推。下图展示了一个典型的树型数据结构:

公钥加密、加密Hash散列、Merkle树……区块链的密码学你知多少?来源: Tutorials Point

如图所示,树中的节点组被称为子树(Sub-tree),没有子树的节点(其下没有数据的节点)被称为叶子节点(Leaf Node)。

Merkle树(或称为Hash散列树)是一种使用加密Hash 散列函数来储存散列输出(而不是每个节点中的原始数据)的树。每个叶子节点由其原始数据的加密Hash散列组成,而每个父节点(Parent Node)是其子节点Hash散列组合的Hash散列。

Merkle根仅仅是Merkle树的根(顶)节点,Merkle根表示其左右子树组合的Hash散列输出。下图是一棵有着4个叶子节点的Merkle树。

公钥加密、加密Hash散列、Merkle树……区块链的密码学你知多少?

来源: Shaan Ray


每个叶节点表示交易A、B、C和D的数据的Hash散列,然后将Hash A 和Hash B组合并求散列以生成Hash( A,B),并且以相同的方式生成Hash( C,D)。最终,Hash ( AB)和Hash ( CD)被组合到一起求散列Hash ( Hash ( A,B), Hash ( C,D)),最终形成树的Merkle根。

那么,为什么Merkle树对区块链技术来说是十分重要呢?

使用Merkle根并且应用加密Hash散列函数的性质,可以快速判断给定区块中的交易是否已被篡改,并识别正在被篡改的特定交易。

如果已确认区块中的单个交易已经被更改,那么Merkle根最终将与"正确的" Merkle根截然不同,并且改动是十分显而易见的。

Merkle树还允许用户在不下载整个区块链的情况下验证他们的的交易是否被包含在区块中。简单支付证明技术可以扫扫描Merkle树中的所有分支,并检查某个特定的交易是否已经被散列存储到该树中。如果不是在每个区块中包含一个Merkle根,区块链技术是不可能实现这种效率水平的。

下图表示的是在区块链中有4笔交易的Merkle树 (在此图中,Tx_Root表示Merkle根)

公钥加密、加密Hash散列、Merkle树……区块链的密码学你知多少?

来源: Block Geeks

结语


密码学是区块链技术内部工作的一个必要组成部分。公钥加密是区块链钱包和交易的基础,加密Hash散列函数赋予了区块链不变的特性,Merkle树在组织交易的同时提高了区块链的效率。

来源:区块链大本营

声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们kefu@lianshijie.com

    参与讨论 (0 人参与讨论)

    相关推荐

    中信银行打造“区块链”信用证结算!

    中信银行打造“区块链”信用证结算!

    科技不会改变金融的实质,但却能让金融服务更高效,能让资金供、需方信息不对称的问题更好地解决。近期,中信银行首个区块链项目——基于区块链的国内信用证信息传输系统(简称BCLC)(一期)成功上线,这是国内银行业第一次将区块链技术应用于信用证结算领域。 据中信银行国际业务部总经理助理张栩青介绍,将现在流行的区块链技术应用在国内信用证中,改变了银行传统信用证业务模式,信用证的开立、通知、交单、承兑报文

    中国信息技术部门成立区块链研究实验室

    中国信息技术部门成立区块链研究实验室

    暴走时评:本月初,中国政府对国内的ICO和数字货币交易所的打击在世界范围内引起了强大反响,但政府已经多次声明不会将区块链与数字货币划等号,依然非常重视区块链技术在中国的发展。鉴于中国工业和信息化部成立了一个专门研究区块链的实验室,这一论调也得到了进一步的证实。 虽然中国政府最近在大力打击比特币交易所和ICO,但仍然致力于开发区块链在其他领域的潜力。 据财新网报道,中国工业和信息化部已经成立了一

     分布式账本中的生命科学

    分布式账本中的生命科学

    生物科学是医学领域涉及遗传研究,疾病预防和生活方式治疗(lifestyle treatments)的学科。它已经存在了很长时间,但区块链技术的基础设施应用给该学科提供了重大进步的可能性。 根据Pistoia Alliance进行的2016年6月份高级制药和生命科学领袖调查,83%的受访者表示,他们预计在五年内将全面采用区块链技术。 Pistoia Alliance是一个全球性的非营利组织,致

    区块链vs.核能:日本最大电力公司东京电力(TEPCO)寻求使用区块链减轻对核电的依赖

    区块链vs.核能:日本最大电力公司东京电力(TEPCO)寻求使用区块链减轻对核电的依赖

    东京电力公司 (TEPCO) 对于能源过度中心化的风险可以说绝不陌生。 也许最著名的就是2011年发生的福岛核电站事故,这个日本最大的能源公司如今正在寻求区块链技术来防止这种灾难再次发生。 然而,从使用微型风车的分布式风力发电到用于存储在电力成本低时购买的电力的智能电池,可替代能源项目一直以来都属于个人慈善事业。 然而,TEPCO风险投资部门主管Jeffrey Char认为区块链能够帮助为这

    继证监会发表代币发行声明之后,香港交易所Gatecoin将下线部分ICO币

    继证监会发表代币发行声明之后,香港交易所Gatecoin将下线部分ICO币

    经过一系列监管以及合规审查后,香港交易所Gatecoin将会下线那些被金融监管部门定性为"证券"的代币。 香港加密货币交易所Gatecoin透露,如果在该平台交易的ICO代币在法律上符合"证券"定义,他们就会下线这些代币。据巴比特上月报道,香港主要的金融监管部门证券及期货事务监察委员会(SFC)表达了对ICO这种日渐普及的募资模式的担忧。 尽管ICO中售卖的数字代币通常都被定义为虚拟商品,但

    IBM与超级账本共同加入去中心化身份基金会(DIF),推动创建区块链ID行业标准

    IBM与超级账本共同加入去中心化身份基金会(DIF),推动创建区块链ID行业标准

    IBM与超级账本已经签署协议加入去中心化身份基金会(DIF),这个于今年初成立的联盟旨在帮助推动基于区块链的ID系统的互操作性和标准。 这两个企业区块链大佬加入了这个有各种企业组成的团体,其中包括像微软和埃森哲这样的大企业,还有像Civic和Gem这样的创业公司,以及像uPort和Sovrin这样的开源项目。 DIF执行主管告诉Coindesk说: "这应该是一个信号,表明在这一领域有广泛的

    为打击人口贩卖,牙买加警方盯上了犯罪分子的比特币钱包

    为打击人口贩卖,牙买加警方盯上了犯罪分子的比特币钱包

    作为打击人口贩卖计划的一部分,牙买加警方已经开始行动,锁定了那些试图用比特币和数字支付来掩人耳目的犯罪分子。 越来越多的人口贩卖者都开始转向数字货币来帮助他们进行地下活动并接收非法活动所得,但牙买加警方已经盯上他们了。 牙买加的'大生意' 不幸的是,人口贩卖以及性奴市场规模十分庞大,预计涉资1500亿美元。在牙买加,大约有7000个妇女、儿童以及成年男性被奴役,他们的操控者出售奴役服务的价格

    深圳市将发布《深圳市扶持金融业发展若干措施》,奖励区块链、数字货币等金融创新

    10月9日,深圳市人民政府向各区人民政府,市政府直属各单位印发《深圳市扶持金融业发展若干措施》(以下简称"《若干措施》")。深圳市政府表示,此举是为进一步完善金融支持政策体系,吸引集聚优质金融资源,推动全市金融业可持续均衡发展,加快建设国际化金融创新中心。 《若干措施》共分五大项,33条。内容包括:坚持服务导向,优化金融政策环境;发展金融总部经济,鼓励金融总部企业做大做强;支持金融企业分支机构

    麦妖榜
    更新日期 2019-09-03
    排名用户贡献值
    1牛市来了30910
    2BitettFan24187
    3等待的宿命23810
    4区块大康20369
    5六叶树20310
    6linjm122719429
    7天下无双16192
    8lizhen00215280
    9让时间淡忘14586
    10yelanyi050511349
    返回顶部 ↑