一些護航的人說什麼
IOTA不只是靠算力在維持Tangle的安全性
還要考慮network topology
在我的認知裡
Reaching consensus跟network topology根本一點毛關係都沒有
但是既然有人硬是打臉說
IOTA的network topology特性跟區塊鏈不一樣
不能用區塊鏈的p2p網路來類比
我就想說好吧
如果真的是什麼神技
就讓我開開眼界 再次感受自己的無知
讚嘆IOTA的發明者 甚至加入信眾都沒問題
於是我拼命查資料
不過找到容易看的資料也就這兩篇而已
https://medium.com/@mistywind/iota-fud-answered-by-a-non-techie-enthusiast-2312325fddb6
https://www.tangleblog.com/2017/07/10/is-double-spending-possible-with-iota
但這兩篇講到network topology的部份根本就一樣(因為下面這篇是引用上面這篇)
至於內容 前一篇回文我就表明 他裡面寫的network topology部份我一點也不明白
剩下的什麼Vitalik跟其他人的一來一往論戰
之前也看過了
基本上我完全看不出來對方有說服Vitalik(我預設懂技術的人都同意Vitalik的質疑)
而且這種對話式的爭論本來就只能參考而已
重點還是官方到底有沒有發表相關的解釋
但看起來白皮書和官方文件根本沒有任何對network topology的說明
如果這真的是這麼關鍵的因素 官方還不解釋 光這點就非常有問題了
有人說FB的IOTA愛好者社團裡有人可以為我解惑
於是我就去看了一下
https://www.facebook.com/groups/897485720426082/permalink/925613547613299/?comment_id=925748814266439
(更新:
https://www.facebook.com/groups/897485720426082/permalink/924382151069772/
https://www.facebook.com/groups/897485720426082/permalink/925099407664713/
補上我看到的另外兩篇討論)
我不知道怎麼把嘈點串成完整的故事反駁你
只能很沒組織地一點一點吐嘈
你說攻擊者節點不能看到網路中其他節點
這一點誠實節點根本一模一樣啊
誠實節點怎麼找人進行連線 攻擊節點就照做不會哦
你說白皮書裡有寫節點可以ban掉misbehaving的鄰居
我現在說的這種強大算力的攻擊者 根本看不出一點misbehaving好嗎
你試圖用任何指標去分辨攻擊者節點跟誠實節點(e.g. 如何進行連線 發出的交易內容)
結果一定是
要馬攻擊者節點可以裝得跟誠實節點一樣 仍能繼續攻擊
要馬全網失去共識
你儘管給出一種分辨方法 我一定馬上分析結果給你看並反駁你的方法
不要再說什麼去看白皮書 去看什麼什麼
你自己沒辦法說清楚嗎
你說攻擊者接上交易的速度趕不上誠實大眾接上交易的速度
啊我現在就是假設攻擊者算力可以單挑所有誠實大眾齊心協力的算力啊
發交易速度根本遙遙領先
我說的攻擊者要自備一台full node
裡面的Tangle是他可以早早準備好的
他的Tangle只要滿足以下條件
1. 帶有一個交易B 這個交易跟誠實節點承認的一個交易A 有雙花的關係
2. B後面串一堆交易 使得累積權重遙遙領先A的
然後將他的full node連接到一個誠實節點
兩個節點一連線 就會開始互通有無
這時候full node把所有這個誠實節點所不知道的交易(就是B跟後面一長串交易)
統統灌輸過去
誠實節點收下這些交易 並且接上Tangle的速度 完全就是頻寬能提供的傳輸速度
你跟我說這傳輸速度比不過誠實大眾在A後面接上交易的速度?絕對遙遙領先啊
互通有無完畢之後 誠實節點會立馬發現A跟B有衝突 而且B的累積權重更大
於是馬上由承認A 改為承認B
攻擊者的目的就達成了
(不要在這裡跟我戰說A已經被誠實節點confirmed所以不會被撤銷
我之前就解釋過這種沒有轉圜餘地的confirm最終會使全網失去共識了
所以不可能有A不會被撤銷這種事)
你說只攻擊到邊緣人誠實節點沒用 要攻擊受歡迎的誠實節點 對網路的損害才大
啊可是你的邊緣人節點一被攻擊成功之後 就算讓他跟其他尚未被攻擊的誠實節點接觸
因為攻擊者造的Tangle 只要跟誠實的Tangle一互通有無之後 大家一定認B不認A
所以邊緣人還是無法察覺自己是受害者 反而是誠實節點會被受害者同化
也就是說攻擊者造的Tangle只會越傳越廣 沒有被拒絕而消失的一天
你要是想說那大家就來躲攻擊者的連線的話
我還是要強調 根本無法區分攻擊者節點和誠實節點
而且人家區塊鏈是每個節點大方地互通有無
收到資料後親自驗證資料是否符合規定
符合就收下 不符合就丟棄
每個節點完全以自身為信仰 而達成很強的共識
沒在怕收到的資料是被攻擊者捏造的
因此照理說節點都要勇於互相連接
沒見過還要躲攻擊者連線的分散式帳本欸
不管是區塊鏈還是Tangle 網路傳輸方面都只是在廣播資料而已
比特幣靠自定義的節點間訊息機制廣播區塊和交易 Tangle廣播的只有交易
你倒是說說看 他們本質上區別在哪?
而且我覺得目前iri根本就只是懶得實作p2p網路
才叫跑full node的人手動輸入鄰居們的IP:Port吧
根本麻煩的要死
你跟我說這種作法就可以擋下算力攻擊
那比特幣和以太坊這種自己實作p2p網路自動找鄰居連線的
不就是自討苦吃的大笨蛋?
以上
我完全沒領悟到network topology對consensus有什麼貢獻
白白消費我的期待和時間去調查
總覺得被玩弄了
非常不開心
雖然很麻煩 但讓錯誤的事實繼續混淆眾人視聽 實在讓人看不下去
只好特此發一大篇
老實說根本不需要舉這麼多case來說明
根本一句network topology跟consensus一點關係也沒有就可以打發掉了
只是就有人在那邊造謠各種奇怪的論點 我只好一一step by step分析並反駁
作為發洩 我一定要任性地抱怨一句
「靠神奇的網路拓樸就能擋下算力攻擊 這麼低級的論點 你也敢拿來戰?」
當然
如果有人可以重新打臉我 把我打到腫個不行
我真的非常期待
但如果還是一樣打沒有討論焦點的迷糊仗
我大概就不花力氣討論了
認定目前技術上尚未有解
我覺得如果是對區塊鏈底層技術有深入研究的人
應該可以馬上抓到我心中的誤區 並馬上針對我的說法給予我致命一擊才對
而不是一直討論失焦
我相信真正的神技應該不會那麼難以接受才對