大致上說,我們想抑制為了挖礦而特別定制的設備的優勢。這也可以理解為,設計一個解謎程序,讓現有的普通電腦成為最廉價和最有效率的解謎運算設備。但這在現實中不可能,畢竟所有的通用電腦的中央處理器里已經針對一些特殊目的進行了優化。并不是所有的電腦都有相同的優化配置,并且它們隨著時代而變化。比如,過去的10年中,英特爾(Intel)和AMD在芯片里加入特殊指令(通常叫作“增加硬件支持”)來更加有效地計算高級加密標準(Advanced Encryption Standard,簡稱AES)的區塊密碼。所以有些電腦在挖礦這個事情上總是會比其他電腦更加低效。另外,很難想象設計一個挖礦解密程序,而這些程序是依賴普通個人電腦諸如音響或顯示器這些特性的,所以去除了那些通用特性的具體特殊目的的設備,很可能會更有效率,并且成本更低。
更加實際地說,我們有一個適中的目標:設計一個解謎程序,盡可能地減少最有效率的定制運算設備與通用電腦之間的效率差距。ASIC還是會不可避免地成為更加有效的礦機,但是我們可以將其運算效能限制在一定范圍內,讓他的投入和損耗得不到合適的回報,從而限制ASIC礦機的發展,讓普通用戶使用他們已有的通用電腦來挖礦仍具備一定的經濟效應。
1、剛性內存解謎
大多數被設計成反ASIC的解謎程序中,最普遍被應用的叫作剛性內存解謎(memory-hard puzzles)-----解謎需要大量的內存來計算,而不是靠大量的CPU時間。一個類似但又不一樣的概念是內存限制解謎(memory-bound puzzles),花在讀取內存上的時間,占據了這種程序大部分的計算時間。一個解謎可以是剛性內存類而不是內存限制類,或是內存限制類而不是剛性內存類,或是二者兼而有之。一個微妙但重要的區別在于,雖然CPU的速度是計算時間的瓶頸,但平行運算大量解謎的成本,還是被內存的成本所左右,或者反之亦然。通常對于運算類的解謎程序,我們要做到剛性內存和內存限制,就需要保證在運算過程中大量的內存被要求使用,使之成為一個限制性因素。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。