区块链
在我们正式进入 Web3 世界前,我们需要了解 Web3 的核心 区块链 blockchain 和相关概念。
基本概念
你可以认为区块链是一个 公共交易数据库,由网络中的许多计算机更新和共享,这些运行着区块链应用的计算机被称为 节点 node,它们组成的 点对点网络 peer to peer network 是 去中心化网络 decentralized network,也可以称为节点网络。节点可以单独 验证和审计 verify and audit 数据,保证所有与区块链交互的人都有相同的数据,确保没有非法行为。
区块 block 是基本的数据结构。每个区块都包含一组 交易 transaction,这些交易已经由节点网络通过 共识 consensus 进行了验证和记录。发起交易时,只有将交易数据成功添加到一个区块中,交易才算成功。
链 chain 指的是区块被链接在一起,也可以说每个区块加密引用其父块。在不改变所有后续区块的情况下,区块内数据无法改变,但改变后续区块需要整个网络的共识,这几乎不可能达成,所以我们一般认为 区块一旦添加到链上就无法更改或删除,从而为网络上所有交易创建了 不可更改的记录。这也表示,网络的当前状态可以随时重新计算,从最开始的区块(创世区块)开始,根据每个区块到目前为止的信息进行状态转换即可。
我们常见的挖矿,其实就是指 挖矿节点 mining node 所做的工作。挖矿节点是另一类节点,它们将网络上进行的新交易 组合成一个区块,验证审计后建议其他所有人将该区块纳入链接中。挖矿的计算难度很大,而且安全挖矿非常重要,因此,区块被接受的挖矿者会因其辛勤工作而获得 代币 token 奖励。
区块链的使用解决了双重支付(又称一币多付、双花攻击,英文 double-spending)问题,同一笔数字货币不可能被重复花用两次或更多次。
区块链是在 2009 年中本聪发布比特币网络时开始推广的。随着时间推移,更多更强的区块链网络涌现,比如我们接下来主要学习的 以太坊 Ethereum。