比特幣的一項主要創新就是使用工作量證明來構建分布式共識。PoW提供了一個客觀的尺度,通過這個尺度,比特幣網絡的參與者可以達成共識,而無須相信網絡上的任何人。它跟PoS機制不同,PoS依賴于對共識的主觀解釋。
PoW中的W(work)涉及到尋找哈希輸出,該輸出具有最小前導零數。(哈希輸入有一些限制,例如格式化、時間戳等。)
比特幣PoW機制使用的加密哈希函數稱為SHA256。加密哈希函數的一個重要特征是它們是單向的。這意味著僅通過哈希輸出來推演哈希輸入是不可行的。它們是單向的原因很大程度上是因為哈希輸出的隨機性。
這證明是非常關鍵的,因為如果哈希功能不能產生足夠的隨機(“偽隨機”)輸出,那么,就可以從所需的輸出開始,也就是:具有特定數量的前導零的字符串,并從那里向后開始工作。這將使得“證明”最好情況下是不可靠,最壞情況下是無用。
簡單來說,典型PoW的機制所做的是(a)它提出一個問題,該問題的解存在于非常巨大的范圍內,(b)沒有捷徑,且(c)找到解的唯一方法是使用暴力計算和隨機搜索這個巨大的范圍。就像在巨大的干草堆中尋找針一樣。
由此,哈希函數的隨機性決定了證明(proof)有多強。
哈希(提供)→隨機性(支持)→工作證明
“…好的謎題給予每個礦工贏得下一道謎題的機會,而機會與他們貢獻的哈希算力總量成比例。想象一下,隨機投擲飛鏢,而標靶大小跟礦工持有的算力相對應。”——Arvind Narayanan
沒有正式的證據表明,隨機性是PoW的強制性要求。但是,從經驗上看,這似乎是正確的。還有一個簡單觀察,就是說任何問題,如果它的解是非隨機的,往往需要花費努力去驗證,而首先計算解的所耗費努力也一樣多。任何這樣的機制都會導致擴展性受限制(請記住,比特幣很難擴展)。它會不成比例地偏好最快的礦工——而稍微慢一些的礦工可能一無所得。
基于隨機性的PoW的另一個好處是它在挖礦方面是開放的,任何人都可以成為礦工,來去自由。如果他們在一個區塊找到后立即加入,或者五分鐘之后加入,都沒有關系,他們獲得下一個區塊獎勵的機會不會發生變化。
哈希怎么樣?它是獲得隨機性的唯一方法嗎?可能不是。除了哈希之外,還有其他方法來模擬隨機搜索過程,例如整數分解或離散對數。
因此,哈希很可能不是實現隨機性的唯一手段,而隨機性是創建數字PoW的必要前提。
PoW方案分兩大類:
計算限制:隨機搜索受制于處理器速度
內存限制:隨機搜索受制于內存訪問
關于一個PoW類別是否真的比其他的更好還有待觀察,(我個人認為內存限制更糟糕,但潛在機制是一樣的:在一個巨大規模的范圍內,進行概率和隨機的搜索,任何解可以被廉價驗證。)
總言之,只要人類存在,我們就會因為隨機性和不確定性而掙扎。在20世紀,現代計算和蒙特卡羅模擬發明出來,這第一次使得我們可以把隨機性為我所用。在比特幣中使用隨機性標志著另外一個漫長旅途的里程碑。簡言之,工作量證明中的“證明”是由隨機性所支持的。如果沒有隨機性或者真正良好的偽隨機性,工作量證明將無效。
如果比特幣能夠成為未來的貨幣,它將代表我們迄今為止最重要和最大規模的隨機性的應用。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。