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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論