前一段時間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,但我是頗懷疑到底有沒有這
一天。
如果我有理解錯的地方,歡迎大家糾正我,謝謝。