基于對其它加密數字貨幣項目的觀察,近期的爭議說明了51%攻擊是有可能發生的,至少它會廣泛地引發市場上的未知與恐懼。
什么是51%挖礦攻擊?
在某個礦工的哈希算力超過其他所有礦工的哈希算力的總和時,51%挖礦攻擊就有可能發生。在這種情況下,這位占據主導地位的礦工可以支配和否決其他礦工開挖的區塊——他只要忽略其他礦工開挖的區塊,并且只在自己的區塊上開挖新的區塊就可以了。
礦工可以公開地完成上述操作,不過,由此造成的異乎尋常的高孤塊率會引發關注。礦工還可以私下完成操作,在這種情況下,礦工不必逐一公告自己開挖的區塊,而是在某一時間段(例如幾個小時或幾天后)再悄悄地公布。如果礦工私下完成操作,那么網絡會首先認定一切正常,并在之后突然完成深度的重組。
遵照上述流程,礦工可以通過多種方式攻擊網絡。他可以在公共區塊鏈上公布交易資訊的同時秘密地開挖新的區塊,并將挖礦所得中飽私囊(在共識規則的框架下,這是有效和成立的)。或者,他可以只開挖秘密區塊鏈上的空區塊,并且同時恢復公共區塊鏈上的已確認的交易。這些交易很有可能會在稍后(即誠信的礦工開挖新區塊的時候)再次得到確認。不過,我們目前還無法真正確保這些區塊的再次確認。此外,大家都應當意識到這樣一個可能性——即使這些區塊得到重新確認,上述攻擊仍有可能再次發生,因為居心不良的礦工可能已經準備好在下一個秘密的區塊鏈上作案了。
上述例子只是進行51%挖礦攻擊的幾個途徑。51%攻擊還有可能通過更多的方式來發動襲擊并造成實質性的傷害。
發生51%挖礦攻擊的可能性有多大?
只要工作量證明的基本設定成立,那么51%挖礦攻擊就有可能發生。我們常見的一項假設是,誠信經營比惡意攻擊更加有利可圖。而另一項假設則是,大多數哈希算力是由遵循第一項假設的理性的參與者提供的。即使網絡由于某些原因出現了惡意攻擊,理性的礦工仍然可以憑借占據相對優勢的哈希算力總和壓制居心不良的參與者。
然而,在某些情況下,上述假設可能會不成立。舉個例子,如果ASIC硬件的進步沒有公開,那么某些個體就有可能壟斷技術進步,并通過惡意行為牟利或者至少將損失降低到可以接受的水平。
此外,諸如比特幣現金等幣種的哈希算力不足以維持具體某種哈希算法,因此它們往往承擔著被掌握一定哈希算力的實體機構所攻擊的風險。舉個例子,比特幣現金和比特幣都使用SHA256D,但比特幣現金的算力僅相當于比特幣的10%。
上述情況導致人們對工作量證明產生了一定程度的不信任和不確定,這一點在比特幣現金社區內部爆發的哈希算力之爭中表現得尤為明顯。在這次紛爭當中,多個團體聯合起來在比特幣現金網絡之外創建了新的分叉,因此對原有網絡構成了51%挖礦攻擊的威脅。
雖然此類攻擊迄今為止還沒有成功地襲擊各大加密數字貨幣,但市場已經對此作出了消極的反應,并進而導致市場低迷和多家交易平臺終止貨幣交易。考慮到加密數字貨幣的長期目標是實現廣泛應用,發生51%攻擊的可能性也是不可接受的。
達世幣如何應對上述難題?
迄今為止,達世幣和其它基于工作量證明的幣種一樣脆弱,因此,很多社區成員已經紛紛向團隊咨詢要怎樣解決上述難題。之前就曾經出現一個題為《抵押挖礦》的提案,致力于在一定程度上防范51%挖礦攻擊。不過,由于這個方案要求對挖礦的經濟原理進行大規模的改動,因此它的執行本來就很成問題。
長效主節點仲裁鏈也稱LLMQs,它的推出使達世幣能夠運行防范51%挖礦攻擊的新保護機制——ChainLocks。這項機制最早出現在達世幣優化提案8中(即DIP8)。這個提案已經執行好幾個月了,我們在此決定予以公布,并借此解答社區成員有關如何應對51%挖礦攻擊的提問。它不僅能解答疑難,還意味著《抵押挖礦》提案已經過時了。
基于長效主節點仲裁鏈的ChainLocks
ChainLocks的創想是對“先被發現的”規則進行全網絡范圍內的評估和投票。在各個區塊上,長效主節點仲裁鏈將在數百個主節點中被挑選而出,而每個以參與者都會對參與活躍區塊鏈的拓展的第一個區塊進行簽名確認。如果足夠數量的參與者(以60%或以上為例)將同一個區塊簽名確認為第一個區塊,那么他們就可以創建一條P2P信息(下文簡稱CLSIG)并將它公布到網絡的所有節點上。這一過程還涉及諸多細節,尤其是在多個礦工同時發現一個區塊的情況下。達世幣優化提案8對相關細節進行了描述。
只有在足夠數量的仲裁鏈成員同意的前提下,CLSIG信息才得以創建。這是因為長效主節點仲裁鏈使用的是BLS M-of-N門限簽名機制,因此CLSIG需要取得一定數量的有效簽名。門限簽名和常規的BLS簽名相似,可以由所有節點驗證且無需知會簽名者的身份。BLS M-of-N門限簽名機制只要求用到長效主節點仲裁鏈的公鑰,這個公鑰可以在區塊鏈數據中檢索取得。基于長效主節點仲裁鏈簽名的申請和會話原理,有效的CLSIG信息要么只有一個,要么無法創建。因此,長效主節點仲裁鏈可以消除因沖突而產生的不確定性。
有效的CLSIG信息的出現說明長效主節點仲裁鏈的多數成員(例如成員總數的60%)已經將某一個具體的區塊確認為第一個區塊。由于長效主節點仲裁鏈是在達世幣主節點中(當前共有4900多個)隨機抽取的,因此,發現第一個區塊的眾多節點也是隨機分布在整個達世幣網絡上的,從統計學的角度看,這些節點在長效主節點仲裁鏈上的分布也是隨機的。換句話說,如果有60%的長效主節點仲裁鏈成員首先發現了第一個區塊,那么,整個達世幣網絡上的60%的成員也會首先發現這第一個區塊。
如果節點收到了有效的CLSIG消息,它應當駁回與消息中指定的區塊相沖突的所有區塊及其以它們為基礎創建的所有區塊。這不僅使針對活躍區塊鏈的決策變得快速、簡單而明確,還消除了在這個區塊下進行重組的可能性。
ChainLocks對網絡的影響
ChainLocks將對整個網絡和經濟原理產生重大的影響。對于普通用戶和商家而言,它帶來的最大的影響就是,當ChainLocks鎖定的區塊完成初次鏈上確認后,相關交易就被視作完全確認了。由于無法重組已簽名或已鎖定的區塊,因此,交易不會從區塊鏈上消失。這就意味著,用戶和商家不必等待至少六重確認才能確認交易已經安全地完成。
同時,ChainLocks也會對挖礦活動產生影響。它消除了礦工在區塊鏈上進行重組的所有激勵。以秘密或私自挖礦為前提的許多攻擊將變得不可行,因為這些活動都依賴于礦工長時間隱瞞秘密的區塊鏈。依據當前的共識規則,秘密的區塊鏈可以覆蓋公共的區塊鏈,并在公布時觸發區塊鏈的重組。然而,在ChainLocks的激勵下,哪怕礦工們理論上有足夠的算力駁回其他礦工的區塊,他們也會立即公布新挖區塊。這是因為公布區塊時的失敗會給心懷惡意的礦工帶來了巨大的風險——如果另一位誠信的礦工在他之前就公布了接收到CLSIG消息的有效區塊,那么他所公布的任何秘密的區塊鏈及其以此為基礎的多達數千個的區塊都會立即失效。
最長鏈規則會受到怎樣的影響?
在以工作量證明為基礎的共識機制中,最長鏈規則是最重要的一個方面。它認為,每個節點都應當將累計工作量最多的區塊鏈視作最活躍的鏈,但前提是這個區塊鏈必須遵守所有的共識規則。它存在的理由是就拓展哪條區塊鏈達成共識。節點需要基于有限的信息達成共識,并且唯一可靠的信息就是從區塊鏈源頭取得的。僅參考從區塊源頭累積的工作確保了每個節點都可以斷開連接并重新連接,并且還可以隨時達成共識。
在引入ChainLocks之后,最長鏈規則仍然有效,但它將服從CLSIG消息的約束。實際上,只有長效主節點仲裁鏈的成員才能完全遵守最長鏈規則,因為他們可以聯合創建CLSIG消息。由于只有在足夠數量的仲裁鏈成員同意的前提下,CLSIG信息才得以創建,因此它的出現就可以證明對應的區塊曾是或者仍是最長鏈上的區塊。
這樣的機制需要礦工對CLSIG消息和主節點網絡傾注信任,但我們認為這是可以接受的。這一機制以主節點網絡的大部分成員都是誠信可靠的為前提,正如工作量證明系統以大部分礦工都是誠信可靠的為前提。
ChainLocks的與眾不同之處在于,只有各個網絡層級中的礦工和主節點中的51%聯合起來才能發動攻擊。即使攻擊成功,攻擊者仍然無法進行深度重組,因為攻擊者無法令之前的CLSIG消息失效。在最糟糕的情況下,攻擊者還可能發布不具備簽名確認的區塊,并且被所有節點注意到。此外,如果具備多數誠信主節點的長效主節點仲裁鏈早在攻擊發生之時簽名確認了一個區塊,那么之前所有未經簽名的區塊都將會被完全確認,從而打消了重組的可能性。
至于其它的共識規則?
其它共識規則不會受到ChainLocks的影響。在一個區塊獲得認可之前,它必須通過所有節點的驗證,其中包括雙花支付驗證、簽名驗證和工作量證明(哈希《難度目標)。
有效的CLSIG消息不能強制礦工接受其他無效的區塊。
其它幣種為什么沒有ChainLocks?
確保ChainLocks的安全的主要先決條件之一就是由半托管狀態下的節點構成的可防范Sybil攻擊的網絡。不具備這類節點的加密數字貨幣將無法以安全的方式實現ChainLocks的功能。以比特幣為例,任何依托單個節點的投票而進行的活動都有可能因為攻擊者可以輕松地創建數千個不良節點而受到干擾。在這種情況下,唯一的可行方案就是在人為選取的節點中創建信任機制,但這需要大規模的集中化管理。
對于達世幣來說,它可以通過要求主節點持有人存入1000達世幣作為保證金來防范Sybil攻擊。具體來說,由于主節點持有人必須存入這筆保證金,因此持有足夠數量的主節點就意味著攻擊者需要投入大量的資金,這樣一來,發動Sybil攻擊將會變得風險巨大且弊大于利。以長效主節點仲裁鏈為前提和當前的參數為依據,攻擊者需要購置主節點總數的60%才有可能成功地發動攻擊。
在我看來,上述特點正是達世幣主節點網絡最被低估的屬性之一。防范Sybil攻擊的實用功能正是ChainLocks和其它基于仲裁鏈的決策得以存在的主要先決條件。
未來,這一獨特而強大的網絡基礎設施將幫助達世幣在長效主節點仲裁鏈的基礎上穩妥地引入各項新功能,從而將達世幣打造成更安全、便捷且用戶友好的加密數字貨幣。
評論
查看更多