科普 | 對話:無利害關係
ofollow,noindex">對話:轉向權益證明
這是權益證明 (Proof of Stake) 系列對話之二。如果你還沒看對話一 轉向權益證明 的話,建議你先看一下。
這次對話跟上次的一樣,“ D ” 代表我(Danny), 而 “ F ” 代表和我對話的那個朋友。 F 有點技術背景,而且精通工作量證明 (Proof of Work) 和區塊鏈相關術語。
上次對話中,我們騎著自行車穿過新奧爾良的街道,大聲談論著權益證明的激勵措施。這次對話是發生在我們騎完自行車後,懶洋洋地躺在聖約翰河口邊之時。
迎著河口的微風......
F: 讓我理理我的思路是不是對的......我們可以把工作量證明 (Proof of Work) 概括成某種稀缺資源的證明,這種思路推動我們轉向尋找其它可以向區塊鏈協議證明的稀缺資源。公鏈中有一種稀缺資源,即在公鏈基礎上構造的加密經濟代幣。權益證明試圖用協議內代幣 (in-protocol token) 作為比率限制器 (rate limiter) 來限制個人在共識演算法中的影響力。
D:我可說不了這麼好。
F:我一直在反覆思考這一點,而且我喜歡這樣思考!既然你有一個區塊鏈經濟指標,那為什麼還要將 CPU 成本和 GPU 時間作為經濟指標呢?
D:因為問題遠比表面看起來的要難得多。
F:對,你剛說有好幾個問題。那除了“無利害關係”之外,還有什麼問題呢?
D:“長程攻擊”。
F:哦,是的。無利害關係(Nothing at stake)......聽起來好像不對......這似乎和整個概念的意思相反。權益證明強調的不應該是我持有權益(I have a stake)嗎?
D:這可歸結為語義學問題。持有某物的權益(have a stake in something)和用某物下注(put something at stake)分別是什麼意思呢?前者是指分一杯羹,例如“我是這家企業的權益持有人” 指的是我是這家企業的所有人之一。後者是指將某物作為賭注押在某個結果上。 例如,“我把我的財產押在黑色上了” 是指我已經把所有的錢都押在輪盤賭轉輪會降落在黑色那裡了。 這是被動所有權 vs. 損失風險。
F:對,說得有道理。
D:這在工作量證明中再自然不過了。你很明確自己在進行工作量證明之時將算力押在什麼上了。你可以把你的資源用在這個或那個分叉上——這個或那個區塊鏈上,但是你不能把你的資源同時用在兩個分叉上。你必須決定把賭注下在哪。你在一個特定的區塊後面挖礦,等於是在說“我把我的算力押在雜湊值為 0xFFFF 的那個區塊上”。
F:但是在權益證明中,你不一定要做出這個決定,因為如果出現了分叉,你可以在兩條分叉上都下注。
D:沒錯。因為經濟資源是在協議中的,如果像分叉一樣出現了兩個協議例項,那你就能得到該資源的“複製品”。
F:所以你最好兩個分叉都押!
D:是的,如果有分叉的話,理性的經濟決策是對兩個分叉都進行驗證,以增加押到獲勝分叉的可能性。如果在經濟激勵的影響下,驗證者都去驗證所有的分叉,並且建立分叉,你就會知道要達成共識有多難了。
F:當然了。你看我這麼理解對不對——在簡單的權益證明中,做出一致決定其實並沒有什麼風險,所以從個人角度來說,最佳做法就是儘可能多地參與分叉,但從整條鏈的角度來說,這並非最佳做法。
D:沒錯!一般而言,這是設計加密經濟協議的關鍵所在。我們必需 在個體參與者實現個體收益最優化的同時,確保系統整體結果的最優化 。簡化工作量證明能夠做到這一點,但簡單的權益證明不能,正如“無利害關係”問題所示的那樣。
F:那麼我們要如何調整激勵措施來解決“無利害關係”問題呢?
D:問得好!這完全不是通過某種方式就能解決的問題。這是一個新興的研究領域。最靠譜的解決辦法通常都需要將權益作為 安全押金 鎖起來。如果有人證明你是惡意行動者,你就會被處罰。舉個例子,如果有人證明你在兩條分叉鏈上下注,你可能會失去部分或所有賭注。有了額外的處罰機制,你必需就參與哪條分叉做個經濟決策了。就像在工作量證明中一樣,你不能將算力同時用在兩條鏈上,而增加處罰機制就能防止你將代幣同時押在兩條鏈上,否則你就會失去這些代幣!
A:等等。如果你做了錯誤的決定,你就會賠錢嗎?
D:如果做了個“錯誤的決定”,你可能只會少掙點,但是做了個被證明是惡意的決定,你就理所應當要被處罰了。
A:嗯。聽起來似乎很有風險。
D:那就對了!那正是這些“罰沒條件”存在的意義。我們已經在這個過程中增加了風險,這樣驗證者必須理性決定該驗證什麼了。
A:“罰沒條件”?
D:是的,那些就是協議專設條件,如果驗證者違背了這些條件,他們的資金就會被“大幅度削減”,或被永久銷燬。一般而言,罰沒條件指的是:在沒有被違反的情況下,這些條件會確保其中一條鏈繼續延長或“最終確定下來”;在被違反的情況下,至少會確保有一些驗證者會賠一大筆錢。
A:真有趣......等等,“最終確定下來”是什麼意思?
D:呃......你餓嗎?我們去吃個窮小子三明治吧。我們總不能空著肚子討論最終確定性和”長程攻擊”呀。
我們扶起自行車騎往當地一家窮小子三明治店,打算就著油炸海鮮繼續展開討論。
下回預告
敬請期待本系列的下一篇文章:“對話:長程攻擊 ”。
原文連結: https://hackernoon.com/nothing-at-stake-a-dialogue-2ded91318cb9
作者:Danny Ryan
翻譯&校對:李麗 & 閔敏