Bitcoin-NG:可擴充套件區塊鏈協議與現實的碰撞

買賣虛擬貨幣

Bitcoin-NG協議是康納爾大學研發的、具有極強耐性、與比特幣具有相同的信任模型,旨在提升區塊鏈網路吞吐量的拜占庭式容錯區塊鏈協議。

基於比特幣並由其領導的加密貨幣已顯示出有望成為匿名線上支付、廉價匯款、去信任化數字資產交換和智慧合約的基礎設施。但是,由於衍生自比特幣的區塊鏈協議固有的可擴充套件性,因此無法在吞吐量和延遲之間進行權衡,從而無法發揮這種潛力。

本文將介紹旨在擴充套件的新型區塊鏈協議Bitcoin-NG,它大大縮短了交易確認延遲。

背景知識

  • 首先,大部分割槽塊鏈專案都是在原來區塊鏈的基礎上,植入第二層解決方案,為使用者和開發人員帶來流暢的體驗。早期全節點是由比特幣協議實現的。並且由Erlang語言編寫,Erlang是一種以元件導向的技術,可以逐個最佳化子系統。點對點網路和節點不斷演變後,提高和改變效能就更加重要。最後,團隊開發了受協議保護的完整功能集。當前所有新功能都在接受50個節點的公測。在已釋出的版本中,這些新功能還被部署到擁有1.6萬個平級節點的主網路。每個版本都會經過多層測試:單元測試、整合測試、系統測試(使用docker容器模擬網路),強大的快速測試框架(為元件API生成隨機提要)。
  • 工作量證明是一種最適合保護開放、公開、無需許可的區塊鏈共識的方法。而團隊採用了布穀鳥(Cuckoo Cycle)演算法來實現工作量證明。布穀鳥演算法是一種新型的記憶體密集型PoW演算法,它的工作證明成本低,證明只有42個整數。過去兩年,布穀鳥迴圈在PoW場景應用非常活躍。ASIC實現了超出預期的靈活性和生命週期,GPU匹配了更復雜的運算,同時提高了並行度。

共識:Bitcoin-NG

區塊鏈社羣經常會把共識演算法搞混。共識以及保護共識的方法不僅在技術上面臨挑戰,同時也是供應給終端使用者的產品的核心。共識能確定交易是否可信,能確定協議更改是否由部分群體控制。在區塊鏈中,所有的需求變化都圍繞使用者的獨立性、去中心化和自由交易而生。

過去幾年,在中本聰系列共識設計和拜占庭演算法適應性不斷突破。從單一區塊鏈,到DAG、網格、信任分層架構以及實用拜占庭容錯,提供了多種解決方案。當增加PoW、PoS、時空、時間證明等,解決方案更多了。但是,採用PoW來驗證一個不可信環境是最佳的解決方案。

如何在一個移動、中心化、實時的世界,解決延遲10分鐘確認的困局?

Bitcoin-NG是一種新型的支援中本聰共識的方式,基於PoW篩選臨時領導人,然後由這位領導人打包區塊。在一個區塊的時間裡確認這些交易,只需幾秒即可!

PoW的區塊鏈結構有兩個運算階段。一是用關鍵區塊來選舉領導人,二是用微塊儲存交易。

Bitcoin-NG論文中描述了新鏈結構和加密經濟激勵策略,涵蓋審查、礦權和公平等問題——所有這些都是區塊鏈平臺所必需具備的要素。最具挑戰性的是,分叉和微分叉的推理和執行。需要好幾個低階區塊實現迭代,以及與mempool或區塊候選生成器之類的交易處理元件通訊方可實現。在此之上,團隊還調整了欺詐證明機制(Proof-of-Fraud)。

學術碰撞現實

2018年, Bitcoin-NG被Aeternity等專案整合。調整了工作量證明,每3分鐘挖出關鍵區塊,領導人發行微區塊的速度低於3秒。每個微區塊可以容納600萬燃料(由於虛擬機器的初始實現是基於改進版的EVM(以太坊虛擬機器),每15秒確認以太坊區塊中的800萬燃料,相比之下,FATE虛擬機器具有更大的優勢,它能處理更多的燃料)。

也就是說,在5-10秒的網路直徑中,每個關鍵區塊會產生一個微塊分叉(分為3個微塊)。這屬於一種預期的、健康的行為。

同步和gossip協議有兩種模式:正常模式和輕模式。輕模式下,gossip協議只傳播交易雜湊,讓微塊更輕更快。一個未經確認的交易被平級節點看到的可能性很高,驗證的失敗率非常低。

論文中預計的網路吞吐量理論極限是100tx/s(根據微塊大小和容量計算而來),實際上的吞吐量極限在理論上會稍微高於100xt/s,畢竟每3秒釋放一個微塊,每個微塊能容納300-400筆交易。同時,准許使用者獨立交易和合約呼叫,兩者共用一個燃料。最初的實現吞吐量低於50 tx/s,而且沒有任何備份。現在透過最佳化mempool或gossip等元件,進一步提高了速度。

然而,現實與論文存在出入,最初假設的是網路和算力穩步增長,結果出乎意料,算力在短短几天內大幅上升,導致個人電腦和小型挖礦裝置淘汰出局(最優卡是1080Ti和2080Ti)。使用者對於沒有機會參與挖礦感到失望,同時接收到了關於未確認交易和分叉的報告。

問題1

出現過多的分叉,經過檢查,發現網路成員較多,但連線數異常稀少。阻礙了關鍵區塊的廣播。因此團隊不得不改善(簡化)文件,並鼓勵使用者使用公共IP。

問題2

分叉較少,但微分叉時間變長。微分叉是鏈的一種特殊狀態,是由於關鍵區塊的礦工追隨了由當前領導人釋放的舊微塊,如果間隔很短,沒什麼大礙,但微塊中包含10個區塊。為了解決這個問題,團隊投資了即插即用技術,改善網路。主網釋出後不久,社羣和核心團隊實現了對多種GPU礦機的支援。難度進一步提升,使用者可以重新控制大量算力來挖礦,目標調整也會導致礦池的誕生。

問題3

礦池帶來了全新的活力,它們基於自定義的層協議和閉源挖礦客戶端。但是再次出現了微分叉時間變長的情況。但不影響確認時間,因為即使交易被隔離在一個分叉中,也會被新領導人快速重新確認。但在一定條件下會危及節點的穩定性,這無疑是一種不健康的行為。

問題4
礦池幾乎每1分鐘重新整理一次關鍵候選區塊,也就是說會造成20個區塊的微分叉間隔。1分鐘佔比3分鐘關鍵區塊生成時間較大比例,關鍵區塊生成時間差異很大,說明礦池會將交易踢給下一個區塊驗證。

解決方案

該專案解決方案是培養兩個礦池,使礦池形態多樣化。這個工作正在部署當中,目前主要是三大礦池挖礦,其中兩個佔用95%的算力。

另一個方案是層伺服器參考實現,以一個Bitcoin-NG友好的方式更新。程式碼比語言更簡潔,不僅可以程式設計,還可以激勵礦池調整配置。同時,還可能是去中心化框架的地基,由全節點組成礦池,取代現在的挖礦資料庫。Bitcoin-ng將為普通使用者提供生成微塊的能力,而礦池將提供流動性。

為了更簡潔,用資料來表示

鏈上資料分析

截至2019年4月1日,專案挖出了約6萬個關鍵區塊,下面是對大約10萬筆交易的分析。

確認交易需要多少區塊?如果這個數字大於0,意味著在大多數情況下,交易最終在一個微分叉中結束,並由下一代重寫這筆交易。如果數字大於1,則表明有額外的延遲。

問題是,第1代延遲與礦池行為有何相關性。1分鐘的重新整理時間是一個後代長度的33%(後代長度設定為3分鐘)。一半以上的交易立即得到了確認。最高的確認延遲發生在網路不穩定影響了領導人交付交易的情況下,有些交易可能會等待錯過的前領導人。

相當於百分比:

另一個實驗是分析微分叉的平均長度。這個很難計算,需要用一個“探針”監測選定的微分叉。這就是後代數量可能不同的原因。

以上資訊與以前的測量結果一致。大約33%的交易被重寫到下一代(延遲時長為1)。現在,是29%的微塊被重寫到下一代。考慮到p2p網路的性質和監控方法的誤差,33%和29%比較接近,足以證實觀察結果。

下圖是一個微分叉長度分類(現在幾乎是7個微塊一代)。

由於沒有規定廣播區塊的最小數,導致很大一部分微塊長度低於每代長度。在系統當中,沉默的領導人等同於比特幣或以太坊中挖空塊的礦工。

第二是因為幣基獎勵與交易費之間的巨大不平衡。比較年輕的區塊鏈由於沒有市場驅動,交易費過低。在最初的3個月裡,最低交易費幾乎為0。

綜上,費用配置不均衡導致微塊的鏈獎勵極低,進而打擊了最新微塊的積極性。隨著時間推移,微塊的鏈會自我完善。

其他資料

· 最大難度接近500萬(備註:Nvidia 1080Ti卡上的布穀鳥迴圈需要0.3秒)。

· 迄今已確認的交易為470萬筆。

· 最高交易率記錄115tx/秒。

· 測試域名中的域名註冊量達到50萬筆。Lima硬分叉後的第一個域名和最後一個域名參與拍賣!

· mempool中交易的平均佇列(等待確認數或垃圾收集數)2-3 筆。

總體而言,採用Bitcoin-NG後的區塊鏈網路的穩定性較好,微分叉問題也將得到大力改進。由於Bitcoin-NG協議既簡單又強大的設計,在實現解決方案時顯著降低了技術風險。

在解決減少鏈上交易摩擦的同時,這些問題尚未影響使用者的體驗。領導人選舉和領導人重新簽署的複雜性完全隱藏在終端使用者面前,完全不影響實時體驗。

原文連結來自:https://medium.com/aeternity-crypto-foundation/aeternity-bitcoin-ng-the-way-it-was-meant-to-be-df7bb1d65a4b

由頭等倉(First.vip)翻譯並提供,轉載請保留版權資訊,感謝閱讀。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;