前一段时间IOTA市值瞬间飙高,就开始对它有点关心。
板上有一篇从技术面分析它的风险的文,看了之后就感觉其实没有广告说的那么厉害,最
近看完它的白皮书之后更是这样觉得。
(http://www.8btc.com/risk-about-miota)
我大致搞懂Tangle是怎么解决双花的,总之就是对于产生双花的两笔交易,大家只认累积
权重较高的那一笔交易,并且新来的交易只会附加在那笔交易所属的sub-tangle(也就是
只会从那个sub-tangle挑选tips,某种程度很像比特币那样:大家只会把新的区块接在最
长链后面)。
下面这张图是我拿白皮书的图来改的(为了做简报),灰色的两笔交易产生双花,但大家
只会认上面的。
https://i.imgur.com/Byl6n2W.png
我觉得这样的确有解决双花,而且整个网络也有达成共识(大家会认同一笔)。但我跟同
学讨论的结论是,Tangle太容易被攻击了。为什么这样认为呢?因为整个Tangle的算力是
IoT devices制造交易时进行PoW贡献的,PoW的难度一定不会太高,不然普通人发个交易
就要等个半死,但攻击者就可以利用这一点,用超高算力的硬件神速生出一堆交易,附加
在双花的sub-tangle(以上图为例的话,就是下面的sub-tangle),就可以轻易超过原本
大家承认的sub-tangle(上图中,上面的sub-tangle)。
比特币不会有这种问题,因为挖矿有奖励,主链被超高算力保护得好好的。何况如果有人
神速出矿,大家会把难度调高,把出矿速度降回来并控制在十分钟一个矿,这也使算力高
的人很难轻易自干一条分支去超过主链(除非他用selfish mining)。但IOTA既没有激励
机制,也没有防止高算力的人神速发交易的办法,这就导致Tangle很容易被高算力的攻击
者制造双花的结论。就算IOTA变得十分普及,有很多很多IoT devices在送交易,众多蚂
蚁雄兵还是挡不住几头大象。
我们知道IOTA为了保护算力尚低的网络,目前是靠特殊地址的Coordinator发出Milestone
来承认交易(我们有把IOTA private testnet架起来玩玩),并没有走上面那一套去中心
化的验证方式。虽然官方号称算力够之后会拿掉Coordinator,但我是颇怀疑到底有没有这
一天。
如果我有理解错的地方,欢迎大家纠正我,谢谢。