科普:以太坊挖礦原理
一、以太坊挖礦基本原理:
以太坊,和所有區塊鏈技術一樣,使用激勵驅動的安全模式。任何在網路上宣稱自己是礦工的節點都可以嘗試建立和驗證區塊。世界各地的很多礦工都在同一時間建立和驗證區塊。每個礦工在提交一個區塊到區塊鏈上的時候都會提供一個數學機制的“證明”。這個證明就像一個保證:如果這個證明存在,那麼這個區塊一定是有效的。
為了讓一個區塊新增到主鏈上,一個礦工必須要比其他礦工更快的提供出這個“證明”。通過礦工提供的一個數學機制的“證明”來證實每個區塊的過程稱之為工作量證明(proof of work)。證實了一個新區塊的礦工都會被獎勵一定價值的獎賞。獎賞是什麼?以太坊使用一種內在數字代幣—以太幣(Ether)作為獎賞。每次礦工證明了一個新區塊,那麼就會產生新的以太幣並被獎勵給礦工。
二、以太坊和比特幣的不同
相同點:
比特幣和以太坊都是成功的區塊鏈技術應用,通過比特幣人們認識到了區塊鏈技術,有了以太坊人們才意識到區塊鏈還可以獨立出來。它們都是建立在區塊鏈的基礎之上的,其中的交易都會公開記錄,貨幣及資產交易更加便捷優惠,去除了繁瑣的中間人。
不同點:
比特幣是點對點的去中心化數字支付系統,類似一家可以全球結算的銀行。而這個銀行是沒有中心化組織成員的,沒有CEO,沒有管理員,只有程式碼和共識的基礎原則。點對點價值傳輸,不需要其他第三方,或者信任機構。
比特幣總量2100W,每生產21W個區塊,一個區塊產生的比特幣數減半,約每10min產生一個區塊,總體來說是一種通貨緊縮的電子貨幣。以太坊的定義是點對點的去中心化虛擬機器,可以理解為一種平臺,使用代幣實現價值分配,吸引各方共建生態。以太幣的總量無上限。
三、智慧合約與ERC20協議
智慧合約首先它是一種合約,通過程式碼的形式約定了交易執行的雙方,以及約定了合約執行的一些觸發條件,一旦這些條件被觸發,就會自動執行約定好的相關操作,一般是一些交易,這些交易會被礦工挖取,最終合入公鏈,不可抵賴,不可回退。
例如,ICO相關的智慧合約,約定了要眾籌的以太幣,以及會返給使用者的代發幣,一旦眾籌到足夠的以太幣觸發了設定的條件,智慧合約就會把相應的代發幣傳送到使用者的相關賬戶。
以太坊上的智慧合約基本都是在網上開源的,任何使用者都可以看到,裡面定義了相關的介面,以及觸發時間,如果沒有一個統一的標準,一堆的智慧合約會讓大家很難了解到這個智慧合約具體是做什麼的,這時候就出了ERC20協議,開發人員通過檢視別的智慧合約就能很方便的知道它相關介面的作用,進而去在自己的合約中呼叫。標準化非常有利,也就意味著這些資產可以用於不同的平臺和專案,否則只能用在特定的場合。
四、以太坊為什麼能用於發幣
因為有智慧合約的存在,可以通過合約來約定眾籌的代發幣最終會進入使用者賬戶,並且因為代幣使用相同的標準ERC20,這樣代幣直接的兌換和DAPP支援在以太坊生態上就會變得容易。
五、以太坊的交易限制
每筆交易,交易發起方都要設定交易的Gas Limit和 Gas Price,不同的操作會產生不同的Gas成本,Gas用完時礦工將停止執行,使用的Gas會作為獎勵,獎勵給挖礦的礦工,如果有剩餘Gas,會退還給交易發起方或智慧合約建立者,如果使用者設定的限制值太低,或者賬號中的eth不足以支付Gas消耗,那麼這筆交易會因為Gas不足而被取消,並且用於計算的Gas不會退到賬戶。
六、以太坊全網算力
以太坊上當前所有礦機的總算力,目前礦池上的是根據當前區塊的難度值計算出來的。
七、以太坊挖礦難度
區塊的難度是被用來在驗證區塊時加強一致性。創世紀區塊的難度是131,072,有一個特殊的公式用來計算之後的每個塊的難度。如果某個區塊比前一個區塊驗證的更快,以太坊協議就會增加區塊的難度。通過調整區塊難度,就可以調整驗證區塊所需的時間,即爆塊速度。驗證時間的自我調節來保持以恆定的速率產生新塊。
八、單卡算力與挖礦收益的關係
單卡算力越高,能進行的驗證次數就越多,得到符合公式的結果的機率就越大,如果是使用礦池的話,也就是提交的share數會越多,那麼挖礦收益會越高。
文章宣告:本文為火星財經專欄作者作品,不代表火星財經觀點, 版權歸作者所有, 如需轉載,請提前聯絡作者 或註明出處。