《区块链原理与技术》学习笔记(一)——区块链概念和区块链共识机制

这篇具有很好参考价值的文章主要介绍了《区块链原理与技术》学习笔记(一)——区块链概念和区块链共识机制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

《区块链原理与技术》专业课学习笔记 第一部分

  • 一、概论
    • 1.什么是区块链
    • 2.区块链与比特币的关系
      • 2.1 区块链是比特币的底层技术,是比特币的核心基础与架构
      • 2.2 区块链不止是比特币
    • 3 区块链的特点
      • 3.1去中心化
      • 3.2 透明性
      • 3.3 不可篡改性
      • 3.4 多方共识
    • 4 区块链的分类
  • 二、区块链共识层
    • 1. 一致性问题
      • 1.1 共识性要求
      • 1.2 共识设计的理论限制:FLP不可能原理
      • 1.3 CAP原理
      • 1.4 区块链分叉问题
    • 2. 区块链共识算法
      • 2.1 不同区块链需要不同的共识机制
      • 2.2 BFT-based:拜占庭容错算法
      • 2.3 比特币共识的思路:工作量证明
    • 3. 对共识机制的攻击
      • 3.1 双花攻击
      • 3.2 多重身份攻击/女巫攻击
      • 3.3 其他攻击
  • 区块链安全与攻击
    • 为什么区块链不安全?
      • 区块链层级架构视角
      • 区块链的六类安全隐患
      • 网络连通性与区块链安全性
    • 怎样让区块链不安全
    • 怎样让区块链更安全

一、概论

1.什么是区块链

区块链:一种按照时间顺序将数据区块以顺序相连的方式组合成链式结构,并以密码学方式保证不可篡改和不可伪造的分布式账本技术。

区块链具有三个基本要素:

  • 交易(transaction):一次操作,导致账本状态的一次改变。
  • 区块(block):记录一段时间内发生的交易和状态结果,是对当前账本状态的共识。
  • (chain):由一个个区块按照发生顺序串联成,是整个状态变化的日志记录。

区块链中的每个区块保存规定时间段内的数据记录,并通过密码学的方式构建一条安全可信的链条,在节点之间通过共识算法,形成一个全员共有、不可篡改的分布式账本。

2.区块链与比特币的关系

2.1 区块链是比特币的底层技术,是比特币的核心基础与架构

比特币的核心问题:货币如何发行?交易如何记账?
如何发行——挖矿机制:通过哈希计算得到特定数值,先计算出的人获得记账权。

记账有比特币奖励和交易手续费,计算量可以证明工作量,保证账本的可靠性,也不会发生通货膨胀。

如何记账——区块链的链式哈希结构,可以做到防篡改。

2.2 区块链不止是比特币

区块链本质是一种去中心化的数字账本,在此基础上可以产生很多加密货币应用,这种技术可以扩展到很多领域。

3 区块链的特点

3.1去中心化

账本数据的维护工作由全部或部分节点承担,普通用户之间的交易不需要第三方介入。

3.2 透明性

区块链的交易和历史都是透明公开的。

3.3 不可篡改性

比特币的每次交易都会记录在区块链上,并且很难篡改。

3.4 多方共识

区块链作为多方参与维护的分布式账本,参与方要约定好共识算法,即数据校验、写入和冲突解决的规则。

4 区块链的分类

  • 公有区块链:所有人都可以参与
  • 私有区块链:对单独的个人或实体开放
  • 联盟区块链:对特定的组织、团体开放。

二、区块链共识层

解决的主要问题:如何在去中心化存在恶意节点的场景下维护区块链的全局账本。

区块链的共识机制是一种多方协作机制,用于协调多参与方达成共同接收的唯一结果,且保证此过程难以被欺骗,且持续稳定运行,是区块链的核心引擎。

1. 一致性问题

共识:不信任节点之间对指定数据的最终状态达成一致的过程。

分布式共识:在某些节点故障的情况下,在多个节点之间达成共同的状态。

1.1 共识性要求

在分布式系统中达成一致性的过程,应该满足:

  1. 可终止性:一致性的结果在有限时间内完成。
  2. 约同性:不同节点最终完成决策的结果是相同的。
  3. 合法性:决策的结果必须是某个节点提出的提案。

对应对分布式系统的要求为:

  1. 活性
  2. 安全性
  3. 正确性

1.2 共识设计的理论限制:FLP不可能原理

FLP不可能原理:在网络可靠,但允许节点失效的最小化异步模型系统中,不存在一个可以解决一致性问题的算法。

这说明我们需要在活性和安全性上进行折中。折中方向为:

  • 通过弱化安全性的异步假设为同步假设以实现活性——实用拜占庭容错算法( Pratical Byzantine Fault Tolerance, PBFT)
  • 通过弱化安全性的异步假设为同步假设以实现安全性——比特币工作量证明

1.3 CAP原理

CAP原理本质上描述了分布式系统在应用过程中三个特性的取舍,即不可能同时满足:

  1. 一致性(Consistency):每次读操作都能得到最近写的结果,或返回错误。
  2. 可用性(Availability):每次请求都能返回一个非错误结果,但结果不需要是最近写的结果。
  3. 分区容忍性(Patition tolerance):当任意节点的连接中断或者大大延迟,系统扔能工作。

1.4 区块链分叉问题

硬分叉:旧区块不兼容新区块

区块链发生了永久性分歧,在新共识规则发布后,部分没有升级的节点无法验证已经升级的节点产生的区块。

软分叉:旧的节点不会感知区块链代码发生的改变,并继续接受新节点创建的区块。新旧节点在一条链上。

当新共识规则发布后,没有升级的节点会因为不知道新共识规则下,而产生不合法的区块,导致临时性分叉产生。这会强迫老节点更新规则。

恶意的分叉:51%攻击

2. 区块链共识算法

2.1 不同区块链需要不同的共识机制

对于公有链而言,因为参与者之间不存在任何信任,所以采用算力敏感的“挖矿”共识来作为激励机制。

对于联盟链/私链,节点间有一定的信任基础,不需要算力敏感,BFT类型的共识机制比较适合。

2.2 BFT-based:拜占庭容错算法

拜占庭问题:在有叛徒的情况下,如何在不同节点之间达成正确的共识。

当节点总数为N,叛徒数量为F,则当 N≥3F+1 时,这个问题才有解。

拜占庭容错算法(Byzantine Fault Tolerance,BFT)就是面向拜占庭问题的容错算法。

实用拜占庭容错算法:

  • 预准备阶段(pre-prepare)
  • 准备阶段(prepare)
  • 提交阶段(commit)

2.3 比特币共识的思路:工作量证明

工作量证明(Proof of Work,PoW)要求用户获取服务前进行适量复杂的计算,来证明用户对服务的真实需求,需要满足以下条件:

  • 不容易完成(需要工作量)
  • 容易验证:其他节点可以快速确认工作量
  • 工作过程公平:任何节点没有完成工作的捷径
  • 具有随机性:能力越强,只保证率先完成度概率越大

在比特币的PoW中,矿工通过花费算力来竞争区块链上的记账权。挖矿可以获得比特币奖励+交易手续费,这也是比特币发行的过程。

解决链分叉问题:比特币的最长链机制——诚实的矿工会将最长的区块链认可为全局的账本,并在这条链上继续延伸。因此恶意矿工更难造出更长的链。

3. 对共识机制的攻击

3.1 双花攻击

大致过程为:

  1. 攻击者在区块N向商家发起了交易,商家承认交易。
  2. 攻击者在区块N开始分叉,这个分叉不承认交易。
  3. 当分叉链长度大于主网链,广播分叉链,分叉链成为主网链,交易不被承认,付费失败,攻击者还可以用这笔钱再次交易。

3.2 多重身份攻击/女巫攻击

攻击方法:一个攻击这节点通过网络广播多个身份信息,非法地拥有多个身份标识,进行改变交易顺序、阻止交易被确认、误导正常节点的路由表、消耗节点间资源等恶意行为。

女巫攻击可以通过伪造的多个身份进行不公平的重复投票,从而掌控网络。

对抗方法:工作量证明机制文章来源地址https://www.toymoban.com/news/detail-757162.html

3.3 其他攻击

  • 短距离攻击
  • 长举例攻击
  • 币领累计攻击
  • 预计算攻击

到了这里,关于《区块链原理与技术》学习笔记(一)——区块链概念和区块链共识机制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 区块链工作原理,工作机制和详细概念

     各位小伙伴想要博客相关资料的话,关注公众号:chuanyeTry即可领取相关资料! 工作原理         区块链是一种去中心化的分布式账本技术,它的工作原理可以简单概括为以下几个步骤:         1. 交易:区块链中的交易可以是任何数字化的价值交换,例如加密货币

    2024年02月09日
    浏览(38)
  • 区块链的共识与共识机制

    目录 共识定义 为什么要有共识机制? 矿工的本质 共识机制的本质

    2024年02月13日
    浏览(37)
  • 区块链中的共识机制以及共识算法

    目录 什么是共识 什么是共识机制 共识机制类型 1、基于工作证明(Proof of Work PoW) PoW的特点

    2024年02月11日
    浏览(33)
  • 区块链基础之共识机制

    1.1.1核心定义 区块链上的共识机制主要解决由谁来构造区块,以及如何维护区块链统一的问题 1.1.2共识机制分类 1.1.3 共识算法 1.1.3.1 POW(工作量证明) 代表项目:BTC 由于不同的节点接受数据有所区别,为了保证数据一致性,每个区块数据只能由一个节点进行记录。BTC通过“工

    2024年02月10日
    浏览(46)
  • 【区块链】共识机制分支整理

    考虑一致性和共识之间的区别 虽然共识 (Consensus) 和一致性 (Consistency) 在很多文献 和应用场景中被认为是近似等价和可互换使用的, 但二者涵义存在着细微的差别:共识研究侧重于分布式节点达成一致的过程及其算法, 而一致性研究 则侧重于节点共识过程最终达成的稳定状态

    2024年02月05日
    浏览(24)
  • 【区块链】常见共识机制汇总

    PoW - Proof of Work 简述:系统内节点竞争出块,谁先计算出符合要求的区块,谁获得出块奖励 缺点:费电、耗算力 优点:全员参与,完全去中心化 挖矿所得酬金来源:(1)新生比特币(2)交易费 典型场景:比特币 PoS - Proof of Stake 简述:选出一个记账节点,拥有股权大的,被

    2024年02月04日
    浏览(28)
  • 区块链共识机制

    文章前言 区块链是一种分布式数据库技术,已经在金融、物流、医疗等领域得到广泛应用,其中共识机制是确保区块链安全性和可靠性的关键机制之一,共识机制可以确保所有节点对于区块链上的数据和交易的一致性,从而防止双重支付和其他恶意行为,本文将详细介绍区块

    2024年02月12日
    浏览(25)
  • 区块链共识机制 - 创新点思考

    区块链技术,可创新部分涉及四个方面 共识机制 分布式存储 智能合约 密码学 (PS:个人认为比较好出创新点的两个方向是共识机制和智能合约。 研究的话,如果偏理论比如学硕,建议考虑共识机制;如果是偏工程比如专硕,建议考虑智能合约 ) 区块链性能的评价标准,一

    2024年02月16日
    浏览(29)
  • 什么是区块链的共识机制?

    什么是区块链的共识机制? 拜占庭将军问题其实是虚构出来的一个故事,是为了方便通俗地介绍分布式系统所面临的难题。 1982年,Leslie Lamport提出的“拜占庭将军”问题是解释一致性问题的一个虚拟模型。拜占庭是古东罗马的首都,由于地域宽广,守卫的将军需要通过信使

    2024年01月16日
    浏览(29)
  • 区块链的分类和共识机制

    简单来说,区块链是一个分布式的共享数据库,按照时间顺序将数据区块相连,组合成一种链式数据结构,并以密码学方式保证不可篡改和不可伪造。它的主要特点是去中心化、开放性、独立性、安全性、匿名性。北京木奇移动技术有限公司,专业的区块链开发公司,欢迎交

    2024年02月04日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包