圖文詳解以太坊的節點和分片(一)

知識庫 以太坊 技術 鏈聞研究院 2018-07-24

鏈聞 ChainNews:

眾做周知,擴容問題一直困擾著比特幣和以太坊,比特幣選擇激活隔離見證外加分叉來解決,而以太坊則採用了新的方法,那就是切片,鏈聞為大家收集了三篇文章,幫助大家更好的理解什麼是節點和分片技術。

文章來源:行走的翻譯 C

幣圈的老韭菜應該都知道有個問題一直困擾著比特幣和以太坊:擴容。比特幣的解決方案是激活隔離見證,外加分叉。以太坊希望能使用不同的方法來解決這一問題,如切片。在解釋切片之前,我們先來解釋下網絡和節點是怎麼一回事。

什麼是節點,網絡和參數?

讓我們用日常生活中的操作來解釋這個問題。

看!這有個盒子:

這個盒子接收了一個輸入箭頭,執行了某些操作,得出了一個輸出箭頭。這個盒子就相當於一個「節點」。(節點不能完全等同於盒子,這裡就是個比喻)

網絡就是由這種無數個節點相互連接而成。

參數就是節點必須遵守的規則。

下面讓我們把節點和網絡套用到日常操作上。

以碎紙機為例,我們來看一下普通的圖文碎紙機是怎麼操作的。

紙,碎紙機,碎後的渣渣就相當於三個節點,這三個節點構成了「碎紙機網絡」。現在我們是假設一個節點只能有一個輸入,要是一個節點可以有多個輸入呢?

以吐司機(烤麵包機)為例,我們來看一下吐司機是怎麼操作的。一個吐司機有兩個輸入:

電源
麵包

電源和麵包缺一不可。在這種情況下,吐司機這個節點就是有兩個輸入。

我們進一步升級,來看一個使用參數的複雜網絡。

看!這是一個電視機:

一臺電視要連接服務供應商(就是運營商,如有線電視,數字電視等),一臺索尼家電遊戲機 PS4,一臺微軟 XBOX 家電遊戲機。這個電視機網絡如圖所示:

哦哦,我們遇到了一點小麻煩。

電視機不能一邊播放《權力的遊戲》,一邊讓你在電視機上玩遊戲,你只能選擇連接一個節點。

所以如何保障電視一次只連接一個節點呢?這時候就需要使用參數了。參數保障了每個節點的獨特性。比如,我們現在給電視機加上一個叫做「換臺」的參數,它就會這麼運行:

如果按 0,電視就是普通看偶像劇的電視,連接的服務商。
如果按 1,電視連接的就是 PS4。
如果按 2,電視連接的就是 Xbox。

因為有著這些參數,電視這個節點變得獨特。還有以下參數能讓你的電視變得更加個性化:
尺寸:電視屏幕是 55 英寸。

顏色:電視顏色是銀灰色。

品牌:電視牌子是索尼的。

類型:電視是等離子屏的。

因為有了這些參數,你的電視變得更容易識別:一臺 55 英寸、銀灰色的等離子屏索尼電視。

基於以上的例子,我們來嘗試定義下什麼是節點,網絡和參數:
節點:接收輸入,運行特定功能,併產生輸出的個體 / 獨立部件。

網絡:節點的集合,且節點相互連接。

參數:定義節點,讓節點獨特的規則

電信系統中的節點和網絡

電信系統的運行正是建立在網絡和節點的基礎上。大英百科全書對電信網絡的解釋如下:

「電信網絡就是有很多連接和轉換的電子系統,控制器管理操作以實現數據轉移並在多個用戶間相互交換。」

為什麼需要電信網絡呢?

雖然個體跟個體之間之間通信也是可以實現的,但是成本高,過程繁瑣,又低效。因此我們藉助電信網絡可以大幅提高通信效率。在電信網絡中,節點指再分發點(redistribution point)或者終端設備。

我們來舉個例子看看這個網絡具體怎麼運行的。在一個簡單的全球移動通訊系統(GSM)中,假設 Alice 想給 Bob 發一條短信(SMS),整個系統怎麼運作呢?

第一步:Alice 寫好了信息,點擊發送,信息發送到基站(Base Station,BST)。基站連接你和整個網絡。基站數量不計其數,可以把他們當成餐廳的服務員。你只要舉手(發送 SMS),就會得到注意。

第二步:基站控制器(Base Station Controller,BSC)確保基站按規矩辦事。基站控制器就像餐館裡的領班服務員,確保侍者要顧及到每張餐桌的客人。

第三步:Alice 的信息從基站控制器發送到移動交換中心(Mobile Switching Center,MSC)。這樣一來,數據就從基站無縫傳輸到網絡上,反之亦然。再以餐廳為例,MSC 就是餐廳裡的主廚,他們接收菜單,轉交給其他廚師去做菜,在菜品端給客人之前負責“潤色”一下。

第四步:現在 Alice 的信息發送到短信息服務中心(Short Message Service Center,SMSC)了。SMSC 就相當於餐廳的廚師,信息就暫時存儲在這裡了,直至 SMSC 獲得更多接收方的信息。SMSC 從歸屬位置寄存器(Home Location Register,HLR)和拜訪位置寄存器(Visitor Location Register,VLR)中獲取信息源。HLR 和 VLR 這兩個數據庫包含了網絡的所有信息,它們追蹤發信人和接收人來檢測信息是否能夠發送出去。它們檢測接收人的手機是否停用,是否不在服務區。如果由於某些原因沒有發送出去的信息會在 SMSC 存儲 6 個小時,隨後被刪掉。

第五步:如果信息可以發送出去,那麼短信息服務中心就會「放出」消息,發送到接收人的移動交換中心。

第六步:SMS 信息發送到基站控制器。

第七步:基站控制器轉發信息給基站。

第八步:基站最終把信息發送給接收人。

這就是整個短信系統的運作過程。BSC, BST, MSC, SMSC, HLR 和 VLR 都是全球移動通訊系統(GSM)網絡中的節點。整個網絡圖示如下:

什麼是點對點網絡

一般的網絡結構是客戶端-服務器結構。

這是中心化的服務器。任何人想連接服務器都可以發送請求。互聯網差不多就是這樣的運行原理。比如,使用 Google 搜索時,用戶向谷歌服務器發送請求,服務器返還用戶請求的結果。這種客戶端-服務器的系統有什麼問題呢?

整個系統都依賴於服務器,因此服務器能否 24 小時不間斷運作至關重要。這就是瓶頸所在。萬一主服務器崩了,網絡裡的所有用戶都會受到影響。此外,中心化的服務器存在安全隱患。因為網絡是中心化的,服務器處理了客戶的很多敏感信息。也就是說,任何人都可以通過攻擊服務器來獲取這些信息。另外中心化的服務器還存在審核問題。如果服務器限定某些事物(電影、歌曲、書籍等)是「少兒不宜」,不適合在網絡傳播呢?

要應對這些問題,需要一種不同的網絡結構。這種網絡結構把整個網絡的工作量分配給所有的參與者,他們人人平等,也就是所謂的「點」。這個網絡上不存在中心服務器,而是多個分佈式的、去中心化的點。這就是點對點網絡。

兩種網絡結構的對比圖如下:

這種去中心化的點對點系統至關重要。為什麼呢?因為隨著加密貨幣的誕生,這種點對點系統結合支付系統完全顛覆了金融行業。

明天我們將進一步探討加密貨幣中的網絡和節點。

更多精彩內容,關注鏈聞 ChainNews 公眾號(id:chainnewscom),
或者來微博@ 鏈聞 ChainNews與我們互動!轉載請註明版權和原文鏈接!

相關推薦

推薦中...