歡迎光臨
每天分享高質量文章

以太坊:防ASIC演演算法可行性探討

導語:區塊鏈技術中,共識演演算法是其中核心的一個組成部分,比特幣和以太坊使用的是POW。對於使用POW演演算法的比特幣來說,經歷了CPU挖礦,GPU挖礦,ASIC礦機挖礦的過程。同樣的以太坊也面臨ASIC礦機挖礦的問題,本文作者就是否需要防止ASIC礦機做了探討。


本文僅僅代表我自己的觀點,而非以太坊基金會或任何其他物體。 

過去兩周,我一直密切關註社交媒體上有關設計和實現新的防ASIC工作量證明演演算法的爭論。 爭論雙方的焦點在於我們是否應該努力預防以太坊網路上出現使用ASIC裝置的礦工。我持比較中立的觀點,並且已經在以太坊生態系統中活躍了一段時間。我希望雙方都能發聲。本文目的是提供背景,併為爭論的雙方提供進一步討論的依據。

事實

  • 已經確定開發出了支援Ethash演演算法的ASIC礦工[1]。

  • Piper Merriam建立了“EIP 958:將挖礦改為ASIC抗性”[2]。 Piper開放了EIP,意在將其作為關於ASIC抗性演演算法變化討論(技術性和非技術性)的起點。他在EIP中的角色是扮演中立的推動者,而不是專家。 該EIP現在應作者的請求被關閉。而在Reddit等其他論壇上繼續討論。

  • 大約一週前,AirSquirrels建立了“EIP 969:早期ASIC緩解硬分叉”[3]。該EIP側重於圍繞ASIC抗硬分叉的技術討論。根據EIP 1,它已在草稿狀態下合併到EIP庫中。這並不表示EIP已同意或接受,但它滿足進入倉庫的最低技術要求。

  • 從語法和技術的角度來看,veox一直致力於清理EIP 969。 EIP PR的狀態可以在這裡[4]找到。

  • EIP 958是最近核心開發者會議[5]上討論的話題。會議記錄和會議錄影的連結可以在這裡[6]找到。


下一部分是我總結的雙方的討論。我已經為它們編號以便更容易對特定的討論發表意見。

Pro ASIC Resistance(PAR)

以下兩大文章提供更多細節。

  1. Medium文章 – 從礦工的角度看為什麼以太坊應該在下一次計劃的硬分叉調整演演算法?[7]

  2. reddit帖子 – 關於的Bitmain和ASIC抗性的帖子 [8]

  • PAR 1:以太坊網路允許存在ASIC的安全風險。假設一個物體擁有大部分計算能力,51%的攻擊就有可能。

  • PAR 2:至少從抗ASIC的經濟誘因的角度來看,以太坊白皮書宣稱以太坊具有“ASIC抗性”。如果這不是一個錯誤的敘述,就需要維護該特性。

  • PAR 3:Bitmain被允許在網路上使用ASIC進行挖掘會導致以太坊的集中化。

  • PAR 4:Bitmain可能有更好的ASIC,但他們還沒有表明他們目前正在使用它。這擴大了其他風險,並消除了Ethash ASIC效能提升(相比GPU)的不確定性。

  • PAR 5:Bitmain已被證明對加密貨幣組織有敵意。當他們涉足比特幣現金時,他們對比特幣的敵意可以證明這一點。他們的商業行為在任何方面都不利他。

  • PAR 6:在Monero努力阻止ASIC之後,其算力下降70%以上,這證明瞭ASIC被用於秘密挖礦。今天以太坊也可能發生這種情況,這就是為什麼我們需要迅速採取行動。

  • PAR 7:ASIC將消除業餘愛好者礦工,並使普通人難以開採以太坊。

Pro Doing Nothing(PDN)

有兩大資源為這些要點提供更多細節。

  1. 博文 – 反ASIC分叉是有害的[9]。

  2. 以太坊核心開發者會議#36筆記/影片[10]。

  • PDN 1:ASIC實現的效率提升相對有限。在釋出程式碼的時候,Bitmain ASIC的第一批以800美元出售,挖礦速度是180mh/s(這是GPU的2.5倍)。第2批的售價為1,800美元,雖然具有不同的改進水平,但技術上仍然有爭議。 (35:38)

  • PDN 2:我們不確定哪些協議更改會有用。即使我們切換到完全不同且完全不受I/O約束的PoW演演算法(如SHA3),演演算法可能只會在半年到一年內防止ASIC。 (37:37)

  • PDN 3:改變PoW演演算法並讓每個人都升級的工作可能有風險並且會帶來混亂。開發,測試,規劃和制定硬分叉和相關程式碼不是一個簡單的過程。 (38:47)

  • PDN 4:專註於改變PoW演演算法會影響更重要的事情,如Casper,分片和其他協議級別的工作。 (38:47)

  • PDN 5:以太坊網路即將切換為賭註證明(Casper),因此改變PoW演演算法會降低研發成本。改變PoW演演算法是一種臨時方案,而Casper是一勞永逸的解決方案。

  • PDN 6:最糟糕的情況是Bitmain在一段時間內控制了以太坊網路的一部分。如果他們試圖將其用於惡意目的,可以加快Casper的開發速度,併在一週內釋出(儘管可能會有更多的漏洞並且跳過正式的驗證/學術評估),挖礦獎勵將減少90%。如果geth和Parity開始把實施Casper的優先順序放在首位,它將為防止51%的算力攻擊提供保障(39:05)

  • PDN 7:在挖礦方面要防止反競爭的規模經濟是不可能的。大型企業和物體將在任何採礦模型中形成規模經濟,包括通用硬體/GPU佔主導地位的採礦(請參閱之前取用的Phil的部落格[9])。

  • PDN 8:ASIC可以大幅增加攻擊加密貨幣的成本,對於加密貨幣系統的安全性來說也是一件好事(參見前面取用的Phil的部落格)。


Casper還有多久才能推出?

這似乎是許多爭論的焦點。這是最新的:研究人員正在完成測試網第二階段的程式碼,標的是完成和凍結Casper PoS演演算法的完整規範。 geth和Parity今天可以開始實現Casper的部分功能。Casper目前正在透過執行時驗證進行正式驗證,這需要4到5個月的時間才能完成。多個學術團體也在關註Casper。Casper正式的EIP正在開展工作,並將在未來2周內釋出。我們的計劃是讓執行時間驗證驗證Casper,重新啟動一個定製的Casper測試網路,重新啟動以太坊測試網上的合約,並最終在主網上啟動Casper。現在沒有正式的時間表,在我看來,在我們完全驗證Casper之前,都不可能有一個時間表。 (40:23)

所以現在怎麼辦?

如果你在PAR組中,我建議你按照你的信念行事,並幫助制定一些EIP。如果您位於PDN組中,則可以在論壇/聊天室中向PAR組提供反例。目前以太坊核心開發者的大致共識是PDN。然而只要社群共識或與之相關的東西能夠得到證明,他們就會對社群所希望的事情開放。有很多方法可以影響結果,包括投票和討論以及EIP。我鼓勵大家參與這個過程。

文中連結:
[1] https://shop.bitmain.com/product/detail?pid=00020180407155628542Kh79QU7M0649
[2]https://github.com/ethereum/EIPs/pull/958
[3]https://github.com/ethereum/EIPs/pull/969
[4]https://github.com/ethereum/EIPs/pull/979
[5]https://github.com/ethereum/pm/issues/36
[6]https://github.com/ethereum/pm/blob/master/All%20Core%20Devs%20Meetings/Meeting%2036.md
[7]https://medium.com/@bitsbetrippin/why-ethereum-should-adjust-algo-on-next-planned-hardfork-from-a-miners-perspective-aa0afeef05b9
[8]https://www.reddit.com/r/EtherMining/comments/8auy55/regarding_threads_on_bitmain_and_asic_resistance/
[9]https://pdaian.com/blog/anti-asic-forks-considered-harmful/
[10]https://github.com/ethereum/pm/blob/master/All%20Core%20Devs%20Meetings/Meeting%2036.md

相關閱讀:


只用200行Go程式碼寫一個自己的區塊鏈!

200行Go程式碼實現自己的區塊鏈——區塊生成與網路通訊

200行Go程式碼實現區塊鏈 —— 挖礦演演算法

區塊鏈及比特幣入門指南

新一代開源分散式賬本專案R3 Corda 技術揭秘:基於JVM開發

超越比特幣以太坊的區塊鏈技術:石墨烯專案簡介

門羅幣簡介


特別推薦:


比特幣、以太坊、ERC20、PoW、PoS、智慧合約、閃電網路……

想深入瞭解及討論這些話題?高可用架構在知識星球(小密圈)建立了區塊鏈學習小組,共同學習區塊鏈包括數字貨幣前沿技術,歡迎點選連結加入。


區塊鏈學習小組


轉載本文請註明出處,技術原創及架構實踐文章,歡迎透過公眾號選單「聯絡我們」進行投稿。

高可用架構

改變網際網路的構建方式

長按二維碼 關註「高可用架構」公眾號

贊(0)

分享創造快樂