区块链技术之P2P网络

in cn •  7 years ago 

通过交易、区块构建了完整的区块链数据,通过挖矿和共识机制确保比特币在没有中心化机构可以正常运营。在学习完交易、区块、区块链、挖矿、共识机制之后,区块链还需要P2P网络支撑才能真正运转。

P2P网络

区块链采用了基于互联网的P2P网络架构。P2P网络中每一个节点彼此对等,各个节点共同提供服务,不存在任何特殊节点。P2P网络中不存在任何服务器、中心化服务及层级结构。P2P网络具有天生的伸缩性、去中心化和开放的特点。

比特币被设计为一种点对点的数字现金系统,它的网络架构既是这种核心特性的反映,也是该特性的基石。去中心化控制是设计时的核心原则,它只能通过维持一种扁平化、去中心化的P2P共识网络来实现。

在比特币之外,规模最大也最成功的P2P技术应用是在文件分享领域,Napster是该领域的先锋,BitTorrent是其架构的最新演变,国内的迅雷、快播都是P2P技术的领导者。

节点类型和角色

虽然P2P网络中各个节点相关对等,但根据各个节点功能不同,各个节点会有不同的分工,以比特币为例,每个比特币节点都是路由、区块链数据库、挖矿、钱包服务的功能集合,一个全节点包含钱包、矿工、完整区块链、网络路由节点。


一些节点保有一份完整的、最新的区块链拷贝,这样的节点被称为“全节点”。全节点能够独立自主地校验所有交易,而不需借由任何外部参照。另外还有一些节点只保留了区块链的一部分,它们通过一种名为“简易支付验证(SPV)”的方式来完成交易验证,这样的节点被称为“SPV节点”,又叫“轻量级节点”。

挖矿节点通过运行在特殊硬件设备上的工作量证明(proof-of-work)算法,以相互竞争的方式创建新的区块。一些挖矿节点同时也是全节点,保有区块链的完整拷贝;还有一些参与矿池挖矿的节点是轻量级节点,它们必须依赖矿池服务器维护的全节点进行工作。

用户钱包也可以作为全节点的一部分,这在桌面比特币客户端中比较常见。当前,越来越多的用户钱包都是SPV节点,尤其是运行于诸如智能手机等资源受限设备上的比特币钱包应用。比如我们现在使用的Bither就属于这类SPV节点。

在比特币P2P协议中,除了这些主要的节点类型之外,还有一些服务器及节点也在运行着其他协议,例如特殊矿池挖矿协议、轻量级客户端访问协议等。

目前比特币主网络由大约上万个运行着不同版本比特币核心客户端(BitcoinCore)的监听节点、以及几百个运行着各类比特币P2P协议的应用(例如BitcoinJ、Libbitcoin、btcd等)的节点组成。

许多连接到比特币网络的大型公司运行着基于Bitcoin核心客户端的全节点客户端,它们具有区块链的完整拷贝及网络节点,但不具备挖矿及钱包功能。这些节点是网络中的边缘路由器(edgerouters),通过它们可以搭建其他服务,例如交易所、钱包、区块浏览器、商家支付处理(merchantpayment processing)等。

部分图片来自精通比特币

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

入行十六年,应该称呼张老师了。。 不知道您听说过skycoin 吗? 这是是一个野心勃勃的团队。 有超越以太坊和EOS 的意愿,目前一直低调。

我的理解后面这种平台会越来越多,但超越不是一件简单的事情,这里面的因素非常多。就像很多竞争幣号称要超越比特币一样,实际上这种可能只有鬼知道