区块链基础知识

区块链定义

区块链作为一个分布式数据库。主要做的还是信息存储的工作,只是通过其各类机制,在不需要第三方机构介入的前提下让有共同需求但并不互相信任的实体之间也能以相对较低的代价达成一致,从而满足需求,除此之外,系统还有加密认证、高透明度等特性,能够满足一些业务需求。

  • 只有增加和查询两种操作
  • 共识机制来共同记账
  • 容易追溯历史记录
  • 历史记录几乎不可篡改
  • 每个节点要永久保存历史记录

区块链类型

私有链

  • 应用于某一个特定领域或者只是在某一个企业运行的区块链

    主要是用于解决信任问题,如跨部门协作等场景,一般不需要外部机构来访问数据。

公有链

  • 公开的交易

​ 公开的交易,往往用于一些需要交易/数据公开的业务,如认证、溯源、金融等场景,比如比特币、以太坊和EOS等。SSS

联盟链

  • 节点需要验证权限才能参与到区块链网络

​ 最大的特征是节点需要验证权限才能参与到区块链网络中,而认证一般都是与其现实角色所关联的,因此,联盟链也具有中心化的属性,但效率、拓展性和交 易隐私则大大提升了。值得一提的是,联盟链往往不需要代币来作为激励,而是将参与的各个节点作为记账节点,通过区块链机制实现跨部门之间的业务协同 所带来的经济效益作为内部激励,是一种更健康、更符合企业应用的方式。

区块链系统组成基本框架

数据层 -> 网络层 -> 共识层 -> 激励层 -> 合约层 -> 应用层

数据层

底层物理存储结构,通过哈希指纹和密码学将交易数据打包成块并首尾相连。并且运用了密码学中的非对称加密和哈希算法,确保数据难以被篡改

  • 区块(Block): 数据的载体。包含块头(记录前一区块哈希、时间戳、随机数等元数据)和块体(记录具体的交易明细)

image-20260914211738780

1
2
3
4
5
Q:数据为何不可篡改?
A:
【哈希链】每个区块都有自己对应的hash,只要区块的数据有任何变动,当前区块hash就会改变,并且每个区块还会存储上一个区块的hash,如果前面的区块hash改变就会导致其后面所有区块失效。
【共识机制】此机制约束导致重新计算历史数据需要消耗极高的电力、设备或资金成本,在经济和物理上极难做到
【分布式多副本】即使有人花天价在自己电脑里强行重算了假账本,全网成千上万个独立节点硬盘里都保存着一份真实的账本副本。节点之间进行数据比对时,全网会遵循“少数服从多数”原则,**瞬间剔除并拒绝黑客发来的假账本**。

网络层

基于 P2P(点对点)协议,负责全网节点间的数据广播与组网,实现了分布式网络中各节点之间的信息传输与沟通

  • P2P 网络

​ P2P 网络是用于不同用户之间共享信息和资源的一种分布式网络,是一种分布式网络,网络中的每个人都能够得到一份信息备份,而且都有访问权限;

​ 中心化网络是所有人都连接至一个(或一组)中心化网络;

​ 去中心化网络是有多个这样的中心网络,但没有一个单点网络可以拥有所有的信息。

​ 下图很好地解释了它们之间的区别:

  • 传播与验证机制: 当某个节点发起交易或挖出新区块时,通过“野火传播”(Gossip Protocol)的方式迅速广播给全网其他节点。

共识层

共识层是区块链的决策机制(被称为区块链的“灵魂”),解决在没有中央管理者时“谁来记账”和“怎么判定账本真伪”的问题。

常用的共识机制有PoW(Proof of Work)工作量证明,PoS(Proof of Stake)权益证明,DPoS(Delegated Proof of Stake委任权益证明,DBFT(Delegated Byzantine Fault Tolerance)等。

  • PoW 工作量证明 Proof of Work

    谁算得快、消耗的算力多,谁就获得记账权

    通过算力比拼来增加恶意节点的作恶成本。通过动态调整挖矿的难度来让一笔交易时间控制在 10 分钟左右(6 个确认),但随着比特币挖矿越来越火热,消耗资源越来越多,对环境造成破坏;有些矿池拥有大量资源,也会造成一些中心化的风险。

  • PoS 权益证明 Proof of Stake

    通过权益(一般是代币)持有者进行投票来达成共识,这种机制不需要像工作量证明一样进行大量的算力比拼,但是也有一些风险,称为Nothing at Stake问题,很多权益持有者会在所有区块都投注并从中获利。为了解决这个问题,系统设置了一些规则,如对同时在多个链创建区块的用户/在错误链上创建区块的用户设置一些惩罚机制。目前以太坊正在向这种共识机制转变。

  • DPoS 委托权益证明 Delegrated Proof of Stake

    选举出超级代表(Super Representative,简称 SR),即网络的指定区块生产者(或出块节点/Block Producer)。这些 SR 负责验证交易数据并将其记录到账本中,随后将包含新账目的区块广播至全网,并获得其他节点的认可。

    维度 PoS(权益证明) DPoS(委托权益证明)
    治理模式 直接民主(类似于股东大会) 间接/代议民主(类似于选举董事会)
    记账权限 所有满足质押门槛的节点直接参与出块/验证 仅有被选出的少数超级节点(如 21/101 个)有权出块
    出块节点规模 极其庞大(以太坊有数十万个活跃验证节点) 非常少且固定(通常为 21 ~ 101 个)
    性能 (TPS) 中等~较高(受限于全网海量节点的同步效率) 极高(几千 TPS,秒级甚至毫秒级出块)
    去中心化程度 较高,抗审查和抗单点故障能力强 较低,节点容易合谋或形成资本寡头
    节点硬件要求 普通服务器或家用节点即可参与 对超级节点的计算能力与带宽要求极高
    代表应用 以太坊(Ethereum)、Cardano(ADA) EOS、波场(TRON)
  • PBFT 实用拜占庭容错算法 Practical Byzantine Fault Tolerance

    PBFT 不依靠“挖矿算力”,而是依靠已知身份的节点之间进行多轮明名投票表决。假设系统中有 N 个节点,最多允许 f 个节点作恶或故障,系统必须满足
    $$
    N \ge 3f + 1
    $$
    (例如:允许 1 个节点作恶,全网至少需要如下个节点)。

    $$
    3 \times 1 + 1 = 4
    $$
    预准备阶段(Pre-Prepare):

    主节点(Primary)将收集到的交易打包成区块,生成编号并广播给所有从节点。

    准备阶段(Prepare):

    从节点收到区块并校验无误后,向全网其他所有节点广播“Prepare 消息”。当任意节点收到了包括自己在内的 ≥2f + 1 个节点发送的 Prepare 消息时,说明全网多数节点已对该区块的顺序达成一致,进入 Prepared 状态。

    提交阶段(Commit):

    节点继续向全网广播“Commit 消息”。当任意节点再次收到如下个**≥ 2f + 1** Commit 消息时,该区块即被正式写入本地账本,完成最终确认。

激励层

  • 经济系统:通过发行代币(Token)或手续费机制奖励贡献算力或资源的节点。

  • 良性循环:鼓励更多节点参与维护网络安全和记账。

合约层

  • 智能合约:基于事件触发的可执行代码,满足条件时自动执行合同条款。

应用层

  • 具体场景:直接面向用户的各种终端应用。

钱包(Wallet)基础

定义

钱包(Wallet)是一个管理私钥的工具,数字货币钱包形式多样,但它通常包含一个软件客户端,允许使用者通过钱包检查、存储、交易其持有的数字货币。它是进入区块链世界的基础设施和重要入口。

类型