作者: 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代幣被攻擊的風險。
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主網上實現保護。