区块链技术与应用.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京大学肖臻老师《区块链技术与应用》公开课 第一节:绪论 第二节:密码学原理 crypto-currency 一、cryptographic hash function 性质;1 collision resistance(hash 碰撞) 指 H(x)=H(y),而 x≠y 对于哈希函数,哈希碰 撞就是常见得,但就是要人为得制造哈希碰撞几乎就是不可能得 例子:H(m),m为 message,如果 m 被人篡改,那么 H(m)会发生改变。 ps:哈希弱碰撞目前就是无法被数学证明得,但与此同时,我们还没有很好得办法人为制造哈 希碰撞。 可就是对于不同类型得哈希函数其安全性随着计算机科学与数学方法得进步,也就是有可能 被破解得,例如 MD5 性质 2 hiding 指哈希函数得计算不可逆,对于给定 x 可以计算H(x),可就是我们几乎不可能 从 H(x)反推出 x、 digital mitment/digital equivalment of a sealed envelope 由于预测本身可能会影响 结果,需要一种方法在预测结果不能提前公开得情况下,保证预测结果得真实性。 将预测 x 得哈希值公开,待到结果出现时再公开预测以检验预测与实际就是否相符。 在实际操作中,也有将 x 与随机数一起做 HASH 以保证取值得分布足够离散。 比特币中得哈希函数所需性质: 性质 3 puzzle friendly 指除了遍历以外,没有任何办法可以做出哈希碰撞,这样才可以作 为挖矿证明,然而想验证一个人得挖矿证明却就是非常快捷得,因为只需要计算一次哈希函 数值就可以了。 比特币中所使用得哈希函数为:SHA256——Secure Hash Algorithm 二、数字签证 1、public key private key asymmetric encryption algorithm 非对称加密算法 由于区块链系统就是完全公开得,所以并不需要公私钥对进行保密通信,而就是进行数字签 名,以验证 自己得身份,即私钥加密,公钥解密 对于 256 位得公私钥对,很难有两个账户拥有完全相同得公私钥对,所以很难通过产生公私 钥对再比对得方法来冒名她人。 第三节 数据结构 一、 hash pointers 区块链(block chain)就是最基本得数据结构,她与普通得链表得区别在于,使用 hash pointers 取代了普通得指针 genesis block:创世纪块,指第一个区块 most recent block 指最后一个产生得区块 在区块链中,每一个 block 都含有一个 Hash pointer 指向前一个块,而最后一个块得指针就 保存在系统中! Hash pointer 得值就是前一个块得所有数据得 hash 函数得取值! 所以无论区块链中得哪一个块发生了改变,都会导致之后所有得 Hash 全部改变,因此只需要 检验最后一个 Hash,即系统中得 Hash 来检验区块链中数据就是否被修改。在实际操作过程 当中,也不需要将整条区块链完整得保存下来,而只需要将最后得若干长度得区块链缓存下 来,实时更新,进行验证。 二、 Merkle tree Merkle tree 就是另外一种给基本得数据类型,她与普通得树得区别在于,使用 Hash pointers 取代了普通得指针 Merkle tree 得指针从叶节点指向根节点,将左 (右)节点得 Hash 值保存在当前节点得左 (右)Hash 指针,最后将根节点得 Hash 值保存在系统中! 对于Merkle tree 而言,其最原本得数据就是保存在整棵树得叶节点上得,而根茎部分都就是 保存了上一级得哈希值。 Merkle proof: 全节点保存了交易得全部信息,而轻节点只保存 block header,为了向轻节 点证明一个新得交易已经被写入 Merkle tree 了!那么需要在树中找到这个交易叶子,并且 从叶子出发回到根节点,在这个过程中,轻节点所在得本地主机需要不断计算出当前节点得 Hash 值,如果沿途得 Hash 值正确,那么交易正常√。这样一条路径就就是 Merkle proof 如果对交易按时间顺序进行排序,然后布置成 Merkle tree(sorted Merkle tree),那么就可 以用一种简单得方法证明非法交易并不存在于区块链中 ps:Hash 指针必须要先确立一个节点得值,才能去计算与之相关得区块得值,因此这个类型 得指针就是不可以应用在环形数据结构当中得。 第四节 协议 带权力中心得数字货币需要一个权力中心,权力中心发行货币得

文档评论(0)

156****6235 + 关注
实名认证
文档贡献者

专业教育工程师

1亿VIP精品文档

相关文档