最近,在比特幣和比特幣現金社區,甚至在更大的加密貨幣生態系統中對閃電網絡(Lightning Network)產生的諸多混淆引起了我的注意。因此,我想跟大家分享我在嚴格的網絡背景下對比特幣、區塊鏈以及閃電網絡的觀點。
為了理解區塊鏈與閃電網絡是如何運作的,我們應該從 Twitter 與 Reddit 充滿硝煙的戰場 (并沒有產生好結果 )退一步,并回顧一下那些支持我們互聯網的網絡協議與系統。在理解了如何通過計算機網絡與互聯網的運作解決比特幣自身的擴展限制后,我相信你會受益匪淺。本文我主要介紹的三個協議分別是:以太網(Ethernet), IP和TCP。通過了解這些協議是如何運作的,我們就可以更好地解答很多比特幣以及所有區塊鏈中有關擴展的問題。 簡單介紹完,讓我們開始吧。
如今,計算機網絡中最常見的兩種數據傳輸(data transmission)的形式是廣播(broadcast)和單播(unicast)。還有其他形式例如任播(anycast)和組播(multicast),但本文將不會涉及到。我們先來定義并理解這些數據傳輸的形式。
廣播指信息從網絡中的一個點傳送到所有其他點;一對所有的數據傳輸模式。
-圖為廣播數據模式-
單播指信息從網絡中的一個點傳送到另一個點;一對一的數據傳輸模式。
-圖為單播數據模式-
基于對以上數據傳輸形式的理解,我們很快發現區塊鏈交易就類似于廣播的通信形式。當在比特幣網絡進行了一筆交易時,這筆交易信息就會被傳送或廣播到網絡中所有 連接的節點。也就是說,在比特幣網絡中,所有節點都必須接收并記錄下任何一筆存在或產生的交易。區塊鏈交易的運作與傳統的以太網集線器(ethernet hubs) 對數據傳輸的處理非常相似。
過去,我們總是依賴于以太網集線器來進行計算機之間的數據傳輸。顯然,我們發現以太網集線器本身的局限性導致它不能擴展。 舊時的以太網集線器嚴格支持廣播傳輸,來自于一個接口(interface)或端口(port)的數據將會被廣播并復制到網絡的其他接口或端口。形象一點就是,想象在一個100人的網絡中,如果你想發送給我一張1 MB大小的圖片,那么這張1 MB大小的圖片也會相應地需要復制99次并廣播至其他的所有 網絡用戶。
在比特幣網絡中,我們也能觀察到類似的現象,來自一個節點的數據(一次交易或一個區塊)被廣播并復制到其他所有的網絡節點。如同舊時的傳統以太網集線器,區塊鏈在實現數據傳輸與通訊方面可以說是很差的媒介了。作為一名網絡工程師,考慮擴展像比特幣那樣基于廣播的鏈上交易的全球支付網絡系統對我來說是不切實際的。即使到今天,我們網絡工程師在跨越以太網和局域網 (LAN network)時都非常小心謹慎,更不用說擴展到全球范圍了。
全面地來看,也就是說如果我們通過像區塊鏈和以太網集線器那樣嚴格依靠于廣播數據傳輸來重新設計互聯網,我們等于是要把世界上的每個人、主機和設備都集中在同一個局域網段(LAN segemnt)或廣播域( broadcast domain)中。那么互聯網將會變成一個巨大的平面局域網, 所有 通信都將會被復制與廣播到每一臺設備。當您打開這篇文章閱讀時,每一個 互聯網的其他設備都會被迫下載這篇文章。換句話說,整個互聯網就會戛然而止。
在計算機網絡中,應用最頻繁的通信形式是依靠于單播數據傳輸,或點對點傳輸?;ヂ摼W上大部分通信都是從一臺計算機發送到另一臺計算機,我們不再需要依賴于盲目的廣播傳輸數據,希望接收者能夠接收或看到數據。我們能夠準確地將信息發送,路由并傳遞給我們一個或多個接收方。我們前面已經了解到在廣播網絡中發送1 MB大小的圖片是要被復制并廣播到網絡中每一位用戶的。相反,在支持單播數據傳輸的網絡中,我們能夠明確地將圖片文件適當地從起點發送到終點。
對我來說,閃電網絡是比特幣的IP層(我知道這些數據傳輸形式同時存在于以太網和IP中)。但是,我確實認為這種類比有助于我們更好地理解這些復雜又抽象的概念:比特幣、閃電網絡以及通道 (channels)等等。
先忽略辯論雙方中持續了一段時間的有關閃電的所有解釋還有那些過于簡單的定義?;c時間,讓我們客觀地仔細地看看閃電并確定我們所知道的。關于閃電我們知道什么?閃電網絡允許我們鎖定自己的比特幣并與其他人建立通道。還知道其他什么?我們可以在構成渠道的兩點之間發送或接收交易。還知道其他什么?我們還可以進一步把交易路由到正確的目的地。
了解了這些關鍵知識點后,我們就能發現閃電能使原本只支持廣播傳輸的系統 [比特幣] 實現單播傳輸。對我來說,比特幣中的閃電節點等同于IP主機,我們最終能夠執行或發送一對一或點對點交易至其準確的接收方。在傳統的IP協議中,我們發送接收數據包(data packets);在閃電網絡中,我們發送接收比特幣。IP協議使我們能夠從過去的小而原始的網絡擴展成今天的全球巨頭,互聯網。同樣的,閃電也將能擴展我們的全球比特幣網絡。
如果說閃電節點可被視為IP主機,我就將閃電通道視為建立好的TCP連接。舉個例子,在今天的互聯網,當我們嘗試連接一個網頁,我們會打開一個TCP連接到能讓我們下載該網頁HTML源代碼的網頁服務器?;蛘撸斘覀兿螺d一個torrent格式的文件,我們將會打開TCP連接至互聯網中其他計算機,以便于傳送torrent數據。
在閃電網絡中,我們與各方建立通道使其能夠像TCP那樣直接[點對點]發送與接收數據(交易)。如果說區塊鏈是以太網,那么閃電節點 (Lightning Nodes)就是我們的IP,閃電通道(Lightning Channels)就是我們的TCP。
總的來說,我觀察到閃電網絡擁有許多與我們早已存在的支持計算機網絡的網絡技術與協議的相似之處,并且我認為這是在重新設計互聯網。從技術的角度來看,我不認為鏈上擴展比特幣會有用,我擔心未來會發生類似廣播風暴(broadcast storm)的事件。我衷心希望通過閃電網絡能實現我們新的單播傳輸方式。 更重要的是,我對比特幣的網絡時代充滿興奮與期待。
當所有人的目光都集中在區塊鏈技術上的時候,我更期待閃電網絡。閃電是比特幣的TCP/IP 協議棧 。我們將會在閃電上執行交易。所有東西都會建立在閃電上。閃電能夠支持我們的應用和其他協議與層。也就是說,主要的比特幣區塊鏈會成為什么?它將會并應該保持一個去中心化,防篡改且無法回滾的基礎層,為我們提供比特幣的密碼學證據。
我們社區和行業中的某些個人和組織散播恐懼并警告我們有關“閃電中心”(“lighting hub”)的錯誤信息,卻沒有意識到他們鏈上交易的擴展方法只會將我們推向一個真正的(以太網)中心設計的方向。如果比特幣失去了它去中心化的基層,我們將會失去比特幣。過去9年的努力將只會帶來一個龐大的中央廣播中心,僅有少數人有能力運作這只怪物。
評論