區塊鏈共識級別的攻擊

2021-08-30 21:50:54 字數 1898 閱讀 9750

double spending attacks

推翻已經確認的交易。

persistence

grinding attacks

惡意節點試圖影響 slot leader selection 的過程,加大自己被選中為 slot leader 的概率。

這種攻擊主要是由於隨機性**於鏈本身的原始資料,比如塊頭和交易,惡意節點可以嘗試多個可能成為 slot leader 的 block header。

transaction denial attacks

阻止一筆交易被確認。惡意節點監控某個特殊的賬戶,不讓它發交易。

liveness

desynchronization attacks

誠實節點無法與網路同步。

eclipse attacks

51% attacks

bribery attacks

short range attack

long-range attack + checkpoint = short range attack

long-range attacks

所謂長程攻擊,指的是惡意節點試圖從創世塊開始對鏈進行分叉,分叉鏈可能或包含於主鏈不同的交易和塊,因此也叫 alternative history 或者 history revision 攻擊。long range, alternative history, alternate history, history revision 在很多情況下是通用的概念。

長程攻擊之所以存在的主要原因是 weak subjectivity。

weak subjectivity

這個問題主要會影響剛剛加入到網路的新節點和長時間離線後重新加入的節點。

當乙個新節點剛剛加入網路時,創世塊肯定是有的,也是毫無爭議的。但是除了創世塊,節點還會看到目前有好幾條鏈 – 主鏈與分叉鏈,即使並非惡意分叉,pow 在末端自身也極易分叉。然後,節點並不能從這些鏈中判斷出哪個是主鏈。

長時間離線後重新加入的節點也是如此。pos 也是最長鏈原則,擁有最多塊數的叉將成為主鏈。在 pow 中,要投入大量算力才能獲取出塊權,對於 pow 來說,最長鏈十分有效。

在 pow 中,除非遭受 51% 攻擊,否則不可能從創世塊開始分叉。要偽造跟主鏈同樣長度的分叉,需要投入大量的算力。因此,最長鏈原則已經可以解決 weak subjectivity 問題。

costless simulation

對於 pos 來說,最長鏈就不夠用了,因為這裡又出現了乙個叫 costless simulation 的問題。pos 的驗證人不需要像礦工一樣必須要進行大量計算,驗證人只需要從交易池中取出交易,打包入塊,最後廣播出去。因此偽造跟主鏈一樣長的鏈,毫無成本可言。

weak subjectivity 加上 costless simulation 導致最長鏈原則對 pos 不再適用,長程攻擊由此產生。

long range attacks

******

posterior corruption ==> key evolving signature scheme

stake bleeding

stake-bleeding attacks on proof-of-stake blockchains

nothing at stake attacks

當發生分叉時,驗證人的最優策略是承認每一條分叉,並在所有分叉上繼續挖。這樣無論哪一條叉最終勝出,驗證人都能獲得獎勵。

past majority attacks

nothing at stake 的一種特殊情況。

selfish-mining

自私挖礦,惡意挖到塊以後,並不廣播出去,而是偷偷藏在手裡,然後繼續挖。當監聽到有節點挖出同樣高度的塊時,迅速將手裡的塊廣播出去,如果惡意節點的網路更好, 那麼惡意節點手中同高度的塊就會被接受,如此一來,惡意節點就會更有優勢挖到下面的塊。

區塊鏈共識機制

1 工作量證明共識機制pow proof of work 工作量證明是指使用者使用計算機算力耗電的成本,人稱挖礦,率先算出區塊唯一雜湊的礦工會得到這個區塊的獎勵,然後礦工們爭著計算出區塊的雜湊特定唯一值 這一數學問題答案 代表 位元幣 2 權益證明共識機制pos proof of stake 權益證...

區塊鏈Aelf共識

總結這aelf主鏈採用dpos共識,而為了區別於其他dpos共識機制,命名為aedpos共識機制 aedpos該共識相較於pow和pos機制,少了雜湊碰撞的環節,多了幾個其他環節 選舉,持幣人需要能夠對自己信賴的節點進行投票 生產節點的排程,即這些被選舉出來的生產節點按如何的次序進行出塊,以及這種次...

區塊鏈的共識問題

四位將軍商討攻打拜占庭的時機,他們中任意三人達成一致,就可以獲勝。由於他們相互缺乏信任,不能共處一室,只能通過書信向其他將軍發表看法,比如,在第一輪通訊中,可能出現4位將軍都不一樣的情況。那麼,要如何協調,讓大家的攻打時機一致呢?在這樣的情況下,如果是40人,或者更多人,如何協調呢?問題的本質是如何...