如何理解区块链

· 2840 字 · 6 分钟 · 黄国政

区块链与区块链网络 #

区块链 #

区块链就是由「区块」和「链」来组成的一种结构——「区块」内包含交易记录等信息和过去的区块摘要(哈希),一条「链」按照顺序,只可以连接两个「区块」。

区块链的核心逻辑是「链」,但为了更好地对其进行理解,我们需要先讲讲什么是哈希(Hash)。

哈希,简单来说就是将任意长度的数据,通过算法变成一串固定长度的代码,这段代码可以被理解为区块的唯一标识。每个区块都同时拥有两种哈希值,其一是「自身的哈希值」,其二是自身连接着的「上一个区块的哈希值」。那么这有什么作用呢?这里就很好体现了区块链「不可篡改」的特性:每个区块里的数据一旦确定就会生成一个「自身的哈希值」,假设对区块 X 中的交易记录进行篡改,区块 X 中「自身的哈希值」(0111)就会发生剧变,同时,由于区块 X 中还标示着上一个区块 Y「自身的哈希值」(0110),区块 X 和区块 Y 之间的连接会因此而断裂。

除了「不可篡改」外,区块链还有两个特性。一个是「公开透明与匿名」——公开透明在于区块链上的信息,每个人都可以顺着区块与链找到历史上的记录进而查看钱包余额,匿名在在与不知道这是谁的钱包;另一个则是「快速交易」——无论金额地点,只要交易记录被打包于区块链中即可自动完成交易。

由以上这些「不可篡改」、「公开透明与匿名」和「快速交易」三个特点,可以将区块链总结为一种去中心化分布式数据库或记账账本。

区块链网络 #

我自己没能看懂这幅图,还是求助了 Gemini。图中的黑色圆圈是节点,也是网络服务提供商(矿工)——其实也可以理解为一部管理账本的电脑,黑色的连接线把各个节点连接起来,但其中没有处于中心的对象,所有节点都彼此连接成了一张网,即便其中一个节点故障了,也不影响其他节点运行。剩下的紫色与黄色链条则是前面说到的区块链——每个节点/网络服务提供商都有着一样的区块链。换句话说,所有人都在共同维护一样的账本。

在 Gemini 辅助的基础上,我区分了「区块链」和「区块链网络」。「区块链」是「区块」与「链」,本质上相当于存储着一定信息——包括前面说的交易记录、哈希值——的文件,放在上图中则是黄色与紫色链条的部分,但「区块链网络」则是囊括了黑色节点、连接线还有区块链的整体。打一个不恰当的比喻,「区块链网络」就像一群连接起来的电脑,它们共同运行和管理同样的账本——也就是一个个有着同样信息的区块链。所有节点都盯着这些区块链,而由于区块链的信息一样,一旦局部发生改变就会牵一发而动全身。

所以我们说区块链网络不可篡改。如果真要篡改,修改区块链数据记录的节点需要超过 51% 才可以得到认可,真正篡改所有的区块链——篡改掉整个账本。但这是极难的,首先,区块链网络分布在全球,一个人显然无法控制大部分节点。其次,更改 51% 的节点需要巨量算力成本,代价很大——一个人的算力高于其他所有人(但如果有这样的能力了,也可以被视为最大既得利益者了),而且以这种方式更改账本挖出的币将不被市场认可

实际运行 #

我们以流程图来进行展示实例。

比特币 #

理解了「区块链网络」的概念后,就方便理解什么是比特币了。简而言之,在我看来,比特币或许可以被理解为一种在「奖励」的基础上形成的独特虚拟货币

首先是关于其来源。如前所述,在「区块链网络」之中,所有的节点都会管理同样的区块链,但这背后的问题是为什么一个陌生人要帮助另一个陌生人记账呢。比特币由此应运而生,作为一种代币奖励来激励网络服务商提供服务,相应地,网络服务提供商被称作「矿工」,提供服务也就是管理区块链的过程就是「挖矿」了。

其次是其货币属性。比特币的设计决定了其数量有限,最多只能达到 2100 万个,因而被视为「数字黄金」,同时区块链的不可篡改性使得人们对比特币的信任度更高,同时比特币可以被自由转账,便可被当作资产。

Tips
由于区块链是去中心化的,因此在区块链上的操作都需要支付手续费给网络服务提供商。这个手续费通常称为燃料费(Gas Fee),正如开车到达目的地时需要消耗汽油一样。

区块链类型 #

公链 #

  • 人人都可以加入节点成为维护者
  • 所有数据信息都公开可见
  • 决策去中心化
  • 由于人太多,决策效率较慢(交易确认)
    • 具体来说,由于去中心化决定了所有网络节点都在维护同一份账本,因此待所有节点同步到最新区块会很耗费时间,例如在一个群体中,一个人给另一个人借钱,所有人都是见证人,但可能得等到一段时间才能确保每个人都知道并且确认这笔交易是真实的。不过,也正因为人多才有安全——一份账本有足够多的人看见才有安全性。

联盟链 #

  • 加入节点需要得到多位联盟成员中的一位的认可,不同的联盟对数据管理的权限不同
  • 数据信息仅联盟内部成员可见
  • 决策多中心化
  • 相比于公链,联盟链在数据管理上的总体特征表现为效率更高、隐私性更强

私链 #

  • 加入节点需要得到一位决策者的同意
  • 数据信息只有内部人员可见
  • 决策中心化,决策者权限最高
  • 效率和隐私最高,但最为缺乏透明性

区分 Web2.0, Web3.0 与 Web3 #

Web2.0 Web3.0 Web3
数据控制权/主权 中心化;平台垄断 部分开放 去中心化;用户所有
数据存储 中心服务器 混合存储 区块链/IFPS
技术栈 JavaScript; React RDF; OWL Solidity; Rust; React
支付媒介 信用卡/支付宝/微信 集成支付 加密货币

去中心化的优势与挑战 #

优势:

  • 无需依赖中心化第三方,共识算法和加密证明降低信任成本
  • 数据分布存储在多个节点,单点故障或攻击难以完全破坏网络
  • 用户高度掌控资产与数据,平台难以干涉,拥有更高隐私权和所有权

挑战:

  • 去中心化与匿名特性和先行法规存在冲突
  • 用户使用体验与去中心化程度之间需要平衡
  • 公链在节点众多时共识效率较低,延迟问题突出

个人心路 #

或许正是因为每个人的背景不一样,有些人早已涉足过 Web3,第一天分布的「创建钱包,并尝试测试币转账」的任务就有学员在做了,他们说着我看不懂的行话,例如「mint」、「钱包地址」、「挖币」……这让我感到有些焦虑。但我想这种对未知的恐惧也是一种锻炼,越是未知,越是要保持冷静,想清楚自己的定位,自己究竟要学什么,怎么学——既然真的是完全小白,就做到小白能做到的,将基础打好即可,做到自己能做的。一步一步来,不要妄自菲薄,也不要好高骛远。

不过说实话,我有些讨厌「炒币」这类事情,不知道是不是有的学员就奔着这一点来呢?我更喜欢 Bruce 说的「开源」、「建设」,很期待 Bruce 要分享的关于 Web3 的全貌,而不是所谓狭隘的比特币。


一天下来,发现许多其他行业的学员都想加入 Web3,大家都很期待能在这里转行,找到一份实习或者工作。我觉得对自己的定位还是不够清晰,我i似乎多少受到大家的影响,又或者说忧虑起两年后的就业,但这样一想就会患得患失。与其如此,其实回归一开始的潜心学习技术,学多少是多少才是王道吧……唉,适度的焦虑是合适的,但过度焦虑就感觉迷失了方向。

具体来说,我应该明确自己最终的目的不是非找到 Web3 的工作或者必须进入 Web3 行业,而是带着一颗纯粹的心去探索、了解,能做多少是多少——对待做事,态度应该是我们必须全力以赴,同时又不抱任何希望。不管做什么事,都要把它当作是全世界最重要的一件事,但同时又知道这件事根本无关紧要。

能学到东西,就很棒啦,加油,坚持下去!