租賃權益證明共識算法和 Waves-NG 協議
作者:Guy Brandon,Waves 撰稿人。
Waves 網絡採用租賃權益證明 (LPoS) 共識算法與 Waves-NG 協議相結合的方式運行,具有高度的可擴展性和交易吞吐量。
介紹
Waves 網絡於 2016 年推出,當時通過 ICO 籌集了 30,000 BTC(當時約爲 1600 萬美元)。該項目正在開發一個用於業務流程的綜合區塊鏈生態系統,其廣泛的工具包可滿足各種需求 - 包括輕鬆創建自定義加密貨幣代幣;簡單的智能合約;在內置去中心化交易所 (DEX) 上進行點對點交易;以及通過 Waves Keeper 瀏覽器插件與 dApp 和 Web 服務進行交互的安全便捷方式。
可擴展性
從一開始,Waves 就認識到大規模採用區塊鏈需要可擴展性,並優先開發技術以解決現有區塊鏈的侷限性。例如,比特幣非常安全但速度相對較慢,每秒只能支持大約 7 筆交易 (TPS)。因此,比特幣的效率不足以成爲全球日常貨幣。比特幣需要閃電網絡等第二層解決方案來實現這一目的。Waves 採取了不同的方法,首先關注高鏈上可擴展性,然後再考慮第二層應用程序。
餘額租賃
Waves 最初的共識算法是一個簡單的權益證明實現。所有 1 億個 WAVES 代幣都在 ICO 之後分發,並且供應量是固定的:沒有通貨膨脹,就像 PoW 挖出的代幣一樣。因此,Waves 區塊驗證者(僞造者,儘管在 Waves 生態系統中他們通常被簡稱爲“礦工”)從他們處理的區塊中獲得交易費,但沒有區塊獎勵。
租賃權益證明 (LPoS) 系統於 2017 年 5 月全面啓動,允許 Waves Lite 客戶端的用戶(未運行完整節點的用戶)將其 WAVES 代幣租賃給挖礦節點。租賃的 WAVES 被鎖定在用戶的帳戶中,不能轉讓或交易。儘管如此,代幣仍由帳戶持有人完全控制,並且可以隨時取消租賃。考慮到運行挖礦節點的技術開銷以及需要 24/7 在線,只有相對較小比例的 Waves 社區運行節點(可以在 https://dev.pywaves.org/generators/ 找到區塊生成器列表)。
租賃給挖礦節點的 WAVES 代幣用於增加礦工的權益權重,從而增加該礦工找到下一個區塊的機會。租賃權益證明系統至少通過兩種方式提高了網絡安全性。首先,用於保護網絡的 WAVES 越多越好,因爲攻擊者更難積累進行 51% 攻擊所需的代幣。其次,可以從用戶的冷存儲地址將 WAVES 租賃給節點,但節點本身(保持在線)可能只有最低餘額。這大大降低了 WAVES 代幣被在線計算機黑客攻擊的風險,因爲租賃資金不會轉移給礦工。
達成共識的新方法:Waves-NG
2017 年 12 月,網絡進行了進一步升級,推出了 Waves-NG。這是一項基於康奈爾大學 IT 教授 Emin Gün Sirer 提出的 Bitcoin-NG 提案的新協議。
原始比特幣協議會回顧性地選擇每個礦工。在將一個區塊添加到區塊鏈後,礦工們會根據區塊鏈的當前狀態競爭尋找下一個區塊的有效哈希值。同時,新生成的交易會進入內存池 (mempool),它們將一直處於待處理狀態,直到礦工最終收集並驗證它們。
儘管比特幣和 Bitcoin-NG 協議都被認爲是拜占庭容錯 (BFT) 系統,但後者於 2015 年被提出,作爲一種基於不同工作機制的可擴展替代方案。在 Bitcoin-NG 系統中,會提前選擇下一位礦工,該礦工會創建一個空的“關鍵區塊”,即最終將添加到區塊鏈中的區塊。被稱爲“微區塊”的小區塊(每個區塊由幾筆交易組成)會近乎實時地添加到這個關鍵區塊中。打個比方,這就像在購物車(關鍵區塊)中添加幾袋購物袋(微區塊),然後最終將裝滿的購物車推到收銀臺(添加到區塊鏈)。這意味着交易可以在幾秒鐘內添加到區塊鏈中,唯一的實際延遲是網絡延遲。Waves 更新了這一權益證明網絡理念,創建了 Waves-NG 協議 - 這是 Bitcoin-NG 首次在開放的公共區塊鏈中部署。
生態系統的另一個新增功能是 MassTransfers。這允許在單筆交易中打包最多 100 筆轉賬,同時降低費用。每個 MassTransfer 限制 100 筆交易是爲了在增加容量和便利性與限制一次性發送大量低成本交易的能力之間取得妥協。如果需要進行更多轉賬,可以按順序提交多個 MassTransfer。
換句話說,用戶可以簡單地選擇 MassTransfer 作爲另一種“發送交易”,這樣他們就可以在單筆交易中包含最多 100 個收件人。此外,收件人地址可以通過 JSON 提供或從 CSV 文件上傳,這使得向那些將 WAVES 出租給挖礦節點的人進行大規模空投或每週付款變得簡單而高效。與 Waves-NG 相結合,MassTransfer 功能實現了非常高的網絡吞吐量。
已經對 Waves 網絡進行了多次壓力測試,以評估新協議的吞吐量潛力。2018 年 10 月,對 MainNet 進行了一次重大壓力測試。這表明,公共、開放的區塊鏈協議(而不僅僅是受限制和受控的 TestNet)可以在 24 小時內支持超過 610 萬筆交易——平均每分鐘 4,200 筆交易或每秒 71 筆交易,峯值吞吐量達到每秒數百筆交易。
結束語
租賃權益證明系統讓沒有技術專業知識的日常用戶能夠幫助保護 Waves 網絡,將他們的 WAVES 租賃給完整節點,而不會失去對代幣的控制權。同時,Waves-NG 實現了高達 100 TPS 的吞吐量,這比許多區塊鏈高出一個數量級。費用很低,因爲不需要向礦工支付區塊獎勵來補償他們高昂的電費和昂貴的硬件。
鏈上可擴展性一直是 Waves 的首要任務,但由於所需的存儲和帶寬,任何區塊鏈以這種方式擴展的程度都是有限的。Waves 的開發人員認爲,在需要進一步擴展解決方案之前,當前方法可以優化以支持高達 1,000 TPS。Waves 目前正在探索涉及側鏈的第二層擴展解決方案的選項,使大量交易能夠在並行鏈上處理,但最終在主 Waves 區塊鏈上得到保護。


