本文中,我們簡要地討論關于PoS協議里,大家公認最大的一朵烏云——長程攻擊;內容還涵蓋了兩種目前現行的或預想的解決辦法:弱主觀性和前向安全密鑰。最后,我們提出了一種新的分叉選擇規則,使得長程攻擊成本更加高昂;這種分叉選擇可以結合現有的幾種方案,作為預防長程攻擊的額外舉措。本文是區塊鏈協議及相關主題的系列文章之一,我們持續致力于高質量的區塊鏈技術內容創作;欲了解更多當前技術現狀的全面概況,請參閱我們關于Layer2方法、隨機性、分片論文等相關文章。
長程攻擊
在PoW中,使用最長鏈選擇規則可以獲得令人非常滿意的屬性:除非惡意攻擊者控制了全網超過50%的算力,不然無法逆轉已確認一段時間的區塊。
但是在PoS中沒有這種特性。尤其是當區塊生產者建完塊且拿回質押的代幣后,對他們來說,用于創建區塊的密鑰再也沒有價值了;這時候攻擊者可以嘗試以遠低于創建區塊時質押的代幣金額去購買這些密鑰。與PoW不同,因為PoS沒有出塊之間強制延時的機制,所以買到密鑰后,攻擊者能夠在數分鐘內造出一條長于主鏈的偽鏈,并被分叉選擇規則所接受。
歐科云鏈集團正式啟動區塊鏈科普行動“星途計劃”:歐科云鏈集團于4月26日,正式宣布啟動了區塊鏈科普行動——“星途計劃”,行動包括將在全國范圍展開系列沙龍,加大力度推進區塊鏈科普進機關、進國企、進校園等,聯合政府部門、行業協會等共同構建起更加完善和有效的區塊鏈科普教育生態,與此同時,直擊區塊鏈科普現存痛點,推出簡單易懂的“秒懂區塊鏈”公益短視頻課。
該計劃旨在全維度推動社會建立對產業更清晰的認知,與“鯤鵬計劃”一道助力數字經濟及區塊鏈產業本身健康發展夯實“人才”和“產業認知”兩大基礎。[2021/4/26 20:59:37]
有兩種方法能夠避免上述問題:
弱主觀性
要求全網節點周期性地檢查最新的區塊,并拒收那些“重組了過分久遠的記錄”的區塊。只要足夠頻繁地檢查區塊,使得在釋放質押代幣的時間段中,肯定包含一次以上的檢查,那么節點就永遠不會選擇攻擊者創建的最長鏈,因為敵手從取出保證金的驗證者處購買的私鑰,必定只能從“過于久遠”處開始創建區塊。
人大附中物理老師李永樂科普拜占庭將軍問題和區塊鏈:5月14日,人大附中物理老師、科普視頻網紅李永樂在其公眾號發布視頻《拜占庭將軍問題是什么?區塊鏈如何防范惡意節點?》。李永樂老師在視頻中對拜占庭將軍問題和區塊鏈進行了講解,他表示,拜占庭將軍問題本質上指的是,在分布式計算機網絡中,如果存在故障和惡意節點,是否能夠保持正常節點的網絡一致性問題。在近40年的時間里,人們提出了許多方案解決這一問題,稱為拜占庭容錯法。例如蘭波特自己提出了口頭協議、書面協議法,后來有人提出了實用拜占庭容錯PBFT算法,在2008年,中本聰發明比特幣后,人們又設想了通過區塊鏈的方法解決這一問題。區塊鏈通過算力證明來保持賬本的一致性,也就是必須計算數學題,才能得到記賬的權力,其他人對這個記賬結果進行驗證,如果是對的,就認可你的結果。與拜占庭問題比起來,就增加了叛徒的成本。[2020/5/14]
弱主觀性方法的不足之處在于,雖然已經存在于網絡中的節點不會被攻擊者欺騙,但是對于首次加入網絡的節點來說,他們沒有足夠的信息來判斷哪條鏈是先被創建的,因此新節點會傾向選擇攻擊者創建的較長鏈。為了避免這種情況,新節點需要以某種方式在鏈下了解關于主鏈的知識,這在本質上就是要求他們選擇信任網絡中的某個主體。前向安全密鑰
動態 | 區塊鏈技術入選科普雜志《科學美國人》2019十大突破性技術榜單:據新浪網今日新聞報道,美國科普雜志《科學美國人》公布 2019 十大突破性技術榜單。區塊鏈技術因在保障食品安全中的作用而上榜。 入選榜單具體原因:區塊鏈技術的發展應用將顯著改善食品污染源數據追蹤的困境。利用區塊鏈云端系統,食品制造商可以依次在計算機儲存各類過程的信息。[2019/9/29]
還有一種方法是要求區塊創建者在出塊后,在極短的時間內或立刻銷毀他們用來建塊的密鑰;可以在每次建塊時創建新的密鑰對,或是通過前向安全密鑰結構來完成。這個方法仰賴于節點是誠實的,并且嚴格遵守協議。因為一旦區塊創建者知道未來的某個時間點,可能會有人要買他們的密鑰,則密鑰價值不為零,區塊創建者就沒有動機去銷毀密鑰。且不說要求在某個特定時間點,會有大比例的區塊創建者愿意修改他們的文件且移除私鑰并不現實;這種仰賴大多數參與者誠實配合的協議,與仰賴大多數參與者是理性的協議,兩者間所帶來的安全保障并不不同。PoW就是建立在大多數參與者是理性的且不會進行勾結的前提之上的,其分叉選擇規則和抗女巫攻擊也都依賴這個假設。
動態 | 幣安科普MimbleWimble算法:幣安官方推特今日發布隱私算法Mimblewimble的科普貼,在下方留言區大量網友留言猜測是否是基于 Mimblewimble算法的隱私幣Grin或者Beam即將登陸幣安交易所,其中猜測Grin的呼聲更高。[2019/9/2]
我們提議的分叉選擇規則
參考下圖:區塊B在主鏈上足夠前段的位置,所以產生B時大多數的在位驗證者都已經把保證金取出來了。
攻擊者能夠接觸這些區塊生產者,并取得其中~2/3的私鑰;因為這時候密鑰對于區塊產生者來說已經沒有價值,所以攻擊者能以遠低于實際建塊質押的金額來買到這些密鑰。
因為PoS系統沒有所謂稀缺資源,攻擊者能夠在非常短的時間內創建一條長于主鏈的偽鏈。
我們需要一種分叉選擇規則,使得用戶不會將攻擊者創建的鏈視作主鏈——不論攻擊者構建出多長的偽鏈,以及有多少惡意驗證者為其簽名背書。
本文建議的分叉選擇規則步驟是:從創世區塊開始,針對每個區塊通過以下規則選擇其子塊作為下一個合法區塊:
當前區塊被主鏈采用后,對狀態進行快照。
列出當前時刻,持有代幣的所有賬戶,并做成對照表。
對于每個候選子塊,根據對照表,找出子塊及其各自子樹中簽署過至少一筆交易的公鑰,并驗證之。
算出每個候選子塊及其各自子樹中,簽署過至少一筆交易的公鑰所轉移的代幣總量;選擇轉移代幣總量最多的子塊作為合法的下一個區塊。
從圖中的例子來說,當前區塊是B,候選子塊是C1和C2;C1的子樹是所有合規主鏈上的區塊,而C2的子樹是攻擊者創建的。
從B塊狀態快照開始,計算簽署過至少一筆交易的公鑰所轉移的代幣總量,作為主鏈的得分;攻擊者創建的鏈得分計算方式相同,但是因為存在重放保護,所有C2及其子樹中的交易都是由攻擊者創建的。
從B塊狀態快照開始,假設在主鏈上,計算簽署過一次及以上交易的公鑰所轉移代幣總量為p;而攻擊者創建的鏈上,只存在攻擊者買到的密鑰所創建的交易,這些公鑰所轉移代幣總量為q,則q&p永遠成立。
如果攻擊者創建的鏈希望獲得更高的分數,則從B塊狀態快照開始計算,C2及其子樹中的交易總額必須大于p,所以攻擊者還需要取得賬戶中總額大于(p-q)的密鑰。但攻擊者這時候就頭疼了,因為這些密鑰持有人還沒有在主鏈進行任何交易,所以他們的賬戶在快照狀態時還有資金,所以攻擊者無法用低于快照狀態中的金額來取得這些密鑰。
因此,即使攻擊者以低價取得了截至B塊為止,8成的“至少在主鏈發起過一筆交易的賬戶”,攻擊者仍至少要付出0.2p的作惡成本。
請注意,要讓主鏈具備抗分叉性,需要積累大量有效交易后這種分叉選擇規則才有效,所以該選擇規則僅適用于面臨長程攻擊的分叉選擇。該分叉選擇規則可以結合經典解決方案,先用拜占庭容錯型確定性工具所敲定的區塊形成一個區塊鏈的子集,并在這個子鏈上執行上述分叉選擇規則;然后基于上述規則選出的最終區塊,再使用其他更合適的分叉選擇規則。
結語
上述分叉選擇規則為預防長程攻擊提供了額外舉措;雖然這種規則具有一些有趣的特性,但是在投入實際應用前,還有許多研究要做。舉例來說,目前還不清楚該規則是否能夠提供經濟確定性;一切都需要更多長遠的分析。
目前,我們正在積極研究防御長程攻擊的方法,并即將發布更多資料,敬請期待。
Tags:區塊鏈MBLPOSMIM區塊鏈運用的技術中不包括哪一項Ac/sGamblicaComposable FinanceMIMA
尊敬的FUBT用戶: 因AGS合約即將升級,FUBT平臺將于2019年10月1日00:00暫時關閉AGS交易和充提服務.
1900/1/1 0:00:00EOS看漲期權 代碼月EOS看漲1104期權標的EOS合約類型歐式看漲期權計價單位USDT最小價格單位0.0001USDT合約比例1:1.
1900/1/1 0:00:00尊敬的用戶: CEO全球站舉辦的DSC/達世現金上線活動已經結束。活動一:“雙C持倉福利,狂送價值約5萬QC的DSC”按照活動規則在2019年9月27日15:00持有15000枚COO、2000.
1900/1/1 0:00:00親愛的KuCoin用戶 由于TRTL項目節點維護,KuCoin現已暫停TRTL的充值和提現服務。給您帶來的不便敬請諒解。相關進展另行公告.
1900/1/1 0:00:00親愛的用戶: 為慶祝Binance開通OTC功能,幣安寶將設置定期理財產品OTC特別場,凡在香港時間2019年10月10日23:59:59前在OTC上有訂單成交記錄的用戶,可以申購本期幣安寶.
1900/1/1 0:00:00親愛的KuCoin用戶 KuCoin宣布已完成QKC主網版本升級工作,現已開放QKC的充值和提現服務.
1900/1/1 0:00:00