詳解公有鏈目前存在的本質(zhì)挑戰(zhàn)_第1頁
詳解公有鏈目前存在的本質(zhì)挑戰(zhàn)_第2頁
詳解公有鏈目前存在的本質(zhì)挑戰(zhàn)_第3頁
詳解公有鏈目前存在的本質(zhì)挑戰(zhàn)_第4頁
詳解公有鏈目前存在的本質(zhì)挑戰(zhàn)_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

詳解公有鏈目前存在的本質(zhì)挑戰(zhàn)毫無疑問區(qū)塊鏈技術(shù)有巨大的潛力。在2017年里,人們高昂的熱情為ICO募集了數(shù)百億資金,大大提升了加密貨幣市場的規(guī)模。然而,另一面卻沒有得到足夠重視:區(qū)塊鏈存在一些技術(shù)壁壘(technicalbarriers),這導(dǎo)致難以有效地將它應(yīng)用到主流人群里。這些技術(shù)壁壘包括:1、可擴(kuò)展性的限制2、隱私保護(hù)的限制3、缺乏合約的形式化驗(yàn)證4、存儲限制5、難以證明的共識機(jī)制6、缺乏治理和標(biāo)準(zhǔn)7、缺乏開發(fā)工具8、量子計(jì)算機(jī)的威脅...還有在這篇文章里,我會一一闡述這些技術(shù)壁壘,并分享一些可行的解決方案。1.可擴(kuò)展性的限制當(dāng)前公有鏈的共識協(xié)議都存在這樣的限制:網(wǎng)絡(luò)中的全節(jié)點(diǎn)參與者需要處理全部交易。為什么會這樣?因?yàn)閰^(qū)塊鏈本質(zhì)上是「去中心化」——這意味著不存在一個中心團(tuán)體來保護(hù)和維持系統(tǒng)。取而代之,網(wǎng)絡(luò)的每個節(jié)點(diǎn)都會處理每筆交易并維持全狀態(tài)副本,通過這種方式來保護(hù)系統(tǒng)。去中心化共識機(jī)制的關(guān)鍵優(yōu)勢是安全保證、政治中立和抵抗審查等。然而,這是以擴(kuò)展性為代價(jià)換來的,因?yàn)槿ブ行幕拗屏藚^(qū)塊鏈里全節(jié)點(diǎn)可處理交易的數(shù)量。實(shí)質(zhì)上這帶來了兩個影響。低吞吐量:區(qū)塊鏈可處理交易的數(shù)量十分有限緩慢的交易速度:處理一個區(qū)塊的時間很長。比如比特幣的區(qū)塊時間是10分鐘,以太坊的區(qū)塊時間大約是14秒。在高峰期里花費(fèi)的時間甚至更長。相較之下,Square和Visa等服務(wù)的交易是即時確認(rèn)的。因此,公有鏈需要在低交易吞吐量和高中心化之間做一個權(quán)衡。換句話說,隨著區(qū)塊鏈大小的增加,網(wǎng)絡(luò)里全節(jié)點(diǎn)所需的存儲、帶寬和計(jì)算能力也會增加。當(dāng)?shù)竭_(dá)某個時刻,就只有少數(shù)節(jié)點(diǎn)才能提供足夠資源來處理區(qū)塊——這會帶來中心化風(fēng)險(xiǎn)。在那時,我們會回到需信任少數(shù)大節(jié)點(diǎn)的中心化系統(tǒng)里。然而我們想要的系統(tǒng)是:它既能每秒處理上千筆交易,又能帶來一定程度的去中心化。1可擴(kuò)展性的解決方案理想狀態(tài)下,我們希望我們設(shè)計(jì)的區(qū)塊鏈有著與比特幣和以太坊相近或更好的安全性,但同時又不希望網(wǎng)絡(luò)里每個節(jié)點(diǎn)都要處理超過一定比例的交易。換句話說,我們需要一種機(jī)制,來限制驗(yàn)證交易的節(jié)點(diǎn)數(shù)量(注:因?yàn)闇p少驗(yàn)證節(jié)點(diǎn)數(shù)量可以提高吞吐量),同時又保證網(wǎng)絡(luò)里的每筆交易都是合法可信。這聽起來很容易,但在技術(shù)上非常困難??蓴U(kuò)展性是平臺走向成功的一個巨大障礙。下面是一些不同開發(fā)團(tuán)隊(duì)正在努力研究的解決方案。在這一篇文章里我已經(jīng)對可擴(kuò)展性解決方案進(jìn)行了詳細(xì)介紹,推薦大家閱讀。這里只做一個簡短總結(jié)。2A■鏈下交易通道(off-chainpaymentchannel)該方案是在鏈下使用微支付通道網(wǎng)絡(luò)處理大部分交易。區(qū)塊鏈只作為清算層來處理一系列交易的最終清算,從而來減少底層區(qū)塊鏈的負(fù)擔(dān)。這解決了我們前面討論的吞吐量問題,區(qū)塊鏈可處理交易的數(shù)量可提升一個量級。除此之外,由于交易都是在支付通道里處理的,無需等待區(qū)塊確認(rèn),因此交易速度問題也得到了解決,消除了時延。RaidenNetwork和LightningNetwork都是微支付通道網(wǎng)絡(luò)的實(shí)例。3B.分片(Sharding)分片的思想是把區(qū)塊鏈的整體狀態(tài)分割成不同的「片」,每部分狀態(tài)都由不同的節(jié)點(diǎn)存儲和處理。每個分片都只處理整體狀態(tài)的一小部分,因此可以做到并行處理。區(qū)塊鏈分片就像傳統(tǒng)數(shù)據(jù)庫的分片一樣,但還需額外考慮如何在去中心化的節(jié)點(diǎn)集合里維持安全性和合法性。4C.鏈下計(jì)算(off-chaincomputation)這個方案和狀態(tài)通道很相似,但適用范圍更廣。其主要思想是以一種安全可證的方式,在鏈下處理一些在鏈上執(zhí)行代價(jià)很高的計(jì)算。把計(jì)算和證明處理移到鏈下的獨(dú)立協(xié)議里,可以提高交易吞吐量。一個實(shí)例是以太坊的TrueBit。5D.DAGDAG是有向無環(huán)圖(DirectedAcyclicGraph)的縮寫這是一種有頂點(diǎn)和邊的圖結(jié)構(gòu)ODAG可以保證從一個頂點(diǎn)沿著若干邊前進(jìn),最后不能回到原點(diǎn)。由此我們可以給頂點(diǎn)進(jìn)行拓?fù)渑判颉R恍〥AG協(xié)議,如IOTA的Tangle,丟棄了全局的線性區(qū)塊概念,使用DAG數(shù)據(jù)結(jié)構(gòu)來維持系統(tǒng)狀態(tài)。為了保證網(wǎng)絡(luò)安全,這些協(xié)議需要用某種新方法,使節(jié)點(diǎn)不需要用線性方式處理每一筆交易另一種DAG協(xié)議SPECTREprotocol,使用了區(qū)塊的DAG技術(shù),可以并行挖礦,從而帶來更大的吞吐量和更快的交易確認(rèn)時間。DAG技術(shù)還處在早期階段。老實(shí)說,它們也存在一些需要被解決的底層限制和缺陷。2.隱私保護(hù)的限制區(qū)塊鏈上的交易并沒有直接關(guān)聯(lián)到你的身份,這看起來似乎是可以具有隱私保護(hù)的。每個人都可以匿名地生成錢包,并進(jìn)行交易。然而,事實(shí)遠(yuǎn)沒有這么簡單。區(qū)塊鏈技術(shù)的巨大前景之一是假名(pseudonymity)的使用:交易被記錄在公共賬本里,但是它們又與由數(shù)字和字母組成的地址保持關(guān)聯(lián)。因?yàn)闊o需將真實(shí)世界的身份信息關(guān)聯(lián)到地址上,交易的發(fā)起者似乎是不可能被追蹤的。然而,這種想法是錯誤的。沒有將假名關(guān)聯(lián)到個人信息,這確實(shí)可以保護(hù)隱私。然而只要有人建立了鏈接,則隱私就不再是秘密。一個例子是執(zhí)法機(jī)構(gòu)坦言他們在調(diào)查時,可以識別比特幣用戶,對他們進(jìn)行反匿名(deanonymizing)1這是怎么發(fā)生的呢?商業(yè)網(wǎng)站的WebTracker和cookies會輕易泄露與交易相關(guān)的信息。任何人,包括政府、執(zhí)法機(jī)構(gòu)和惡意用戶都可以利用這些信息。此外,區(qū)塊鏈平臺(如以太坊)的用戶與智能合約進(jìn)行著復(fù)雜交互。智能合約的所有細(xì)節(jié),包括發(fā)送者和接受者、交易數(shù)據(jù)、執(zhí)行的代碼和合約內(nèi)部存儲的狀態(tài),都是公開。大部分公司都不會考慮把重要的商業(yè)數(shù)據(jù)上傳區(qū)塊鏈中,因?yàn)楹诳?、競爭者和其他非授?quán)組織都可以輕易看到這些信息思考一下:電子醫(yī)療記錄是十分隱私和敏感的信息。身份識別數(shù)據(jù)如身份證不能在智能合約上公開。憑證管理如密碼和密鑰都不能放在公開和不安全的智能合約中。金融文件如股權(quán)結(jié)構(gòu)表或員工薪資都不能公開。這樣的例子不勝枚舉隱私保護(hù)對于個人、組織和企業(yè)來說,都是一個本質(zhì)挑戰(zhàn)。許多人為區(qū)塊鏈和數(shù)字貨幣著迷,是因?yàn)檫@個去信任和抵抗審查的系統(tǒng)能帶來金融上的變革。矛盾的是,我們在使用的是一個公開且容易被追蹤的賬本。2隱私保護(hù)解決方案下面是一些不同開發(fā)團(tuán)隊(duì)正在努力實(shí)現(xiàn)的方案EllipticCurveDiffie-Hellman-Merkle(ECDHM)addresses理解ECDHM地址之前,你需要理解Diffie-Hellman密鑰交換,其背后的思想在于雙方之間建立一個共享的秘密。在公開網(wǎng)絡(luò)里,這可以被用于交換秘密信息。3這是如何做到?發(fā)送方和接收方共享ECDHM地址,然后通過共享的秘密將其轉(zhuǎn)化成比特幣地址。該比特幣地址只會被擁有該秘密的人知道。唯一公開的東西只有可重復(fù)使用的ECDHM地址。因此,用戶不用擔(dān)心交易會被追蹤。Conceptualdiagramthatillustratesthegeneralideaofthekeyexchangebyusingcolorsinsteadofverylargenumbers(Source:/wiki/Diffie%E2%80%93Hellman_key_exchange)ECDHM地址方案包括PeterTodd提出的StealthAddresses,JustusRanvier提出的BIP47ReusablePaymentCodes和JustinNewton提出的BIP75OutofBandAddressExchange。然而,沒有一個方案得到實(shí)際應(yīng)用。4混合器(Mixer)混合器的思想是把交易混到一個池里,收支平衡由池中的私有賬本來記錄。當(dāng)池中的資金被花費(fèi)后,原始交易就變得難以追蹤了。觀察區(qū)塊鏈的人可以看到池的支付金額和收款人,但是無法追蹤交易的發(fā)起人?;旌掀鞣?wù)的一個例子是CoinJoin。Source:/wiki/CoinJoin不幸的是,混合器不是一個可靠的解決方案。研究者可以確定CoinJoin里的交易,他們證明,攻擊者只要花費(fèi)$32,000,就能以90%的成功率識別交易。并且,研究者還證明混合器幾乎無法抵御女巫攻擊(Sybilattacks)和拒絕服務(wù)攻擊(Denial-of-Serviceattacks)。另一個令人不安的地方是,需要通過一個相對中心化的實(shí)體來維護(hù)混合器的私有賬本,這意味著需要一個可信第三方來“混合”交易。CoinJoin不是默認(rèn)交易方法,因此很少人參與到進(jìn)混合池里,這導(dǎo)致匿名集合十分小。在人數(shù)少的集合里,可以很容易確認(rèn)交易的來源。另一種混合器方案是CoinShuffle,這是德國薩爾布呂肯大學(xué)研究團(tuán)隊(duì)設(shè)計(jì)的去中心化混合協(xié)議。CoinShuffle嘗試解決CoinJoin里需要可信第三方來混合交易的問題。5門羅幣(Menoro)不同于其他的山寨幣,門羅幣不是比特幣的分叉,而是基于另一種協(xié)議CryptoNote。門羅幣的最大特色是環(huán)簽名(RingSignature)方案。環(huán)簽名是一種群簽名,群里的每個簽名者都擁有一對私公鑰對。不像傳統(tǒng)的加密簽名證明交易是單個簽名者用私鑰簽的,群簽名證明交易是群里的某個人簽名的,但不會暴露具體是誰簽的。6零知識證明(Zero-knowledgeproofs)零知識證明是指,在不揭露特定知識的情況下,證明者(prover)可以說服驗(yàn)證者((verifier)他們知道該知識。換句話說,零知識的輸入是秘密的,證明者不會向驗(yàn)證者揭露任何知識。零知識證明可以被用在隱私保護(hù)方案里。例子包括:例子1:質(zhì)詢/響應(yīng)比賽在計(jì)算機(jī)安全里,質(zhì)詢-響應(yīng)認(rèn)證(challenge-responseauthentication)是一個協(xié)議族。在協(xié)議里,一方進(jìn)行提問(“質(zhì)詢“),另一方給出正確的答案(”響應(yīng)”)以獲得授權(quán)。在區(qū)塊鏈里,這個“比賽”能被用于驗(yàn)證交易。如果某一交易是非法的,其他節(jié)點(diǎn)會注意到其非法性。這就需要提供可驗(yàn)證的證明(verifiableproof),來證實(shí)交易是非法的。如果驗(yàn)證失敗,則會產(chǎn)生一個“質(zhì)詢”,要求交易的發(fā)起人生成一個“響應(yīng)”,來證明交易是合法的。這里有一個例子:假設(shè)只有Bob可以訪問某些資源(如他的車)。Alice現(xiàn)在也想訪問它們(如開這輛車去雜貨店)。Bob發(fā)起一個質(zhì)詢,假設(shè)為“52w72y“。Alice必須用一個字符串來響應(yīng)Bob發(fā)起的質(zhì)詢。使用一個只有Bob和Alice知道的算法,這是找到答案的唯一方式。此外,Bob每次發(fā)起的質(zhì)詢都會不一樣。知道先前正確的響應(yīng),并不能給Alice帶來任何的優(yōu)勢。質(zhì)詢/響應(yīng)比賽已經(jīng)被使用在區(qū)塊鏈,如以太坊里了。然而,我們需要相應(yīng)的函數(shù)庫和工具,來使這一類的認(rèn)證方案更容易被使用。例子2:zkSNARKszkSNARKs到底是什么?讓我們來逐步分解其定義:zk=zero-knowledge(零知識)。不需要信息本身的條件下,可以證明該信息存在。SNARK:SuccinctNon-interactiveAdaptiveARgumentofKnowledge簡潔(Succinct)表示證明簡潔,可以被快速驗(yàn)證。非交互(Non-interactive)表示驗(yàn)證者不需要和證明者進(jìn)行交互。取而代之,證明者會預(yù)先公開它的證明,而驗(yàn)證者可以檢查它的正確性。適應(yīng)性知識論證(Adaptiveargumentofknowledge)表示某些計(jì)算的證明。盡管我希望有一天可以寫一篇文章介紹zkSNARKs,但這里我會跳過技術(shù)細(xì)節(jié)。zkSNARKs是一個的構(gòu)建隱私保護(hù)的組件,它令人振奮且具有遠(yuǎn)大前景,但有幾點(diǎn)需要注意7SNARKs是資源密集型的SNARKs能讓用戶證明他們擁有訪問某個秘密的權(quán)限。但用戶有職責(zé)維護(hù)秘密讓它在需要的時候能被訪問到°SNARKs需要一個啟動階段,來準(zhǔn)備需要證明的電路或運(yùn)算。該階段由一組可信團(tuán)體預(yù)先進(jìn)行。這不僅意味著你需要信任進(jìn)行該啟動階段的團(tuán)體,還意味著不適合用SNARKs進(jìn)行任意的運(yùn)算,因?yàn)榭傂枰粋€準(zhǔn)備階段。例子3:zkSNARKs+ZcashZcash是基于zk-SNARKs,具有隱私保護(hù)特點(diǎn)的加密貨幣。在Zcash所謂的“私密交易(shieldedtransactions)”里,每一個被使用的幣都帶有一組匿名集合。私密交易使用“私密地址(shieldedaddresses)”,它要求發(fā)送方或接收方生成一個零知識證明,以在不泄露交易信息的情況下,允許其他人驗(yàn)證交易。ZcashtransactiondiagramZcash無疑是一個值得關(guān)注的有趣項(xiàng)目。例子4:zkSNARKs+Ethereum在以太坊下一個要升級的協(xié)議Metropolis里,開發(fā)者將可以在鏈上高效地驗(yàn)證zk-SNARKs。我們可以在支持SNARKs的以太坊里做什么呢?可以把某些合約變量被設(shè)為不可見。秘密信息可以與那些遵守使用SNARKs的合約規(guī)則的用戶存儲在一起,而不是直接存儲在鏈上。每一組用戶群自身都需要一個可信的啟動階段,這會增加一些用于準(zhǔn)備階段的開銷。但一旦電路被設(shè)置好,它就可以被任意數(shù)量的交易使用。在支持SNARKs的以太坊里,你無法把隱私與用戶分開,即做不到自治性隱私(autonomousprivacy)由于以太坊的SNARKs依賴用戶在鏈下維護(hù)密鑰,因此如果沒有這些用戶,就沒有地方可以找到這些秘密。例子5:zkSTARKsZK-SNARKs有一個更年輕更閃耀的同胞兄弟:ZK-STARKs其中“T“表示”透明(transparent)°ZK-STARKs解決了ZK-SNARKs的一個主要缺陷:需要依賴一個可信的啟動階段。由于ZK-STARKs只依賴哈希和信息論,因此它更簡易;由于不再使用橢圓曲線和指數(shù)假設(shè),面對量子計(jì)算機(jī)時它更加安全??偠灾?,盡管在上述的零知識證明隱私保護(hù)方案的前沿研究中,我們?nèi)〉昧梭@人的進(jìn)步,但仍然有許多工作需要去做。我們需要對零知識證明的函數(shù)庫進(jìn)行實(shí)證研究和實(shí)踐檢測,使其成熟。我們需要在不同公鏈上對zkSNARKs和zkSTARKs進(jìn)行實(shí)驗(yàn)。在真實(shí)世界的場景里,Zcash則需要在擴(kuò)展性上給出令人滿意的使用案例。我們離這些仍有很長的路要走。8代碼混淆(CodeObfuscation)另一種隱私保護(hù)機(jī)制是代碼混淆。該方案要找到一種方式來混淆程序P,混淆器(obfuscator)會產(chǎn)生第二個程序O(P)=Q,使得在給P和Q相同的輸入時,產(chǎn)生相同的輸出。但是Q不會揭露與P內(nèi)部構(gòu)造相關(guān)的任何信息。這使得我們可以在Q內(nèi)部隱藏如密碼和身份證等的私密信息,但同時在程序里使用這些信息。雖然研究者已經(jīng)證明完全的黑盒混淆器是不可能實(shí)現(xiàn)的,但不可區(qū)分混淆器(indistinguishabilityobfuscation)是可以實(shí)現(xiàn)的,這是一種概念上弱化的混淆器。不可區(qū)分混淆器O的定義是,如果你使用兩個同等的程序A和B(如把相同值輸入到A或B里去產(chǎn)生相同的輸入)計(jì)算得到O(A)=P和O(B)=Q,則在無法進(jìn)入程序A或B的情況下,則在計(jì)算上分辨P來自于A還是B是不可行的。最近,研究者CraigGentry,AmitSahai等人完成了不可區(qū)分代碼混淆器。然而,該算法的計(jì)算開銷十分高昂。如果開銷問題可以得到改善,則能帶來巨大的潛在好處。舉個例子,假設(shè)以太坊的智能合約里有Coinbase的密碼。則我們可以寫出這樣一個程序:當(dāng)智能合約滿足了特定條件后,合約通過中間節(jié)點(diǎn)初始化與Coinbase的HTTPS會話,使用密碼進(jìn)行登錄,然后執(zhí)行交易。由于合約里的信息被混淆了,因此中間節(jié)點(diǎn)或區(qū)塊鏈的其他參與者都沒法修改發(fā)岀的請求和獲取用戶密碼。9預(yù)言機(jī)(Oracle)在區(qū)塊鏈?zhǔn)澜缋?,預(yù)言機(jī)是指在智能合約和外部數(shù)據(jù)源之間傳遞消息的角色。它在鏈上智能合約和鏈下外部數(shù)據(jù)源之間充當(dāng)數(shù)據(jù)的運(yùn)輸者。因此,一種保護(hù)信息隱私性的方法是使用預(yù)言機(jī)從外部數(shù)據(jù)源中取岀隱私數(shù)據(jù)。10可信任執(zhí)行環(huán)境(TrustedExecutionEnvironments)可信任執(zhí)行環(huán)境TEE是位于主處理器里的一個安全區(qū)域。在TEE里加載運(yùn)行的代碼和數(shù)據(jù)會得到隱私性和完整性的保護(hù)。TEE可以與面向用戶的操作系統(tǒng)并行運(yùn)行,但比后者具有更好的隱私性和安全性。Source:/JavierGonzlez49/operating-system-support-for-runtime-security-with-a-trusted-execution-environment-phd-thesis3.缺乏合約的形式化驗(yàn)證智能合約的形式化驗(yàn)證仍然是一個未解決的巨大問題。首先,讓我們通過“形式化證明(formalproof)”來理解“形式化驗(yàn)證(formallyverify)”的意思。在數(shù)學(xué)上,“形式化證明”是一種數(shù)學(xué)證明,計(jì)算機(jī)可以通過基本的數(shù)學(xué)公里和推理規(guī)則(inferencerules)來證明它。在程序方面,形式化驗(yàn)證是一種判斷程序是否能按預(yù)期運(yùn)行的方法。具體的規(guī)約語言可以來描述輸入和輸出之間的函數(shù)關(guān)系。也就是說,如果在程序里聲明了一個不變量,則我們應(yīng)該證明這個聲明的存在。規(guī)范語言的一個例子是Isabelle,它是一種通用證明輔助,可以在形式化語言里表達(dá)數(shù)學(xué)公式,還提供了工具在邏輯運(yùn)算上來證明這些公式。另一種規(guī)范語言是Coq,這是一種用來書寫數(shù)學(xué)定義、執(zhí)行算法和定理的形式語言。對于編碼在智能合約里的程序來說,為什么形式化驗(yàn)證十分重要?一個原因是智能合約是不可逆的,這意味著一旦將它們部署到主網(wǎng)絡(luò)里,你就無法升級或修改它們。因此在部署和使用智能合約之前,需要保證一切都不會出錯。而且,智能合約是可公開訪問的,存儲在智能合約里的內(nèi)容對任何人可見;每個人都可以調(diào)用智能合約里的公開方法。這帶來了開放性和透明性,但也會吸引黑客攻擊智能合約。無論你多么小心謹(jǐn)慎,寫出一個沒有bug和完全可信的智能合約都是十分困難的。此外,在以太坊上,由EVM指令的設(shè)計(jì)方式,驗(yàn)證EVM代碼也很困難。因此在以太坊上很難找到一種形式化驗(yàn)證的解決方案。但無論如何,形式化驗(yàn)證都是一種減少bug和攻擊的強(qiáng)有力手段。比起傳統(tǒng)方法(如代碼測試和同行審查),它在很大程度上可以保證正確性。我們急切地需要一種更好的解決方案。4.存儲限制公有鏈上的大部分應(yīng)用都需要解決存儲問題(如用戶身份、金融信息等)然而,在公有鏈上存儲信息意味著數(shù)據(jù)被網(wǎng)絡(luò)里的每一個全節(jié)點(diǎn)存儲著被無限期存儲著,因?yàn)閰^(qū)塊鏈數(shù)據(jù)只增不減,且不可逆。在去中心化網(wǎng)絡(luò)里,每一個全節(jié)點(diǎn)會存儲越來越多的數(shù)據(jù),因此數(shù)據(jù)存儲帶來了巨大的開銷。這將導(dǎo)致存儲變成區(qū)塊鏈應(yīng)用的巨大瓶頸。存儲解決方案下面介紹一些項(xiàng)目,它們使用不同的策略將數(shù)據(jù)分割成分片(shard),并以去中心化的方法將其存儲在參與節(jié)點(diǎn)里。這些方法的基本前提是不讓每個節(jié)點(diǎn)都存儲所有數(shù)據(jù),而是將數(shù)據(jù)分散后,存儲在一個節(jié)點(diǎn)集合里。一些工程實(shí)例:Swarm:Swarm是以太坊上的p2p文件分享協(xié)議。你能將程序代碼和數(shù)據(jù)存儲在主鏈之外的swarm節(jié)點(diǎn)里,這些節(jié)點(diǎn)與以太坊主鏈會保持連接。你可以在鏈上交換這些數(shù)據(jù)。Storj:文件和數(shù)據(jù)一開始會被分片和加密,然后被分散并存儲到多個節(jié)點(diǎn)里,每個節(jié)點(diǎn)只存儲數(shù)據(jù)的一小部分。這是一種“分布式存儲”。Storj代幣(SCJX)被用來支付存儲和激勵存儲文件和數(shù)據(jù)的節(jié)點(diǎn)。IPFS:這是一種p2p超媒體(hypermedia)協(xié)議,它的特點(diǎn)是高吞吐量,基于內(nèi)容尋址(content-addressed)的區(qū)塊存儲模型和超鏈接。本質(zhì)上,它能以一種持久化和去中心化的方式存儲文件,同時還有歷史版本控制和減少相同文件副本的特點(diǎn)。Decent:Decent是一個去中心化的內(nèi)容分享平臺,允許用戶在沒有可信第三方時上傳和分享它們的作品(如視頻、音樂和電子書等)。存儲內(nèi)容的節(jié)點(diǎn)會被獎勵手續(xù)費(fèi),用戶可以跳過中介,經(jīng)濟(jì)實(shí)惠地接觸到這些內(nèi)容。...還有更多5.難以證明的共識機(jī)制區(qū)塊鏈具有”去信任(trustless)“的特點(diǎn)。用戶不需要信任任何人。無需信任帶來了自治、抵抗審查、真實(shí)性和無需授權(quán)等一系列引人注目的性質(zhì)。這種用來保證區(qū)塊鏈不易受攻擊者破壞的機(jī)制,被稱為“共識協(xié)議”。對于比特幣和其他區(qū)塊鏈來說,共識協(xié)議并不是一個新東西。在1992年,Dwork和Naor就創(chuàng)建了第一個“工作量證明(proof-of-work)“系統(tǒng),用來在無需任何信任的情況下訪問資源。這個系統(tǒng)被用來解決垃圾郵件問題。AdamBack后來在1997年創(chuàng)建了名為Hashcash的相似系統(tǒng)。在2003年,Vishnumurthy等人首次采用proof-of-work來保護(hù)貨幣,但其代幣不是作為通用貨幣來使用,而是用于維護(hù)點(diǎn)對點(diǎn)文件的交易系統(tǒng)。5年后,中本聰(Nakamoto)用proof-of-work機(jī)制發(fā)明了一種有價(jià)值的貨幣,即比特幣。這種底層共識協(xié)議使得比特幣成為第一個在全球使用的去中心化賬本。1工作量證明(proof-of-work)共識PoW機(jī)制的思想是讓問題很難解決,但驗(yàn)證很容易。礦工需要使用算力來進(jìn)行巨大開銷的計(jì)算,而比特幣系統(tǒng)用比特幣和交易費(fèi)來獎勵給出答案的礦工。礦工擁有的算力越多,則他們在共識上的“貢獻(xiàn)'越大。PoW共識使得比特幣成為第一個在全球使用的去中心化賬本。它無需可信第三方就能解決“雙花”問題。然而,PoW不是完美的,仍然有許多人從事著研究和開發(fā),試圖去構(gòu)建更可靠的共識算法。2PoW存在什么問題呢?1).定制化硬件存在優(yōu)勢PoW的缺點(diǎn)是定制化硬件的使用。在2013,一種名為專用集成電路(application-specificintegratedcircuits,ASICs)的設(shè)備被設(shè)計(jì)來專門挖比特幣,可以將效率提高10-50倍。從那時起,使用普通計(jì)算機(jī)的CPU和GPU來挖礦便變得無利可圖,挖礦的唯一方法是使用ASIC設(shè)備來挖。在區(qū)塊鏈里,每個人都應(yīng)該能為網(wǎng)絡(luò)的安全做貢獻(xiàn),而ASIC的出現(xiàn)背離了“去中心化”的特點(diǎn)。為了緩解這個問題,以太坊選用的PoW算法(Ethhash)是線性內(nèi)存困難(sequentiallymemory-hard)的。算法被設(shè)計(jì)成需要大量的內(nèi)存和帶寬才能算出一個nonce值。即使是超高速計(jì)算機(jī),也無法在需要大量的內(nèi)存和帶寬的條件下同時計(jì)算出多個nonce值。這減少了中心化的風(fēng)險(xiǎn),為節(jié)點(diǎn)創(chuàng)建一個公平競爭的環(huán)境。當(dāng)然,這不表示未來不會岀現(xiàn)針對以太坊的ASIC。定制化硬件對PoW算法仍然存在著巨大的威脅2).礦池中心化用戶單獨(dú)挖礦時,收到區(qū)塊獎勵的機(jī)會是很小的。取而代之,他們都為礦池挖礦。礦池按比例給礦工持續(xù)的回報(bào)。礦池算力在網(wǎng)絡(luò)里占的權(quán)重大,大礦池所得回報(bào)的方差比單一礦工低得多。隨著時間推移,少數(shù)礦池將控制大部分網(wǎng)絡(luò),而中心化的礦池控制的算力隨著時間又進(jìn)一步增加。現(xiàn)在,前5個礦池?fù)碛薪咏?0%的全網(wǎng)算力,這很嚇人。3).浪費(fèi)電力礦工消耗大量電力來計(jì)算PoW問題,然而對于社會來說,這些計(jì)算都是無價(jià)值的。根據(jù)Digiconomist'sBitcoinEnergyConsumptionIndex所示,當(dāng)前比特幣每年消耗的電力約為29.05TWh,大約占全球消耗電力的0.13%,超過了159個國家。使用PoW共識的公有鏈消耗的電費(fèi)都會越來越多。不可持續(xù)的電力浪費(fèi)和PoW計(jì)算開銷不利于公有鏈將規(guī)模擴(kuò)展到成千上萬的用戶和交易。3共識的解決方案有用的PoW一種解決電力浪費(fèi)問題的方法是用PoW函數(shù)來解決某些有意義的問題。比如,讓礦工用計(jì)算資源去解決困難的AI算法,而不是解決隨機(jī)的SHA256問題。Proof-of-stake另一種解決挖礦中心化的問題是完全拋棄挖礦,在共識里引入另一種機(jī)制來每個節(jié)點(diǎn)的貢獻(xiàn)。這就是PoS要做的事。不像礦工使用算力,這里使用”權(quán)益(stake)“。如Vitalik所說,將“一單位算力一張票(oneunitofCPUpower,onevote)“變成“一塊錢一張票(onecurrencyunit,onevote)“。PoS消除了對硬件的需求,因此不再有硬件中心化的問題。而且,礦工再也不用消耗大量電力來解決PoW問題,PoS本質(zhì)上更節(jié)能。然而,天下沒有免費(fèi)的午餐。PoS算法也有自身的挑戰(zhàn),它們包括:Nothing-at-StakeProblem:在PoS共識下,如果存在分叉(無論是因?yàn)橐馔饣蚬?,節(jié)點(diǎn)最好的策略都是同時“挖”每條鏈。節(jié)點(diǎn)不需要消耗計(jì)算資源,只需要使用自己的錢來投票。這意味著無論哪條鏈勝出,礦工都會得到獎勵。Long-rangeattacks:如果礦工想在PoW鏈里分叉,它得在主鏈最新區(qū)塊前幾個區(qū)塊開始挖。礦工往回得越多,就越難追上主鏈,這需要超過網(wǎng)絡(luò)一半的算力才能做到。然而,在PoS里,由于挖礦所需的東西只是權(quán)益,即錢,礦工可以從成千上萬個塊之前開始分叉。礦工可以輕易生成成千上萬的區(qū)塊,而用戶很難發(fā)現(xiàn)哪一條鏈才是“正確”的鏈。Cartelformation:在由經(jīng)濟(jì)激勵治理的去中心化系統(tǒng)里,—個真實(shí)存在的風(fēng)險(xiǎn)是共同合作(coordinatedefforts)和寡頭的出現(xiàn)。就如以太坊研究者VladZamfir所說,“數(shù)字貨幣都很集中,挖礦的算力也是這樣。在”真實(shí)世界“的市場中,寡頭競爭是常態(tài)。比起大量相對貧窮的驗(yàn)證者,少數(shù)相對富有的驗(yàn)證者之間的合作十分容易??ㄌ貭枺–artel)的岀現(xiàn)是完全可以預(yù)期到的。”為了可以有效地替代PoW,我們需要一種算法來解決nothing-at-stake問題和long-rangeattake問題,同時不引入新的共謀風(fēng)險(xiǎn)。一些團(tuán)隊(duì),如Tendermint和以太坊,在解決這個問題上已經(jīng)取得了許多進(jìn)展。Tendermint是通過設(shè)計(jì)PoS共識引擎將傳統(tǒng)的BFT算法應(yīng)用到區(qū)塊鏈里。然而,Tendermint也有自身的缺陷。統(tǒng)一,以太坊也在PoS的實(shí)現(xiàn)上取得了很大的進(jìn)展,但是在網(wǎng)絡(luò)里仍沒有運(yùn)行。不像PoW,PoS未經(jīng)檢驗(yàn)且難以理解。為了理解各類設(shè)計(jì)里的不同權(quán)衡,需要進(jìn)一步的研究和實(shí)驗(yàn)。正因如此,我們應(yīng)該在前人的工作之上共同合作,研究岀一個更有效、更快和更安全的共識系統(tǒng)。6.缺乏治理和標(biāo)準(zhǔn)在去中心化的公有鏈,不存在中央集權(quán)和組織來做決策,這是毋庸置疑的。在另一方面,每個人都是管理者——這是一個完全去信任、開發(fā)且無需授權(quán)的系統(tǒng)——然而在另一方面,又不存在能夠安全升級協(xié)議的方法,沒有人負(fù)責(zé)維護(hù)協(xié)議標(biāo)準(zhǔn)。在維持區(qū)塊鏈技術(shù)的去中心化的同時,我們?nèi)匀恍枰粋€由生態(tài)里開發(fā)者和其他成員組成的組織,來對新標(biāo)準(zhǔn)、特性和升級達(dá)成共識。如何在沒有中心化組織(如以太坊基金會)的帶領(lǐng)下實(shí)現(xiàn)這個目標(biāo),仍然是個未知數(shù)。例如,以太坊當(dāng)前的特定標(biāo)準(zhǔn)和特性只由一兩個開發(fā)者來指導(dǎo)和決策。盡管這個模式可行,但仍存有缺陷。其中之一是不夠效率——如果領(lǐng)頭開發(fā)者太忙,或幾天幾周內(nèi)忘記回應(yīng),則標(biāo)準(zhǔn)的推進(jìn)就會陷入停滯,不管這個標(biāo)準(zhǔn)對其他參與構(gòu)建區(qū)塊鏈的人來說是多么重要。在沒有明確領(lǐng)導(dǎo)下制定標(biāo)準(zhǔn),將帶來混亂,很難快速即使地對問題達(dá)成共識。在社區(qū)越大時,這種情況越嚴(yán)重。另一種方法是完全開放和去中心化區(qū)塊鏈。然而,這會使得自治十分低效,將帶來長久的危害。我們需要一種更好的方法。Tezos試圖通過鏈上治理(on-chaingovernance)讓區(qū)塊鏈擁有升級協(xié)議的能力,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論