區塊鏈 | 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以上的算力時才能夠獲得比誠實節點更大的收益。
  • 發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章