比特币网络

比特币采用了基于P2P(Peer to Peer)的网络架构。P2P是指位于同一网络中的每台计算机都是彼此公平、对等的,各个节点共同提供网络服务,不存在任何“特殊”(中心)节点。P2P网络通信本身并不是比特币独有的发明,在比特币之前就已经被应用于文件共享领域了。比特币被设计成一个点对点的数字现金系统,而P2P正好是这个理念的核心特征的反映,也是该特征的基石。抛开比特币客户端的钱包功能来看,运行在每一台机器上的比特币核心程序就是比特币P2P网络中的一个节点。每个节点之间互联,组成了比特币网络,保证了整个比特币系统的安全。

比特币网络的相关功能如下:

1)新交易广播到全网的节点,每个节点会收到交易消息。

2)每个(挖矿)节点将新交易收集到节点的内存,并组装成区块。

3)每个(挖矿)节点都尝试在自己的区块中找到一个具有足够难度的工作量证明。

4)(挖矿)节点找到一个工作量证明,把有效的区块数据向全网进行广播。

5)当且仅当包含在该区块中的交易都是有效的,并验证其完成了工作量证明,其他节点才认同该区块的有效性。

6)其他(挖矿)节点表示接受该区块,并在该区块的末尾制造新的区块以延长整个区块的链条。

在比特币网络中,交易和区块信息的传播是通过洪水算法(Flooding Algorithm)进行的。简单地说,就是每一个收到信息的节点,向与它相连的所有节点推送该信息。下一个收到信息的节点继续这个过程,信息很快就会像洪水一样覆盖全网络。可见,传播速度是呈指数增长的。通常在一两秒内,交易或者区块的信息就可以传遍全网。

猜你喜欢

转载自www.cnblogs.com/qkygl/p/9164672.html