一文搞懂区块链
区块链的诞生,源于对 电子货币(e-money) 的探索需求,即Bitcoin的产生。因此,了解的小伙伴应该知道区块链的常见定义是:不可篡改的分布式账本。
为什么发明"账本",而不是直接发明"货币"?
账本的核心功能是记录 资产的所有权及其转移。只要有一个清晰可靠的账本,就能解决资产的所有权归属和流转问题。
现实中的账本与中心化体系
- 纸币 本质上也是一种"账本",它被国家和社会认可,代表一种价值。
- 传统金融体系由中心化机构(如银行、政府)维护账本,这些机构负责记录货币发行总量及价值体系。
- 问题:中心化账本依赖机构的可信度,容易受篡改、腐败或单点故障的影响。
区块链的目标 是通过去中心化的账本解决信任问题,从而实现无需依赖中心机构的电子货币。
区块链与支付宝的区别
许多人可能会疑问:"电子货币不就是支付宝吗?"
支付宝的局限性
支付宝属于 中心化平台 ,用户需要完全信任阿里巴巴。然而,区块链旨在构建一种 无需信任(trustless) 的电子货币系统,依靠 算法和共识机制,而非中心化机构的控制。
区块链的信任机制
区块链通过分布式网络和共识机制,让 所有参与者共同维护账本,从而避免单一机构的垄断和人为操控。
去中心化账本的设计
为什么选择分布式?
- 抗垄断:所有参与者共同维护账本,防止单个机构操纵数据。
- 抗单点故障:即使某些节点失效,账本仍然可以通过其他节点恢复。
区块链的核心概念
区块链(Blockchain)是一个 区块链式的账本,其结构可以简单描述为:
- 链式结构:区块链由多个区块(Block)组成,每个区块依赖于前一区块的哈希值,形成一条链(Chain)。
- 分布式存储:账本副本分布存储于所有参与节点。
看这张图Block 2的hash等于Block 3的prev,意思就是Block 3是指向Block 2的,那如果有人改了Block2的data,那Block 2的hash会随之改变,小伙伴可以先去了解一下什么是hash(哈希函数)。
区块链如何实现"不可篡改"?
区块链并非完全不可篡改,而是篡改的 成本高到不值得尝试。
核心技术:哈希函数和工作量证明
- 哈希函数:每个区块包含前一区块的哈希值(一个加密摘要),任何修改都会使该区块及其后的所有区块的哈希值失效。其实想改也行,就是所有的nonce需要重新计算,那样才能保证一个block指向一个block。
- 工作量证明(Proof of Work):整个重新算的过程就叫PoW。
篡改难度分析
假设试图篡改第 2 个区块的内容:
- 必须重新计算第 2 个区块及其后续所有区块的哈希值。
- 同时需要超过网络中 51% 的算力(即 51% 攻击),否则其他节点会拒绝该篡改。
区块链的共识机制
区块链的"不可篡改"依赖于共识机制的设计:
- 51% 攻击的代价:若攻击者控制了 51% 的算力,理论上可以篡改数据。但此时攻击者已经是整个网络的主导者,继续维持网络的正常运行会比篡改更有利可图。
- 共识原理:通过提高篡改成本,使得不诚信行为变得不可行。
区块链的价值在于构建一个 高成本篡改、低成本验证 的分布式账本,为电子货币及其他应用场景提供去中心化信任的解决方案。