介紹
可擴展性廣義上是指系統擴展以滿足不斷增長的需求的能力。在計算中,您可以通過升級硬件來提高機器的性能,從而更快地執行某些任務。當我們談到區塊鏈的可擴展性時,我們指的是提高其處理更多交易的能力。
像比特幣這樣的協議有很多優點,但可擴展性並不是其中之一。如果比特幣在中央擁有的數據庫中運行,那麼管理員提高速度和吞吐量將相對容易。但比特幣的價值主張(即抗審查)要求許多參與者同步區塊鏈的副本。
區塊鏈可擴展性問題
運行比特幣節點相對便宜,甚至簡單的設備也可以做到。但由於數千個節點需要相互保持最新狀態,因此它們的容量存在一定的限制。
對可以在鏈上處理的交易數量設置了上限,以免數據庫增長到難以處理的規模。如果它變得太大太快,節點將無法跟上。此外,如果區塊太大,它們就無法在網絡上快速轉發。
結果,我們發現自己遇到了瓶頸。區塊鏈可以被視爲按設定間隔出發的火車服務。每節車廂的座位有限,爲了獲得車票,旅客必須競價以保證座位。如果大家都想同時上車的話,票價就會很高。同樣,網絡因待處理交易而堵塞,將要求用戶支付更高的費用才能及時看到他們的交易。
一種解決方案是使車廂更大。這意味着更多的座位、更高的吞吐量和更便宜的票價。但不能保證座位不會像以前那樣被填滿。車廂不能永遠加寬,就像區塊或區塊氣體限制不能無限擴展一樣。後者使得節點保持在網絡上的成本更高,因爲它們需要更昂貴的硬件來保持同步。
以太坊創始人 Vitalik Buterin 創造了可擴展性三難困境來描述區塊鏈面臨的挑戰。他認爲協議必須在可擴展性、安全性和去中心化之間進行權衡。這些在某種程度上是相互矛盾的——如果過多地關注其中兩個屬性,那麼第三個屬性就會很差。
因此,許多人認爲可擴展性是在鏈下實現的,而安全性和去中心化應該在區塊鏈本身上最大化。
什麼是鏈下擴容解決方案?
鏈下擴展是指允許在不使區塊鏈膨脹的情況下執行交易的方法。插入鏈的協議允許用戶發送和接收資金,而交易不會出現在主鏈上。我們將深入探討這方面兩個最顯着的進步:側鏈和支付渠道。
側鏈簡介
什麼是側鏈?
側鏈是一個獨立的區塊鏈。然而,它不是一個獨立的平臺,因爲它以某種方式與主鏈掛鉤。主鏈和側鏈是可互操作的,這意味着資產可以自由地從一個鏈流向另一個鏈。
有多種方法可以確保資金可以轉移。在某些情況下,資產通過存入特殊地址而從主鏈轉移。它們並沒有真正發送出去——而是被鎖定在地址中,並在側鏈上發出匹配的金額。更直接的(儘管是中心化選項)是將資金髮送給託管人,由託管人將存款換成側鏈上的資金。
側鏈如何工作?
假設我們的朋友愛麗絲有五個比特幣。她想在比特幣側鏈上將它們兌換成五個等值單位——我們稱之爲側幣。所討論的側鏈使用雙向掛鉤,這意味着用戶可以將其資產從主鏈轉移到側鏈,反之亦然。
請記住,側鏈是一個單獨的區塊鏈。因此,它將有不同的區塊、節點和驗證機制。爲了獲得她的副幣,愛麗絲會將她的五個比特幣發送到另一個地址。它可能由某人擁有,一旦收到比特幣,該人就會將五個側幣記入她的側鏈地址。或者,它可能有某種信任最小化的設置,在軟件檢測到付款後,側幣會自動記入貸方。
愛麗絲現在已將她的硬幣轉換爲副幣,但她始終可以逆轉該過程以收回她的比特幣。現在她已經進入了側鏈,她可以自由地在這個單獨的區塊鏈上進行交易。她可以發送側幣或從其他人那裏接收側幣,就像她在主鏈上一樣。
例如,她可以向鮑勃支付一枚側幣來購買一件幣安帽衫。當她想返回比特幣時,她可以將剩餘的四個側幣發送到一個特殊地址。交易確認後,四個比特幣將被解鎖並傳送到她在主鏈上控制的地址。
爲什麼使用側鏈?
你可能想知道這有什麼意義。爲什麼 Alice 不直接使用比特幣區塊鏈呢?
答案是,側鏈可能能夠做到比特幣無法做到的事情。區塊鏈是精心設計的權衡系統。雖然比特幣是最安全和去中心化的加密貨幣,但它在吞吐量方面並不是最好的。雖然比特幣交易比傳統方法更快,但與其他區塊鏈系統相比仍然相對較慢。每十分鐘開採一次區塊,當網絡擁塞時,費用會顯着增加。
誠然,小額日常支付可能不需要這種級別的安全性。如果愛麗絲要爲一杯咖啡付費,她不會等待交易確認。她會排長隊,當飲料遞過來時,她的飲料已經涼了。
側鏈不受相同規則的約束。事實上,他們甚至不需要使用工作量證明來運作。您可以使用任何共識機制,信任單個驗證器,或調整任意數量的參數。您可以添加主鏈上不存在的升級,產生更大的區塊,並執行快速結算。
有趣的是,側鏈甚至可能存在嚴重錯誤,但不會影響底層鏈。這使得它們可以用作實驗平臺,並推出需要大多數網絡達成共識的功能。
如果用戶對權衡感到滿意,側鏈可能是實現有效擴展的不可或缺的一步。主鏈節點不需要存儲來自側鏈的每筆交易。愛麗絲可以通過一筆比特幣交易進入側鏈,執行數百筆側鏈交易,然後退出側鏈。就比特幣區塊鏈而言,她只執行了兩次操作——一次進入,一次退出。
以太坊的 Plasma 類似,但也有一些重大差異。瞭解更多相關信息:什麼是以太坊 Plasma?
支付渠道介紹
什麼是支付渠道?
支付通道在可擴展性方面與側鏈具有相同的用途,但它們本質上有很大不同。與側鏈一樣,它們將交易推離主鏈,以防止區塊鏈膨脹。然而,與側鏈不同的是,它們不需要單獨的區塊鏈即可運行。
支付通道使用智能合約使用戶無需將交易發佈到區塊鏈即可進行交易。它通過使用兩個參與者之間的軟件強制協議來實現這一點。
支付渠道如何運作?
在流行的閃電網絡等模型中,兩方首先將代幣存入他們共同擁有的地址。這是一個多重簽名地址,需要兩個簽名才能使用資金。因此,如果愛麗絲和鮑勃創建了這樣的地址,則只有在雙方同意的情況下才能將資金轉出。
假設他們每人存入 10 BTC 到一個現在持有 20 BTC 的地址。他們很容易保持一份資產負債表,一開始就說愛麗絲和鮑勃各有 10 個比特幣。如果愛麗絲想給鮑勃一枚硬幣,他們可以將其更新爲愛麗絲有 9 個比特幣,鮑勃有 11 個比特幣。當他們繼續更新這些餘額時,他們不必發佈到區塊鏈。
不過,到時候,假設愛麗絲有 5 個比特幣,鮑勃有 15 個比特幣。然後,他們可以創建一項交易,將這些餘額發送到各方擁有的地址,對其進行簽名並廣播。
愛麗絲和鮑勃可能在他們的資產負債表上記錄了十筆、一百筆或一千筆交易。但就區塊鏈而言,他們只執行了兩項鍊上操作:一項用於初始資金交易,一項在完成後重新分配餘額。除了這兩項之外,所有其他交易都是免費且近乎即時的,因爲它們發生在鏈下。無需支付礦工費,也無需等待區塊確認。
當然,上面討論的例子需要雙方合作,這對於陌生人來說並不是一個理想的情況。然而,可以使用特殊機制來懲罰任何欺騙行爲,以便各方可以在不信任的情況下安全地相互交互。
付款路線
顯然,支付渠道對於預計交易量較大的兩方來說是方便的。但情況會變得更好。這些渠道的網絡可以充實起來,這意味着愛麗絲可以向與她沒有直接聯繫的一方付款。如果 Bob 與 Carol 建立了一個開放的通道,只要有足夠的容量,Alice 就可以向她付費。她會將資金推到鮑勃的渠道一側,而鮑勃又將資金推到卡羅爾的一側。如果 Carol 連接到另一位參與者 Dan,則可以執行相同的操作。
這樣的網絡演變成分佈式拓撲,每個人都連接到多個對等點。到達目的地通常會有多條路線,用戶可以選擇最有效的一條。
結束語
我們討論了兩種可擴展性方法,允許在不增加底層區塊鏈負擔的情況下進行交易。側鏈和支付通道技術尚未成熟,但希望規避基礎層交易缺點的用戶正在越來越多地利用它們。
隨着時間的推移,越來越多的用戶加入網絡,維護去中心化非常重要。這隻能通過對區塊鏈的增長實施限制來實現,以便新節點可以輕鬆加入。鏈下可擴展性解決方案的支持者認爲,隨着時間的推移,主鏈將僅用於結算高價值交易,或用於錨定側鏈和打開/關閉通道。