Mining-Theory

使用這種策略是否可以在 CPU 上更快地探勘比特幣?

  • January 4, 2020

bitcointalk.org 上的這個人提出了一種使用 CPU 探勘比特幣的可能更快的方法:https ://bitcointalk.org/index.php?topic=265759.0

引用作者的話:

“而不是計算求解 SHA256(SHA256(block_header)),方法是符號求解。我的意思是,不是將塊頭輸入位視為 0 或 1,而是將每個輸入位視為單獨的符號變數(總共 640)。接下來,執行雙重 SHA256,並生成一組方程,代表最終雜湊中的每個位。這些顯然是巨大的,但是您可以在雜湊的每一步之後使用 PolynomialReduce 來減小方程大小.

SHA256 輸出是 32 字節,所以你最終得到的是一個由 256 個方程組成的系統,每個方程由 640 個變數組成(其中包括從雙重雜湊應用的所有邏輯運算符。)為了在難度 1 中進行探勘,你可以丟棄除前 32 個方程之外的所有方程。

現在使用這種方法進行探勘:您必須折疊方程並簡化。取目前實際的 block_header,並在 32 個方程中為每個位填寫實際值,除了 32 位隨機數(總共 608 個)。減少。

現在你有一個由 32 個方程和 32 個未知數組成的系統。設置所有 32 個方程彼此相等,並求解方程組。

你最終得到的是 3 種可能的解決方案:一個產生 32 個“0”位的隨機數(我們想要的),一個產生所有“1”位的隨機數(丟棄)或沒有解決方案(增加額外的隨機數。)

注意為了簡化和求解方程組,將邏輯運算符(xor、or、and)轉換為算術運算並在模 2 數環中進行歸約和求解,例如:

a^b == (a+b)%2

(a | b) == ( (a*b)%2 + a%2 + b%2 );

(a & b) == (a * b) % 2 "

現在,我不是數學家,但據我所知,這種策略佔用了大量的計算記憶體。因此,我的問題是——這種策略在理論上可行嗎?能像 ASIC 挖礦一樣高效嗎?

目前尚不清楚該策略是什麼。它只是說“並解決方程組”。

像 SHA256 這樣的加密散列的整個結構都經過精心設計,以使這樣做變得盡可能困難,甚至沒有提示如何求解該方程組。

這正是普通礦工所做的,除了他們試圖通過猜測可能的解並查看他們是否解方程來求解方程組。如果有更簡單的方法來解決它們,那是什麼?

現在,我不是數學家,但據我所知,這種策略佔用了大量的計算記憶體。因此,我的問題是——這種策略在理論上可行嗎?

如果可行,SHA256 壞了,我們應該改用別的東西。

工作量證明的重點是找到一個函式,其部分原像實際上只能通過迭代候選解決方案(或至少使用與嘗試的候選解決方案數量成比例的工作)來找到。

如果存在求解這些方程的代數方法,則意味著 SHA256 與隨機函式的區別不夠大,因為輸入和輸出之間的關係遵循一些易於處理的代數公式。這不僅是它在比特幣中使用的突破口,而且是對 SHA256 的突破口。

能像 ASIC 挖礦一樣高效嗎?

如果它有效並且可行,它可能會更快,因為它允許求解器隨著難度的增加而更好地擴展。

值得慶幸的是,這種方法是不可行的。

引用自:https://bitcoin.stackexchange.com/questions/92641