推 kugwa: 同個系統狀態本來就不會雙花的兩筆交易同時存在01/17 09:10
→ kugwa: 但是設想01/17 09:10
→ kugwa: A已經被大家承認很久很久了01/17 09:11
→ kugwa: A交易的賣方也交貨了(買方就是付IOTA)01/17 09:11
→ kugwa: 這時突然給你來個 B把A給超越01/17 09:12
→ kugwa: 大家一致宣告A交易不算數01/17 09:13
→ kugwa: 那A交易的賣方不就很幹 拿到的錢沒了 貨也大概拿不回來01/17 09:14
→ kugwa: 這也是比特幣的交易被收進block之後 最好等6個confirmation01/17 09:15
→ kugwa: 再當真 因為這時候被翻盤的機率就小很多很多了01/17 09:16
這也不會啊,當 A 交易已經被認同,節點內部的帳冊就會被改動了。後來出現的 B 交易只會被當作 invalid (假設 double spending,或是透支賬本) ,或是另外一筆新的交易 (假設創新交易)。
略過去 A 交易不是?
這時後,A交易就會被當作是 invalid 或是 double spending
孤立在那邊啊。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.12.46.231
※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1516149133.A.043.html
※ 編輯: grapherd (118.12.46.231), 01/17/2018 08:32:59
推 kugwa: 同個系統狀態本來就不會雙花的兩筆交易同時存在 01/17 09:10
→ kugwa: 但是設想 01/17 09:10
→ kugwa: A已經被大家承認很久很久了 01/17 09:11
→ kugwa: A交易的賣方也交貨了(買方就是付IOTA) 01/17 09:11
→ kugwa: 這時突然給你來個 B把A給超越 01/17 09:12
→ kugwa: 大家一致宣告A交易不算數 01/17 09:13
→ kugwa: 那A交易的賣方不就很幹 拿到的錢沒了 貨也大概拿不回來 01/17 09:14
→ kugwa: 這也是比特幣的交易被收進block之後 最好等6個confirmation 01/17 09:15
→ kugwa: 再當真 因為這時候被翻盤的機率就小很多很多了 01/17 09:16
※ 編輯: grapherd (223.136.183.51), 01/17/2018 09:22:07
推 kugwa: 回應你的新回覆 01/17 09:26
→ kugwa: 「當 A 交易已經被認同」 01/17 09:26
→ kugwa: 你要怎麼規定 什麼情況下去認同? 01/17 09:27
→ kugwa: IOTA這種靠Coordinator發出Milestone的可不能算 01/17 09:27
→ kugwa: 因為這是靠Coordinator一人發出的 01/17 09:28
→ kugwa: 以比特幣來說 最長鏈的所有交易都是被認同的 01/17 09:28
→ kugwa: 最長鏈的所有交易都有被記入UTOX集合裡 01/17 09:29
推 kugwa: 為什麼怎樣才算認同這件事很重要呢 因為 01/17 09:32
→ kugwa: 讓整個網路所有人都認同A交易 這件事本來就超級難 01/17 09:33
→ kugwa: 只要有那麼一瞬間 有一部分的人認同A 有一份的人還沒認同A 01/17 09:33
→ kugwa: 然後這時候有人把B廣播出來 01/17 09:34
→ kugwa: 然後認同A的那一票人直接拒絕B 01/17 09:35
→ kugwa: 而剛剛還沒認同A的人把B收下來 最後還好死不死去認同B ( 01/17 09:36
→ kugwa: 可能B被一部分的人串的比較長) 01/17 09:36
→ kugwa: 這時網路就整個意見分歧了 而且再也無法轉回意見一致 01/17 09:37
→ kugwa: 導致這種災難的關鍵原因 就是你說的那種認同 01/17 09:38
→ kugwa: 你那種認同會強硬的認定某個交易是合法的 然後貿然排除跟他 01/17 09:40
→ kugwa: 產生雙花的其他交易 01/17 09:40
→ kugwa: 結果就是有機會發生我上面說的情況 全網失去共識 01/17 09:41
→ kugwa: 這就是為什麼區塊鏈是神解 01/17 09:41
→ kugwa: 他的作法就是不會排除任何雙花的交易(或是你要說相衝突的 01/17 09:43
→ kugwa: 區塊) 但是大家講好最長鏈的交易才算數 01/17 09:43
→ kugwa: 因而全網可以一直保持著一致 也就是達成共識 01/17 09:44
→ coronach: 整理一下回文吧 XD 有料的文章洗板是好事 01/17 09:45
推 GOLDCOW4721: 推一個。 01/17 10:03
→ tashia: 你這情況下A跟B交易發起的人一定是同一人喔 01/17 20:13
→ tashia: 哪來的A很幹這件事 01/17 20:13
→ tashia: 只要要動到錢的交易都是要簽章的 01/17 20:14
→ tashia: 啊抱歉我上面看錯 01/17 20:16
推 kugwa: 我說的是A交易的賣方很幹 01/17 20:16
→ tashia: 應該說第一我之前前幾篇有回調高pow會讓B很難發生 01/17 20:18
→ tashia: 第二你如果說在沒有coo的狀況下你覺得A真的很重要 01/17 20:19
→ tashia: 他們有提到,你可以把A的深度定在夠深時才是confirm 01/17 20:21
→ tashia: 我相信A只要到達一定的深度B是絕對不可能被確認的 01/17 20:23
推 kugwa: 調高PoW難度只是同時把誠實的交易速度和攻擊者的交易速度等 01/17 20:30
→ kugwa: 比例降低而已 01/17 20:30
→ kugwa: 調高要求的confirmation數也只是多點保險而已 01/17 20:30
→ kugwa: 這兩種解法在誠實算力不足以壓制攻擊者算力的情況下 01/17 20:30
→ kugwa: 都只是拖延戰術 01/17 20:30
→ kugwa: 久一點以後攻擊者還是可以串得比誠實的長 01/17 20:30
→ MRjk: tashia你講到一個重點 在沒有coo的情況下 A的深度設定要到 01/17 21:43
→ MRjk: 深到實務上不切實際的深度才可能安全 理由有2點 1.專用硬體 01/17 21:44
→ MRjk: 和IoT的裝置算力是差到幾千幾萬倍以上的 光靠誠實節點不可能 01/17 21:44
→ MRjk: 彌補這個差距 2.正常誠實節點只在需要交易時PoW兩筆交易 01/17 21:45
→ MRjk: 但攻擊者閒閒沒事可以整天都在算PoW惡搞網路 ;綜和1和2 硬體 01/17 21:46
→ MRjk: +運算時間上巨大的鴻溝 你覺得A的深度要設多少才夠? 01/17 21:46
→ MRjk: PoW的根本原理 就是不可能只靠IoT那貧弱的硬體和少少的運算 01/17 21:48
→ MRjk: 時間就能抵擋惡意攻擊者專門的算力 , 反過來說 在PoW的面前 01/17 21:49
→ MRjk: 惡意攻擊者後來靠龐大算力建構的交易才是可信的 01/17 21:50
→ kuma660224: 悲觀一點,這一切都是假議題。 01/19 15:53
→ kuma660224: 有可能COO實務上廢不掉,所以不擔心 01/19 15:53
→ kuma660224: 隨時間過去,專用硬體與IOT裝置性能 01/19 15:56
→ kuma660224: 差異只會越來越大,因為不能要求誠實 01/19 15:56
→ kuma660224: 客戶升級硬體,惡意者卻願與時俱進 01/19 15:56
→ kuma660224: 其他POW幣是假設礦工自私謀利很人性 01/19 16:00
→ kuma660224: 所以光明與黑暗勢力都持續升級硬體 01/19 16:00
→ kuma660224: 邪不勝正,實力差距不會拉大。 01/19 16:00
→ kuma660224: 讓集權國家可能掌握礦場是特殊狀況 01/19 16:03
→ kuma660224: 那不是POW本身問題,是演算法造成 01/19 16:03