Re: [閒聊] IOTA真的能實現足夠的算力嗎

作者: kugwa (kugwa)   2018-01-17 22:40:59
※ 引述《grapherd (NULL)》之銘言:
:
: ※ 引述《kugwa (kugwa)》之銘言:
: :
: : 同個系統狀態本來就不會雙花的兩筆交易同時存在
: :
: : 但是設想
: :
: : A已經被大家承認很久很久了
: :
: : A交易的賣方也交貨了
: :
: : 這時突然給你來個 B把A給超越
: :
: : 大家一致宣告A交易不算數
: :
: : 那A交易的賣方不就很幹 拿到的錢沒了 貨也大概拿不回來
:
: 這個問題已經回應過了,不會發生這樣的問題。
:
: 這種超久的 valid transaction V.S. 新出的爆幹 weight transaction
:
: 因為超久以前的 valid transaction 已經改變整個帳本的狀況
: (地址總額,對方地址總額等)
:
: 因此根本不會有收到貨然後又被蓋掉的問題。
怎麼不會有呢
就是會有這樣的問題啊
比特幣的短鏈追上長鏈造成blockchain reorganization
以及我們一直在討論的IOTA攻擊手段(B的累積權重超越A的累積權重)
都是這個狀況呀(雖然說落後很多的情況下追上通常都是惡意去追的)
你所謂的「整個帳本的狀況」
本來就是根據blockchain或Tangle的樣子在解讀的
blockchain的情況中 帳本的狀況就是最長鏈中所有交易一起套用的樣子
blockchain reorganization時 因為長鏈換了一條 帳本會整個被大改動
而Tangle的情況中 A的累積權重比B的還大時 帳本只採計A而忽略B
但是當B的累積權重超越A時 帳本就會改為採計B而忽略A
這種帳本改動一發生 你看到的各種總額就會跟著發生變動 很嚴重的
總之 根本沒有所謂的「某個交易生效一段時間之後就絕對不會被撤銷」的情況
(這應該叫freezed或是finalized)
只要另一方算力夠強 就有辦法撤銷任意的交易
(比特幣拒收落後超過12個高度的block 這個情形先不討論)
finalize之所以難以實現
就是因為很多種方式(例如你規定一個交易t時間後就堅決不再撤銷)
最終都會造成全網失去共識
就像我前一篇說的那種案例
作者: wusyong (吳兄)   2018-01-18 12:02:00
這篇你可能搞錯tangle中產生共識的方式了,假設A存在網路夠久等同於驗證有效的話是要幾乎之後所有tips都直接或間接驗證它有效,之後B不管它權眾多到找前面的tips都會看到A已經被fully confirmed了
作者: lturtsamuel (港都都教授)   2018-01-18 12:58:00
樓上 如果用超高算力 使兩個衝突的交易維持差不多的權重呢?那麼由於分散式系統的網路延遲 兩個full node可能會產生不一致 結果就是A電腦覺得A交易被fully confirmed B電腦B交易被fully confirmed
作者: wusyong (吳兄)   2018-01-18 13:01:00
這樣就是白皮書4.2的splitting attack了要fully confirmed是要整個tangle的tips都直接或間接驗證到你,雙方分出自己的分歧沒結合回來前都仍然是uncnfrm這也是攻擊最大的問題,你只看的到部分的tangle,要如何找出全部對你最有利的利tip分別下手然後又成功接回來不被衝突
作者: yc0304 (yc0304)   2018-01-18 13:31:00
一旦有人試圖雙花,導致有兩個衝突的節點存在整個tangle上照樓上的說法,這兩個節點就都不可能fully confirmed了
作者: lturtsamuel (港都都教授)   2018-01-18 13:34:00
應該說如此一來 整個tangle中的所有結點都炸了 XD
作者: yc0304 (yc0304)   2018-01-18 13:34:00
請問分歧要怎麼結合回來?
作者: wusyong (吳兄)   2018-01-18 13:35:00
有兩個衝突的節點存在tangle的話,按照tips的推演會隨機選擇一個交易被驗證,另一個就被當作孤兒遺棄了tangle的權重選擇是保持在一定比例的,越後面的tip當然會交錯去驗證前面每個不同unconfirmed的交易
作者: yc0304 (yc0304)   2018-01-18 13:41:00
iota不會去真的遺棄節點吧只是算法選擇會讓權重大的節點越來越大,而不會真正的去將權重小的節點丟棄只要權重小的節點還存在網路,就不可能把分歧結合回來
作者: wusyong (吳兄)   2018-01-18 13:44:00
進入tangle的交易是tip,節點是發送他們,MCMC會去隨機
作者: lturtsamuel (港都都教授)   2018-01-18 13:44:00
如果會遺棄 那攻擊者同樣可以透過splitting attack將兩者維持類似權重 最後A電腦遺棄A交易B電腦遺棄B交易
作者: wusyong (吳兄)   2018-01-18 13:45:00
選擇兩筆正常權重的交易去驗證,如果這個tip太老又邊緣是會被孤立的所以白皮書有提到兩條分開來的subtangle是不能無限上綱一
作者: yc0304 (yc0304)   2018-01-18 13:46:00
被孤立,但它還是存在的不是嗎
作者: wusyong (吳兄)   2018-01-18 13:47:00
直長下去的,一定比例後會接回去它存在但unconfirmed而且連接它最後的tip沒人會去驗證了
作者: yc0304 (yc0304)   2018-01-18 13:50:00
那就不存在之前提到的「被所有tip間接或直接驗證到」了
作者: wusyong (吳兄)   2018-01-18 13:51:00
幾乎所有的tip,這些tip通常會平均分布在tangle末端
作者: yc0304 (yc0304)   2018-01-18 13:51:00
而且也無法說是「接回去」,只是其中一邊會繼續成長,另一邊停滯
作者: wusyong (吳兄)   2018-01-18 13:52:00
長得很不尋常或太舊的tip最後是不會被視做合理的tip停滯就是最後tip越來越少最後剩一個然後那小串最後被孤立
作者: yc0304 (yc0304)   2018-01-18 13:57:00
ok,那為什麼不能用高算力在被孤立的那一側拼命增加權重?
作者: wusyong (吳兄)   2018-01-18 14:00:00
白皮書4.2有說明了,兩邊維持相同權重的問題,還要考慮節點會平均驗證這兩條,只要稍微一歪就幾乎決定哪邊成長如果你想掌握節點的話,還比區塊鏈更困難
作者: yc0304 (yc0304)   2018-01-18 14:02:00
但是超過一半算力,還是可以為所欲為吧
作者: wusyong (吳兄)   2018-01-18 14:03:00
IOTA是network-bound POW,你要掌握的不是只有足夠hashrate而已,還有Omnipresence,還有多少比例的Omnipresence正確的完整節點簡單來說要攻擊成功你得能控制網路拓樸的發展,更別說越深越長的tangle需要指數性成長的算力,等你算好tangle也長到很後面了這跟誠實算力無關,隨便一個tip讓兩條不是1/2很快就會讓tangle選擇哪一條了
作者: yc0304 (yc0304)   2018-01-18 14:10:00
為什麼我超過一半算力還控制不了tamgle的發展我要哪裡變長就變長不是嗎
作者: wusyong (吳兄)   2018-01-18 14:11:00
IOTA是network bound POW,你要考慮的不會只有是networkhash ratehttp://www.tangleblog.com/2017/07/10/is-double-spending-possible-with-iota/
作者: lturtsamuel (港都都教授)   2018-01-18 15:36:00
問題就在於 其他貨幣的算力有礦工在保證 IOTA沒有其實這一直是我核心擔憂的一點
作者: wusyong (吳兄)   2018-01-18 15:40:00
這的確是蠻有趣的問題,token的基本利益何在,我想這大概是官方朝物聯網方向發展的原因之一不過M2M真的是困難模式,能不能征服真的只有時間能知道了所以Dominik Schiener才說"We will either be a trillion dollar project, or nothing."XD

Links booklink

Contact Us: admin [ a t ] ucptt.com