如果你參與到比特幣活動中已經有相當長的一段時間了,那么你大概最起碼聽說過“工作量證明”的概念。工作量證明背后的基本概念很簡單:一方(通常稱為證明者)提交已知難于計算但易于驗證的計算結果,而其他任何人都能夠通過驗證這個答案就確信證明者為了求得結果已經完成了量相當大的計算工作。現代第一個應用是Adam Back 于1996年提出的以基于SHA256的工作量證明為反垃圾郵件手段的“Hashcash”。系統通過要求所有郵件發送時都必須完成大強度的工作量證明,這將使垃圾郵件發送者發大量電子郵件變得很不劃算卻仍允許用戶們在需要時向其他用戶正常發送郵件。現在比特信為了同樣的目的使用了一個類似它的系統,而Hashcash的算法也已經被改造為以“挖礦”為形式的比特幣安全的核心。 可是,存在一個問題:工作量證明太浪費了。比特幣網絡每秒完成600萬億次SHA256運算,而最終這些計算沒有任何實際或科學價值。這些運算存在的唯一目的是用來解決工作量證明問題,而為了使惡意攻擊者不能輕易地偽裝成幾百萬個節點和打垮網絡,這些問題被故意設置得很難。當然了,這種浪費本質上不壞。假如工作量證明沒有任何替代者,相對于允許世界上任何一個人在瞬間就能給其他人幾乎沒有手續費地轉賬的去中心化和半匿名的全球貨幣網絡帶來的巨大好處,它的浪費也許只算是很小的代價。工作量證明在2009年確實是唯一的選擇。但是,四年之后,我們已經研究出來了一些替代者。 Sunny King的素數幣采納的證明方式也許是最恰當同時也是潛力最大的替代方法。素數幣并非將工作量證明完全去掉,而是試圖讓工作量證明變得更有意義。它沒有使用SHA256計算,但是要求礦工們尋找長的由素數構成的“Cunningham 鏈”。這種鏈含有的所有值都是素數并且形式分別是n-1, 2n-1, 4n-1 …。為了準確起見,我們也要知道,n+1, 2n+1, 4n+1也可以是一條Cunningham 鏈,而素數幣也接受“bi-twin chains”,這種鏈的形式為n-1, n+1, 2n-1, 2n+1…并且只包含素數。乍一看,這些鏈的用途是什么并不明顯。素數幣的提倡者已經指出了一些理論上的應用,但是這些應用全部都要求只使用很難生成的長度為3的鏈。然而,更有說服力的論證是,在現代比特幣的挖礦中,挖礦硬件的大半生產成本其實都花在了尋找更有效的挖礦方法上(比如說ASICs,優化電路等),而不是花在建造或運行挖礦設備本身。但是在素數幣的世界里,研究的重點則是尋找完成算術和數論運算更加有效的方法,而這些方法的應用范圍遠不止挖掘加密貨幣。 素數幣這樣的“有用的工作量證明”最有前途的原因是:如果計算足夠有用,則貨幣的“浪費因素”能夠降低為零,這將使貨幣成為社會公益。例如,假定存在一個計算,它由于某種原因有1020分之一的機會能夠使研究人員在治療癌癥的道路上明顯地進步。但是,沒有個人或組織有足夠的動力去嘗試。原因如下:如果他們僥幸成功的話,他們要么把研究結果公之于眾來掙一點可憐的好處和媒體短時期的稱贊,要么試著把它賣給某些研究人員并簽訂一個保密協議,但是無論怎樣,他們都很有可能不能賺大錢。可是,如果這個神奇的計算被整合到貨幣中,區塊獎勵將激勵許多人完成運算,而計算結果將可以在區塊鏈上被所有人看到。社會獎勵將超過電費。可惜,至今我們不知道任何治愈癌癥的神奇計算。最接近這種運算的是Folding@home,但是它缺乏數學驗證性。一些偽造的運算結果不僅使工作量證明檢測器難以鑒別,而且對社會毫無價值,一些不誠實的礦工會利用這個漏洞輕易地騙過系統。在數學上可以驗證的有用工作量證明系統中,素數幣是最好的。至于它的社會效益是否會完全超過他的生產和電力開銷則很難判斷。許多人懷疑不會。但是即便如此,素數幣所取得的成就也是值得贊揚的。因為就算是挖礦的話費只有部分被轉化成了社會公益,這也比完全浪費好。 權益證明(Proof of Stake) 然而,現在已經有一種SHA256 的替代方法,這種方法從根本上解決了工作量計算浪費的問題。它就是權益證明。這種證明系統不要求證明者完成一定數量的計算工作,而是要求證明者對某些數量的錢展示所有權。當時中本聰本人沒有這么做的原因很簡單:在2009年之前,沒有能安全地與密碼協議互動的數字財產。Paypal和在線信用卡支付都已經出現大概超過十年了,但是這些系統都是中心化的,因此為它們創造的權益證明將會給Paypal 和信用卡的提供商作弊的機會。因為這些服務提供商能夠生成虛假的交易。IP地址和域名是部分中心化的但是它們都無法構建日后可以驗證的所有權證明。實際上,,第一個有可能使用權益證明體系的數字財產正是比特幣(和加密貨幣)本身。 關于權益證明可以如何實施已經有好幾個提議了。正在實踐中工作的卻只有PPCoin。這個貨幣也是Sunny King創造的。PPCoin按如下方式工作:當權益證明區塊生成時,礦工需要構造一個“錢幣權益”交易,即把自己的一些錢幣和預先設定的獎勵(像是一種利率,類似于比特幣的區塊獎勵)發給自己。SHA256 哈希值的計算只同交易輸入、一些附加的固定數據以及當前時間(是一個表示自1970年1月1日距離當前時刻的秒數的正數)有關。然后根據工作量證明的要求檢查這個哈希值是否正確,除了難度與交易輸入的“幣齡”成反比外,這個過程與比特幣的相關過程很類似。在PPCoin中,幣齡被定義為交易輸入大小和它存在時間的乘積。因為哈希值只和時間和固定的數據有關,因此沒有辦法通過多完成工作來快速獲取它。每個PPCoin交易的輸出都有一定的幾率來產生有效的正比于幣齡和交易貨幣數量的工作。這就是PPCoin的工作原理了。從本質上講,每個PPCoin都可以表現的像是一個“仿造的挖礦設備”,但是它有一個有趣的性質:隨著時間的推移它的挖礦能力線性上升但是每當它找到有效的區塊時挖礦能力就歸為零。 目前尚不清楚像PPCoin那樣使用幣齡而不是僅僅輸出交易貨幣數量是否絕對必要。這么做的本意是阻止礦工重復使用他們的貨幣乘以時間,但是PPCoin目前的設計確實不允許礦工有意識地用具體的交易輸出生成區塊。然而,系統每秒隨機地選擇一個PPCoin,這也許會給它的主人創造區塊的權力。如果不把幣齡作為隨機性的一個權重因數,這過程大致等價于比特幣挖礦,但是沒有浪費。可是,存在一個支持幣齡存在的更復雜的論證:因為你創造區塊失敗的時間愈長,則你成功的幾率就愈大,所以礦工對創造區塊的時間判斷越準確,進而削弱了為了降低風險而創立類似于中心化的礦池的動力。 超越加密貨幣 但是讓權益證明真正有趣的是它的應用范圍遠不僅是貨幣領域。目前,反垃圾郵件系統分為三大類:工作量證明系統、驗證碼系統和身份識別系統。工作量證明用于Hashcash和比特信這類系統中,我們已經在上面詳細地討論過了。驗證碼在互聯網的用途非常廣泛。它的原理是:提出一個人類可以但是電腦不可以輕易解決的問題,因而將人與電腦區分開來。在實踐中,通常的情況是,出現一個包含著字母和數字的模糊圖像,然后要求解決者輸入正確的字母和數字。最近,驗證碼的提供者在這個系統中添加了“公益”成分。他們讓印刷書籍中的一個單詞成為驗證碼的一部分,然后借助大眾的力量來數字化陳舊的印刷文獻。但是,不幸的是,驗證碼不是那么有效。因為最近機器學習的成功率達到了30-96%,這已經近似于人類自己的成功率了。身份識別系統分為兩種。第一種是要求用戶使用他們的現實身份注冊的系統。這就是民主國家迄今為止避免被匿名搗蛋鬼推翻的原因。第二種系統要求用戶繳費,并且當用戶被發現試圖濫用系統時,版主可以不退錢就銷號。這些系統都有用,但都是以侵犯隱私為代價的。 權益證明可以成為第四類反垃圾郵件系統。想象一下,用戶在注冊論壇賬號時不填驗證碼,而是通過自己發給自己比特幣或者PPCoin來消費幣齡。為了確保每個權益證明計算都是由用戶完成的而不是簡單的從區塊鏈中隨便找的,系統可能要求用戶向同一地址也發一個簽名信息,或者有可能以一種特殊的方式把自己的錢發給自己(比如,其中一個輸出必須正好包含0.000XXXXX 個BTC,每次都是隨機設置數值)。這里要注意,幣齡很關鍵。我們要用戶能夠按照要求完成權益證明,因此為了避免重復使用,有些東西必須被消耗掉。從某方面來說,有種權益證明已經存在于短信驗證中了。在這種驗證過程中,用戶在注冊谷歌賬號時為了證明自己擁有某個手機號必須發送短信。但這很難算作真正的權益證明,因為手機號碼也和個人真實身份有緊密的聯系并且買手機的過程本身是一種驗證碼。因此,短信驗證有上述三種系統的某些優點但是也有它們的某些缺點。 但是權益證明的真正優勢在于像比特信這樣的去中心化系統中。目前,比特信使用工作量證明,這是因為它沒有其它的選擇。現在還沒有“去中心化的驗證碼”。辦法會有的,只是還幾乎沒有怎么研究如何創造出來。然而,工作量證明不僅浪費嚴重而且還使比特信用起來有些麻煩和耗電。對于郵件,比特信還行。但是對于即使消息,還是算了吧。可如果比特信能夠整合進比特幣(或者Primecoin 或者PPCoin)中并且使用權益證明,則很多困難和浪費就可以得到緩解。 權益證明有未來嗎?許多預兆表明它當然有。PPCoin的創始人Sunny King論證說隨著時間的流逝比特幣的安全將變得很弱,因為它的區塊獎勵持續下降。確實,這是他創造PPCoin and Primecoin的主要動機之一。從那時起,PPCoin已經成為市場上的第五大加密貨幣并且越來越多的新加密貨幣采用它的權益證明思路。當前,PPCoin并不是完全的權益證明系統。因為它是有高度中心化社區的小規模加密貨幣,遭遇黑客攻擊的風險高于比特幣,所有存在著一個中心化的檢查系統。這個檢查系統使得開發人員可以創造“檢查站”,而不論攻擊者做什么,這些檢查站都將保證永遠作為交易歷史的一部分儲存起來。最終的希望是檢查系統更去中心化降低能耗而PPCoins 被更多的人群擁有。一個替代方案也許是把權益證明作為去中心化的檢查系統整合進比特幣中。比如,某個協議允許任何至少有100萬比特幣–年幣齡的聯盟通過消費他們的輸出來產生社區承認是有效區塊的檢查站,但代價是將他們自己的錢幣發給自己并且消耗幣齡。 在2009年,加密貨幣作為許多不相關的密碼學原始成果的結晶而橫空出世。hash函數、Merkle樹、工作量證明和公鑰密碼學全都在比特幣的構造中起著關鍵的作用。然而,現在不僅有比特幣和其它加密貨幣了,而且這些加密貨幣還為將來的加密貨幣提供了另一個令人興奮的可能性:我們現在可以設計在加密貨幣本身上升級的協議,其中權益證明就是絕佳的例子。權益證明能夠用來保障加密貨幣的安全,也可以用在去中心化的反垃圾郵件系統中,還可以用在許多我們還沒有想到的協議中。這就像在Wei Dai于1998年創造出b-money之前,沒人想到過比特幣這類東西。一切皆有可能。 (譯文完) 原文標題:What Proof of Stake Is And Why It Matters |
|
來自: 昵稱51240473 > 《文件夾1》