当初在看白皮书时有看到说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
不知道这种概念有没有搞头??