白癜风医院海口哪家好 http://pf.39.net/bdfyy/bdfrczy/141015/4493985.html比特币的网络架构是采用了基于互联网(Internet)的P2P(peer-to-peer)。
P2P是指位于同一网络中的每台计算机都彼此对等,各个节点共同提供网络服务,不存在任何“特殊”节点。
听着有些晕乎,还是不明就里。不如先看看比特币网络图,如下:
具有多种节点类型、网关及协议的扩展比特币网络
看完这张图,可能更晕了,什么全节点客户端、SPV钱包、矿池矿工、Stratum服务器、Pool服务器,基本不懂。
1.节点特征
比特币建立的是一个点对点的电子货币系统。点对点,通俗点说,我把10块钱给你,你给我一包价格10块钱的烟,交易完成,无需其他的中间机构。
但是,我能跟一条狗完成上述的点对点交易,估计有点困难吧。因此,在比特币中各个点之间是要满足一定条件的。
从上图中,我们取出它的一部分,如下:
比特币核心客户端
这是一个完整的比特币网络节点,被称为“全节点”。从比特网络图中可以发现,有很多节点,是缺胳膊少腿的,没有包含完整的4部分。一个完整的人跟一个缺胳膊少腿的人完成点对点的交易是没有问题的。
那我们来看一个这个比特币网络全节点中的钱包、矿工、完整区块链、网络路由节点分别是什么意思。
钱包就是钱包啦,是全节点一部分;矿工运行工作量证明(proof-of-work)算法,打包交易记录并竞争创建新区块;完整区块链一份完整的、最新的区块链拷贝;网络路由节点发现并维持与对等节点的连接,参与验证并传播交易及区块信息。
2.不同类型的节点
俗话说,人无完人。不是所有的比特币网络节点都包含上述的四个部分。为了满足不同的分工需要,精简功能,通过组合形成了如下这些节点类型。
扩展比特币网络的不同节点类型
3.节点连接
各个节点需要建立连接,形成网络,一个新节点启动后,也需要发现网络中的其他节点,才能参与到网络协作中来。
比特币网络的拓扑结构不基于节点间的地理位置,各节点之间连接与地理位置无关。
那新节点是如何连接网络中的对等点呢?
首先,比特币网络中没有特殊节点,但客户端把一些会长期稳定运行的节点放入一个列表并维持它,这些节点被称为“种子节点”。其好处是可以通过种子节点来快速发现网络中的其他节点。
在比特币核心客户端中,默认情况下使用种子节点发现网络中的其节点。另一种方式,起始时将至少一个比特币节点的IP地址提供给正在启动的节点,启动节点后通过指令来建立连接。
当然节点是可以随时加入和离开。因此,为保证通讯,节点必须持续进行两项工作:在失去已有连接时发现新节点,并在其他节点启动时为其提供帮助。
参考资料[1].邹均,张海宁.区块链技术指南[M].北京:机械出版社,.11[2].长铗,韩锋.区块链从数字货币到信用社会[M].北京:中信出版社,.7[3].张健.区块链定义未来金融与经济新格局[M].北京:机械工业出版社,.6