區塊鏈有著不同的分層架構,以促進這種獨特的交易身份驗證方式。因此對於區塊鏈研究者和愛好者來說,了解區塊鏈的分層是行業進階研究的基礎。
原文:A beginner's guide to understanding the layers of blockchain technology
編譯: Tan.Z , H.Forest Ventures
原用標題(譯後):區塊鏈的分層
封面: Photo by Shubham Dhage on Unsplash
了解區塊鏈的各個層
如果您以任何方式研究過加密貨幣或區塊鏈,您可能會遇到諸如第一層和第二層協議之類的術語。您是否對這些層是什麼以及它們存在的原因感到好奇?讓我們在本文中討論區塊鏈層架構。
區塊鏈技術是幾種當前技術(密碼學、博弈論等)的獨一無二的組合,具有廣泛的可能應用,例如加密貨幣。編碼和解碼數據是一門稱為密碼學的數學和計算學科。對理性決策者之間戰略互動的數學模型的研究被稱為博弈論。區塊鏈通過帶來透明度和安全性消除了中介,降低了成本並提高了效率。
在沒有中央機構監督的情況下,分佈式賬本技術 (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 层,依次是数据层,网络层,共识层,激励层和应用层。随着以太坊上智能合约的迅速崛起,区块链系统又设立了新的结构:即在激励层和应用层之间加了一个合约层。不过因为区块链的三元悖论,可扩展性一直是一个难以克服的问题。随着越来越多的用户进入区块链,更多的层级可能被引入到结构中去。
免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。本文内容仅用于信息分享,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。