科普ProofofSpace杜絕浪費(fèi),共識機(jī)制的“大殺器”區(qū)塊鏈

                  哈希未來 2018-09-08 14:59
                  分享到:
                  導(dǎo)讀

                  科普|ProofofSpace杜絕浪費(fèi),共識機(jī)制的“大殺器”

                  自2009年第一枚比特幣被挖出以來,區(qū)塊鏈行業(yè)逐漸拓展為一個(gè)巨大的全球市場。除BTC以外,LTC、ETH、EOS等各式各樣的區(qū)塊鏈項(xiàng)目層出不窮。目前,僅以太坊上的ERC20代幣項(xiàng)目,就超過11萬個(gè);而發(fā)布項(xiàng)目白皮書的公司更是不可勝數(shù)。 

                  POW(工作量證明)共識算法

                  比特幣實(shí)現(xiàn)了一種點(diǎn)對點(diǎn)的電子支付系統(tǒng),而這一分布式系統(tǒng)的誕生,有賴于其采取的POW(工作量證明)共識算法。目前,絕大多數(shù)具備主鏈的區(qū)塊鏈項(xiàng)目,仍采用POW或改良后的POW共識算法,僅有一部分項(xiàng)目采用POS(權(quán)益證明)或DPOS(股權(quán)代理證明)等算法。

                  POW為分布式賬本帶來簡明、有效的共識產(chǎn)生機(jī)制,然而也產(chǎn)生一些問題:在計(jì)算哈希函數(shù)的過程中,大量能源被浪費(fèi)——

                  有報(bào)道稱,2017年因比特幣挖礦而浪費(fèi)的電量,超過了丹麥一個(gè)國家全年的耗電量。[1]此外,由于ASIC等芯片的產(chǎn)生,比特幣也面臨這越來越中心化的挑戰(zhàn)。比特幣的現(xiàn)狀與中本聰最早的設(shè)計(jì)已經(jīng)相去甚遠(yuǎn)。

                  而POS、DPOS機(jī)制同樣具有中心化的問題,而且投票過程往往較為繁瑣,兩者顯然并非最佳的解決方案。值得一提的是,市面上曾出現(xiàn)一些采用如“交易即挖礦”、“鎖倉即挖礦”、“投保即挖礦”、“挖礦即挖礦”等方案的區(qū)塊鏈項(xiàng)目。但本質(zhì)上,這些項(xiàng)目所發(fā)行的還僅僅是以太坊上的ERC20代幣。由于不具備主鏈,這些項(xiàng)目均不需要共識機(jī)制;所謂的挖礦方案,本質(zhì)上屬于空投方案,是一種激勵(lì)手段,與區(qū)塊鏈的核心技術(shù)無必然關(guān)聯(lián)。

                  真正要解決POW所衍生的浪費(fèi)能源、中心化的問題,開發(fā)多樣化的挖礦方案,至少需要解決以下一系列技術(shù)問題:

                  (1) 如果不耗費(fèi)工作量,以什么作為用戶付出代價(jià)的證明?

                  (2) 該種證明如何被校驗(yàn)?

                  (3) 如何確定挖礦競賽的優(yōu)勝者?

                  (4) 如果避免主鏈分叉等?

                  Proof of Space,空間證明

                  在技術(shù)進(jìn)展的過程中,PoSpace方案作出了重要的探索。PoSpace即Proof of Space,空間證明。PoSpace意在取代比特幣中的PoW機(jī)制,成為一種新型的共識機(jī)制解決方案。

                  這一方案目前已在一些區(qū)塊鏈項(xiàng)目實(shí)施落地。它以用戶支付的硬盤空間作為付出代價(jià)的證明,通過下載文件占據(jù)硬盤空間,所占的空間越大,說明用戶付出越大。

                  PoSpace可帶來以下好處:極大減少資源浪費(fèi);用戶一次性付出硬盤空間后,后續(xù)挖礦不需額外增加付出等等。根據(jù)一些團(tuán)隊(duì)的測算,PoSpace里的用戶行為可視作一種拓展性的博弈模型,隨著時(shí)間增長,會(huì)有越來越多的用戶加入進(jìn)來。[1]

                  為應(yīng)對硬盤空間造假的問題,PoSpace把節(jié)點(diǎn)分為兩種角色:證明人和校驗(yàn)人。證明人即普通節(jié)點(diǎn),需要存儲(chǔ)較大的信息數(shù)據(jù)(如100G),而校驗(yàn)人存儲(chǔ)數(shù)據(jù)庫以及證明人的一小部分存儲(chǔ)信息,以便驗(yàn)證。

                  當(dāng)用戶/證明人初次加入網(wǎng)絡(luò),他需要根據(jù)選擇的存儲(chǔ)空間大小,存儲(chǔ)一部分具有特定序列的數(shù)據(jù)(存儲(chǔ)的數(shù)據(jù)由用戶的公鑰決定,因此各用戶的數(shù)據(jù)并不相同)。這些數(shù)據(jù)以有向無環(huán)圖的結(jié)構(gòu)存儲(chǔ),而每個(gè)數(shù)據(jù)塊之間的關(guān)聯(lián)關(guān)系,以Merkle樹的形式發(fā)送給校驗(yàn)人。

                  由此一來,校驗(yàn)人可由公鑰知道證明人存儲(chǔ)的是哪些數(shù)據(jù)、由發(fā)送的Merkle樹知道這些數(shù)據(jù)以怎樣的結(jié)構(gòu)存儲(chǔ)。 

                  在驗(yàn)證環(huán)節(jié),校驗(yàn)人向證明人發(fā)送一份“挑戰(zhàn)”。這份挑戰(zhàn)是證明人存儲(chǔ)數(shù)據(jù)塊的某種隨機(jī)組合。證明人需要根據(jù)挑戰(zhàn)信息,生成對應(yīng)組合數(shù)據(jù)的hash值,返還給校驗(yàn)人,由校驗(yàn)人驗(yàn)證該hash值是否正確。

                  由于挑戰(zhàn)是數(shù)據(jù)的一種隨機(jī)組合,而略微不同的數(shù)據(jù)都將使得hash值完全不同。因此證明人必須的確存儲(chǔ)了“挑戰(zhàn)”所指明的數(shù)據(jù)塊,才能生成正確的hash值。而校驗(yàn)人由于存儲(chǔ)了完整的數(shù)據(jù)庫,他也可對證明人發(fā)回的hash值進(jìn)行校驗(yàn)。

                  證明人有可能僅存儲(chǔ)小部分?jǐn)?shù)據(jù),而仍然通過校驗(yàn)人的挑戰(zhàn)(證明人所存儲(chǔ)的小部分?jǐn)?shù)據(jù),恰好囊括挑戰(zhàn)所包含的數(shù)據(jù)組合)。然而隨著“挑戰(zhàn)”的過程多次進(jìn)行,證明人通過存儲(chǔ)少量數(shù)據(jù)而生成出正確反饋的概率大幅下降。

                  因此可通過多次驗(yàn)證來避免證明人的作弊行為。這就是PoSpace里的空間確認(rèn)過程。

                  “質(zhì)量函數(shù)”的解決方案

                  而有了校驗(yàn)用戶存儲(chǔ)空間的方法,仍需通過一些方式來確定挖礦競賽的獲勝者。比較合理的方式應(yīng)是,存儲(chǔ)空間越大的礦工,越有可能在挖礦競賽中勝出。PoSpace則通過設(shè)計(jì)一個(gè)“質(zhì)量函數(shù)”來實(shí)現(xiàn)這個(gè)目標(biāo)。

                  “質(zhì)量函數(shù)”需要保持一定的隨機(jī)性,而同時(shí)按照貢獻(xiàn)空間的大小來區(qū)分各個(gè)礦工獲勝的概率。因此一個(gè)簡化的做法是,應(yīng)對校驗(yàn)人的挑戰(zhàn),礦工反饋的hash值(一串?dāng)?shù)字)直接作為隨機(jī)量,并根據(jù)礦工所占的空間對這串?dāng)?shù)字進(jìn)行增減。譬如假若礦工存儲(chǔ)的空間總大小為N,則對hash值開N次平方,得到質(zhì)量函數(shù)。這樣一來,礦工存儲(chǔ)的空間越大,質(zhì)量函數(shù)的數(shù)值越小。我們可以規(guī)定單次挖礦競賽中,質(zhì)量函數(shù)最小的礦工獲勝。

                  但此時(shí)仍存問題:

                  由于礦工在一次性付出硬盤空間后,在挖礦過程中不需有后續(xù)付出,因此參加挖礦競賽不需要付出代價(jià),進(jìn)行主鏈分叉幾乎沒有成本。為避免礦工隨意分叉造成雙花等混亂情形,我們?nèi)孕枰环N規(guī)則來確定某鏈?zhǔn)俏ㄒ绘湥杏脩艟挥涗涍@個(gè)唯一鏈,這才是真正達(dá)成共識。

                  由于每個(gè)區(qū)塊由具有最小“質(zhì)量函數(shù)”的礦工挖出,一個(gè)自然的想法便是:由質(zhì)量函數(shù)來確定唯一主鏈。我們設(shè)定一個(gè)數(shù)量i,規(guī)定從最新的區(qū)塊往前i個(gè)區(qū)塊的質(zhì)量函數(shù)相加,得到鏈的總質(zhì)量函數(shù)??傎|(zhì)量函數(shù)最小的那條鏈,可判定為主鏈,在此基礎(chǔ)上,為強(qiáng)調(diào)越早的區(qū)塊所占的比重越高,可增加一個(gè)折扣函數(shù),對早期的區(qū)塊進(jìn)行縮減(以提高其重要性)。

                  因此當(dāng)主鏈出現(xiàn)分叉時(shí),對兩條(或多條)分叉鏈的總質(zhì)量函數(shù)進(jìn)行計(jì)算,即可確定唯一鏈,由此保證僅有一條主鏈,從而使各用戶之間建立起一個(gè)分布式、同時(shí)又統(tǒng)一的賬本系統(tǒng)。

                  總結(jié)

                  PoSpace使用物理硬盤空間作為付出代價(jià)的證明,解決了比特幣里POW持續(xù)浪費(fèi)大量資源的問題,同時(shí)可建立一個(gè)與比特幣作用相同的電子支付系統(tǒng)。

                  PoSpace可認(rèn)為是共識機(jī)制在POW基礎(chǔ)上的一大進(jìn)步。但與此同時(shí),PoSpace仍存在一些問題:如引入了校驗(yàn)人角色,增加了系統(tǒng)的風(fēng)險(xiǎn);如何設(shè)計(jì)和安排校驗(yàn)人,仍是一個(gè)問題;以硬盤空間為證明,存在著中心化的風(fēng)險(xiǎn),因?yàn)樯俨糠秩丝梢酝ㄟ^巨大財(cái)力購置大量硬盤空間,持續(xù)壟斷挖礦,造成類“51%攻擊”等。中本聰“一枚CPU芯片代表一個(gè)個(gè)體,每個(gè)個(gè)體擁有平等挖礦機(jī)會(huì)”的構(gòu)想,仍然難以實(shí)現(xiàn)。 

                  但不得不說,PoSpace的思路為我們提供了許多啟發(fā),如通過隨機(jī)的方式對用戶付出的代價(jià)進(jìn)行校驗(yàn);通過設(shè)計(jì)區(qū)塊質(zhì)量函數(shù)確定挖礦競賽的獲勝方式;通過設(shè)計(jì)鏈質(zhì)量函數(shù)來避免主鏈分叉等。沿著這一思路,我們完全有可能開發(fā)出適應(yīng)不同使用場景的共識機(jī)制,如“注意力證明”、“時(shí)間證明”等。

                  此外,PoSpace中硬盤所存儲(chǔ)的空間,若從無意義的字節(jié),改為有意義的內(nèi)容(如影片等資料),PoSpace或許天然地適用于建立網(wǎng)絡(luò)資源共享社區(qū)。相信在不遠(yuǎn)的將來,空間證明共識機(jī)制將迎來更多發(fā)展和應(yīng)用。

                  參考文獻(xiàn):

                  [1]Park S, Pietrzak K, Alwen J, et al. Spacecoin: A cryptocurrency based on proofs of space[R]. IACR Cryptology ePrint Archive 2015, 2015. 

                  [2] Dziembowski S, Faust S, Kolmogorov V, et al. Proofs of space[C]//Annual Cryptology Conference. Springer, Berlin, Heidelberg, 2015: 585-605.

                  文章版權(quán)為哈希未來所有,如需轉(zhuǎn)載,請聯(lián)系哈希未來工作人員。

                  (作者:哈希未來|陳致佳、蒙繹澤、江澤武,內(nèi)容來自鏈得得內(nèi)容開放平臺“得得號”;本文僅代表作者觀點(diǎn),不代表鏈得得官方立場)

                  證明 PoSpace 空間 區(qū)塊 函數(shù)
                  分享到:

                  1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會(huì)明確標(biāo)注作者和來源;
                  2.TMT觀察網(wǎng)的原創(chuàng)文章,請轉(zhuǎn)載時(shí)務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
                  3.作者投稿可能會(huì)經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。