数字货币概论 课件 第4章 加密数字资产的原理与实现.pptx

数字货币概论 课件 第4章 加密数字资产的原理与实现.pptx

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第四章

加密数字资产的原理与实现第一节密码学原理第二节分布式账本与去中心化第三节脚本与智能合约

第一节密码学原理加密哈希函数哈希函数(HashFunction,又称散列函数)是密码学中最基础也最重要的数学原理之一,在保障信息安全、高效数据存储以及数据验证等方面都有重要价值。Hash并不指代某一特定算法,而是一类数学函数的统称,它可以将任何输入数据进行“打乱”、“混合”,重新创建一个固定格式和大小的散列值(HashValues、HashCodes、HashSums或Hashes)。因此,一般而言Hash具有如下三个特征:第一,函数输入可以为任意大小的字符串;第二,函数输出为固定格式和大小的数据;第三,可高效运算,即计算位字符串输入的散列值的复杂度位,意味着可以在有限、合理的时间内得到输出结果。加密哈希函数具有额外的三个安全性特征:抗碰撞性(Collision-resistance、Collision-free)、隐匿性(Hiding)以及谜题友好(Puzzle-friendly)。

第一节密码学原理抗碰撞性“碰撞”描述的是由不同函数输入得到相同函数输出的情形。加密货币要求其使用的哈希函数具备扛碰撞属性,即没有人能够找到碰撞情形。对于一个满足抗碰撞要求的加密哈希函数,无法找到两个不同的输入和使得。加密哈希函数的抗碰撞特征仅要求“无法找到”碰撞,而非“不存在”碰撞。理论上,由于哈希函数接受任意大小的数据为输入、而输出固定大小的散列值,当输入空间大于输出空间时必然会有不同输入映射为相同输出的情形出现。以常见的256位输出为例,其输出结果的可能性有种,意味着我们必然能在次哈希计算种找到一次碰撞,或者从概率上平均每次哈希计算能够找到一次碰撞。若表示与加密数字资产相关的账本数据,是对该账本信息进行加密哈希计算后得到的散列值,那么在账本数据的任何遗失、损坏、修改后都不可能再得到相同的散列值。

第一节密码学原理抗碰撞性“哪怕只是输入发生最微小的改变(例如,反转一个二进制位),也会导致输出的不可区分性改变,即密码学中的“雪崩效应(AvalancheEffect)”。因此,通过记录和比较账本数据经加密哈希计算后的散列值,就可以识别账本数据的是否发被恶意篡改(图4-1)。随着交易数据的膨胀,要求分布式网络节点存储全部交易信息和账本数据是不现实的,而信息摘要能够大大降低数据存储和网络通信压力。因此,加密哈希函数的抗碰撞性对于分布式账本技术十分重要。

第一节密码学原理隐匿性仅通过加密哈希函数的输出,无法推算出函数输入,但这一解读并不一定准确。现实中,我们并不能保证输入总是来自高阶最小熵分布。基于此,隐匿性的正式定义可以表述为:若是来自高阶最小熵分布的随机采样,且无法由反推出时,则称加密哈希函数具有隐匿性。2024/6/25隐匿性的一个重要应用是密码学中的承诺(Commitment)。密码学承诺具备两个特性:一是隐匿性(Hiding),即做出的承诺是密文形式,在打开承诺之前,验证方不知道承诺方的敏感数据;二是约束性(Binding),即一旦承诺生成并公开,承诺方不能将已承诺的敏感数据换或解释成另一个不同的数据。

第一节密码学原理谜题友好谜题友好是加密哈希函数的另一重要性质。若哈希函数的形式能够保证没有任何特定解题策略比随机尝试的更好,就可以认为是谜题友好的。加密哈希函数的谜题友好性质在工作量证明机制和加密货币“挖矿”中有广泛的应用。在比特币挖矿中,计算难度差不多每两周会随着全网算力的变化而进行一次调整,以保证解迷题平均花费时间(区块生成间隔)大约维持在10分钟左右。

第一节密码学原理安全哈希算法在符合上述三个安全性特征的加密哈希函数中,安全哈希算法(SecureHashAlgorithm,SHA)是最常见的一类。在SHA-2系列中,SHA-256算法是现今密码学和信息安全领域中的基本算法,也是比特币等加密数字货币应用最广泛的加密算法之一。SHA-256使用的MD变换的数据处理流程如图4-3所示,大体可以分为两个步骤。一个步骤是对输入信息进行预处理,使其满足指定的信息结构。第二步是使用压缩函数进行迭代运算,运算内容全部是逻辑的位运算,例如按位的“与”、“补”、“异或”等。

第一节密码学原理哈希指针指针描述了数据在内存中的位置,标示了一个占据存储空间的实体在这一段空间起始位置的相对距离值;通过指针指向的地址,可以检索到对应的数据。哈希指针是一个数据存储位置及其位置数据哈希值的指针。根据加密哈希函数的抗碰撞性质,一旦哈希指针指向的位置的数据块发生任何改变,对它进行哈希操作之后的哈希值必然和之前不同。2024/6/25

第一节密码学原理区块链用哈希指针代替传统指针构建链表,得到的数据结构就是区块链。

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档