什么是区块链?它是如何运作的?
什么是区块链?一份关于区块、哈希、节点和共识的通俗指南,介绍区块链擅长什么、不足在哪里以及主要风险。
区块链是一份共享的数字交易记录,它被复制到许多独立的计算机上,并打包成一个个区块,每个区块都通过密码学与前一个区块相连,因此在不被所有人察觉的情况下修改过去的记录极其困难。参与者不必信任某一家公司来记账,而是遵循共同规则,就哪些交易有效以及它们的先后顺序达成一致。
一份不属于任何人、却人人都能核验的账本——正是这个理念让 Bitcoin 这样的加密货币成为可能。它也是智能合约、稳定币和代币的基础。理解了基本机制,加密世界的其他部分就会容易理解得多。
基本构件:交易、区块和哈希
交易就是诸如“从地址 A 向地址 B 发送 0.1 个币”这样的指令。它由发送方的私钥签名,在不暴露私钥本身的情况下证明所有者已经批准。我们关于公钥和私钥的指南解释了签名是如何运作的。
交易被汇集到一个区块中。每个区块包含一批交易、一个时间戳以及前一个区块的哈希。哈希是由数学函数生成的简短数字指纹:输入哪怕只改一个字符,指纹也会完全改变。我们的文章什么是加密货币?数字货币如何运作对此有进一步阐述。
由于每个区块都包含前一个区块的哈希,这些区块就形成了一条链。如果有人试图篡改一笔旧交易,该区块的哈希就会改变,从而打断与下一个区块、再下一个区块……一直到当前的所有链接。每个诚实的节点都会立即拒绝被篡改的版本。
节点:同一账本的众多副本
节点是运行区块链软件的计算机。全节点会下载完整的历史记录,并依据规则独立检查每一笔交易和每一个区块:签名是否有效?发送方是否真的拥有这些资金?区块的格式是否正确?我们的文章什么是加密货币?写给新手的清晰指南对此有进一步阐述。
由于任何人都可以在公有区块链上运行节点,因此不存在可以被关停或收买的单一服务器。如果某个节点下线或撒谎,其他节点会直接忽略它。这就是人们称区块链“去中心化”的含义,不过不同网络的去中心化程度差别很大。我们在什么是区块链?通俗解释中有更详细的介绍。
共识:网络如何达成一致
节点需要一种方式来商定下一个区块是哪个,尤其是在同时出现两个有效区块时。这个过程称为共识。最常见的两种方式是:
| 工作量证明 | 权益证明 | |
|---|---|---|
| 由谁添加区块 | 竞相求解计算难题的矿工 | 按锁定币量比例选出的验证者 |
| 作弊的代价 | 巨大的算力和电力 | 大量可能被罚没(slashing)的质押币 |
| 能耗 | 高 | 低得多 |
| 示例 | Bitcoin | 2022 年以后的 Ethereum |
这两种设计都让改写历史的代价极其高昂。要修改过去的区块,攻击者必须控制大部分算力或质押价值,这种情形被称为51% 攻击。在大型网络上这不现实;在小型网络上则确实发生过。更多细节请参阅工作量证明详解和权益证明详解。
一笔交易如何在区块链中流转
当你从钱包发送加密货币时,会发生以下过程:
- 1钱包创建交易,并用你的私钥签名。
- 2签名后的交易被广播给各个节点,节点检查后将其放入名为内存池(mempool)的等待区。
- 3矿工或验证者挑选交易(通常优先选择手续费更高的),并将它们打包进一个新区块。
- 4新区块被分享到网络上,节点验证后再将其加入自己的账本副本。
- 5随着后续区块不断叠加,这笔交易越来越难以撤销。这称为确认,许多服务会等待多次确认后才把一笔付款视为最终完成。
你可以用区块浏览器亲眼看到这一过程,它是展示公共账本的网站。我们的如何使用区块浏览器指南会教你怎么做。
区块链擅长什么(以及不擅长什么)
当彼此不信任的人需要一份谁都无法暗中修改的共享记录时,区块链最能发挥作用:
- 无需银行即可全球发送的数字货币。
- 代表各类资产的代币,从稳定币到代币化基金。
- 智能合约:完全按照编写内容执行的程序,用于借贷、交易等。
- 以透明为目的的公开审计记录。
如果已经有可信的运营方,而且速度比开放性更重要,区块链就不太合适。传统数据库更快、更便宜,出错时也更容易修正。区块链也有实实在在的取舍:吞吐量有限,需求高时手续费飙升,错误通常无法撤销。许多企业里的“区块链”项目其实根本不需要区块链。延伸阅读:ICO、IEO 与 IDO 对比。
风险与常见误解
- “在区块链上”不代表真实或安全。 区块链会如实记录它收到的每一笔有效交易,包括骗局。代币存在于链上,并不能说明它是否正规。
- 透明不等于隐私。 在大多数区块链上,每笔交易都是公开的。地址是化名,但往往可以与真实身份关联起来。
- 不可逆是一把双刃剑。 如果你把资金发到了错误地址,或签署了恶意交易,通常无人可求助。
- 去中心化程度各不相同。 有些网络由少数验证者运营,或可被基金会暂停。在假定某条链和 Bitcoin 一样去中心化之前,请先核实。
总结
区块链是一份由众多独立计算机共同维护、通过密码学串联、并经由让作弊代价高昂的共识过程不断更新的共享账本。它是开放、可核验记录的强大工具,但并不能让建立在其上的项目变得可信。在使用任何币或代币之前,请核实其官方信息和实时数据,例如在我们加密货币列表中的对应页面,并记住:链会像记录你的成功一样忠实地记录你的错误。
常见问题
区块链和 Bitcoin 是一回事吗?
不是。Bitcoin 是区块链技术的一种应用:一种运行在自身区块链上的数字货币。区块链则是维护一份共享且难以篡改的记录的底层方法。Ethereum 等许多其他网络把区块链用于不同用途,包括智能合约和代币。
区块链会被黑客攻破吗?
成熟的区块链极难被篡改,因为改写历史需要控制网络中很大一部分的算力或质押权益。大多数损失发生在别处:有漏洞的智能合约、跨链桥、交易所,或私钥被盗和钓鱼攻击。
谁在控制区块链?
在公有区块链上,没有任何单一方控制账本。被称为节点的独立计算机保存副本并遵循共同规则,验证者或矿工负责添加新区块。但在实际中,控制权仍可能集中在少数开发者、矿池或大额质押者手中,因此不同网络的去中心化程度各不相同。
公有链和私有链有什么区别?
任何人都可以读取、使用并参与运行 Bitcoin 或 Ethereum 这样的公有区块链。私有链或许可链会限制谁能加入和验证,通常仅限经批准的机构。私有链更容易控制,但放弃了公有链最具特色的大部分开放性。
