作者zxcmnb (我的證照來自ㄊ大電腦)
看板DigiCurrency
標題Re: [閒聊] IOTA真的能實現足夠的算力嗎
時間Tue Jan 23 16:14:52 2018
※ 引述《kugwa (苦瓜)》之銘言:
: 交易confirmed之後就再也不會被撤銷了
: 這與Blockchain的「最長鏈的交易才被帳本採用 新區塊一接上最長鏈就立即更新帳本」
: 有著截然不同的性質
: 來看看Tangle如何防止雙花
: 其實有了上述概念之後應該不難理解
: 用互斥交易A跟B的例子來說明
: 假設大家走A的sub-tangle
: 當A的累積權重到達一定量被視為confirmed 才會被帳本採計
: 這時候再拿B後面跟一大串交易接到Tangle上是沒有意義的
: 因為B跟A互斥 而A已經confirmed 所以B不可能被帳本採計
假設攻擊者私底下同時產生A和B 且分別被confirm以後
再把兩串tangle同時廣播到網路上
這時候網路就會分裂了
假設A和B分別是送大筆金額到某兩個交易所
其中一個交易所就會遭受嚴重的損失
只要攻擊者有超越全網的算力 是沒有任何有效的防衛的
blockchain或是tangle能夠成立的先決條件都是攻擊者的算力不能過大
要怎樣激勵讓IOTA的全網算力足夠大才是真正的問題
(這似乎也是你一開始的問題?)
: 比較一下區塊鏈雙花的情形
: 帳本採計最長鏈裡的所有交易
: 假設目前最長鏈裡有A交易
: 現在有一條短鏈 裡面有B交易
: 短鏈藉由超高算力變成新的最長鏈
: 這時A就被從帳本裡撤銷了 而B進入帳本
: 所以其實區塊鏈裡的交易 並不像Tangle裡的交易一樣會confirmed
: 因為只要有足夠的算力 是可以撤銷任何交易的
: 只是要達到這個足夠的算力超難而已
: 事實上
: 我能往新的方向思考
: 是因為grapherd大大發了這篇文(#1QOqgSY5)
: 他再次強調
: 1. 一筆交易被認同並導致帳本狀態轉變後 這筆交易就不會再被撤銷了
: 2. 正常節點的數量很重要
: 這兩點顯然完全與區塊鏈不符
: 第二點似乎跟網路拓樸有關暫時不管
: 光第一點就非常讓我想不通了
: 因為區塊鏈不可能有不會被撤銷的交易
: 因此我試著接受第一點
: 並且試著尋找新的出路
: 就看到一線曙光
: 最後連為何要扯到網路拓樸也明朗了
: 先前我之所以一直不相信Tangle會採用confirm交易的做法
: 是因為我認為confirm交易會導致非常難以收拾的後果
: 亦即全網帳本將不再一致 如同這篇我想表達的(#1QNh7H5m)
: 但IOTA卻大方接受了全網帳本不一致 硬是往這個方向下手
: 如此瘋狂的做法是我完全沒有預料到的
: (其實我後來發現grapherd大大在這篇 #1QNrXVf_ 就有解釋全網帳本的確會不一致)
: 總結
: 我認為Tangle與Blockchain的關鍵差異
: 就在於交易是否會真的confirmed
: 這個根本的差異導致Tangle與Blockchain的性質有以下區別
: Tangle的帳本是可以分裂為不同勢力的
: 而節點究竟受到哪個勢力的帳本影響較大
: 取決於節點的鄰居屬於哪派勢力 也就是必須考慮網路拓樸
: Blockchain的帳本則是統一的
: 所以不必考慮網路拓樸
: 若您仍有不解之處
: 我很樂意繼續與您討論
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.154.132
※ 文章網址: https://webptt.com/m.aspx?n=bbs/DigiCurrency/M.1516695295.A.001.html
1F:推 kugwa: 網路真的會分裂沒錯 這也是我一開始最難以相信的地方 01/23 16:28
2F:→ kugwa: 你這個思考方向沒錯 01/23 16:29
3F:→ kugwa: 所以才會扯到要利用網路拓樸來減少攻擊者影響的節點數 01/23 16:31
4F:推 a2935373: 我有個問題耶 用botnet去汙染一般用戶的帳本可行嗎? 01/23 17:19
5F:→ a2935373: 我不搞垮整個網路 但是讓不特定多數的帳本爛掉 01/23 17:20
6F:推 tcn1john: IOTA 關於botnet的討論真的很少... 可能還沒遇到問題吧 01/23 17:58
7F:推 grapherd: 現在是 mutual pair, 就大家討厭的手動配對,botnet沒有 01/23 18:11
8F:→ grapherd: 辦法污染賬本的,因為對方沒有跟你pair. 01/23 18:11
9F:→ grapherd: 沒pair的情況下sink (iri 接收端)不會收你的packet. 01/23 18:12
10F:→ kuma660224: 那網路分裂時,被攻擊的那邊,誰來保護? 01/23 19:00
11F:→ kuma660224: 還是就算你倒楣被感染而捨棄,只隔離救沒事的? 01/23 19:01
12F:推 kugwa: 我也好奇 01/23 19:03
13F:→ kugwa: 但似乎是這樣 01/23 19:03
14F:→ kugwa: 攻擊者附近的倒楣 01/23 19:03
15F:→ kuma660224: 這……這樣貨幣的信心會gg吧。 01/23 19:17
16F:→ kuma660224: 小花偷錢未遂,小明你交友不慎所以處罰你。 01/23 19:17
17F:推 a2935373: 額.... 所以不靠協調者這攻擊還真的可行? 01/23 19:33
18F:推 kugwa: 說法好像是單一節點攻擊者可以感染的範圍很小 01/23 19:47
19F:→ kugwa: 範圍之外的節點 因為正常的交易已經confirmed 所以無動於衷 01/23 19:49
20F:→ kugwa: 在誠實算力足夠的情況下 交易接上Tangle到confirmed的時間 01/23 19:49
21F:→ kugwa: 會很短很短 01/23 19:49
22F:→ kugwa: 吧!? 01/23 19:50
23F:→ kuma660224: 不管影響多寡,身旁有惡意者就陪葬? 01/23 20:01
24F:→ kuma660224: 這跟區塊鍊保障全部交易差異很大 01/23 20:01
25F:→ kuma660224: 多次確認後幾乎不可能被攻擊 01/23 20:03
26F:推 kugwa: 沒錯ㄋ 所以我才覺得很扯 會想在網路拓樸這塊找解 01/23 20:04
27F:→ kuma660224: 無COO時看起來像那邊中箭就割捨哪邊 01/23 20:04
28F:→ kuma660224: 與其說保護,感覺更像損害控管 01/23 20:05
29F:→ a2935373: 所以如果botnet夠多的區域可能整個被拖垮? 01/23 20:16
30F:→ DarkerDuck: IOTA這個解法終究還是無法真正免除trusted 3rd party 01/23 20:27
31F:→ DarkerDuck: 網路被攻擊分裂後,還是要尋找官方"可信"節點同步回去 01/23 20:27
32F:→ a2935373: 如果是這樣的話根本也一般用戶沒有連到其他節點的意義啊 01/23 20:36
33F:推 kugwa: 我覺得譬喻成損害控管頗貼切 01/23 20:38
34F:→ kugwa: 信仰區塊鏈的人不敢往這個方向思考應該也很正常 01/23 20:39
35F:→ kugwa: 我真的也還沒完全搞懂IOTA是怎麼在這麼艱難的狀態下找解 01/23 20:39
36F:→ kugwa: 但我覺得開拓思考方向很不錯 01/23 20:40
37F:推 a2935373: 如果不追求full node要開放給所有人 其實也不成問題 01/23 20:45
38F:→ kuma660224: 損害控管或者斷尾求生。 01/23 20:51
39F:→ kuma660224: 先保護iota體系,而不是保護局部用戶 01/23 20:51
40F:→ kuma660224: 但這樣似乎沒考慮到用戶信心問題。 01/23 20:51
41F:→ kuma660224: 就像個別銀行可倒閉,銀行體系不能倒 01/23 20:52
42F:→ kuma660224: 而且政府即使讓銀行倒,也有存款保險 01/23 20:53
43F:→ kuma660224: 不敢完全放手,讓多數倒楣用戶吃屎 01/23 20:53
44F:→ kuma660224: 以維護貨幣的信心。 01/23 20:54
45F:→ kuma660224: 若只是微型小額交易,這問題不大 01/23 20:55
46F:→ kuma660224: 但要變成主流資產儲存與結算... 01/23 20:56
47F:→ a2935373: 強制要求連上安全節點就好了吧 01/23 21:13
48F:推 kugwa: 或許可以每個full node實名並具有安全等級 01/23 21:16
49F:推 a2935373: 回到上面的問題 那跟一般IOT連線做啥? 01/23 21:23
50F:→ DarkerDuck: 誰來做KYC,誰來認證這個節點是"安全的" ? 01/23 21:29
51F:→ DarkerDuck: IOTA這種做法其實最後是不可能達成真正去掉authority 01/23 21:31
52F:→ DarkerDuck: 它的去中心化程度大概就類似Ripple而已 01/23 21:32
53F:→ DarkerDuck: 就幾個官方認可的跑payment gateway,剩下client依附上 01/23 21:32
54F:推 kugwa: 所以到此為止了嗎 我之前還覺得技術上神解的說 01/23 21:59
55F:→ DarkerDuck: 他這種方法當然可以做,市場絕對也有人會買單 01/23 22:02
56F:→ DarkerDuck: 反正對於很多企業甚至大眾,去中心化不是重點 01/23 22:03
57F:→ DarkerDuck: 但我不認為它可以達到跟比特幣一樣的去掉可信第三方 01/23 22:04
58F:→ DarkerDuck: 比特幣有專業化的礦工,但你不需要去信任它就可以連線 01/23 22:04
59F:→ DarkerDuck: 而IOTA從一開始就要選可信的節點連線,等級有差 01/23 22:05
60F:→ DarkerDuck: 反正IOTA的目標本來就不是要當比特幣這種金流結算貨幣 01/23 22:08
61F:→ DarkerDuck: 對於IOT M2M的微交易,企業化與中心化或許根本沒差 01/23 22:09
64F:→ Ash1taka: 有點像每隔一段時間自動洗牌的樣子 01/23 22:18
65F:推 Ash1taka: 所以誠實節點即使倒楣跟壞節點連線當上鄰居,也只是暫時 01/23 22:27
66F:→ Ash1taka: 各個節點有機會被干擾一時,但不會一直持續 01/23 22:30
67F:→ kuma660224: 你會遇上詐騙集團,但不會永遠都是遇上詐騙集團 01/23 22:42
68F:→ kuma660224: 是這個意思嗎? 這好像也只是損害控管的概念而已 01/23 22:42
69F:推 kugwa: 所以被攻擊的節點要怎麼變回來啊 01/23 22:43
70F:→ kugwa: 能不依賴可信的節點嗎 01/23 22:44
71F:推 Ash1taka: 一個node所有連線對象都聯合騙它的話,它會上當 01/23 23:18
72F:→ Ash1taka: 但連線對象中有一部分好node,它就會發現矛盾資訊吧 01/23 23:19
73F:→ Ash1taka: 發現矛盾應該就不會上當了,但我還不知它如何分辨誰說謊 01/23 23:22
74F:→ Ash1taka: 或者有沒有必要下這個判斷... 01/23 23:22
75F:→ Ash1taka: 我貼的第一個連結裡面有模擬的結果,全部1000個節點、 01/23 23:23
76F:→ Ash1taka: 就算一開始就有高達70%是惡意節點,tangle都能自我恢復 01/23 23:25
77F:推 Ash1taka: 文中還有提到一個node在tangle中運作愈久愈難被攻擊 01/23 23:28
78F:→ DarkerDuck: 它這邊的攻擊行為是日蝕攻擊吧 01/23 23:52
79F:→ DarkerDuck: 和那種用高PoW偽造Tangle帳本的攻擊不一樣 01/23 23:53
80F:推 Ash1taka: 看起來是日蝕沒錯 01/24 00:18
81F:推 Ash1taka: 其他種攻擊... 也許去Discord問Roman Semko? 01/24 00:26