第一课先讲比特币里涉及到的最基础的概念。
第1章什么是P2P网络
P2P网络(peer-to-peer,简称为P2P),又称为对等式网络,也叫说点对点网络。这是一种无中心服务器、完全由客户端交换信息的互联网体系。公众号关注:博森科技小蝶。
和有中心服务器的中央网络不同的是,P2P网络的每一个用户端即是一个客户节点,又具有服务器的功能。P2P网络的一个重要的目标就是让所有的客户端都能提供资源,包括带宽,存储空间和计算能力。这种网络的容量可以远超过有中心服务器的网络。中心服务器结构的网络你每增加一个客户端,就意味着所有用户的数据传输速度要降低,而P2P网络不会。
P2P网络的健壮性也远超过中央服务器结构的网络。因为只要中央服务器出现问题,那整个网络就崩溃了。而P2P网络任意客户端出现问题,整个网络照样正常工作。
比特币系统就是一个P2P网络系统,我们先记下这个概念。
第2章什么是分布式计算
我们知道计算一个简单的数学问题,比如1+1等于几,用一台电脑就够了。但如果要计算一个超级复杂的问题呢?这可以使用多台电脑一起来运算,而如果这些多台电脑都处在互联网上,那它们如何相互链接?如何传递消息和通信?如何协调各自的任务和分工?这些问题就是分布式计算系统要解决的事。
分布式系统是一系列电脑,通过网络相互链接传递消息与通信后并协调它们的行为而形成的系统。电脑之间彼此进行交互以实现一个共同的目标。把需要进行大量计算的工程数据分区成小块,由多台计算机分别计算,再上传运算结果后,将结果统一合并得出数据结论的科学。
因为计算能力超强的超级计算机实在是太昂贵了,世界上很多非常复杂的科学问题,就是通过分布式计算来完成的。比特币就是其中之一。
第3章什么是比特币
比特币本质上就是一个分布式的P2P网络系统。它由一系列电脑(或其它计算设备)相互连通构成一个P2P网络。每个电脑上都装有一系列的软件,这些软件就构成一个分布式计算系统,用于协调这些电脑完成相互链接、相互传递消息和通信、协调各自的任务和分工。最终这些电脑彼此交互要实现一个共同的目标——维护一套数据库的完整和更新。
这套数据库就被称之为比特币区块链,而这套被称为区块链的数据库记录的内容就被我们当成货币来用。这和我们使用的网银是银行里记录的数据库是一个道理。
从狭义上说比特币就是一货币,可以用来储存和传输价值。而在广义上讲比特币是一种P2P网络、是一种分布式计算系统。这套系统除目前应用最广泛的就是货币,当然它还有其他功能或者说表现形式。
第4章一个简化的比特币系统模型
想象这么一个场景,有一个村庄有10个人,每个人都有一台电脑。这些电脑里都存在全村所有人的资产账本,张三有多少钱、李四有多少钱……。这套账本还详细记录了所有人的资金流动记录,张三在某个时间点给了李四多少钱、李四在某个时间点给了王五多少钱……。
现在的问题是,每个人都完全控制自己的电脑,每个人都可以自由修改自己电脑里的账本里记录,比如张三可以给自己的账户上加几个零。而且全村又没有一个绝对的权威来仲裁谁作弊了。
所有电脑里的历史记录不可篡改;
任何人都可以自由开机加入,或者关机退出这套系统,并且不会影响整套系统的正常工作。
这么一个场景及这套P2P网络和分布式计算就构成了比特币的简化模型。这样村民就可以使用这套系统来充当货币,完成经济活动的支付。当然比特币发展到现在,已经相当复杂。交流请加笔者!