火星公開課第167期初鏈張翰:PoW浴火重生?從根本上抗ASIC做起


PoW真的應該被歷史淘汰了麼?



要點速覽:1. 在不同的一代幣中出現了諸多PoW算法,其中一個核心考量就是如何抗ASIC。2. 目前抗ASIC的方式一般都是給ASIC增加內存壓力或傳輸壓力,並沒有從根本上對它壓制。3. 在第三代公鏈中,除了初鏈之外,幾乎沒有其它項目仍然採用PoW。4. 從根本上對抗ASIC的方法其實很簡單,就是想辦法把礦工拉回馮諾依曼瓶頸之內。5. 根本上抗ASIC的算法需滿足三點:令S為一個算法集合,欲實現S中的所有算法,必須經過馮諾依曼瓶頸;每T個區塊切換一次算法,切換方式必須滿足可驗證且不可預測;算法切換沒有人為干預。


9月7日20:00,TrueChain初鏈基金會理事張翰做客「火星財經創始學習群」,從POW的困局、ASIC的前世今生、根本上抗ASIC的理論基礎三個方面,分享了“PoW 的救贖:根本上抗ASIC的挖礦原理”。

他表示,ASIC的出現使得算力空前集中在少數礦池手裡,降低了網絡去中心化的程度,但目前抗ASIC的方式只是增加了設計ASIC的難度,並沒從根本上抗ASIC。


如何才能從根本上抗ASIC呢?他認為需要想辦法把礦工拉回馮諾依曼瓶頸之內,將改算法的機制設計在挖礦算法之內,讓所設計的算法足夠豐富,使得運算通用性再次變的重要。

以下為張翰分享原文,由火星財經(微信:hxcj24h)整理:

一、PoW的困局

2008年,中本聰創造了比特幣,宗旨是創造任何人都能參與的去中心化金融體系。

由於ASIC的出現,使得算力空前集中在少數礦池手裡,從而降低了網絡去中心化的程度。

此後,在不同的一代幣中,出現了諸多PoW 算法,其中一個核心考量就是如何抗ASIC。

不過這些抗ASIC的方式,通常只是增加了設計ASIC的難度,並沒有實現從根本上抗ASIC。因此,這些算法在足夠經濟利益出現後,被ASIC廠商一一擊潰。

我這裡列了個清單:



因此,項目方與ASIC廠商的這輪對抗,戰術上以完敗的結果而告終。

但是戰略上卻出現了新的變化。以 Casper、EOS、ADA、NEO為首的幣種,拋棄PoW轉而使用PoS或DPoS。

這個變化對PoW來說是滅頂之災,因為在第三代公鏈裡面,除了初鏈之外,幾乎沒有其它項目仍然採用PoW。


那麼PoW就真的應該被歷史淘汰了麼?顯然不是的,但PoW必須先解決一系列自身的問題,才有可能浴火重生。這裡,我們重點介紹關於挖礦算法層面上的突破,以及給出一套根本上抗ASIC的算法基礎。

二、ASIC的前世今生

下面我們講一下ASIC為什麼那麼強大。其實想理解這個問題,我們應該問CPU為什麼那麼弱?

這個道理其實很簡單,CPU的設計為了通用計算的需求,採取了馮諾依曼架構。馮諾依曼架構分三個部分:內存、計算單元與控制單元。



數據和程序通常存在內存中,執行計算是需要傳送到計算單元。這個有限的傳輸帶寬被稱之為馮諾依曼瓶頸。

那麼問題來了,如果我們只需要做單一計算呢?比如說,比特幣挖礦的 Sha-256d。它的inner loop結構很簡單,簡單到可以直接用硬件方法,把它刻到計算單元裡去。因為是直接刻的,所以這個芯片除了算Sha-256,什麼也幹不了,這就是我們的ASIC(Application specific integrated circuit)。



如上圖所示,ASIC的內部大概這樣。

目前抗ASIC的方式,一般都是給ASIC增加內存壓力或傳輸壓力,例如,Ethash需要礦工讀大表,Equihash也類似。但這只是給ASIC增加難度而已,並沒有從根本上對它壓制。

例如,最近比特大陸出的Antminer E3,它的芯片大概如下圖:



在計算單元周圍布一圈ddr顆粒,主要的計算部分還是在計算單元內部完成的。

三、根本上抗ASIC的理論基礎

最後講一下如何設計出從根本上對抗ASIC的挖礦算法。

在第二部分,我講了ASIC挖比特幣快,是因為比特幣挖礦算法單一,ASIC 可以拜託馮諾依曼架構,從而跳過馮諾依曼瓶頸。那麼,從根本上對抗ASIC的方法其實很簡單,就是我們要想辦法把礦工拉回馮諾依曼瓶頸之內。


怎麼拉呢?大致上說,我們所設計的算法需要有足夠豐富,使得運算通用性再次變的重要。

我們可以借鑑門羅的經驗——週期性改算法。但門羅自己也是有問題的,社區投票hard fork太沒技術含量,但更大的問題是沒有任何人知道項目方(目前基本上可以左右投票結果)是否事先準備了新算法的ASIC。



因此,我們必須將改算法的機制設計在挖礦算法之內。

根本上抗ASIC的算法,需要滿足以下幾點:

1.令S為一個算法集合,欲實現S中的所有算法,必須經過馮諾依曼瓶頸。2.每T個區塊切換一次算法,切換方式必須滿足可驗證且不可預測。3.算法切換沒有人為干預。


大致分析一下,我們需要礦工使用通用計算,意味著他必須掌握一個大集合的算法,但因為每次只能用一個算法,所以必須加入切換算法的機制,才能保證通用性得到獎勵。

切換算法時,我們又必須保證沒有人可以事先準備下一週期的 ASIC,因此我們需要可驗證且不可預測性。有沒有實現的可能?

Truehash的實現方式是基於對置換群的表示論,以及RSK correspondence。置換群非常大,數學界以前研究的也比較透,比較容易產生大量的不同算法。


令G為一個群,對每個群元素g,令rho_V(G)為G在向量空間V上的表示。

在普通挖礦算法中,將 blockheader、nonce等信息經過padding等運算之後,會形成一個向量v(nonce)。通過窮舉不同nonce值,來尋找 hash(v(nonce))小於難度係數的結果。

Truehash的改動部分是,將hash(v(nonce))改為hash(rho(g)*v(nonce))。只要G足夠複雜,這個算法集合就不可能全部寫死在計算單元內。由於算法會隨機切換,馮諾依曼瓶頸將不可避免。


Truehash的算法切換原理是,每12000個PoW區塊換一次群元素,12000 個PoW區塊大概需要83天的時間生成。

新的群元素信息由上個週期的第1–8192個區塊所組成,組成方式通過分析第11001-11256個區塊的哈希值所產生。由於區塊的哈希值不可提前預知,在第11256個區塊出現之前,任何人都不可能知道關於新算法的任何信息。

從上週期的第11257個區塊到該算法作廢,總共只有88天的時間,這麼短的時間內生產ASIC沒有任何意義。


問答環節

Q1: True堅持使用POW,而且優化為fPOW,背後的思考是?fPOW如何優化POW?

A1: 回到PoW自身的問題上,fPoW 是為了解決挖礦的公平性。大致上說,算力礦池除了自身算力強悍之外,還可能用ASIC Boost、Selfish mining、Eclipse attack等種種手段,使得出塊率>算力佔例。經濟上增加了他們的壟斷能力,網絡安全上他們並不需要 51%的算力,就可以實施51%攻擊。這裡面有個很好的案例是 XVG,大家可以查下資料,看看XVG 是怎麼被掌握10%的算力礦池實施51%攻擊的。


Q2:馮諾依曼瓶頸的確是制衡ASIC的好方式,但速度、效率是否不可避免的下降?這套制衡策略是否讓採取POW的公鏈回到舊有的問題上去?

A2: 全網算力1Th/s還是1Ph/s對網絡本身安全影響不大,所以拼算力這個問題,更多是節點與節點之間的競賽。如果全網hash rate降了1000 倍,但每個節點也都等比下降1000倍,且任意節點很難恢復原來算力,這個不會有任何影響。

Q3:解決了PoW的公平性,那麼怎麼看待PoW的效率,如何看待PoW與PoS?

A3: PoW的效率其實不比PoS 低,這裡面可能有個誤區:大家認為PoW 要經過很複雜的計算才能出塊,PoS不用,所以 PoS會更快。事實上區塊鏈的真正瓶頸是網速。


Q4: 能耗環境效率呢?

A4: 如果PoW圈資源,圈來的全是哈希計算器,那這確實是極大的浪費。因為1Ph/s和1Th/s對網絡本身根本沒有任何區別。所以混合共識的一個好處是,PoW將只是節點的一個入口,節點通過PoW來競爭當選PBFT 委員。PBFT的算力是真實用來處理交易的,所以說只要PBFT部分佔比越來越高(例如,通過 Sharding 來實現多委員會),那麼能源效率也會越來越高。

Q5: ASIC的出現未必是壞事?抗ASIC的過程中公鏈在不斷迭代自己的算法變換方式,ASIC芯片自身也不斷迭代、優化,降低能耗,便攜,進入電腦甚至手機,逐漸靠近真正實現算力去中心化?張老師怎麼看?

A5: ASIC和公鏈項目方之間的對抗,確實使得項目方搞出了很多很複雜的哈希算法,同時ASIC廠商也見招拆招,搞出了很多很牛的礦機芯片。但這跟PoW圈哈希計算器那個問題一樣,似乎項目方和廠商圈來的資源都沒什麼實際意義。同時還把 PoW真真地傷到了,項目方現在都搞 PoS了,ASIC 廠商再牛又有什麼用?關於挖礦進入電腦、手機這個問題,我的觀點是真不推薦。別的不說,CPU佔用直接到100%,電腦、手機立刻卡死、變熱、變慢,至少用臺式機挖礦吧。


嘉賓簡介

張翰 / TrueChain初鏈基金會理事

初鏈研究負責人,澳大利亞新南威爾士大學數學系博士,曾任麥格理銀行量化分析師,澳大利亞奧林匹克數學國家隊教練,中國科學院高性能計算研究團隊研究員。曾部分證明 Gangolli 猜想,獲得過兩項美國先行專利。

對話發起人

嶽漢超 / DoraHacks合夥人

全球最大Hacker組織DoraHacks合夥人,對外合作負責人;作為發起人舉辦過數十場大型黑客馬拉松,對接全球數百個頂尖前沿科技組織+社區;清華大學經濟學學士。文章聲明:本文根據「火星財經創始學習群」嘉賓分享內容整理,不代表火星財經立場,轉載須在文章標題後註明“文章來源:火星財經(微信:hxcj24h)”。