以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads

觀點 | 工作量證明本質上是一個去中心化時鐘_比特幣:SHA

Author:

Time:1900/1/1 0:00:00

這篇文章將解釋“工作量證明”在比特幣區塊鏈上的關鍵作用。我們將只關注工作量證明機制最關鍵的一個特征、并證明其它特征只是附帶結果,雖然有用,但并不是最本質特征。

本文的解釋基于例證一些工作量證明在區塊鏈上運用中的有趣屬性。它們往往不是那么直觀,有時候甚至與我們的直覺相悖。比如說,通過工作量證明,一群人不用互相交流就能共同解決一個問題。

在了解了這些有趣的屬性之后,你們大概會得出一個結論:工作量證明主要是一個實現“分布式且去中心化的時序系統”的機制。

請注意,這篇文章討論的并不是工作量證明的原理,區塊鏈是如何利用工作量證明的。如果你還不了解工作量證明是什么,可以從這篇文章開始看起。

去中心化賬本中的時間順序問題

在研究解決辦法之前,讓我們先來仔細分析一下問題。很多介紹工作量證明的文章讀起來都很晦澀,原因就在于它們試圖跳過問題直接解釋答案。

任何賬本顯然都需要有順序。正如一個人不應該能花一筆沒到賬的錢一樣,他也不應該能使用一筆已經轉給別人的錢。區塊鏈上的交易必須在不依靠第三方機構的情況下,清晰地排列出交易的順序。

即便區塊鏈不做賬本,只做某種日志,也需要為發生的事情排列出順序。排序不同,結果顯然也不同;排序不同,那就變成另一條區塊鏈了。

但是如果交易都是由世界各地的匿名用戶生成,并且沒有一個中心機構來負責整理,那么我們怎么給交易排定順序呢?舉例來說,交易含有時間戳,但什么條件下,這些時間戳才是信得過的呢?

時間不過是一個人造的概念。包括原子鐘在內,所有的報時來源,其實都是一個“被信任的第三方”。但最重要的是,這些第三方大多數情況下都不是完全正確的。因為網絡延遲或者相對論的影響都會使它們的結果產生出入。坐在飛機上的人跟地上走的人之間會產生一個“時間膨脹”現象,這種誤差會隨逐漸累積起來,最終使排序失真。于是,依靠時間戳來決定時間的順序在一個去中心化且地理上分散的系統中是不可能的。

律師觀點:經濟下行容易導致涉虛擬貨幣等新型金融犯罪案件增發:3月11日消息,今年全國兩會期間,金融系統代表委員聚焦商業銀行法、保險法、信托法、金融穩定法、金融消費者權益保護法、普惠金融法等領域,呼應時代與行業發展新變化,回應金融消費者“急難愁盼”問題,統籌兼顧金融發展、金融穩定與金融安全,為加強金融法治建設貢獻智慧。上海定達律師事務所執行主任肖波律師表示,法律存在滯后性,及時修訂和推進金融立法,才能為新形勢下的金融穩定保駕護航。一方面,經濟下行容易導致金融犯罪案件增發,比如涉虛擬貨幣等新型金融犯罪。加快推進相關金融法律法規的修訂和完善,才能打擊不斷“創新”變化的金融犯罪。另一方面,若法律缺位,金融創新會落入灰色地帶、無法被及時納入監管,野蠻生長可能帶來不可預估的后果,甚至可能形成系統性金融風險。(上海證券報)[2022/3/11 13:50:31]

我們這里說的其實并不是傳統意義上的“時間”概念,不是說的“年月日”這種。我們需要的是一個能讓我們驗證一個事件是否先于另一件事發生的機制。

首先,為了使用“之前”和“之后”這樣的描述,我們先得建立“時間點”這樣一個概念。在時間線上確立一個具體的點乍看起來似乎不可能,因為目前還沒有技術能夠精確到測量出一個?Planck。但你之后會發現,比特幣就是這樣運作的——它通過創建自己的時間概念來讓確定時間線上的具體點變得可能。

這個問題在?LeslieLamport?于1978年發表的?“Time,Clocks,andtheOrderingofEventsinaDistributedSystem”?一文中有很詳細的說明。不過實際上,除了“正確同步的物理時鐘”之外,這篇文章并沒有提出什么徹底的解決辦法。在1982年,Lamport還提出了?“ByzantineGeneralsProblem”?。中本聰在他早期的郵件中解釋了工作量證明如何能解決該問題。不過,他在比特幣白皮書中寫道:“想要在點對點的基礎上使用一個分散式的時間戳服務器,我們需要使用工作量證明系統。”這句話表明工作量證明主要還是用來解決時間戳排序這一問題的。

觀點:穩定幣和CBDC之間的支付戰將爆發:Galaxy Digital創始人Mike Novogratz預測穩定幣和央行數字貨幣(CBDC)之間的支付戰將爆發。Mike Novogratz還表示,比特幣是對抗惡性通貨膨脹的工具,而不是一種付款方式。(U.Today)[2021/4/7 19:54:20]

時間排序是最根本的問題

這里必須要強調一下,在中本聰提出解決辦法之前,無法在分散式系統中確定事件與時間點的關聯?這個難題使得去中心化賬本一直無法實現。區塊鏈中也有很多其它的技術細節值得玩味,不過時序還是最基礎也是最重要的一點。我們甚至可以認為,無法完成時間排序,就不可能有區塊鏈。

簡要回顧“工作量證明”

簡單來說,比特幣上的工作量證明就是找到一個值,這個值經過?SHA-2?這個哈希函數運算后能滿足特定的條件。而這個要求的數值越小,可能滿足條件的輸入值就越少,從而找到這樣一個輸入值的難度就越高。

這種機制之所以叫作“工作量證明”就是因為滿足條件的數值太少了。找到這樣一個數需要進行大量的嘗試。需要花費的工作量反過來暗示了需要花費的?時間。

通過改變要求,我們可以調整難度以及找到這樣一個值的可能性。比特幣難度的動態調整使得整個網絡平均每十分鐘找到一個這樣的值。

區塊之間無事發生

一條鏈的狀態是執行鏈上區塊中交易的結果。因此每個新區塊都會生成一個新狀態。因為區塊鏈的狀態隨著每一個新區塊的生成而不斷變化,我們把生成一個區塊所用的平均時間看作是區塊鏈時間的最小計量單位。

SHA函數是無記憶性、無過程性的

觀點:CBDC是一種信任:金色財經現場報道,10月28日,第六屆區塊鏈全球峰會的數字金融主題論壇于上海開幕,在論壇的圓桌討論環節,

Lightnet Beam分享表示,區塊鏈技術是一個真正的技術,帶來了下一代的工業革命,通過區塊鏈技術就可以更好的有效的進行交易,也可以給用戶帶來更多的支付手段,我們金融行業的基礎設施會被重塑。

Terraform Labs CEO Do Kwon分享表示,有些國家已經試點法定數字貨幣,所以現在是一個很好的時機,CBDC可以幫我們解決一些實際商業上遇到的問題。不同貨幣間都可以交易,如果有各種個樣的CBDC,可以獲得更多互操作性。

ConsenSys香港董事夏多希分享表示,80%的央行已經開始研究法定數字貨幣,法定數字貨幣需要可以在各個領域被使用,而不只是銀行之間。大眾的市場需要一種錨定信任的工具,所以CBDC是一種信任。[2020/10/28]

一個安全哈希算法在統計學中被認為是無記憶性的。這一特性明顯與人類的直覺相反。有關無記憶性最好的例子就是扔硬幣。如果一枚硬幣已經連續十次正面朝上了,這是否代表下一次更可能是反面朝上呢?直覺告訴我們,“是的”。但是實際上,不管之前的記錄是什么樣的,正面或是反面朝上的概率仍然是對半開的。

這種無記憶性是工作量證明的?無過程性?的前提。無過程性指的是當礦工挖礦時反復嘗試不同的?nonce?時,每一次嘗試都是獨立的事件。不論他們已經付出了多少努力,之后的每一次嘗試找到正確結果的概率都是一樣的。換句話說,每一次不成功的嘗試不會讓礦工們“更接近”正確的結果。一個已經嘗試挖了一年礦的礦工并不會比一個剛開始挖礦的礦工更容易挖到下一個區塊。

因此,在一個給定難度下,在給定時間內找到結果的概率?只取決于所有礦工遍歷可能哈希值的速度?,跟過往的歷史無關,跟區塊數據也無關,只跟哈希率有關。

觀點:加密貨幣市場在各國政府經濟刺激計劃中受益最大:5月17日消息,文章分析稱,在新型冠狀病流行期間,與其他市場相比,加密貨幣市場相對表現良好。自3月下跌以來,BTC已恢復80%以上。事實上,比特幣的表現超過了美國和全球股市,跌幅約為5%,而標準普爾500指數(S&P 500)和摩根士丹利資本國際全球指數(MSCI All-Country world Index)的跌幅分別為13%和16%。經濟學家和分析師認為,比特幣和加密貨幣市場在各國政府的經濟刺激計劃中受益最大,因為與其他投資相比,比特幣具有更大的潛力、可獲得更快的回報。(Dailyhodl)[2020/5/18]

Hashrate實際上就是一個礦工人數和挖礦設備計算哈希值速度的函數。

SHA函數的輸入值是不重要的

比特幣區塊鏈中,工作量證明算法的輸入值就是一個區塊的區塊頭。不過就算我們只是隨機地輸入一些數據,找到合乎要求的哈希值的概率還是一樣的。不論輸入的是有效的區塊頭還是一些隨機的字節,我們找到一個正確結果的時間還是平均十分鐘。當然,如果你真的是把隨機內容作為輸入值,就算你找到了結果,你的區塊也不會被打包到區塊鏈上。雖然這種情況也算是工作量證明,但是是無用的。

難度是全宇宙統一的

你知道嗎,難度是?普遍的?。意思就是說整個宇宙中,不論在哪,難度都是一樣的。于是,我們可以請火星上的礦工來幫忙挖礦。他們不需要認識地球上的礦工,甚至都不用進行溝通聯絡,整個網絡還是每10分鐘挖出一個區塊。

顯然,遠程參與的礦工們彼此之前并沒有什么溝通,因為他們只是在共同嘗試解決同一個數學統計問題。他們其實都不知道彼此的存在。

觀點:比特幣可以給央行行長提供有關數據安全的知識:在MIT比特幣博覽會上,麻省理工學院數字貨幣研究科學家Robleh Ali表示,比特幣結合了透明性,加密技術和經濟激勵措施,可以向央行行長教授有關數據安全的知識。與傳統系統相比,這是一種完全不同的實現安全性的方式:不是試圖將數據隱藏在墻后,而是使系統具有內在的彈性。此外,CBDC可以被視為“第三代”數字貨幣。如果比特幣是第一代,那么以太坊和其他所謂的智能合約平臺可以被視為第二代。在CBDC系統中添加更多的東西是錯誤的方法,因為越復雜,就越給攻擊者提供更多闖入的機會。第三代系統要比特幣系統簡單得多。(Technologyreview)[2020/4/21]

這個“統一性”屬性看似神乎其神,實際上是很好理解的。我之所以說是“統一性”,是因為這個詞很好理解。不過準確來說,它指的是“每個礦工都知道”。

SHA-256哈希函數的輸入值可以是0到2^256之間的任意一個整數。盡管這是一個特別大的數,但大家起碼都知道范圍,并可以從中挑選數值。

如果輸入值的范圍、所用的函數、還有難度要求是大家都知道的,那么找到一個解的概率對所有人來說都是統一的、公平的。

要做礦工也簡單,算下SHA就行

如果問題是讓你找到一個合適的哈希值,那么你需要做的只是嘗試運行一次哈希函數,然后“叮”,你就影響了全局的哈希速率。因為這次嘗試,你也能被看作是一名礦工,并且幫助了別人一起解決這個問題。你不需要和別人說你做了什么,其他人也不需要知道。不過不管怎么樣,你的嘗試都影響了全局結果。一點兒也不夸張。

如果你還有點將信將疑,沒關系,想想這樣一個類比吧——尋找最大的質數。這個問題很難,而且一旦找到了一個更大的質數,那這個數就會被認定為“已找到”、“已知”。在數字世界中,有無限個質數。不過因為我們用的數字系統都是一樣的,不論是誰試圖解決這個問題,我們面對的都是同樣的問題。你不需要告訴別人你決定尋找最大的質數,你只需要等你真的找到解的時候再告訴大家。如果沒有人想研究這個問題,那么這個問題的解就永遠不會被找到。因此,只要最終結果會被宣布,參與度就會影響結果,即便參與的過程是完全秘密的。這么看,中本聰發明的這套機制真的太絕妙了——利用了上述的邏輯,使得秘密的參與過程和沒有取得成功的嘗試都能影響最終的結果。

值得注意的是,因為SHA函數是無過程性的,每一次的嘗試都可以看作是參與者付出了努力后就立刻離開了網絡。因此,我們可以認為礦工們每秒鐘都會無數次地進出網絡。

參與度會在統計結果中揭露出來

神奇的秘密參與屬性反過來也成立。全局的哈希率之所以能被大家所知道,并不是因為礦工們在一個什么“礦工注冊所”注冊登記了,然后上報各自的哈希速率,根本不是這么回事。

哈希率能被大家知道的原因其實也很簡單。想要每十分鐘左右找到一個特定難度的解,這得有這么多次的嘗試由某人在某地完成。

我們并不知道這些參與者到底是誰,他們也不需要告訴別人他們在工作。此外他們可以存在于宇宙中的任何地方。不過可以肯定的是,這些參與者一定存在。因為網絡在持續出塊,即持續地在找出符合要求的解。

工作量即時鐘

綜上即可得知工作量證明的核心:挖礦的難度要求就是一部時鐘。你愿意的話,可以管它叫“宇宙時鐘”,它不需要去跟別人同步,而且所有人都能“看到”它。

這個時鐘不精確也沒關系。重要的是,每個人的時鐘都相同,并且鏈的狀態可以明確地與此時鐘的滴答聲聯系在一起。

這臺時鐘是由數目未知的參與者集體的哈希率總和來推動運行的;這些參與者散布在這顆星球上,彼此之間毫無關聯。

最后一塊拼圖

工作量證明問題的解必須是一個區塊的哈希值。就像我們之前說的,輸入值并不重要。不過如果是一個真的區塊,那么這個解找出來的時候,也就是這個時鐘的“滴答”一刻。不是在那之前,也不是之后,就是在那一刻。我們這么確信,就是因為區塊是這個機制的一部分。

換個說法,如果SHA256函數的輸入值不是區塊,我們還是會有一個時鐘,但是卻沒法把區塊和時鐘的滴答聲聯系在一起。而使用區塊作為輸入值就能很好地解決這個問題。

值得注意的是,我們的工作量證明時鐘只能給我們提供滴答聲。但我們沒法從滴答聲中聽出順序。而前后相接的哈希鏈條就是用來解決這個問題的。

那么分布式共識呢?

共識意味著一致同意。所有參與者都必須遵循的一條規則就是,時鐘會有滴答聲。其外,所有人都能聽到滴答聲,并且知道與每個滴答聲相關聯的數據。而這,正如中本聰在一封郵件中提過的,實際上解決了拜占庭將軍問題。

還有另外一個共識是專門用來處理一種特殊情況的——兩聲連續的滴答聲與互相沖突的區塊相關聯。這種沖突只有等待下一聲滴答的出現才能解決。當下一個與滴答聲相關聯的區塊出現時,它會接在前面沖突的兩個區塊中的一個后面。而這就會使得另一個區塊變成“孤塊”。一條鏈到底會如何發展,是一個概率問題,但或多或少也能跟工作量證明時鐘有關。

大概就是這么回事了

以上就是工作量證明對區塊鏈的作用。礦工們并不是通過買什么“彩票”來贏取打包一個區塊的權利,也不是什么把電能轉換成一種有價值的東西,這些說法都走遠了。

彩票這一說法無非是用來吸引更多的礦工來參與到挖礦中,它本身并不是區塊鏈運行的機制。有人也許會說區塊的哈希值形成了鏈條,不過這也跟工作量證明沒什么關系,它只是用密碼學來強化對區塊順序的記錄而已。哈希鏈條還確保之前的滴答聲越來越不可改變,變得越來越安全。

工作量證明機制也增強了區塊的不可改變性。這也副作用使得隔離見證變得可行,不過其實通過保留簽名也可以實現。所以這一作用只是次要的。

總結

比特幣區塊鏈的工作量證明實際上就是一個分布式的、去中心化的時鐘。

如果你理解了這個解釋,那么你應該對工作量證明和權益證明間的區別有了更清楚的認知。顯然,兩者本質上是不同的:權益證明是權力,而工作量證明是一個時鐘。

在討論區塊鏈時,我們說“工作量證明”其實不太貼切。這個詞是從?Hashcash?項目中傳下來的;在該項目中,它是用來證明工作量的。而在區塊鏈上它則主要用于獲得可校驗的時間順序。當一個人看到一個哈希值滿足難度條件,他/她知道產生這個哈希值一定花去了一些時間。而這段時間就是由“工作量”造成的。不過這個哈希值之所以有意義,就是因為它證明了它的產生是經過了一段時間的。

工作量證明主要跟時間有關,而不是跟工作量有關;這個事實也指出了,可能還有其他的統計問題會更消耗時間但只需要更少的能量。這一事實也意味著比特幣的hashrate實際上是過多的。我們前面提到的比特幣時鐘其實只需要一部分的hashrate也能運行自如。不過獎勵機制的存在刺激了能量的消耗。

找出一個只需更少工作量又能享受更快滴答頻率的方法十分困難,如果你找到了,請一定告知我!

此外,我想特別感謝?UChicagoStatistics?的?SashaTrubetskoy?對本文的修訂和建議。

原文鏈接:?https://grisha.org/blog/2018/01/23/explaining-proof-of-work/作者:?GregoryTrubetskoy翻譯&校對:?PRIMAX&阿劍

Tags:區塊鏈比特幣SHABDC區塊鏈最新應用比特幣紅包可信嗎SHAUN幣bdc幣上交易所了嗎

SHIB最新價格
元界DNA主鏈代碼已通過慢霧科技安全審計_DNA:Echidna

元界DNA主鏈代碼已通過慢霧科技安全審計。慢霧科技采用“白盒為主,黑灰為輔”的策略,以最貼近真實攻擊的方式對MetaverseDNA主鏈代碼的隨機數生成算法安全、密鑰存儲與內存安全、密碼學組件調.

1900/1/1 0:00:00
巴比特 X 徐坤 | 從被遺忘到牛市龍頭,一文梳理ETH 2020爆發邏輯_DEFI:Defiville

以太坊鐵定是這一輪上漲的領頭羊。過去兩周,以太坊暴漲75%,不僅突破了360美金壓力位,更是一路狂奔,觸及400美金高位.

1900/1/1 0:00:00
我們研究了年產值前50的PoW代幣,發現了這些有趣的現象_POW:topc幣上幾家交易所

本文作者:閑話挖礦 原題《淺談PoW礦業的產業規模,趨勢和問題》自2009年比特幣誕生,基于比特幣衍生的加密學貨幣行業越來越繁盛.

1900/1/1 0:00:00
加強參與度,降低風險,如何改進以太坊2.0的抵押機制?_DAO:BaconDAO

題圖來自以太坊基金會博客刊文Eth2.0的抵押機制需要改進嗎?一周前,在查看以太坊reserach論壇的時候,我看到了這個社區提案,因此有此感慨.

1900/1/1 0:00:00
DEX聚合商1inch宣布獲得280萬美元種子資金,Binance Labs牽頭_中心化交易所:INC

要點: 去中心化交易所聚合商1inch.exchange已籌集了280萬美元的種子資金。該輪融資由BinanceLabs牽頭,FTX,GalaxyDigital等參與了該輪融資.

1900/1/1 0:00:00
評論 | 要不要做空比特幣?_ETF:AssetFun

本文來源:區塊律動BlockBeats,作者:0x29感謝二級市場交易員CFJ對本文的貢獻。《濤動周期論》中有一個觀點,讓人印象深刻,書中說,「2020年是商品大周期,改變投資者命運的機會.

1900/1/1 0:00:00
ads