權益證明租賃(LPOS)共識算法和 Waves-NG協議
作者 : Waves貢獻者Guy Brandon 。
Waves 網絡採用權益證明租賃 (LPOS) 共識算法,該算法與Waves-NG協議相結合,可實現網絡的高度可擴展性和事務吞吐量。
介紹
Waves網絡於 2016 年推出,當時通過ICO募集了30,000比特幣,價值約1600萬美元。 該項目旨在開發可用於業務交易流程的綜合區塊鏈生態系統,其中包含涵蓋各類功能需求的工具包,包括輕鬆創建自定義加密貨幣令牌、直接編寫智能合約、實現點對點交易的內置去中心化交易所( DEX )、與dApps實現安全便捷的交互方式以及 Waves Keeper 瀏覽器插件所提供的 Web 服務。
可擴展性
從一開始, Waves 就認識到可擴展性是大多數區塊鏈項目推廣使用的需求,並優先意識到要開發相關的技術,來解決現有區塊鏈的局限性。 例如,比特幣具有很高的安全性但交易速度相對較慢,並且每秒只能支持大約7筆交易(TPS )。 因此,比特幣的效率不足以使其成為全球性貨幣。 基於第二層的解決方案,如比特幣的閃電網絡就是為了實現該目標而事實的。 而 Waves 在該層上採用了不同的方法,在考慮第二層應用之前, Waves首先關注鏈上的可擴展性。
租賃平衡
Waves 的原創共識算法是基於簡單的股權證明協議實現的。 總量為1億枚的 WAVES 代幣都在 ICO 之後完成了分發,並且供應量也是固定的:因為 WAVE 是 “ PoW ” 屬性的代幣,所以不存在通貨膨脹。 因此, Waves 區塊驗證者(鍛造者,他們通常被稱為是 Waves 生態系統中的 ' 礦工 ' )從他們處理的區塊中獲得交易費,但沒有額外的區塊獎勵。
租賃的股權證明(LPoS)系統於2017 年 5 月全面啟動,該協議可以讓使用 Waves lite 客戶端用戶(沒有運行完整節點的用戶)將他們的 WAVES 令牌租賃給挖礦節點。 租用的WAVES被鎖定在用戶的帳戶中,無法進行轉移或交易。 此外,代幣仍然完全由賬戶持有人控制,租約到期後可以隨時取消。 考慮到挖礦節點運行需要相關的技術開銷以及7*24小時在線,因此只有相對較少的 Waves 社區運行挖礦節點(區塊生成器列表可以在https://dev.pywaves.org/generators/ 查看)。
租賃給挖礦節點的 WAVES 代幣可用於增加礦工的權重,反之,也增加了礦工發現下一個區塊的機會。 租賃的股權證明系統至少以兩種方式提高了網絡的安全性。 首先,用於保護網絡的 WAVES 代幣是越多越好的,因為這樣會使攻擊者更難以累積到執行51 %攻擊所需的代幣數量。 其次, WAVES 代幣從用戶的冷錢包中租給挖礦節點,但節點本 身(保持在線的節點)可能只有很小的餘額。 由於租賃的資金不會轉移給礦工,這可以顯著降低在線存儲的WAVES 代幣被攻擊的風險。
一種新的共識方法:Waves-NG
2017 年 12 月 WAVES 進一步升級了網絡,推出了Waves-NG共識協議。 這是一個基於比特幣 NG方案的新協議,由 Cornell IT 教授EminGünSirer發明。
比特幣初始的協議隨機性選擇礦工。 區塊鏈中增加了一個區塊之後, 礦工們會相互競爭 ,根據區塊鏈的當前狀態查找下一個區塊的有效哈希值。 同時,新生成的交易被放入內存池( mempool ),在那裡它們將保持掛起狀態,直到有礦工來收集並驗證這些交易。
雖然比特幣和比特幣 NG 協議都被認為是拜占庭容錯(BFT)系統,後者作為不同工作機制的可擴展替代方案,於2015 年被提出。 在 Bitcoin-NG 系統中,會預先選擇下一個礦工,該礦工會創建一個空的 “ 密鑰區塊 ” - 這個區塊最終會被添加到區塊鏈中。 小型區塊被稱為 'microblocks' (由幾個交易組成),他們近乎實時地被添加到該密鑰區塊中。 用日常生活作為類比,這就像在購物車(密鑰區塊)上添加幾個購物袋( microblocks )後,最後將完整的小車推到收銀台(添加到區塊鍊網絡上)。 這意味著可以在幾秒鐘內將交易添加到區塊鏈中,唯一可能發生的延遲就是網絡上的延遲。 Waves 將權益證明機制進行了升級,從而創建了 Waves-NG 協議,也是首個將比特幣 NG 協議用於開放公共區塊鏈中。
對生態系統的進一步完善是通過 “MassTransfers” 。 支持在單個交易中封裝多達 100 筆轉賬,並降低了手續費用。 一方面, MassTransfer 為了在增加容量和便利性之間進行折中,限制了每個 MassTransfers 中僅包括 100 txs ,另一方面也限制了同時發送大量低成本交易的能力。 如果需要進行更大量的轉賬交易,則可以按照順序提交多個 MassTransfers 轉賬交易。
換句話說,用戶可以簡單地選擇 MassTransfer 作為另一種 “ 發送交易 ” 的方式,該方式支持可以讓他們在單個交易中最多添加 100 個收款人。 此外,收款人的地址可以通過 JSON 提供或使用 CSV 文件上傳,從而可以直接高效地進行大型空投或每周向租賃 WAVES 代幣給挖礦節點的用戶付款。 結合 Waves-NG , MassTransfer 功能可在網絡上實現極高的吞吐率。
在 Waves 網絡上進行了許多壓力測試,來評估新協議的潛在吞吐量。 2018 年 10 月,在 MainNet 上進行了一次大容量的壓力測試。 該測試表明公開的區塊鏈協議(不僅僅是有限和受控的 TestNet )可以在 24 小時內支持超過610萬筆交易,平均每分鐘 4,200 txs 或每秒 71 txs ,峰值吞吐量可達到每秒數百個交易。
總結思想
權益證明租賃(LPOS)可使無技術專業背景的普通用戶幫助保護Waves網絡,在控制 WAVES 代幣的前提下,將WAVES租用到完整節點。 同時, Waves-NG 實現了高達 100 TPS 的吞吐量,這比許多區塊鏈高出了一個數量級。 由於不需要向礦工支付資金獎勵,後者也不需要承擔高電費和昂貴的硬件,所以交易的手續費用很低。
對於 Waves 來說,鏈上可擴展性一直是優先考慮的因素,但由於所需要的存儲空間和帶寬,任何區塊鏈都可以通過這種方式進行擴展。Waves的開發人員認為,在進一步實現可擴展的解決方案前,可優化當前方案,並可實現支持高達1,000 TPS的交易能力。Waves目前正在探索涉及側鏈的第二層擴展解決方案,該方案可支持在並行鏈上處理大量交易,並最終在Waves主網上實現保護。