當初在看白皮書時有看到說TIP的選擇是不強制的
也就是看自己想選那個都行
我當初想,既然它是以M2M為目標,其特性應該是TPS很高
那為什麼不在TIP選擇這部分加上一個共識規則
這樣攻擊者就必須花更多資源來創造攻擊
以下只是我覺得可以這麼做,而不是IOTA的做法
方法是這樣:
根據你產生的TX(或說bundle),跟你選的TIP做hash
根據hash值我們可以得到一個"謀合度"
舉例來說,最簡單的就是把Hash % 1000
值愈低謀合度愈高,而謀合度太低的,權重就低
為什麼要這樣做?
因為這樣可以防止攻擊者不斷附加到自己惡意的TX上
讓它為了附加到自己的TX必須付出代價
方法是在自己轉帳資訊決定之後,本身必須做一次POW
TX ID必須包含POW,目的是不讓人隨易產生TX
如果是一般用戶,他做完本身的POW之後就去所有TIP中搜尋
一直把自己和別人的TIP ID做hash,找出最謀合的
因為只是做hash所以很快就可以找到謀合度最高
然後就幫那個TIP做認證
對一般用戶來講,只要是TIP內容是正確的,幫誰認證並不在乎
但如果是惡意用戶,他為了要一直幫自己的惡意TIP做認證
它必須要創造一個謀合度高的TX,而這個TX因為包含POW
也沒那麼容易創造,創造出來之後可能跟自己要認證的惡意TX謀合度太低
所以要花費相當於當時所有TIP數目倍數的POW,才有機會產生一個
跟自己惡意TX謀合度高的,然後附加上去
在這裡攻擊者之所以要比一般用戶付出更多是因為
攻擊者必須選到自己的TX,而一般用戶不用
當網路上的TIP數愈多,一般使用者能更輕易找到謀合度愈高的TIP
相對於惡意使用者就愈難產生謀合度能與一般用戶相比的TX
不知道這種概念有沒有搞頭??