文章目录

  • 前言
  • 一、什么是区块链?
  • 二、区块链是如何工作的?
    • 1.数据块的组成
      • 1.1数据(Data)
      • 1.2 Hash值
      • 1.3 前一个区块的Hash值
  • 三、区块链的安全性
    • 1. Hash值形成链式
    • 2.共识机制
    • 3. 对等网络(P2P network)
    • 4. 智能网络协议
  • 四、区块链的应用

前言

本文将介绍区块链的工作原理,请reader带着如下几个问题进行阅读:

  1. 什么是区块链?
  2. 区块链是如何工作的?
  3. 如何确保区块链的安全性?
  4. 区块链可以应用在什么地方?

一、什么是区块链?

区块链是一个链式存储结构,区块就是链式存储结构中的数据元素,区块链由区块相互连接形成单向链式结构,其中第一个区块被称为创始区块。

区块链的成长过程如下图。

二、区块链是如何工作的?

区块链是一种分布式账本,对任何人都是开放的。

分布式账本指的是交易记账由分布在不同地方的多个节点共同完成,而且每一个节点记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。

它们有一种有趣的性质:一旦数据被记录在区块链中,日后将很难被修改。这是如何做到的呢?我们首先了解一下区块的组成。

1.数据块的组成


每个数据块都含有三种元素。分别是:数据(Data)、Hash值、前一个区块的Hash值。

1.1数据(Data)

存储于块中的数据取决于块的类型。例如:比特币的区块链,记录了交易的细节。如发送人、接收者、钱币数量。

1.2 Hash值

每个块本身有一个Hash值,该值是独一无二的,就好比每个人都有自己独一无二的指纹。它用于鉴定一个块和块的内容。当一个数据块被制作出来,它的Hash值同时也被计算出来了。

如果想修改一个数据块的数据,就会同时改变其Hash值。换而言之,当你想检测数据库是否有变化时,Hash值就非常有用了。若一个数据块的Hash值发生了变动,那该块就不再是原来的自己。

1.3 前一个区块的Hash值

该性质有效的建立了块与块之间的链接性,也正是这种性质保证了区块链的安全性。

三、区块链的安全性

安全性保障经历了如下过程。

1. Hash值形成链式

如下图,我们现在有一条包含三个块的区块链,可知每个块有一个独立的Hash值,和前一个块的Hash值。块3记录块2的Hash值,块2记录块1的Hash值。若黑客想篡改块2的Hash值,,则依次导致块3以及之后每一个块无效,因为它们不再存储前一个块有效的Hash值。

换言之,修改任意一个块的Hash值,都将导致后面所有块无效。由此,Hash值形成的链式结构使得区块链有一定的安全性。

缺点:如今计算机的计算速度之快可以每秒计算成千上万个Hash值,若仅依靠哈希值是不足以防范篡改数据的问题的。

2.共识机制

区块链共识机制的目标是使所有的诚实节点保存一致的区块链视图,同时满足两个性质:
1)一致性。所有诚实节点保存的区块链的前缀部分完全相同。
2)有效性。由某诚实节点发布的信息终将被其他所有诚实节点记录在自己的区块链中。

常见的共识就机制包括:POW(工作量证明机制)、POS(权益证明机制)、POW+POS(混合共识机制)、DPOS(股份授权证明)等。

此篇仅介绍其中一种共识机制:PoW(Proof of Work),即工作量证明技术。因为它需要比特币网络中的节点(矿工)以计算处理的形式进行某种类型的工作。

矿工是比特币网络的参与者,矿工需要检查和证明提交的交易的准确性。通常,费用最高的交易先进行。验证过程类似于解决一个非常复杂的数学问题。关于挖矿过程的另一个重要细节是难度调整。为了保持两个区块之间的时间不变,难度会在每 2016 个区块之后进行调整。通常,每 10 分钟(600 秒)就会发现一个新块。

当添加一个新块时,它还必须配备一个随机数(“数字仅使用一次”的缩写),用于进一步的加密目的。矿工改变随机数,直到找到一个值,使块的哈希具有所需的难度级别——一旦满足要求,就无法在不重新计算所有先前块的情况下更改块。

之后,节点对所选数据进行哈希处理,这基本上意味着数据被“切成小块”。在此过程中,散列函数(一种算法)转换选定的数据集并将其转换为固定大小的输出。该输出称为哈希值,用作原始值的掩码。

一个非常重要的事实是,哈希函数无法进行逆向工程——这意味着您无法从哈希值中找出原始数据。哈希值是一种指纹,确保一切都已正确完成。每个哈希值都包含有关所有先前进行的交易的信息。

矿工生成许多具有不同随机数的散列,直到找到适合的散列。这个重复的过程被称为挖矿。当然,这需要大量的精力,因为 ASIC 矿工需要它来尝试许多不同的组合来找到合适的组合。然而,这就是比特币网络如此安全的原因。

3. 对等网络(P2P network)

参考博客:区块链之p2p网络

4. 智能网络协议

简单来说:人与人之间的纸质版合同形式换成程序的if-else语句执行。

举例来说:

智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。以保险为例,如果说每个人的信息(包括医疗信息和风险发生的信息)都是真实可信的,那就很容易的在一些标准化的保险产品中,去进行自动化的理赔。
——引用 百度百科

四、区块链的应用

参考博文:区块链的应用领域
基于区块链的优点,结合应用领域中目前存在的隐患(缺点),进而推广区块链的使用。

【浅谈】区块链的工作原理相关推荐

  1. 浅谈区块链技术应用场景

    浅谈区块链技术应用场景 摘要 一,区块链技术简介 二,区块链技术基础 1. 点对点之间传输信息的网络 2. 非对称加密技术 3. 共识机制 三,基于软件层面区块链技术应用场景 应用层 区块链技术与身份 ...

  2. 浅谈区块链数字货币发展现状

    浅谈区块链数字货币发展现状 前言 因为自己这学期在学习金融学的相关知识,在通过两门课,即区块链以及货币银行学的比较,对于区块链技术产生的数字货币对当前传统金融体系的冲击有自己的一点看法,故本次作业主要 ...

  3. 【NXP DN 系列】浅谈 DPAA1 Software Architecture 工作原理

    浅谈 DPAA1 Software Architecture 工作原理 一.介绍 DPAA1 的主要目的是在片上系统( SOC )的 IO 部分内提供智能处理,以进行路由和管 理与流量相关的处理工作, ...

  4. 广积粮,缓称王——浅谈区块链项目的护城河

    广积粮,缓称王--浅谈区块链项目的护城河这里写自定义目录标题 最近,一个二次元视频网站项目火遍圈内,上线即暴跌.把各类投资者割的找不着北了.又一个拥有"强大"社区的项目上演见光死, ...

  5. 猿创征文|浅谈区块链-区块链是什么?

    文章目录 前言 基本概念 工作原理 底层架构 共识机制 前言 区块链一词很早就进入了我的视野,一顿操作猛如虎后,发现可意会,但难以用文字阐述清楚,本文也是在草稿箱不断修修改改,尽量用通俗的语言进行梳理 ...

  6. 浅谈区块链的格局审视和被遗忘的权利

    被遗弃的支配权指的是欧盟国家(EU)新上市的一般个人信息保护规章(GDPR)中要求的第17条,而且早已于17年5月28日起效,受权所有人能够改正乃至删掉危害别人的本人数据信息和信息内容,假如出自于搜集 ...

  7. 浅谈SEO搜索引擎基本工作原理

    搜索引擎工作原理一共包括三个过程:网页搜索,预处理信息,建立索引,那么今天铭伟就把搜索引擎的工作原理进行解析一篇. 1.抓取网页.每个独立的搜索引擎都有自己的网页抓取程序爬虫(spider).爬虫Sp ...

  8. ELYFI爱立丰浅谈区块链技术的特点及应用领域

    每一个时代都有自己值得骄傲的技术,无论是晶体管.激光.互联网,还是载人航天飞机.近10年中,金融网络领域最具颠覆性.最闪耀的技术发明莫过于区块链.无论是与数字货币一道横空出世,继续发力衍生出智能合约, ...

  9. 浅谈区块链技术在商业领域的应用

    近年来,由于虚拟数字货币炒作的火爆,作为其底层技术的区块链也开始受到广泛关注.区块链具有去中心化.去信任.集体维护.可靠存储的特征,目前己在虚拟货币领域广泛应用. 自比特币诞生以来,目前全球已陆续出现 ...

最新文章

  1. ubuntu16.04+anaconda3+python3.6安装OpenCV3
  2. 避坑!gulp-imagemin运行出问题
  3. linux系统构架ftp,用Linux系统构建高效FTP服务器
  4. JVM内存管理------JAVA语言的内存管理概述
  5. A summary of OpenGL ES 3.1 demos and samples
  6. C++ protected 一种使用场景
  7. 错误:Property or field 'default' cannot be found on object of type 'com.netflix.appinfo.InstanceInfo'
  8. python视频教程哪个好-Python教学视频哪个好?老男孩Python培训
  9. java Http请求工具类【post/get】
  10. html制作唯品会登陆页面,唯品会网页登陆页面高清,唯品会网页版登陆页面,唯品会网页登陆页面...
  11. 中国C2C电子商务模式存在的问题及对策
  12. 新大陆物联网Android开发实战(一)通过接入API文档获取新大陆物联网官网Logo-GETPOST多线程实战-网络资源下载
  13. CocosCreator微信小游戏接入微信登录获取微信名、头像、经纬度等信息
  14. 【毕业设计】基于微信小程序的奶茶店奶茶点单系统
  15. 从线下棋牌室到棋牌游戏开发平台 棋牌游戏行业发生了太多变化
  16. 华为架构师谈如何理解运用模块与微服务,系统学Java从零开始
  17. 关于修改手机绑定那些事!
  18. 曾经风光无限的铁饭碗没了...网友评论:996卷走了955的他们...
  19. NoSQLRedis的介绍和Redis安装部署,通过yum在线安装Redis,通过源码安装Redis;
  20. 电源学习总结(六)——BUCK设计

热门文章

  1. windows7系统损坏修复_iPad 运行 win7 系统,微信 7.0.11 来了
  2. 极速数据接口之快递接口
  3. 动态规划经典问题整理
  4. Unity截屏保存到安卓手机相册
  5. “一锅推”!!虎牙2022届校招!技术、运营、产品、法务、商务、策划、职能等等...
  6. RNA-seq FPKMRPKMTPM的介绍区别
  7. 吴恩达《神经网络和深度学习》第四周编程作业—深度神经网络应用--Cat or Not?
  8. 史上最全的iOS各种设备信息获取总结(iPhone 12已更新)
  9. fluentd mysql_ELK系列~Fluentd对大日志的处理过程~16K
  10. CDH大数据平台搭建之集群规划