麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 專題 > 區(qū)塊鏈 > 正文

分析比特幣網(wǎng)絡(luò):了解去中心化以及發(fā)現(xiàn)相鄰節(jié)點(diǎn)

2020-02-25 19:27:41
字體:
供稿:網(wǎng)友

  比特幣采用了基于互聯(lián)網(wǎng)的點(diǎn)對(duì)點(diǎn)(P2P:peer-to-peer)分布式網(wǎng)絡(luò)架構(gòu)。

  比特幣網(wǎng)絡(luò)可以認(rèn)為是按照比特幣P2P協(xié)議運(yùn)行的一系列節(jié)點(diǎn)的集合。

  本文來分析下比特幣網(wǎng)絡(luò),了解它跟傳統(tǒng)中心化網(wǎng)絡(luò)的區(qū)別,以及比特幣網(wǎng)絡(luò)是如何發(fā)現(xiàn)相鄰節(jié)點(diǎn)的。

  中心化網(wǎng)絡(luò)

  為了更好的理解P2P網(wǎng)絡(luò),我們先來看看傳統(tǒng)的中心化模型:

  這是一種典型的星型(“中心化”)結(jié)構(gòu),我們常見B/S及C/S網(wǎng)絡(luò)架構(gòu)就是這種模型,C1 、C2 、C3等之間沒法直接的連接,C節(jié)點(diǎn)如果要連接必須要通過中心化S節(jié)點(diǎn)做為橋梁。

  中心化節(jié)點(diǎn)充當(dāng)服務(wù)者、中介作用,比如我們沒有辦法把資金直接從一個(gè)人轉(zhuǎn)移給另一個(gè)人,必須通過銀行這個(gè)中介。

  P2P網(wǎng)絡(luò)

  P2P網(wǎng)絡(luò)是指位于同一網(wǎng)絡(luò)中的每臺(tái)計(jì)算機(jī)都彼此對(duì)等,各個(gè)節(jié)點(diǎn)共同提供網(wǎng)絡(luò)服務(wù),不存在任何“特殊”節(jié)點(diǎn),每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)以扁平(flat)的拓?fù)浣Y(jié)構(gòu)相互連通。

  對(duì)比中心化網(wǎng)絡(luò),在P2P網(wǎng)絡(luò)中不存在任何服務(wù)端(server)、中央化的服務(wù)。

  P2P網(wǎng)絡(luò)的節(jié)點(diǎn)之間交互連接、協(xié)同,每個(gè)節(jié)點(diǎn)在對(duì)外提供服務(wù)的同時(shí)也使用網(wǎng)絡(luò)中其他節(jié)點(diǎn)所提供的服務(wù),每個(gè)節(jié)點(diǎn)即是服務(wù)端又是客戶端。

  P2P網(wǎng)絡(luò)模型除應(yīng)用于比特幣網(wǎng)絡(luò),使用廣泛的BT下載就是基于P2P網(wǎng)絡(luò)。

  P2P網(wǎng)絡(luò)不僅僅去除了中心化帶來的風(fēng)險(xiǎn)(中心化可能作惡),還可以提高傳輸?shù)男省?中心化網(wǎng)絡(luò)當(dāng)能也有優(yōu)點(diǎn))

  如何發(fā)現(xiàn)節(jié)點(diǎn)

  既然每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)都是平等的(是指在網(wǎng)絡(luò)層面上節(jié)點(diǎn)是平等的,但各節(jié)點(diǎn)在功能上可以有不同的分工, 如錢包節(jié)點(diǎn)、挖礦節(jié)點(diǎn)等),不存在任何“特殊”中心節(jié)點(diǎn),那么當(dāng)新的網(wǎng)絡(luò)節(jié)點(diǎn)啟動(dòng)后,它是如何跟其他的節(jié)點(diǎn)建立連接,從而加入到比特幣網(wǎng)絡(luò)呢?

  在中心化網(wǎng)絡(luò)中,新加入的節(jié)點(diǎn)只要連接“特殊”的中心節(jié)點(diǎn)就可以加入網(wǎng)絡(luò)。

  為了能夠加入到比特幣網(wǎng)絡(luò),比特幣客戶端會(huì)做一下幾件事情:

  1.節(jié)點(diǎn)會(huì)記住它最近成功連接的網(wǎng)絡(luò)節(jié)點(diǎn),當(dāng)重新啟動(dòng)后它可以迅速與先前的對(duì)等節(jié)點(diǎn)網(wǎng)絡(luò)重新建立連接。

  2.節(jié)點(diǎn)會(huì)在失去已有連接時(shí)嘗試發(fā)現(xiàn)新節(jié)點(diǎn)。

  3.當(dāng)建立一個(gè)或多個(gè)連接后,節(jié)點(diǎn)將一條包含自身IP地址消息發(fā)送給其相鄰節(jié)點(diǎn)。相鄰節(jié)點(diǎn)再將此消息依次轉(zhuǎn)發(fā)給它們各自的相鄰節(jié)點(diǎn),從而保證節(jié)點(diǎn)信息被多個(gè)節(jié)點(diǎn)所接收、保證連接更穩(wěn)定。

  4.新接入的節(jié)點(diǎn)可以向它的相鄰節(jié)點(diǎn)發(fā)送獲取地址getaddr消息,要求它們返回其已知對(duì)等節(jié)點(diǎn)的IP地址列表。節(jié)點(diǎn)可以找到需連接到的對(duì)等節(jié)點(diǎn)。

  5.在節(jié)點(diǎn)啟動(dòng)時(shí),可以給節(jié)點(diǎn)指定一個(gè)正活躍節(jié)點(diǎn)IP, 如果沒有,客戶端也維持一個(gè)列表,列出了那些長(zhǎng)期穩(wěn)定運(yùn)行的節(jié)點(diǎn)。這樣的節(jié)點(diǎn)也被稱為種子節(jié)點(diǎn)(其實(shí)和BT下載的種子文件道理是一樣的),就可以通過種子節(jié)點(diǎn)來快速發(fā)現(xiàn)網(wǎng)絡(luò)中的其他節(jié)點(diǎn)。

  節(jié)點(diǎn)通信簡(jiǎn)述

  比特幣節(jié)點(diǎn)通常采用TCP協(xié)議、使用8333端口與相鄰節(jié)點(diǎn)建立連接, 建立連接時(shí)也會(huì)有認(rèn)證“握手”的通信過程,用來確定協(xié)議版本,軟件版本,節(jié)點(diǎn)IP,區(qū)塊高度等。

  當(dāng)節(jié)點(diǎn)連接到相鄰節(jié)點(diǎn)后,接著就開始跟相鄰節(jié)點(diǎn)同步區(qū)塊鏈數(shù)據(jù)(輕量級(jí)錢包應(yīng)用其實(shí)不會(huì)同步所有區(qū)塊數(shù)據(jù)),節(jié)點(diǎn)們會(huì)交換一個(gè)getblocks消息,它包含本地區(qū)塊鏈最頂端的哈希值。如果某個(gè)節(jié)點(diǎn)識(shí)別出它接收到的哈希值并不屬于頂端區(qū)塊,而是屬于一個(gè)非頂端區(qū)塊的舊區(qū)塊,就說其自身的本地區(qū)塊鏈比其他節(jié)點(diǎn)的區(qū)塊鏈更長(zhǎng),并告訴其他節(jié)點(diǎn)需要補(bǔ)充區(qū)塊,其他節(jié)點(diǎn)發(fā)送getdata消息來請(qǐng)求區(qū)塊,驗(yàn)證后更新到本地區(qū)塊鏈中。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 在线播放黄色网址 | 中文区永久区 | 欧美精品日日鲁夜夜添 | 国产69精品久久久久久野外 | 欧美精品国产综合久久 | 麻豆视频免费网站 | 天天好比网 | 4p一女两男做爰在线观看 | 一区二区三区视频在线观看 | 九九精品在线观看视频 | 草久影视 | 欧美一级毛片欧美一级成人毛片 | 亚洲一级片在线观看 | 国产精品观看在线亚洲人成网 | 国产乱淫av | 一区二区三区国产在线 | 一本色道久久久888 国产一国产精品一级毛片 国产精品高潮视频 | 日韩每日更新 | 黄网站在线播放视频免费观看 | 成人福利视频 | 黑人一级片视频 | 国产91对白叫床清晰播放 | h网站在线观看 | 中国漂亮护士一级a毛片 | 亚洲欧美在线视频免费 | 久久伊人精品热在75 | 国产精品一区久久久久 | 国产伦精品一区二区三区 | 亚洲成人免费网站 | 精品国产一区二区三区在线观看 | 成人在线观看一区 | 久久精精品 | 999插插插| 欧洲精品久久久久69精品 | 亚洲精品成人久久久 | 在线播放免费视频 | 国产免费美女 | 欧美成人理论片乱 | 国产一级毛片国产 | av在线免费电影 | 日韩色电影 |