作者:NEST愛好者_九章天問
比特幣誕生後,一個特別的行業產生了:“挖礦”,完成nonce計算並給區塊打包的節點,稱為礦工。
我們在比特幣上的每筆交易,就是這些礦工記錄到區塊鏈上的。由於礦工掌握著記賬權,自然對比特幣系統舉足輕重,這讓我們擔心:他們是不是可以對我們的資產造成什麼影響,比如轉走、消失,或者不讓我們交易?這種影響,就是礦工的代理風險。
分析礦工的代理風險,要深入到挖礦流程,確定哪些礦工可自主決定,哪些是協議或演算法安排的。
以BTC、ETH為例,打包過程中,選擇哪些交易,打包哪些資料(比如時間戳等),向哪些節點廣播、接受哪些節點的廣播等,都是由礦工自己決定的;而打包規則,打包之後的HASH,及基於HASH計算nonce值等,都是協議約定並可被系統驗證的,是礦工無法隨意篡改的。
按照這個流程,沒有私鑰的話,礦工不可能偽造轉出交易,因此不可能把你的錢轉走。但礦工可以不讓你的交易打包,甚至把你的地址加入黑名單,只要是它打包的,就無視你的交易。另外,如果交易有先後次序需求的話,礦工可以將你的交易排在後面,或者將其它指定的交易排在前面。
由於礦工可以選擇性的接收廣播,這會成為一種藉口:將某個地址納入黑名單可以說成沒有接收到該筆交易,被拉黑的人無法從任何資料中找到自己被加入黑名單的證據,也就無法追溯礦工責任。
當然,對於一個純粹的礦工而言,他想做什麼都是可以的,只要符合協議的約定都沒問題。但對於委託給礦池的礦工,隨意將一個地址納入黑名單,則應該受到監管或說明,因為礦池和礦工是委託代理關係,不能保證該行為是基於礦工利益而非礦池的利益。對於這個問題,我們將單獨寫一篇文章來討論礦池的代理風險。
從以上描述來看,礦工對個體的影響,主要是搶先交易、排除交易(黑名單等)兩種,這兩種在BTC上都不會造成資產損失(當然,時間損失也是一種損失);同時考慮到單個礦工的的影響較小(礦池除外),且打包的礦工是隨機產生的,因此這兩種代理風險會隨著節點的增加、系統的擴大而降低。但如果礦池的發展越來越集中,則可能正好相反。
然而,在ETH上,由於智慧合約容納更復雜的邏輯,特別是DeFi領域,一筆交易的重要性和關聯性極大提升,這意味著礦工代理風險的上升。
以312為例,在DeFi出現大面積擠兌的情況下,搶先交易和排除交易的收益-風險結構就變得很重要了,這個時候存在“外部激勵”:即不是靠打包交易產生的ETH來激勵礦工,而是各種鏈上合約的套利價值激勵礦工,使得在最開放的假設下(礦工完全基於自己的總激勵來設計打包策略),ETH確實可能出現種種混亂,礦工成了DeFi套利利益的最大受益者。
這些混亂將影響公鏈的去中心化共識,特別是礦池這樣做的話,負面影響還會加倍。
當然,現實世界裡,礦工及礦池會受到聲譽、外部監管、社群抵制等等各方面因素的影響,因此真正敢於這樣明目張膽進行外部激勵的礦工,還是少數。但這種潛在的風險依然存在,特別是礦池;由於其符合當前法律的委託代理結構,一旦損害委託人的利益,很可能會遭受傳統法律關係的指控,這是成本很高的事情。