原文標題: A beginner's guide to understanding the layers of blockchain technology
作者: cointelegraph
譯者: Tan.Z | H.Forest Ventures
推薦理由:
區塊鏈有著不同的分層架構,以促進這種獨特的交易身份驗證方式。因此對於區塊鏈研究者和愛好者來說,了解區塊鏈的分層是行業進階研究的基礎。
了解區塊鏈的各個層
如果您以任何方式研究過加密貨幣或區塊鏈,您可能會遇到諸如第一層和第二層協議之類的術語。您是否對這些層是什麼以及它們存在的原因感到好奇?讓我們在本文中討論區塊鏈層架構。
區塊鏈技術是幾種當前技術(密碼學、博弈論等)的獨一無二的組合,具有廣泛的可能應用,例如加密貨幣。編碼和解碼數據是一門稱為密碼學的數學和計算學科。對理性決策者之間戰略互動的數學模型的研究被稱為博弈論。區塊鏈通過帶來透明度和安全性消除了中介,降低了成本並提高了效率。
在沒有中央機構監督的情況下,分佈式賬本技術(DLT) 在通過預定網絡協議同意的一組用戶之間保存通過密碼學驗證的信息。將這些技術結合起來可以促進人們或各方之間的信任,否則他們將沒有這樣做的動機。它們使區塊鍊網絡能夠在用戶之間安全地交換價值和數據。
由於缺乏中央權威,區塊鏈必須非常安全。它們還必須具有極強的可擴展性,以處理不斷增加的用戶、交易和其他數據。層的誕生是出於對可擴展性的要求,同時也是為了保持一流的安全性。
什麼是區塊鏈可擴展性?
區塊鏈技術中的“擴展”一詞是指系統吞吐率的提高,以每秒交易量來衡量。隨著加密貨幣在日常生活中的廣泛採用,現在需要區塊鏈層來改善網絡安全、記錄保存和其他功能。
系統每秒處理的事務數稱為“吞吐量”。雖然Visa 的VisaNet 電子支付網絡每秒可以處理超過20,000 筆交易,但比特幣(BTC) 的主鏈每秒無法處理超過7 筆交易。
區塊鍊是去中心化生態系統的第一層。第二層是與第一層結合使用的第三方集成,以增加節點數量,從而提高系統吞吐量。目前正在實施許多第二層區塊鏈技術。這些解決方案中使用智能合約來自動化交易。
隨著比特幣成為商業世界中更重要的力量,區塊鏈開發人員正試圖擴大區塊鏈管理的範圍。他們希望通過開發區塊鏈層和優化第二層可擴展性來減少處理時間並提高TPS。
區塊鏈三元悖論(三難困境)
區塊鏈三元悖論是指普遍持有的觀點,即在去中心化、安全性和可擴展性方面,去中心化網絡在任何給定時間只能提供三個好處中的兩個。
計算機科學家在1980 年代設計了一致性、可用性和分區容差(CAP) 定理,以表達這些困難中可能最重要的一個。 CAP 定理指出:去中心化數據存儲,例如區塊鏈,只能同時滿足上述三個保證中的兩個。
在當前分佈式網絡的背景下,這個定理已經演變成區塊鏈三難困境。普遍持有的觀點是,公共區塊鏈基礎設施必須犧牲安全性、分散性或可擴展性。
因此,區塊鏈技術的聖杯是在廣泛分散的網絡上創建一個具有不可穿透的安全性的網絡,同時還要處理互聯網規模的交易吞吐量。
在深入研究三難困境的動態之前,讓我們籠統地定義可擴展性、安全性和去中心化:
- 區塊鏈的可擴展性是指其處理更多交易的能力。
- 安全性是指保護區塊鏈上的數據免受各種攻擊的能力以及區塊鏈對雙花的防禦。
- 去中心化是一種網絡冗餘,可確保網絡不受較少實體的控制。
可擴展性、安全性和去中心化之間的相互作用
要結算交易,網絡必須首先同意其有效性。如果系統有大量成員,該協議可能需要一些時間。因此,我們可以證明,當安全參數相同時,可擴展性與去中心化成反比。
現在,假設兩個工作量證明區塊鏈具有相同程度的去中心化,並將安全性視為區塊鏈的哈希率。確認時間隨著哈希率的提高而減少,而可擴展性隨著安全性的提高而提高。因此,可擴展性和安全性與不斷的去中心化是相稱的。
結果,區塊鏈無法同時針對所有三個所需功能進行優化,迫使它做出權衡。這以太坊是三難困境的最新例子。在今年夏天,由於去中心化金融(DeFi)應用程序的增加,導致以太坊平台的使用量激增。以太坊只能增長到一定程度。
由於需求增加,交易費用已經上升到一些人無法參與區塊鏈的地步。增加的以太坊費用是三難困境的一個例子,因為我們可以看到以太坊在不犧牲安全性或去中心化的情況下無法擴展。
以太坊的重點是去中心化和安全性,每秒的交易數量是有限的(可擴展性)。用戶們為了鼓勵礦工優先處理他們的交易而支付更高的費用。同樣,去中心化和安全性優先於比特幣的可擴展性。
眾所周知,比特幣和以太坊等區塊鏈的可擴展性目前是有限的。因此,由初創企業、企業和技術專家組成的全球社區正在瘋狂地研究第一層和第二層解決方案,以解決區塊鏈三難困境。
第一層區塊鍊網絡旨在提高速度、安全性和擴展性;第二層是指可用於擴展現有區塊鍊網絡可擴展性的技術增強和產品。在兩層之間取得完美平衡可能會改變區塊鏈採用和分散網絡擴展的遊戲規則。
開發人員正在從各種角度處理這個問題。比特幣現金(BCH)增加區塊大小是為了提高比特幣的可擴展性,但是,沒有證據表明它變得越來越流行。
比特幣正在尋求通過在現有的區塊鏈層上添加一層來解決這個問題。根據擴展解決方案背後的想法,第二層解決方案將大量交易捆綁在一起,並且只偶爾查詢基礎層區塊鏈。以太坊正在採取一種混合方法,通過分片擴展基礎層區塊鏈,社區期待幾個第二層解決方案以進一步提高吞吐量。
區塊鏈架構的分層結構
在區塊鏈架構的分佈式網絡中,每個網絡參與者都維護、授權和更新新條目。具有特定順序交易的區塊集合代表了區塊鏈技術的結構。這些列表可以保存為平面文件(txt 格式)或簡單的數據庫。區塊鏈架構可以採用公共、私有或聯盟形式。
區塊鏈的分層架構分為六層。
硬件基礎設施層
區塊鏈的內容存儲在這個可愛的地球上某處數據中心的服務器上。客戶端在瀏覽Web 或使用任何應用程序時從應用程序服務器請求內容或數據,這稱為客戶端-服務器架構。
客戶端現在可以與對等客戶端連接並共享數據。對等(P2P) 網絡是一大群共享數據的計算機。區塊鍊是一個點對點的計算機網絡,在共享賬本中以有序的方式計算、驗證和記錄交易。結果,創建了一個分佈式數據庫,存儲所有數據、事務和其他相關數據。節點是P2P 網絡中的計算機。
數據層
區塊鏈的數據結構表示為交易被排序的區塊鍊錶。區塊鏈的數據結構由兩個基本元素組成:指針和鍊錶。鍊錶是鏈接塊的列表,其中包含指向前一個塊的數據和指針。
指針是引用另一個變量位置的變量,鍊錶其中包含數據和指向前一個塊的指針。 Merkle 樹是哈希的二叉樹。每個區塊都包含Merkle 樹的根哈希和前一個區塊的哈希、時間戳、隨機數、區塊版本號和當前難度目標等信息。
對於區塊鏈系統,默克爾樹提供安全性、完整性和無可辯駁性。區塊鏈系統建立在默克爾樹、密碼學和共識算法之上。因為它是鏈中的第一個,所以創世塊,即第一個塊,不包含指針。
為了保護區塊鏈中包含的數據的安全性和完整性,需要對交易進行數字簽名。私鑰用於簽署交易,任何擁有公鑰的人都可以驗證簽名者。數字簽名檢測信息操縱。因為被加密的數據也被簽名了,所以數字簽名確保了統一性。結果,任何操作都會使簽名無效。
數據不能被發現,因為它已加密。即使被抓住,也不能再被篡改。發件人或所有者的身份也受到數字簽名的保護。因此,簽名與其所有者俱有法律上的聯繫,並且不能被忽視。
網絡層
網絡層,通常稱為P2P層,負責節點間的通信。發現、交易和區塊傳播都由網絡層處理。傳播層是該層的另一個名稱。
這個P2P 層確保節點可以找到彼此並進行交互、傳播和同步,以保持區塊鍊網絡處於合法狀態。 P2P網絡是一種計算機網絡,其中節點分佈並分擔網絡的工作量以達到共同的目的。區塊鏈的交易由節點執行。
共識層
共識層對於區塊鏈平台的存在至關重要。共識層是任何區塊鏈中最必要和最關鍵的層,無論是以太坊、Hyperledger 還是其他區塊鏈。共識層負責驗證區塊,對它們進行排序並保證每個人都同意。
應用層
智能合約、鏈碼和去中心化應用程序(DApps) 構成了應用程序層。應用層協議進一步細分為應用層和執行層。應用層包括最終用戶用來與區塊鍊網絡通信的程序。腳本、應用程序編程接口(API)、用戶界面和框架都是其中的一部分。
區塊鍊網絡充當這些應用程序的後端技術,它們通過API 與其通信。智能合約、底層規則和鏈碼都是執行層的一部分。
儘管事務從應用層移動到執行層,但它在語義層得到驗證和執行。應用程序向執行層發出指令,執行層執行交易並確保區塊鏈的確定性。
區塊鏈層解釋
第0 層
區塊鏈零層由有助於使區塊鏈成為現實的組件組成。它是允許比特幣、以太坊和其他區塊鍊網絡運行的技術。第0 層組件包括互聯網、硬件和連接,這些組件將使第1 層能夠順利運行。
第一層
這是基礎層,其安全性基於其不變性。以太坊網絡或第一層是人們在說以太坊時所暗指的。該層負責共識過程、編程語言、區塊時間、爭議解決以及維護區塊鍊網絡基本功能的規則和參數。它也被稱為實現層。比特幣是第一層區塊鏈的一個例子。
第一層的問題
這些擴展解決方案一起使用時可提高網絡的吞吐量。然而,隨著區塊鏈用戶數量的增加,第一層似乎不足。過時且笨拙的工作證明共識過程仍在第一層區塊鏈上使用。
雖然這種方法比其他方法更安全,但它受到速度的限制。礦工需要使用計算能力來解決密碼算法。因此,從長遠來看,需要更多的計算能力和時間。此外,隨著用戶數量的增加,第一層區塊鏈的工作量也隨之增加。結果,處理速度和容量都變慢了。
可能的解決方案
權限證明是以太坊2.0 將採用的另一種共識。這種共識方法根據網絡參與者的抵押品來認證新的交易數據塊,從而產生更有效的程序。
分片是解決第一層區塊鏈問題負擔的擴展解決方案。簡單地說,分片將驗證和驗證交易的任務劃分為更小、更易於管理的塊。因此,工作負載可以分佈在網絡上,以使用更多節點的計算能力。由於網絡並行處理這些分片,因此可以按順序和同時處理多個事務。
第二層
位於基礎層之上的重疊網絡稱為L2 解決方案。協議通過從基礎層移除一些交互來利用第二層來增加可擴展性。因此,主區塊鏈協議上的智能合約只處理存款和取款,並確保鏈下交易遵守規定。比特幣的閃電網絡是第二層區塊鏈的一個例子。
那麼,第一層和第二層區塊鏈有什麼區別呢?區塊鍊是去中心化生態系統的第一層。第二層是與第一層結合使用的第三方集成,以增加節點數量,從而提高系統吞吐量。目前正在實施許多第二層區塊鏈技術。
第二層擴展解決方案
近年來,第二層協議的流行程度呈爆炸式增長,尤其是它們被證明是解決PoW 網絡擴展問題的最有效方法。下面的部分解釋了各種第二層縮放解決方案。
嵌套區塊鏈
嵌套的第二層區塊鏈在另一個之上運行。本質上,第一層建立設置,而第二層進行程序。在單個主鏈上,可能有多個區塊鏈層。將其視為典型的業務結構。
管理不是讓一個人(例如經理)負責所有工作,而是將任務委託給下屬,然後他們在完成後向管理層匯報。結果,管理人員的工作量減少了,而可擴展性得到了提高。例如,OMG Plasma 項目作為以太坊一級協議的二級區塊鏈,允許更便宜、更快的交易。
狀態通道
狀態通道通過各種方法促進區塊鍊和鏈下交易通道之間的雙向通信,從而提高了總交易容量和速度。要通過狀態通道驗證交易,礦工不需要立即參與。
相反,它是一種通過多重簽名或智能合約機制保護的網絡相鄰資源。當一個事務或一批事務在狀態通道上完成時,“通道”的最終“狀態”及其所有固有轉換都會發佈到底層區塊鏈。
狀態通道示例包括比特幣閃電網絡和以太坊的雷電網絡。在三元悖論中,狀態通道放棄了一些去中心化以換取更高的可擴展性。
側鏈
側鍊是與區塊鏈一起運行的交易鏈,用於大宗交易。側鏈有其共識方法,可以針對速度和可擴展性進行調整,並且實用代幣經常被用作側鍊和主鏈之間數據傳輸機制的一部分。主鏈的主要功能是提供一般安全和爭議解決。
在幾個重要方面,側鏈與狀態通道不同。首先,側鏈交易在參與者之間不是私有的;相反,它們在分類賬上公開發布。此外,側鏈上的安全漏洞不會影響主鍊或其他側鏈。從頭開始構建側鏈需要大量的時間和工作。
匯總
Rollups 是第二層區塊鏈擴展解決方案,它在第一層網絡之外執行交易,然後將交易中的數據上傳到第二層區塊鏈。第一層可以保證匯總的安全,因為數據位於基礎層上。
用戶可以從匯總中受益,因為它們有助於提高交易吞吐量、開放參與和降低gas 成本。
第三層
應用層通常被稱為第三層或L3。 L3 項目充當用戶界面,同時掩蓋了通信渠道的技術方面。 L3 應用程序賦予了區塊鏈在現實世界中的適用性,正如區塊鏈架構的分層結構中所解釋的那樣。
區塊鏈三難困境能解決嗎?
產生區塊鏈的分佈式數據存儲所面臨的問題被傳遞給區塊鏈。為了更好地理解這些困難和相關問題,創造了“區塊鏈三難困境”一詞來對它們進行分組。儘管“三難”這個詞仍然存在,但區塊鏈三難只是一個猜想。根據早期的數據推斷這個假設可能是準確的,但它既沒有被證實也沒有被證偽。儘管第一層和第二層解決方案已經取得了一些成功,但仍需要做更多的研究。
結論
區塊鏈業務現在不可能採用加密貨幣主流的原因之一是可擴展性。隨著對加密貨幣需求的增長,擴展區塊鏈協議的壓力也將隨之增加。因為兩個區塊鏈級別都有自己的限制,最終的解決方案將是開發一個可以解決可擴展性三難困境的系統。
第一層至關重要,因為它是分散系統的基礎。底層區塊鏈的可擴展性問題通過第二層協議解決。不幸的是,大多數第三層協議(DApps) 目前僅在第一層上運行,繞過第二層。這些系統沒有達到我們想要的效果也就不足為奇了。
第三層應用程序至關重要,因為它們有助於開發區塊鏈的實際用例。然而,與傳統網絡相比,它們將無法獲得與其基礎區塊鏈一樣多的價值。
譯者筆記:
深入來講,區塊鏈的結構分層一共5層,依次是數據層,網絡層,共識層,激勵層和應用層。隨著以太坊上智能合約的迅速崛起,區塊鏈系統又設立了新的結構:即在激勵層和應用層之間加了一個合約層。不過因為區塊鏈的三元悖論,可擴展性一直是一個難以克服的問題。隨著越來越多的用戶進入區塊鏈,更多的層級可能被引入到結構中去。