P2P 网络

要想把白皮书讲的轻松好懂,Peter 觉得可以把它编成一个故事。一般故事开始都要介绍人物地点以及要干的事。对应到我们这里,人物就是比特币网络上的各个节点,地点就是一个没有老大的网络,要干的事情就是实现转账。

节点

所以先来介绍什么是一个节点。

一个节点就是一台计算机。实际中,节点硬件根据自己主要想完成的任务,是有区分的,例如挖矿就用矿机,钱包节点就运行在手机上,但是我们讲白皮书的时候,就简化认为节点只有一种,既能当钱包软件用,也能挖矿,每个节点都是完全一样的。

计算机上安装比特币客户端软件。比特币客户端软件,叫做 Bitcoin Core ,是 Github 上的一个开源项目,任何人都可以免费下载,安装到计算机上。

这样咱们就理解什么是一个节点了。节点就是咱们故事中的人物,以后我们聊的各种操作,要么就是一个节点发出的,要不就是多个节点共同完成的。

P2P 网络

各个节点通过互联网连接到一起,所谓 P2P 网络,是基于互联网来运行的。

P2P 网络的意思就是所有节点地位都是平等的。刚才咱们提到了比特币客户端软件,那有没有服务器软件呢?没有,因为比特币网络上根本没有服务器,或者说各个节点都同时互为服务器。没有服务器就意味着所有的事都没有一个核心老大去调度,不管什么功能,都是需要有节点之间平等的商量着来,要是有人故意捣乱,那就需要大家一起来达成共识去解决,这就涉及后续我们要去详细讲的共识机制了。

比特币的这种 P2P 的基本网络结构,跟白皮书《摘要》部分提到的,比特币没有 Trusted Third Party 可信第三方,不需要 Finacial Institution 金融机构,相互呼应,体现出了比特币是一个无中心权威的系统,或者就叫去中心化的系统。

区块链

各个节点聚到一起,是为了维护一个大账本,这个账本就是区块链。

首先要理解交易的概念。如果我想操作我的节点进行转账的时候,就会构建一条数据,其中包含我要转给谁多少个币。这条数据就叫做一条交易。然后我把这条交易广播到全网。

那区块链是什么呢。每隔十分钟,网上的交易会被收集到一起并且打包成一个区块。后一个区块中都会包含前一个区块的 ID ,也就是说给定新区块能找到上一个区块,所以就连成了一条链,也就是区块链。

上述的两步内容,在白皮书《网络》部分能看到,但是究竟是哪个节点有权力制作区块,以及白皮书的这部分提到的制作区块的时候需要运算工作量证明等等一些细节,都是跟共识机制相关的,课程后续章节中再去做深入讨论。

总结

这样,我们就把比特币网络的基本结构介绍完毕了。很多节点组成了一个 P2P 的网络,各个节点通过平等协作来完成转账任务。