什么是区块链?

区块链技术是一种去中心化分布式账本技术,它能够安全地记录交易信息,并防止数据被篡改。你可以把它想象成一本“公开账本”,所有参与者都可以查看,但没有人可以随意更改过去的记录。


区块链的基本概念

  • 区块(Block):包含若干条交易记录的数据包。
  • 链(Chain):每个区块通过加密哈希链接在前一个区块之后,形成一个链条。
  • 去中心化:没有中心服务器,数据分布在多个节点上。
  • 共识机制:网络节点之间达成一致的方法,比如工作量证明(PoW)、权益证明(PoS)等。
  • 不可篡改性:一旦数据写入区块链,就几乎不可能更改。

区块链是如何工作的?

  1. 发起交易

    用户在区块链网络中发起一个交易,比如转账。

  2. 交易广播

    这笔交易会广播到整个网络,所有节点都能接收到。

  3. 交易验证

    节点通过算法验证交易是否合法,例如:

    • 发送方是否有足够的余额;
    • 数字签名是否有效。
  4. 打包成区块

    验证通过的交易会被打包进一个新区块。

  5. 达成共识

    通过共识机制选择一个节点把新区块加入链上(例如通过计算难题来竞争记账权)。

  6. 写入区块链

    区块一旦被添加,就广播到全网,所有节点都同步更新。

  7. 不可篡改记录

    每个区块都包含前一个区块的哈希值,如果试图篡改历史数据,就会破坏整个链。


区块链的主要特性

  • 透明性:交易对所有人可见。
  • 安全性:通过加密保障数据安全。
  • 去信任:不需要信任任何单一中介机构。
  • 可追溯性:所有交易都有完整记录。

image.png

什么是挖矿?

挖矿一开始是指在POW共识机制下,通过计算来争夺记账权,并获得加密货币奖励的过程。

挖矿本质上就是将交易打包成一个区块然后出块的过程,而打包交易的人就叫做矿工。至于由谁来打包交易,这就由共识机制决定。

共识机制

https://blog.hoshinobunny.xyz/2024/11/13/%E5%8C%BA%E5%9D%97%E9%93%BE%E4%B8%AD%E7%9A%84%E5%85%B1%E8%AF%86%E7%AE%97%E6%B3%95/

共识机制作用是用来选出每一个区块的出块人,并对打包的区块进行验证,区块经过全网络验证通过后就会正式上链。

BTC——PoW(Proof of Work 工作量证明)

  • 原理:矿工通过消耗大量计算力解决复杂数学难题,谁先解出,谁就可以打包新区块。
  • 安全性高,但是能耗大(电力消耗高)、交易速度慢(约 10 分钟/块)、扩展性差。
  • 特点:完全去中心化、简单但安全、非常抗审查、所有人都可以加入挖矿。

Ethereum——PoS(Proof of Stack 权益证明)

  • 原理:验证者通过质押 ETH(至少 32 个)参与共识,被随机选中打包区块。
  • 惩罚作恶节点,奖励诚实节点(利息+手续费)
  • 特点:能耗极低(几乎为零)、交易时间缩短(< 15 秒)、更容易扩展(未来支持分片)、去中心化程度仍在优化中(目前验证者多由大机构控制)

Solana——PoH(Proof of History 历史证明) + PoS 混合机制

  • PoH(历史证明) 是一种创新机制,用来:
    • 给所有交易事件生成可验证的时间戳
    • 加快验证速度(减少全网同步等待)
  • PoS(权益证明):参与验证的节点仍需质押 SOL 并通过 PoS 来选出负责打包区块的节点。
  • 特点:超高吞吐量(官方称能达 65,000 TPS)、非常快(区块时间约 400ms)、低手续费、中心化争议较大(节点门槛高,停机事件多)

所有节点都能接收并验证新区块,它们会检查区块内的交易和状态是否和本地计算结果一致,如果不一致,就会拒绝该区块并可能惩罚作恶者。
Ethereum中只有在全网络2/3的节点投票确认区块的有效性后才会上链。
Solana中,通过PoH机制,使得所有节点可以快速验证区块,而且它不需要全网达成共识,只要验证者节点达成一致就可以进行下一轮出块。

智能合约

智能合约是存储在链上的程序,是代码和状态数据的集合。合约程序只能被动执行。

合约程序上链后是不可更改的,但是如果合约支持升级,则该合约逻辑是可以改变的(合约代码不变)。

image.png

合约安全

智能合约安全是指:确保合约行为符合预期、不会被恶意攻击、不会造成资金被盗或永久锁死。

合约安全是智能合约开发中最关键的一环。因为一旦部署,合约代码就不能随意修改,漏洞将导致不可挽回的资金损失。

最经典的就是一个例子就是重入攻击

DAPP架构

DAPP 是运行在区块链上的“去中心化应用”,通过智能合约处理逻辑,前端通常是网页或移动端,用户通过钱包进行交互。

1. 前端层(Web 或 App)

  • 通常用 React、Vue、Next.js 等构建
  • 与用户进行交互(连接钱包、发交易、显示状态等)
  • 借助库如:
    • web3.js、ethers.js、viem.js(与区块链交互)
    • wagmi、web3modal(钱包连接 UI)
  • 调用智能合约的方法(通过JSON RPC)

2. 智能合约层(部署在区块链上)

  • 用 Solidity 等语言编写,部署在如以太坊、Polygon、Solana 等链上
  • 包含业务逻辑,比如:
    • 转账、投票、交易撮合
    • NFT 铸造
    • DAO 投票治理
  • 所有操作都公开、不可篡改

3. 数据与存储层

On-chain(链上数据):

  • 交易记录
  • 状态变量
  • 合约数据(如余额、NFT 拥有者)

Off-chain(链下存储):

  • IPFS / Arweave:存储图片、视频、JSON 元数据等大文件
  • The Graph:提供查询索引服务
  • 后端服务器:仅限缓存、不处理核心逻辑

区块链浏览器

区块链浏览器(Blockchain Explorer)是一个用来查看区块链上所有交易和区块信息的工具。它就像是“区块链的搜索引擎”,让用户可以透明地查阅某条区块链的运行情况。

btc:https://www.oklink.com/zh-hans/btc
ethereum:https://etherscan.io/
solana:https://solscan.io/

区块链浏览器常见的功能:

功能 说明
查看区块 每个区块的编号、高度、时间戳、打包交易等信息
查询交易 通过交易哈希查到交易的状态、金额、发送方、接收方等
查看钱包地址 查看某个地址的余额、交易记录、代币持有情况等
查看网络数据 如出块速度、交易手续费、网络难度、活跃地址数等统计
查看智能合约 查看已部署合约的代码、调用情况、交互记录等(支持智能合约的平台,如以太坊)

什么是WEB3?

阶段 简介 特点
WEB1.0 静态网页 用户只能浏览不能互动
WEB2.0 动态网页 中心化平台、数据归服务提供商所有、网页可互动
WEB3.0 去中心化互联网 用户拥有数据、基于区块链运行

WEB2.0是数据的流动,用户之间可以转移数据。

WEB3.0是价值的流动,用户之间可以通过加密货币(可以认为是有价值的数据)转移价值。

WEB3 的核心理念

  1. 去中心化:不依赖中心化公司(如 Facebook、Google),而是运行在区块链或分布式网络上。
  2. 用户数据主权:用户拥有并控制自己的数据(谁有私钥谁就可以控制这个帐户的数据)。
  3. 加密身份认证:用钱包地址代替用户名密码。
  4. 价值互联网:内建支付能力(加密货币),网络价值可直接转移。
  5. 开放协议:项目之间可以自由组合。