權益證明租賃(LPOS)共識算法和Waves-NG協議

作者: Guy Brandon,Waves投稿。

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系統中,會預先選擇下一個礦工,該礦工會創建一個空的“密鑰區塊” - 這個區塊最終會被添加到區塊鏈中。小型區塊被稱爲‘微區塊’(由幾個交易組成),他們近乎實時地被添加到該密鑰區塊中。用日常生活作爲類比,這就像在購物車(密鑰區塊)上添加幾個購物袋(微區塊)後,再將完整的小車推到收銀臺(添加到區塊鏈網絡上)。這意味着可以在幾秒鐘內將交易添加到區塊鏈中,唯一可能發生的延遲就是網絡上的延遲。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主網上實現保護。