摘要: 解決了EOS把記賬權力集中於21個少數節點的問題,這點上無疑比EOS更具優勢,是真正的去中心化。www.emoneybtc.com
只有炒作的區塊鏈,不是真正的區塊鏈。
不懂區塊鏈技術就搞投資分析的所謂大V,都是耍流氓!
上次我們分享了Plasma技術的概要設計,今天我們講Plasma的分片核心機制。包括如何把大量運算分解成分布式運算、壓縮數據體積、防止分片後節點作惡等核心機制原理。
Plasma是區塊鏈技術奇才Vitalik和Joseph Poon提出的區塊鏈擴容技術方案,一經提出便受到區塊鏈業內矚目。有望將以太坊的性能提升至超越EOS的水平,因此不得不研究。
因為這篇文章是Plasma系列研究第二篇,沒看過第一篇的朋友建議先看區塊鏈擴容技術Plasma研究之概要篇
文末有亮點,你會發現以太坊的Plasma和另一熱門技術相關。
1、分布式計算(MapReduce)
水平擴展能力是區塊鏈平台性能提升的關鍵,也是現有區塊鏈技術最突出的問題。現有區塊鏈網路的處理能力受限於單個節點的運行和儲存內存,整個網絡的處理能力都只相當於單個節點的處理能力。
要提升整個網絡的處理能力只有兩個選擇:
1、分片或是跨鏈;
2、提升單個節點的處理能力
Plasma選擇了前者。
Plasma將一種分布式運算規則MapReduce應用於區塊鏈,這是一種大規模數據處理的並行計算模型。簡單來說,將一個大計算任務拆分成多個小計算任務分布到若干台機器上去計算,然後再進行結果匯總。
MapReduce的計算環節總體分為兩步,一個是map階段計算,表示對一個列表(List)中的每個元素做計算。一個是reduce階段運算,表示對一個列表中的每個元素做迭代計算。
Plasma在應用時也采取了同樣的規則。
首先,Plasma在層級區塊鏈結構上應用分布式計算模式,思路是計算由上一級分配,下一級執行。子區塊提交計算需求,而上一級區塊分配計算需求。
節點負責計算,參與者負責驗證這些計算。
圖.計算分配方式
Map環節,由第1級Plasma區塊鏈逐級向下分配。Map一般來講是對每個元素做單獨處理的,這表示原始數據可以是雜亂無章的數據。
Reduce環節,由較低級的Plasma區塊鏈逐級向上提交運算出的元素結果,並進行Reduce運算,對元素進行處理相互關系的迭代計算。最終,計算結果被提交給最高級Plasma區塊鏈。
2、反欺詐證據(fraud proofs)
在POW機制中,為了防止記賬者作惡,中本聰基於理性人假設,給創建錯誤區塊以極高的算力成本,然而這也限制了出塊速度。而Plasma為了防止出塊者作惡,也為了提高出塊的效率,采用反欺詐證據的機制,來給予作惡者懲罰。
防欺詐證據是交易的花費性證明和狀態轉換證明,包括檢查簽名可以花費輸出的能力,通過區塊包含/排除的證據,存款/提現的證據。
圖.防欺詐案例
設想一個事件:有人提交了錯誤的區塊“區塊4”,而另一人有所有區塊的副本。根據歷史區塊的記錄,能夠證明“區塊4”是欺詐的,含有作惡的錯誤信息。那麼這個人可以提交“區塊4”欺詐的證據——反欺詐證據。那麼不僅“區塊4”將變成無效的並且被回滾,而區塊的提交者也會遭到懲罰。“區塊4”的提交者將失去在智能合約上的“bond”的利益。(在Plasma中,“bond”是一種權益)
3、位圖(bitmap)
位圖(bitmap)是通過一個bit數組來存儲特定數據的一種數據結構;由於bit是數據的最小單位,所以這種數據結構往往是非常節省存儲空間。另一方面,這種數據的存儲結構十分地方便運算。
Plasma中反復提及“bitmap”,是為了提高計算速度的辦法:
“為了能夠進行最大限度地壓縮狀態交易(信息),輸出可能會選擇用位圖來表示。
與位圖思路相一致的事,Plasma采用許多壓縮交易信息的辦法來提高計算速度。
難以置信的大量交易在Plasma區塊鏈能被執行時因為最小化壓縮數據(放在)根區塊鏈上。”
4、分片
此處分片是指Plasma子鏈的賬本是相互間獨立的。在特定Plasma子鏈內部進行交易是方便的,但在子鏈和子鏈之間進行交易需要經過特殊處理。子鏈和子鏈類似於多鏈、跨鏈的關系,批次有一定隔離關系。因此這裡稱Plasma網絡是分片的。
分片提高了共識效率。
比如一個賬戶在根鏈上並沒有的賬本余額,但賬本記錄在Plasma區塊鏈上。在根鏈的余額表現一個執行Plasma本身的智能合約。這就減輕了所有交易集中於根鏈的負擔。
而對於分片的問題,Plasma也給出了解決辦法:
在分片數據中,單個分片拒絕披露信息是非常大的風險。這將導致無法產生防欺詐證據。
試圖使用3種策略來解決這個問題:
1、一個鼓勵區塊廣播的新的股份證明機制。這個底層機制不完全依賴正確的激勵功能。然而,這應該有力地減少錯誤的行為。
2、一個計算提款證據的有影響力的提款延遲。這個機制能對扣塊攻擊給予提出防欺詐證據的時間。比如資金被鎖定的情況下,給予提交防欺詐證據的時間,來防止提取被鎖定的資金。
3、創建使交易可以在任意父鏈傳播的子鏈。
5、閃電網絡
Plasma表現出了使用閃電網路的意願。
圖.含閃電網路的鏈結構
閃電可能是在Plasma上的快速的金融支付/合約主要的接口。
在頂部的是閃電網絡,允許通過Plasma和區塊鏈瞬時支付。
你會發現,以太坊采取一種確保共識一致性的分片機制來解決性能問題,其采用的mapreduce、位圖等機制是在傳統IT領域運行成熟的技術,結合反欺詐證據等機制解決區塊鏈下應用的特殊問題,這就在保證多節點參與網絡的同時,提高了性能。
解決了EOS把記賬權力集中於21個少數節點的問題,這點上無疑比EOS更具優勢,是真正的去中心化。