比特幣挖礦,是在解決數學問題,那麼解決的數學問題有意義嗎?還是隻單純的燒顯示卡?
可能是最靠譜不忽悠的區塊鏈資訊平臺
目前使用EOS賬號時候,最經常遇到問題的是:CPU資源的問題。那麼,今天的EOS42章經的內容,我們就一起來聊一聊關於CPU的一些常見問題。
並且,本篇文章會告訴你,也許在未來不久之後,作為重度遊戲玩家的你,可以不必再擔心CPU的問題了,先知道為什麼嘛?
-
CPU用完可恢復麼?
CPU資源用完可恢復,週期為24小時。
CPU和NET資源是可恢復資源,而RAM是佔用的資源。
如果你看到自己已經很久沒有使用EOS賬號,但是卻發現CPU的已用量仍然很大時,只需要新發起一筆交易,這一使用資料就會更新了。
這是因為,當CPU和頻寬資源用光後,會進行線性恢復,24小時後,會完全恢復。但是,由於系統不會主動進行計算,需要在你新發起一筆交易之後,才會重新計算你的已用資源的量。
阿華的這篇文章,詳細解釋了CPU的計算方式,推薦想要繼續研究的讀者,可以參考:
EOS上CPU/頻寬資源使用量是如何計算的
2. 每一筆交易都需要消耗CPU資源
CPU和網路資源,相當於是每一筆交易的燃料。CPU是以時間為單位來衡量的,而頻寬資源(NET)是以字元數(bytes)來衡量的。
EOS賬號中每一筆交易,都需要用到CPU,你需要為每一筆交易“買單”。
可以通過瀏覽器來檢視(目前,EOSflare跟bloks兩個網站可以顯示出來每一筆交易的資源消耗情況)
https://bloks.io/transaction/4d8b6639e78303d166234dd2721a6670da324d36b7efefb3e9be3b7d5886fedb

圖中可見,該筆交易消耗了719 μs的CPU資源, 144 Bytes的網路資源。
3. 交易所 消耗的CPU使用量,由超級節點來開出賬單
超級節點在建立區塊的時候,會將這筆交易進行計算,在這過程中消耗了719 μs的CPU資源, 144 Bytes的NET資源,就是為這筆交易所記下的“賬單”, 會記錄在交易的資料結構之中。
而這一份賬單,其他的節點都會認可,也留在了區塊鏈上。
這份賬單誰來買單呢?
未來:可能普通使用者不必再擔心CPU問題
目前情況下,是由交易的發起者來買單的。比如,A賬號向B賬號轉賬,這一筆交易的CPU消耗和NET消耗,會算作A賬號的,並從A賬號的CPU和NET可用餘額中,扣除對應的部分。
而未來你讀到這篇文章的時候,可能已經有了另外一種方式,由接受者買單,因為BlockOne的開發者已經在進行這一功能的開發工作了(請檢視)。
例如,你在玩遊戲的時候,目前向遊戲中轉賬,需要消耗的是你自己的資源,這也是導致目前許多遊戲玩家抱怨CPU不足卡頓的原因;而在接收者買單的選項出現之後,也可以由DAPP專案方來承擔相應的CPU開銷,為使用者的遊戲買單。
這樣,普通使用者就再也不必擔心CPU的問題了。
4. CPU需要抵押來獲得,且“價格”會波動
既然每一筆交易都需要用得到CPU資源,那麼,如果你的CPU資源不足,自然就無法發起交易。正如昨天我們一起了解到的,需要抵押EOS到“當鋪”(eosio.stake這一系統賬戶),然後獲得對應的CPU資源。
抵押了同樣數量的EOS,具體可以得到多少的CPU資源,是會根據EOS網路的忙碌程度來變化的;如果CPU使用的高峰期,則獲得的資源就少,如果是空閒時候,獲得的資源就更多。
本質上,CPU的“價格”,是用於調節網路擁堵程度的一個工具。
(注意:用CPU“價格”這一說法只是為了方便你的理解,實際上,因為你抵押多少EOS,就可以贖回多少EOS。不會因為CPU價格變動而導致所贖回的EOS數量變少,之後文章,我們會詳細介紹CPU跟RAM這類資源的不同。)
感興趣可以檢視EOS Titan所提供的一個工具,方便你直觀的瞭解CPU“價格”的變化。

工具: https://voters.eostitan.com/labs
5. 其他相關問題
如何知道EOS一筆交易需要消耗多少資源?
EOS NewYork提供了小工具 EOS Charge,可以展示出來常見操作所需要的CPU資源和NET資源的用量,網址為: https://www.eoscharge.io/

也可以檢視 阿華區塊鏈的文章: EOS賬戶需要抵押多少CPU資源
在CPU已經不夠的時候,該如何操作?
EOS設計中存在一個狀況,就是,當CPU不足的時候,是無法發起操作,為自己抵押CPU的。如果遇到這種情況,可以參考這兩篇文章中的解決方案:
CPU不夠怎麼辦:寫給CPU“紅人”的極簡解決方案。
常見的幾種CPU資源、租賃方式。
EOS42 開創 去中心化 的未來
EOS42的賬號為: eos42freedom。
請為EOS42 投票 ,支援我們繼續不停開拓去 中心化 解決方案的未來。