原文:
The attacker prepares a secret subtangle containing
a transaction which spends all funds from his address to another address
also controlled by him. In the meanwhile, from the same address , he pays to a
merchant (transaction on Figure 1), transferring some amount to an address
controlled by the merchant. The attacker then waits until the merchant delivers
the goods, and after that broadcasts his secret subtangle, hoping that its weight is
enough to force the tip-selecting walks of the honest nodes typically end in one of the
attacker’s tips. This will make the attacker’s subtangle outgrow the legitimate one,
and therefore the double-spending transaction will be confirmed, while the legitimate
one will be dropped by the network.
簡單來說 , 攻擊者的node , 私下養一條寄生鏈 , 直到累積權重可以超過衝突交易
才廣播出去 , 讓正常的node選tip會選到攻擊者養的sub-tangle
這攻擊重要的特徵在於 , 寄生鏈開始的交易 , 與它所驗證的交易 , node收到的時間 , 有較大的時間差
原始random walk走一步的機率算法:
修改後的走一步機率算法:
代表 node 收到 的時間
是單調不遞增函數
前段說過 , 會有大的時間差 , 所以換成修改的機率算法 , 走到寄生鏈的機率會變低
而且不用去計算累積權重 , 比較有效率
IOTA