直觀的想 , 權重越高的交易 , 要超過這交易的難度越大 , 篡改成功的機率越低
所以白皮書是以指數分佈去分析
分析以實做來講 , 不用理解也沒差
這邊一定是考慮確認的衝突交易
白皮書內容:
這有提到一個重點:
另外 , 這邊假設選交易的算法 , 是均勻分佈隨機在tips內選
個人以為 , 白皮書少講一個假設
惡意node製造的權重增加是比正常node少
由於每個node都是看衝突交易內最大權重的
所以攻擊者要成功 , 就是讓每個node衝突交易內最大的交易跟之前不一樣
就是原本node內 , 最大是 , 過了一段時間後 , 變成
以一個例子說明
這邊就跟一般的消費一樣
這邊少講了許多東西 , 因為是衝突的交易
而且還是第二大權重的 , 權重會很難過確認的門檻
但是 , 白皮書所提的MCMC tip選取算法
是有弱點的
所以 , 是要利用node沒有發現到衝突交易的時間 , 讓第二大權重的交易超過第一大的
攻擊者同時發送大量較小的交易(非常多,使用它所有的計算能力),這些交易不直接或者間接驗證原始的付款交易,而是去驗證那筆雙重支付的交易;
可以看到攻擊者也許就擁有大量的女巫攻擊 身份,並且不對 tips 進行驗證;
在第 3 步中,也可以採用另外的一種方案,攻擊者使用所有它的計算能力去發送一筆「大」的雙重支付交易(具有非常大的自身權重),並驗證在原始付款交易之前的交易;
這邊攻擊的手段 , 是要讓正常node發現自己做錯了
(注意之前的假設 , 第二筆衝突交易的確認度不夠 , 所以需要去騙正常 發的 來增加確認度)
這樣就可以讓攻擊者的交易確認度超過過門檻 , 進而拿到商品
到第四步 , 原本一開始的買賣 , 賣家的交易已經無效(因為確認度低於門檻)
所以賣家賠錢了
流程:
這邊大權重的意思是:
就算是最後一個node收到 , 也是比node原本DAG內衝突那筆交易累積權重還大
一樣也是偷天換日型的換掉node最大權重的交易
這一步就是要讓正常node發現確認度增加到錯誤的交易 , 進而改成增加大權重攻擊交易的確認度
需要這步是因為攻擊者的node數少 , 製造交易的數量無法比正常node還多
解法:
node接收交易時 , 拒絕很大權重的交易
解法只是讓攻擊難成功
跟大權重攻擊一樣的想法 , 就是寄生鏈攻擊
流程:
這條攻擊者養的鏈 , 在正常node的DAG上 , 會是不完整的
這邊自然是第一筆衝突交易確認後 , 拿到賣家商品後開始的攻擊
發許多tip的目的跟大權重攻擊一樣 , 讓正常node發現自己不應該增加第一筆衝突交易的權重
最終攻擊成功的結果
解法:
類似MCMC的算法
這邊MCMC需要從 走足夠遠的距離 , 才能避免選到攻擊者發的
這直接跟網路拓樸有關
攻擊者管的是 : 讓某些交易可以透過惡意node廣播出去 , 某些交易不能
能不能被惡意node廣播的差別在於 : 該交易增加的衝突交易權重 , 是增加那一筆的
開始發衝突交易後 , 就要進行1所提到的交易管制了
解法:
類似MCMC算法 , 選衝突內能增加最大權重交易的
IOTA