第一节 区块链技术的学习铺垫

这篇具有很好参考价值的文章主要介绍了第一节 区块链技术的学习铺垫。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

区块链起源于比特币。2008年11月中本聪的发表《比特币:一种点对点的电子现金系统》,阐述了基于 P2P 网络技术、加密技术、时间戳技术、区块链技术等的电子现金系统的构架理念,标志着比特币的诞生。两个月后比特币程序编写完成并自组网开始运用,2009年1月3日第一个序号为0的比特币创世区块诞生,2009 年1月9日出现序号为1的区块,并与序号为0的创世区块相连接形成了链,标志着区块链的诞生。比特币发展缓慢,但近几年作为比特币底层技术之一的区块链技术日益受到重视。

区块链更多可以看作一种对已有技术的应用,而非单纯的提出了一种技术。所以,在系统的学习区块链技术之前,让我们来看看区块链用到了哪些技术。

密码学

哈希

在比特币这一技术中,使用到了密码学中的两个功能,第一个功能为哈希。

首先简单介绍一下哈希,比特币使用的哈希具有三个性质:

  1. Collision resistance(抗碰撞性):即对于某个哈希函数H(·),输入x和输入y,如果有x≠y,则有H(x)≠H(y)
  2. hidding(单向不可逆):即假设有一个哈希函数H(·),给定输入x,我们可以得到哈希输出H(x),但是给定一个哈希输出H(x)和H(·),我们无法求得x是什么。也即H(x)没有泄露x的任何信息。
  3. Puzzle friendly:由于哈希值是不可预测的,所以如果要H(x)落在某个范围内,没有什么好的办法,只能一个一个x去尝试。这个特性使得在打包区块的时候,必须进行大量的运算(为了让hash值落于某个区间中)。

比特币使用的哈希函数是sha-256,collision resistance这一性质主要用于保证区块链每个区块的不可篡改性质;puzzle friendly这一性质主要用于工作量确认。

非对称加密

用到的第二个密码学功能为非对称加密。在每个比特币用户创建账户的时候,都会创建一个公私钥对。a在给b发送信息的时候,使用b的公钥对信息加密,b然后使用自己的私钥对信息解密。同时,在发布这样一个信息的时候,a需要使用自己的私钥对信息进行签名,这样网络中的其他节点可以使用a的公钥确认这个信息是否由a发布。

在第三方中心化系统中,账户开通依赖于第三方。但去中心化的比特币系统中,很明显不能进行“申请账户”。在比特币系统中,申请账户是用户自己来处理的,即自己创建一个公钥-私钥对。

公钥和私钥的应用保证了“签名”的应用。当在比特币网络中进行转账时,通过“签名”可以明确是由哪个账户转出的,从而防止不良分子对其他账户比特币的盗取。

在发布交易时,通过自己私钥签名,其他人可以根据公钥进行验证,从而保证该交易由自己发起。也就是说,只有拥有私钥,才能将该账户中的比特币转走。

数据结构

哈希指针

区块链是一个将各个区块串起来的链,而串联起这些区块的就是哈希指针。一个哈希指针包含两部分数据:

  1. 指向某一信息存储的指针
  2. 某一数据块的哈希值

如下图对于该节点,白色方框即为一个区块链的区块。我们可以看到有两个指针指向这个节点(实际上为一个),其中P为该节点的地址,H()为该节点的哈希值,该值与节点中内容有关。当节点(区块)中内容发生改变,该哈希值也会发生改变,从而保证了区块内容不能被篡改。

区块链铺垫时代是什么意思

在比特币中,其最基本的数据结构便是一个个区块形成的区块链。每个区块根据自己的区块内容生成自己的哈希值,此外,每个区块(除创世纪块)都保存有前一个区块的哈希值。需要注意的是,本区块哈希生成依赖于本区块内容,而本区块内容中又包含有前一个区块的哈希值。从而保证了区块内容不被篡改。

区块的结构

在区块链中,每个区块包含两部分数据:

  1. Block header
  2. Block body

每个区块header中,包含指向前一个区块的指针,也包含一个对前一个区块的header进行哈希得到的值。

区块链铺垫时代是什么意思

如果现在要对第i个区块的信息进行修改,就会导致这个区块的哈希值变化,这就要求i+1个区块的哈希值也发生变化,一直到最后一个区块的数据发生变化,最终导致pointer of the last block中的哈希值和最后一个区块的哈希值对不上。这就使得区块链具有不可篡改的性质。

Merkle tree

区块链铺垫时代是什么意思

上图即为一个简单的Markle Tree,其中最下面的节点即为交易数据块。每个交易数据块各有一个哈希值,将所有叶子节点的哈希值合并放在其父节点中,而后,针对得到的一级父节点分别取哈希,又可以得到n/2个新的哈希值,通过不断迭代,即可得到图中根节点。

实际中,在区块块头中存储的是根节点的哈希值(对其再取一次哈希)。这种数据结构的优点在于:只需要记住Root Hash(根哈希值),便可以检测出对树中任何部位的修改。例如,所绘制Markle Tree中节点B发生了改变,则对应的第二层第一个节点中第二个哈希值便也会发生改变,进而根节点中第一个哈希值也会发生改变,从而导致根哈希值也发生了改变。

根据前文中我们知道,区块链分为header和body,body即为保存交易的地方,保存形式即为Merkle tree的形式。在区块链中,Merkle tree的每个叶子节点对应于一笔交易,除了叶子节点的节点储存的都是指向其左右孩子的哈希指针。根据Merkle tree的性质,只要任何叶子节点中的交易被修改,就会导致根节点的哈希值发生变化。

在每个区块header中,除了包含指向前一个区块的指针,以及一个对前一个区块的header进行哈希得到的值,还包含当前区块body的Merkle tree的根哈希。但不包含具体的交易信息。

因此如果有任何交易发生变化-》根节点哈希变化-》区块header保存的根节点哈希发生变化-》区块header的哈希发生变化。这就要求后一个区块保存的当前区块的哈希也得同步改变,而这是很难办到的。

下图即为一个完整的比特币区块的信息

区块链铺垫时代是什么意思文章来源地址https://www.toymoban.com/news/detail-792176.html

到了这里,关于第一节 区块链技术的学习铺垫的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python零基础学习入门篇①】——第一节:基本语法与变量

    ⬇️⬇️⬇️⬇️⬇️⬇️ ⭐⭐⭐Hello,大家好呀我是陈童学哦,一个普通大一在校生,请大家多多关照呀嘿嘿😁😊😘 🌟🌟🌟 技术这条路固然很艰辛,但既已选择,该当坚毅地走下去,加油! 🌤️PUA: ” 你所看到的惊艳都曾平庸历练 **“**🚀🚀🚀 🍉🍉🍉 最后让我

    2024年02月03日
    浏览(63)
  • 区块链中的交易是什么意思

    id:BSN_2021 公众号:BSN研习社 关于区块链,交易是一个绕不开的话题。区块链可以看做一个不断实时同步的分布式账本,在这个账本上,每一个动作都可以算作一笔“交易”。正是一笔笔交易,才构成了账本的全部。 关于交易,有很多基础术语需要我们了解。 交易/Transaction

    2024年02月06日
    浏览(57)
  • 区块链中的节点是什么意思?

    众所周知,我的好朋友阿强,一个币圈奇才,对所有可以一夜暴富的项目都有着出奇的热忱的一个敢于试错的勇士,今天他又又又又给我推荐了一个项目——美公链。 号称全面涵盖吃喝玩乐购,链上可视化数据消费补贴,消费增值,消费共享,消费股东为一体产业区块链的链

    2023年04月08日
    浏览(48)
  • 学习笔记|大模型优质Prompt开发与应用课(二)|第一节:大模型应用密码—Prompt的一千种打开方式

    原作者:楠哥│飞桨开发者技术专家 1910华盛顿纺织厂罢工事件 1910年10月1日,华盛顿纺织厂的工人举行了大规模罢工,反对新兴的纺织机器替代他们的劳动力。这次罢工共有2500名工人参加,他们大多是来自欧洲和亚洲的移民,以及一些本地贫困的妇女和儿童。 这些纺织工人之

    2024年02月15日
    浏览(38)
  • 【Python & 机器学习 基础】绘制 sigmoid 函数曲线 | exp:以e为底的指数函数(科普向)| 区块链 面试题:区块链技术中的“区块链浏览器”是什么?有什么作用?

      “谁都了解生存往往比命运还残酷,只是没人愿意认输,我们都在不断赶路,忘记了出路。”     🎯作者主页: 追光者♂🔥          🌸个人简介:   💖[1] 计算机专业硕士研究生💖   🌿[2] 2023年城市之星领跑者TOP1(哈尔滨)🌿   🌟[3] 2022年度博客之星人工智能领域

    2024年02月06日
    浏览(47)
  • 【技术评论】大数据时代,区块链如何解决数据安全和隐私问题

    发表时间:2022年6月23日 信息来源:bsvblockchain.org  在这个时代,像GDPR和HIPAA这样的措施为消费者带来了前所未有的数据保护水平,人们理所当然地想知道,由区块链驱动的数据解决方案如何能够符合这些法规的要求。 (全球区块链组织联合创始人)Jorge Sebastiã在沙特愿景2030区

    2024年02月02日
    浏览(84)
  • 双频wifi是什么意思?双频wifi技术介绍

    经常有网友在QQ上问我什么是双频WiFi,或者双频路由器?因为现在市场上逐渐开始出现了双频WiFi的无线路由器,而很多普通用户根本就不知道什么叫做双频WiFi,下面就为大家简单介绍一下双频WiFi的含义。 双频WiFi值得是一台无线设备(无线路由器、无线AP等)同时提供了2.

    2024年02月08日
    浏览(43)
  • 新时代火热技术栈:大数据->人工智能(AI)->区块链

            对于大数据与人工智能,相信大家已经耳熟能详了,所以本文在此仅会重点讲解区块链这个概念,读完本文您将收获到:了解一种链接了当今时代几大热点的技术栈,并知道该技术栈将在未来发挥怎么样重要的作用。 时代最先进技术栈:大数据->人工智能(AI)->

    2024年02月02日
    浏览(58)
  • java技术栈是什么意思?一次认全9大主流技术栈!

    Java技术栈是指一组在Java开发中广泛使用的技术和工具集合,包括Java编程语言、Java虚拟机、Java类库、Web开发框架、数据库、IDE等。Java技术栈广泛应用于企业级Web应用程序的开发中,它具有可靠性高、可维护性强、扩展性好等特点。接下来笔者来介绍一下Java中9大主流技术栈

    2023年04月21日
    浏览(42)
  • 第一章-第一节-会计概念、职能和目标

    东方欲晓,莫道君行早,踏遍青山人未老,风景这边独好。虽然我的专业是软件工程,但是!但是!但是!光有技术是不够的,我自认为我也不是天才,我只是一个普通人,所以除了技术,我应该掌握一点别的什么东西,想赚钱,却不了解相关的知识,嗯,那就考个初级会计

    2024年01月19日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包