51% 攻擊 - 顯然很容易?參考 CZ 的“回滾 btc 鏈” - 如何確保這種可破壞的情況永遠不會如此容易發生?
我很震驚地看到幣安 CZ 的評論是通過“呼籲”來自“友好”的亞洲礦工的一些好處,從字面上“回滾”比特幣鏈。
這一個人可以有效地做到這一點???我的意思是,我們是否都處於泡沫中,在某種烏托邦中,認為鏈條的去中心化使其“防彈”並抵抗礦工勾結?
(1) 這是一個基本問題:我們備受推崇和傑出的比特幣開發者如何解釋這種情況,即只有少數人的利益基本上足以進行 51% 多數攻擊?
(2)其次,關於未來如何緩解這種情況是否存在積極的爭論,在 btc 鏈中實施(或將實施)的哪些技術方面可能會有所幫助?
這個巨大的礦場本質上非常令人不安。就像權益證明一樣,“最富有的人”擁有最大的權力。而在 PoW 挖礦案例中,類似於“最大的硬體”擁有最大的權力。
我們必須設法以某種方式消除這種容易破壞的場景,對嗎?
在當今的數字世界中,有很多共謀的例子,甚至涉及 1000 多個不同的人。
少數勾結多數礦工將是小菜一碟,對吧?
謝謝你向我解釋這個問題。我真誠地希望我們很棒的開發社區能夠接受這一點,或者我可能只是誤解了一切。
免責聲明:我認為這個問題可能主要是基於意見的,不太適合這個網站,但是有一些技術上的誤解可以隨之澄清,所以我會試一試。
這裡涉及到許多細微差別,我擔心其中很大一部分沒有像交易所宣布“我們決定不這樣做”那樣吸引那麼多觀眾。我認為這是一個糟糕的措辭,因為他們做出的決定不是要不要回滾鏈條;只是是否為此提供賞金。我個人認為,替代方案實際上不太可能導致深度回滾。
讓我們從多個角度分析情況。
**如果我們只考慮礦工的行為,理論上他們是否有可能回滾鏈?**是的。如果您想知道世界上是否有少數礦業公司的 CEO,如果所有人都相信,完全不顧自己的經濟利益、網路的健康狀況或法律後果,他們可能會決定回滾鏈到點前的盜竊,答案是肯定的。這就是為什麼人們關心挖礦去中心化,以及進入挖礦市場的無許可的原因。但是,除非它不僅包含大部分雜湊率,而且實際上接近所有網路的雜湊率(這是一個更難的問題,因為除了少數大礦工之外還有許多小礦工),這將可能需要幾天甚至幾週的時間(如果接近 50%),這段時間可能會發生很多事情——包括公眾的強烈抗議和 UASF 式的分叉,以防止回滾被生態系統接受。如果在更大的時間範圍內考慮,這樣的事件甚至可能會激勵人們和企業成為礦工,以減少大型礦池的影響。
**假設礦工最大化短期利潤,回滾在財務上是否有趣?**不。即使我們假設網路中的每個人都在自私地試圖最大化自己的(短期)利潤,並且忽略協議規則和這樣做可能產生的後果,但事實並非如此。到有關盜竊的資訊已知時,交易已經在幾個小時前得到確認。在那幾個小時裡,礦工們創造了幾十個區塊,總共賺取了數百個比特幣的補貼和費用。交易所需要至少向受影響的礦工提供該金額,以補償他們因回滾這些區塊而損失的收入,甚至才值得討論。我們稱其為回滾成本R. 由於被盜金額為數千(我們稱之為S),這似乎是一個合理的選擇。然而,沒有什麼能阻止小偷使用(部分)被盜資金來做同樣的事情。R 以上交易所提供的每一個 BTC都可以被小偷提供的等值金額所抵消。然後很明顯,小偷佔了上風:交易所最多可以通過回滾獲得SR,但小偷不回滾就可以獲得S。理論上的可能性是交易所和小偷之間的競標戰,雙方都增加了支付的金額以使礦工對他們有利。最終的結果是交易所提供SR,小偷提供略多並保留R,並且礦工由小偷支付SR,並且不會發生回滾。
**現實世界會發生什麼?**研究理論模型很有趣,但實際上存在許多更實際的考慮。我相信那些通常也支持不回滾:
- 不信任礦工之間的協調(尤其是接近 100% 的算力)很難,而且需要時間。花費的時間越多,回滾的優勢就越小(見上一點),對生態系統造成的損害就越大(見下一點)。
- 一個小時(在最好的情況下)或一個星期(在最壞的情況下)的回滾將極大地損害生態系統,並可能破壞公眾對該系統的信心,從而嚴重降低許多人的盈利能力相關各方(包括礦工和交易所本身!)。
- 即使忽略上述所有內容,如果礦工為公眾所知(目前大多是這樣),由於法律原因,礦工可能不願意收受賄賂來回滾。他們可能同樣不想將偷來的錢作為賄賂,所以這是雙向的。如果採礦生態系統更加分散,這一點會變得更弱,但這也會使協調變得更加困難。
- 正如我上面所指出的,在實際發生這種回滾的極端情況下,公眾有時間做出反應。如果網路中足夠多的經濟相關方拒絕接受回滾,礦工別無選擇,只能接受。這是不得已而為之的選擇,它本身可能會損害生態系統,但它是一種選擇。
總結一下:理論上,有絕對的方式可以發生回滾,了解這些是很好的。實際上,系統的安全性已經依賴於經濟激勵措施,而這些激勵措施分析起來並不簡單。然而,在盜竊的情況下,深度回滾似乎不太可能是一個合理的結果。
(添加一些顏色)我看到的一些討論表明,宣傳這一點的人認為他們只需要實現 > 50% 的算力,這導致他們高估了可行性。僅以略高於 50% 的比例進行重組將需要數週甚至數月的時間,如果成功,則會造成巨大的破壞,並且幾乎可以保證有效的公共倡議來阻止它。在這種情況下,一旦回滾開始,使用者會互相建議使用“invalidateblock”調試命令讓他們的節點忽略它。[我也有多個使用者要求我在分叉之前審查可能會阻止它的更新檔,我告訴他們我認為他們反應過度,這是一個沒什麼漢堡。:)– 但是只有在分叉存在之前才需要更新檔,