区块链学习笔记

一、区块链概述

1、什么是区块链

        区块链是一种去中心化的分布式数据库技术,它以链式数据结构的形式存储数据,每个数据块与前一个数据块相关联,形成了一个不断增长的数据链。每个数据块也就是区块中,包含了一定时间内一定数量的交易信息或其他数据,这些数据经过加密和验证后按时间顺序被添加到区块链上。由于每个数据块都包含了前一个数据块的哈希值,因此任何尝试篡改数据的行为都会被迅速地检测出来。区块链网络中的节点都拥有完整的账本副本,它们通过共识机制来验证和确认新的区块,确保网络中数据的一致性和完整性。

以图形的形式进行解释如下:

[区块1] ← [区块2] ← [区块3] ← ... ← [区块N]  
     |        |       |              |  
    哈希      哈希      哈希            哈希  

名词解释:

1.去中心化:“去中心化”指的是不依赖于一个中心节点来控制和管理系统。在区块链中,去中心化意味着没有单一的权威机构来控制整个网络,而是由众多节点共同维护和管理数据。每个节点都具有相同的权利和地位,可以参与数据的验证、存储和传输等操作。这样可以提高系统的安全性和可靠性,避免单点故障和权力集中带来的风险。

2.区块:“区块”指的是一组数据的集合,通常包含了一定数量的交易记录或其他类型的信息。其具有的特征如下:

【1】数据:包含一定数量的数据,这些数据可以是交易记录、智能合约代码、数字资产所有权证明等。

【2】区块头:区块头是区块的元数据,包含了与该区块相关的一些重要信息,如区块的哈希值、父区块哈希值、时间戳、随机数等。

【3】哈希值:每个区块根据整个区块的内容由哈希函数生成(如SHA-256)的唯一哈希值,类似于区块的“唯一指纹”。任何数据的改动都将导致哈希值发生变化。

【4】父哈希值:每个区块的‌区块头‌包含‌前一个区块的哈希值‌,以此形成一条不断链接的区块链,任何改动都会破坏其连续性,因此其确保了数据的连续性和不可篡改性。

【5】挖矿难度/目标哈希:定义当前区块哈希计算的目标值,动态调整以维持区块生成速度稳定‌。

【6】交易记录:每个区块通常都包含了一定数量的交易记录,这些交易记录是网络中用户之间的价值转移。

3.哈希值:“哈希值”是通过特定的哈希算法对数据进行计算得到的固定长度的数值。在区块链中,每个数据块都包含了前一个数据块的哈希值,这使得数据块之间形成了链式结构。哈希值具有唯一性,即使数据发生微小的变化,其哈希值也会完全不同。这一特性使得任何尝试篡改数据的行为都会被迅速地检测出来,因为篡改后的数据块的哈希值将与原数据块的哈希值不匹配。

2、区块链特性

1)哈希值链接

        每个区块的‌区块头‌包含‌前一个区块的哈希值‌(如区块2的头部包含区块1的哈希)。

        哈希值由哈希函数生成(如SHA-256),类似于区块的“唯一指纹”。

2)链式结构

         区块按时间顺序链接,形成不可逆的链条。

3)去中心化存储

        所有区块分布中网络的多个节点(计算机)上,无单一控制点。

         每个节点保存完整的区块链副本,确保数据透明和防篡改。

4)不可篡改性

        •  篡改某个区块需要同时修改其后所有区块,并在51%节点上覆盖,这在实践中几乎不可能。

5)共识机制

         新区块通过共识机制(如工作量证明Pow、权益证明PoS)被验证并添加到链上,确保全网一致认可。如何使得新区块在当前范围内被共识呢?当一个新的区块被创建时,它会被广播到整个网络中,其他节点会验证区块的有限性,然后将其添加到自己的区块链上

3、区块链的几大原则

1)分叉与临时区块竞争‌

         当网络中有多个节点同时生成新区块时,可能产生‌临时分叉‌(多个候选区块并存)。此时,节点会根据‌共识机制‌(如PoW或PoS)选择其中一个区块作为主链的延伸,其他未被选中的区块会被暂时保留或废弃‌。

2)最长链原则生效

        • 区块链网络遵循‌最长链原则‌:节点默认接受累计工作量最大(或权益最高)的链为主链。若某分支的后续区块生成速度更快,其他分支的区块会因不符合主链要求而被丢弃‌

3)已确认区块不可逆

         一旦新区块被足够多的节点验证并添加到主链(如比特币需6个确认),该区块即视为‌不可篡改‌。此时,其他正在处理但未形成有效链的区块会作废‌

4)网络同步与冲突解决

         新区块广播后,节点会同步最新链状态。若检测到冲突,节点将自动切换至最长有效链,并终止对无效链上区块的验证和打包‌

示例流程

  1. 节点A生成区块N并广播至网络;
  2. 节点B在未收到区块N时生成了竞争区块N'并广播;
  3. 网络根据共识机制选择区块N作为主链的一部分(例如因其先被多数节点接收);
  4. 区块N'因未被后续区块链接而失效,相关交易需重新打包到新区块中‌。

结论‌:新区块被广泛接受后,与之冲突的其他区块会作废,但已确认的区块不受影响。这一机制通过‌共识规则‌和‌去中心化验证‌保障了区块链的一致性与安全性‌

4、区块链的分类

区块链可以根据不同的特性和应用场景进行分类,主要包括以下几种类型:

1)公有链

         公有链是一种完全开放的区块链网络,任何人都可以参与其中,查看链上的所有数据,提交交易和创建智能合约。比特币和以太坊就是典型的公有链。公有链通常具有去中心化、透明和不可篡改的特性,但也面临着性能和隐私性方面的挑战。

2)私有链

         私有链是由单个组织或实体控制和管理的区块链网络,参与者必须经过许可才能加入,并且只有被授权的用户才能访问数据和执行交易。私有链通常用于企业内部或特定合作伙伴之间的数据共享和业务流程优化,例如供应链管理或企业内部结算。

3)联盟链

         联盟链是由多个组织或实体共同管理的区块链网络,参与者通常是事先经过认证或授权的实体,具有一定的信任关系。联盟链相对于私有链更具有去中心化特性,但相比公有链更具有权限控制和隐私保护的功能。联盟链通常用于跨组织间的数据共享和合作,例如跨国企业联合进行供应链管理。

4)混合链

         混合链结合了公有链和私有链的特性,可以同时实现开放性和权限控制。例如,一个混合链可以在公有链上公开某些数据,同时在私有链上进行特定的业务流程处理,从而实现数据的公开透明和隐私保护的平衡。

⬆️ ⬆️ ⬆️

这些不同类型的区块链适用于不同的应用场景和需求,选择合适类型的区块链对于实现特定的商业目标和技术要求非常重要。

5、区块链的加密方式

1)对称加密

         对称加密的底层是加密和解密都采用同一个密钥(即共享密钥),当区块链节点间需要高效传输大量数据(如区块内容)时,可能使用对称加密(如AES)对通信内容加密,确保传输过程的机密性。其优点在于?加解密速度快,适合处理海量数据。资源消耗低,适合物联网等低算力场景其缺点在于?需安全共享密钥,在去中心化网络中难以实现。无法确认消息发送者的真实性

2)非对称加密

         非对称加密使用‌公钥私钥‌配对。其优点在于?公钥可公开,私钥自行保管,解决密钥分发难题。提供身份认证和防篡改功能。公钥通过哈希算法(如SHA-256、RIPEMD-160)生成区块链地址(如比特币地址),保护用户隐私。用户用‌私钥‌对交易签名,全网节点用对应的‌公钥‌验证签名,确保交易的真实性和不可抵赖性(如比特币交易)其缺点在于?加解密速度慢,不适合处理大量数据。密钥管理复杂(如私钥丢失将永久失去资产访问权)

3)其他加密

         除了对称加密和非对称加密以外还存在着其他的加密方式,如用哈希算法进行加密,如现在常见的MD5加密、SHA-256加密(比特币采用)等。还有其余算法等加密方式,如Base64加密等。

名词解释:

1.公钥:公开可见,用于加密数据或验证签名。

2.私钥:用户私有,用于解密数据或生成签名。

3.哈希算法:将任意长度的输入数据转换为固定长度的唯一哈希值(如SHA-256输出256位哈希值),具有‌单向性‌(不可逆)和‌抗碰撞性‌(不同输入难以产生相同哈希值)‌。

6、区块链网络架构

1)分层架构模型

数据层区块、链式存储由区块头(包含哈希、时间戳、Merkle根等)和区块体(交易数据)组成,通过哈希指针形成链式结构‌。所有交易按时间顺序记录在区块中,确保数据不可篡改‌。通过Merkle树验证数据完整性,时间戳保障交易时序性‌。
网络层‌P2P动态组网、数据传输节点通过点对点协议直接通信,无需中心服务器‌。新节点通过发现协议加入网络,同步账本状态并维护交易列表‌。
共识层共识机制‌确保所有节点对账本状态达成一致。通过工作量证明(PoW)、权益证明(PoS)、拜占庭容错(BFT)、权威证明(PoA)等‌。‌
激励层经济模型、质押与惩罚通过代币奖励激励节点参与记账与维护(如比特币的挖矿奖励)‌。节点需抵押代币以保证诚信,违规时扣除质押金‌。
合约层智能合约基于图灵完备虚拟机(如以太坊EVM)实现自动化执行协议,支持复杂业务逻辑‌。
应用层行业场景金融、供应链、医疗等领域通过DApp(去中心化应用)实现业务上链‌。

7、网络拓扑结构

区块链网络通过不同拓扑设计实现高效通信与数据同步‌

1)全网独立节点结构

        • 在这种结构中,每个节点都是独立的,它们彼此不连接,各自维护着完整的区块链数据。这种结构的优点是每个节点都具有完全的去中心化性质,但缺点是节点之间的通信和数据同步需要大量的带宽和时间。

2)点对点网络结构

         这是最常见的区块链网络结构之一。在点对点网络中,各个节点相互连接,形成一个去中心化的网络。节点通过直接连接到其他节点来交换数据和信息。这种结构的优点是去中心化程度高,且节点之间的通信相对高效。

3)主从结构

         这是最常见的区块链网络结构之一。在点对点网络中,各个节点相互连接,形成一个去中心化的网络。节点通过直接连接到其他节点来交换数据和信息。这种结构的优点是去中心化程度高,且节点之间的通信相对高效。

4)环形结构

         在环形结构中,节点之间形成一个环形连接,每个节点与相邻节点相连接。这种结构的优点是节点之间的通信路径较短,但缺点是容易出现环路和通信拥堵。

5)树形结构

         在树形结构中,节点按照层级连接,形成一个树状结构。树的顶端是根节点,底部是叶子节点。这种结构的优点是可以提高数据传输效率,但缺点是可能存在单点故障和中心化风险。

二、分布式存储

        什么是分布式存储?分布式存储是区块链和去中心化技术的核心组成部分,其目标是将数据分散存储在多个节点上,通过冗余、分片、加密和共识机制确保数据的‌安全性‌、‌可用性‌和‌抗审查性‌

1、常见的分布式存储技术和系统

1)分布式文件系统

        • DFS将文件分布存储在多个节点上,并提供统一的文件访问接口。例如,Hadoop的HDFS和Google的GFS。

2)分布式对象存储

         对象存储将数据以对象的形式存储,并通过唯一的标识符来访问。对象存储系统通常具有高可扩展性和高性能。常见的对象存储系统包括Amazon S3、OpenStack Swift和Ceph。

3)分布式数据库

         分布式数据库将数据分布存储在多个节点上,并提供分布式查询和事务处理能力。常见的分布式数据库系统包括Apache Cassandra、MongoDB、HBase等。

4)分布式缓存

         分布式缓存将数据缓存在多个节点上,以提高数据访问性能和降低系统负载。常见的分布式缓存系统包括Redis、Memcached等。

5)分布式日志系统

         分布式日志系统用于记录和复制大量的日志数据,通常用于构建可靠的消息传递和事件流处理系统。常见的分布式日志系统包括Apache Kafka、RabbitMQ等。

        分布式存储系统通常面临数据一致性、数据分区、负载均衡等挑战,因此需要采用合适的数据复制、分片和路由策略来解决这些问题。同时,分布式存储系统也需要考虑数据安全、数据备份和恢复等方面的需求,以保障数据的可靠性和安全性。

------------------------------------------------------------------------------------------------------------------------

本文部分内容参考原文链接:https://blog.youkuaiyun.com/m0_68949064/article/details/138346531

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值