網上有很多關于pos機如何解碼,技術解碼丨復制證明的知識,也有很多人為大家解答關于pos機如何解碼的問題,今天pos機之家(www.tonybus.com)為大家整理了關于這方面的知識,讓我們一起來看下吧!
本文目錄一覽:
1、pos機如何解碼
pos機如何解碼
摘要: 技術解碼丨復制證明(PoRep)發展現狀你想要安全,因為這是一個不受掌控的世界,你不知道攻擊來自哪里,你依賴的是你心中多數人的誠實和利己主義;你需要層層裝甲,但你又不想付出太大的代價,高昂的保護意味著對人群的疏遠。怎么辦?也許該尋得一套軟甲。價格親民,刀槍不如。
眾所周知,Filecoin的存儲證明體系是Filecoin網絡的精髓,也是Filecoiini研究團隊投入最多的部分,其中主要包括復制證明(PoRep)和時空證明(PoSt),而復制證明又是其中的重中之重,關鍵之中的關鍵。時至今日,盡管Filecoin的網絡協議,共識,其他算法都基本定型,但是復制證明仍然處于完善階段。仍然在苦苦尋求更加完善的方案。
復制證明到底證明什么?簡單地說,Filecoin的復制證明就是礦工證明你真的存儲了用戶的數據。
詳細一點講,那就可以直接采用復制證明研究專家、證明算法的發明者 Ben Fisch 的話:
復制證明(PoRep)是一個交互式證明系統。在這個系統中,存儲的提供者需要提供可公開驗證的證明,來表明其為一個數據文件副本分配了獨有的空間資源,而且所存儲的數據是可檢索的。也就是說,復制證明是一個把可檢索證明(PoR)嵌入進容量證明(PoC)中的一種證明機制。
進一步說,PoRep使證明者能夠證明他們正在使用不低于需要的最小空間來存儲信息(這一點等同于空間證明:PoS),并實際使用該空間來存儲有用的信息(這與大多數空間證明不同)。同時,PoRep可以有效地提取存儲的任何數據(如可檢索性證明)。
在一個帶激勵的網絡中,存儲節點以證明者的身份參與并存儲數據文件,因為這樣做可以使他們獲得網絡獎勵。
PoRep的一項重要特性是,證明者如果不能證明他們聲稱的那樣存儲數據文件的復制副本,那么他們將不能獲得獎勵。這是通過系統設計來實現的,在一個合理的系統設計中,即使是那些重復的數據文件,也需要分別證明其每一個復制都需要根據協議被單獨證明。
這里幾個名詞解釋一些:
- PoRep:Proof of Replication (前面講過了)
- PoC:Proof of Capacity - 容量證明,證明自己有足夠的容量
- PoS:Proof of Storage - 存儲證明,注意,這里沒有包括檢索部分(與PoC類似)
- PoR:Proof of Retrievability - 檢索證明,證明數據可被讀取
綜上所述,我們知道: PoRep = PoS + PoR
復制證明的使用PoRep方案旨在用于云存儲和分布式存儲網絡。在這樣的網絡中,重要的是要確保確實獨立地存儲數據文件的復制。
Ben Fisch 作為 Filecoin 研究團隊中的重要一員,他在2018年發表了兩篇重要論文,用于探索復制證明在 Filecoin 網絡中的使用,分別是:
Tight Proofs of Space and Replication
PoReps: Proofs of Space on Useful Data
Filecoin 網絡的復制證明的設計基本上基于上述論文,但做了更多的探索。其中包括,從 Zigzag DRG 到 WinSDR 再到 SDR 的改變。
復制證明的安全性當復制證明用于區塊鏈系統,這里就涉及到一個重要的問題,這種證明是否可偽造?答案是肯定的。因為證明不過就是一些運算,也可以看成一個函數,當所有輸入都知道的情況下,函數值也就可計算了。在區塊鏈系統中,一切鏈上的信息都是透明的,即使不透明,對于需要發起證明的存儲服務方而言,證明所需要的所有信息也是已知的。
然而,復制證明要求必須在存儲的時候發起,同時,要一直保持承諾。也就是說,必須:
1)按照規定的時間內完成證明;
2)證明完成后,不能刪除數據。
上面的第 1)點,可以通過交易和上鏈信息來進行驗證,而第 2)點,就需要通過時空證明來保證。那么很簡單的一個問題就是,能不能不保留數據,而在需要時空證明的時候再做一次復制證明來生成數據呢?答案是,可以,如果你能夠滿足網絡的要求的話。
這里所提到的網絡要求在實踐中就是時間要求,為了這個安全性,一個簡單的設計原理就是,讓時空證明必須在很短的時間內完成,否則無效;而復制證明如果不能在很短的時間內完成的話,就不能做假。
那么,當這兩個時間的差距越大,安全性就越高。
Filecoin網絡中的要求:
時空證明(PoSt)要求在小于一個區塊時間內完成(25s~45s,具體數值待定);注意,這里只考慮WinningPoSt (之前叫ElectionPoSt)。為什么可以不考慮 WindowedPoSt,讀者自己想想做假的動機就差不多明白(當然全面的安全考慮不僅僅是這么簡單)。
復制證明(PoRep)通過設計,在一般用戶可承受成本之下,使得其不可能小時級別內完成。一般為數小時
注意,PoSt的時間是網絡要求的,而PoRep的時間消耗,只能通過算法設計來實現。
如何增長PoRep需要的時間?如果單純從安全性的角度考慮,復制證明完成的時間越長越好。要延長計算的時間,辦法有很多,可以考慮的因素包括:
算法的長度:步驟越多的算法,可能需要更長的時間
算法的可并行性:并行度可以通過增加資源減少運算時間
算法的可簡化性:算法本身如果能夠簡化,那么復雜度就存疑
PoRep要在這幾個方面都要有足夠的強度。就目前的SDR算法而言,對應上面的幾點,Filecoin采用的方案是:
算法的長度通過多步驟計算實現:比如在整個SDR的算法過程中,計算Column Hash之前,要計算11層 labels,這個層數可以調整,層數越多,步驟越多,時間越長;
采用每一步的強依賴關系來去并行化:在計算labels時,每一步的計算都依賴上一步的結果,完全不能并行;因此不能通過增加資源的方式來縮短時間;
采用大量的密碼哈希算法來抗簡化:我們知道,密碼學中的哈希算法是單向函數,而且是難以破解和簡化的(實踐中可以看成是不可破解的)。
安全和成本的折衷但是,安全和成本是一個硬幣的兩面。如果不計成本,當然可以很安全。但是,Filecoin的愿景是做一個存儲市場,是希望與 Amazon,阿里云抗衡的,如果PoRep的成本太高,那么整個存儲的成本也就會高,在這個市場上的競爭力就降低了。
如何在盡量不增加成本的情況下,提高安全性,這是Filecoin團隊考慮的最多的一個問題。其實,對于PoRep性能的提升,Filecoin團隊一直在做,而且性能也一直在提升,這些提升的措施包括:采用更高效的hash算法 Poseidon 來提升零知識證明效率;利用SHA Extension指令來提升每一層的計算速度;采用八叉樹來簡化計算周期和存儲需求;利用內存和存儲的均衡來實現高效率的計算等。
這些考慮,更多的在于對于CPU,內存和存儲資源的消耗上盡量降低,從而帶來成本的降低,但是,前面提到過了,為了安全性不降低,計算的時間長度上不下降。換句話說,盡管你可以使用更少的資源,更低的成本來做復制證明,但是,你還是要花很長時間。
這里有一個問題要澄清一下:做復制證明花比較長的時間,并不意味著存儲和檢索的時間就長了,也并不意味著會很大地影響網絡的響應時間。這是兩回事情。對存儲用戶而言,存儲和檢索都是直接和礦工打交道的,礦工對用戶的響應時間并不依賴于Filecoin區塊鏈網絡。礦工完全有很多的方案還為用戶提供快速的響應。因此,千萬不要因為復制證明需要花的的時間長,就認為Filecoin網路的服務會有問題。
進一步的優化空間PoRep算法一直在進步,但仍然不能令人滿意。安全性也許可以,但效率還是不夠好。一方面,目前的算法對于不帶 SHA Extension 的芯片不夠友好,這可能造成大量存量設備不能高效地為Filecoin網絡提供存儲;另一方面,如果要充分利用現有設備來進行計算,現在的算法要么需要大量的內存消耗、要么需要高帶寬、大量高速IO消耗。
到目前未知,盡管已經非常臨近測試網第二階段,但是,Filecoin團隊仍在積極研究,希望進一步優化。就目前而言,團隊對這個算法的滿意度還可以,一個共識是:目前算法是安全的,而且也工作的很好。第二階段可以采用這個算法。同時,希望有更好的算法,如果經過研究,發現新的不降低安全性,同時需要的成本可以更低,那么算法將會被替換。
這也是團隊一直反復強調不要買硬件的原因。再等等吧,不用多久,就可以基本定型。不好意思,再說一句,優化無止境,改變總在發生。
(1、 內容來自鏈得得內容開放平臺“得得號”,稿件內容僅代表作者觀點,不代表鏈得得官方立場。2、 凡“得得號”文章,原創性和內容的真實性由投稿人保證,如果稿件因抄襲、作假等行為導致的法律后果,由投稿人本人負責。3、 得得號平臺發布文章,如有侵權、違規及其他不當言論內容,請廣大讀者監督,一經證實,平臺會立即下線。如遇文章內容問題,請發送至郵箱:chengyiniu@chaindd.com)
以上就是關于pos機如何解碼,技術解碼丨復制證明的知識,后面我們會繼續為大家整理關于pos機如何解碼的知識,希望能夠幫助到大家!
