區塊鏈 | POW及自私挖礦

  • 因爲區塊鏈是無中心登記的匿名服務,建立多重身份代價極低,因此在公有鏈上可能發生多重身份攻擊(Sybil Attack)。做爲解決方法,區塊鏈沒有使用身份投票的機制,採用資源投票的機制,即工做量證實(POW)。POW即由分散在各處的參與者綜合上一個區塊的Hash 值,上一個區塊生成以後的新的驗證過的交易內容的Markle Root值,再加上猜想的一個隨機數Nonce,一塊兒打包到一個候選新區塊,讓新區塊的Hash值小於比特幣網絡中給定的一個數。此猜想值被找出後,與數據、散列值一塊兒打包成塊後廣播,經多數節點確認與認可,打包者就能得到打包該區塊所提供的獎勵。通常採用工做量證實的加密貨幣,例如比特幣,會設置成隨着參與競賽的算力增減,而調整找尋猜想值的難度,以維持合理的運做速度。
  • POW依託正向快速、輸入敏感、逆向困難、衝突避免的哈希算法,架構簡明扼要,使用數學的方法保證了可靠性。因爲要獲取更高的交易驗證權力就要獲取更多的算力來提高佔比,使得惡意用戶必須投入超過整體一半的運算量(51%攻擊),才能篡改交易結果,使得攻擊成本極其高昂,在現實中難以實現。而且對於礦工來講是公平的,投入的計算設備即算力越多,獲取打包權和打包獎勵的機率也就越大,從而實現理論上的激勵相容(incentive-compatible)。
  • 而POW也有顯著的缺點。對於算力的軍備競賽,使得很是多的資源被浪費,電力被用在了並非最重要的猜想上。且在加密貨幣的價值提高後,專用的ASIC礦機和其製造商可能會壟斷算力,與去中心化思想背道而馳。
  • 在論文《Majority Is Not Enough Bitcoin Mining Is Vulnerable》中,做者給出了一種在遵循規則挖礦以外能夠得到更大利益的算法,且這個算法會致使理性的礦工投身於這種策略中獲取更大的利潤並最終破壞區塊鏈網絡正常運轉。這篇文章中提出, 私自礦池挖出新塊以後, 暫時不發佈這個區塊, 而是繼續挖下一區塊, 當發現網絡上別人也挖出新區塊時再發布這個區塊, 能夠得到更高的收益。同時這個更高收益的算法並非全局最優的, 由於礦工會爲了更高的利益進行自私挖礦, 使得自私礦池愈來愈大, 逐漸變成多數, 破壞了比特幣的去中心化.雖然在自私挖礦攻擊中。誠實和自私礦池都會浪費算力, 可是誠實礦池浪費的算力會更多, 同時自私礦池能夠得到比本身誠實挖礦更高的收益。此消彼長, 礦工會更願意加入自私挖礦。並且, 自私礦池的算力越大, 它可以得到的獎勵高於線性增加,這更加有利於自私礦池吸引更多礦工加入。
  • 對於浪費資源的問題,POW的設計機制是幾乎無解的。即便用提升運算能力來提升獲取打包權的機率從而提高得到的收益的激勵機制必然致使算力的軍備競賽並浪費大量資源。這個問題能夠考慮經過使用其餘方式如POS、DPOS即權益證實機制,經過給與擁有更多貨幣的用戶更多的投票權來替代給與擁有更多算力的礦工更大機率的記帳權。這些方法都能必定程度解決資源浪費問題。
  • 而自私挖礦的問題,能夠經過改變機制,當礦工收到兩個競爭區塊時,隨機選取其中一個進行挖礦,這樣的話誠實節點選擇在自私礦池發佈的區塊上挖礦的比例就會下降到1/2,這樣的話只有在自私礦池掌握全網1/4以上的算力時纔可以得到比誠實節點更大的收益。
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息