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

看板DigiCurrency作者 (NULL)時間6年前 (2018/01/17 22:06), 編輯推噓3(306)
留言9則, 2人參與, 6年前最新討論串7/22 (看更多)
早上用手機編輯搞爛了推文,不好意思。 ※ 引述《kugwa (kugwa)》之銘言: : 標題: Re: [閒聊] IOTA真的能實現足夠的算力嗎 : 時間: Wed Jan 17 10:15:43 2018 : : ※ 引述《grapherd (NULL)》之銘言: : : : : ※ 引述《MRjk ()》之銘言: : : : 首先非常感謝您提供的幾個連結 : : : 其實我之前也就已有加入"IOTA 愛好者中文社群"的FB社團 : : : 剛也再重新看過每一篇您所指引的連結 : : : 我覺得首先讓我們討論單純一點 拋棄掉3進位 hash function等其他問題 : : : 回歸到這討論串最一開始原po的問題 : : : "在IOTA網路中 沒有coordinator的狀態下 : : : 惡意攻擊者從一個IoT裝置所發出的交易A (經過PoW驗證了前兩筆交易) : : : 如何能不被惡意攻擊者手上的另一個超強硬體所建構出來的雙花交易B(也經過了PoW驗證 : : : 了前兩筆交易 且還附加了更多交易在其後增加權重)蓋過去?" : : : : 你的問題......感覺問錯了? : : : : 你所給的題目定義的狀況下,這個超強硬體所構建出來的雙花交易B : : : : 才是整體網路所同意的交易啊。 : : : : : : : : 當下當然兩筆雙花出來的時候會是雙花, : : : : (Bitcoin 也會有類似的狀況,假設一次出兩塊,裡面包含雙花交易的話) : : : : 但是等時間過去, : : : : 其他的節點經過 MCMC 在挑選 tips 的時候, : : : : 就會 : : : : 這時後,A交易就會被當作是 invalid 或是 double spending : : : : 孤立在那邊啊。 : : 同個系統狀態本來就不會雙花的兩筆交易同時存在 : : 但是設想 : : A已經被大家承認很久很久了 : : A交易的賣方也交貨了 : : 這時突然給你來個 B把A給超越 : : 大家一致宣告A交易不算數 : : 那A交易的賣方不就很幹 拿到的錢沒了 貨也大概拿不回來 這個問題已經回應過了,不會發生這樣的問題。 這種超久的 valid transaction V.S. 新出的爆幹 weight transaction 因為超久以前的 valid transaction 已經改變整個帳本的狀況 (地址總額,對方地址總額等) 因此根本不會有收到貨然後又被蓋掉的問題。 : : 這也是比特幣的交易被收進block之後 最好等6個confirmations再當真的原因 : : 因為這時候被翻盤的機率就小很多很多了 Bitcoin 1 confirm 不能當真,建議 6 個,實務 3 個的原因, 最主要的原因是有不錯大的機率出現同時有兩塊爆出來, (看 explorer 很容易發現) 要等到其他 node 選擇一個,讓另一個變成孤立後,才能夠繼續長下去。 (當然也有為了防止 double spending 的問題) : : : 這也不會啊,當 A 交易已經被認同,節點內部的帳冊就會被改動了。後來出現的 B 交易只會被當作 invalid (假設 double spending,或是透支賬本) ,或是另外一筆新的交易 (假設創新交易)。 : : 「當 A 交易已經被認同」 : : 你要怎麼規定 什麼情況下去認同? : : IOTA這種靠Coordinator發出Milestone的可不算哦 : : 因為這是靠Coordinator一人決定的 : : 為什麼怎樣才算認同這件事很重要呢 : : 因為 讓整個網路所有人都認同A交易 這件事本來就超級難 : : 只要有那麼一瞬間 有一部分的人認同A 有一部份的人還沒認同A : : 然後這時候有人把B廣播出來 : : 認同A的那一票人直接拒絕B : : 而剛剛還沒認同A的人把B收下來 最後還好死不死去認同B : : (可能B被一部分的人串的比較長) : : 這時網路就整個意見分歧了 而且再也無法轉回意見一致 : : 導致這種災難的關鍵原因 就是你說的那種認同 : : 你那種認同會強硬的認定某個交易是合法的 : : 然後貿然排除跟他產生雙花的其他交易 : : 結果就是有機會發生我上面說的情況 全網失去共識 先看白皮書: It is important to observe that the iota network is asynchronous. In general, nodes do not necessarily see the same set of transactions. It should also be noted that the tangle may contain conflicting transactions. The nodes do not have to achieve consensus on which valid[5] transactions have the right to be in the ledger, meaning all of them can be in the tangle. However, in the case where there are conflicting transactions, the nodes need to decide which transactions will become orphaned[6]. 白皮書大方承認了這個問題。直言 node 之間本來就是非同步的狀況, 各自看到的 tangle 是不同的狀況。而且在 tangle 之中,本來就可以存在 conflict 的交易。當出現 conflict transactions 的時候,才需要去決定哪個是孤立的交易。 決定 conflict 的方式是運行 MCMC: 「看一個節點進行多次的 tip 選擇演算法, 接著觀察哪筆交易較可能被選到的 tip(間接)驗證。舉例來說: 假設跑了 100 次 tip 選擇演算法,有一筆交易被選到 97 次,我們便說它有 97% 的信心被驗證到。」 (from IOTA 白皮書中文版) 當然目前 mainnet 不是這樣就對了 XD : : 這就是為什麼區塊鏈是神解 4, 神解,不可否認。 : : 他的作法就是不會排除任何互相衝突的區塊(e.g. 一個區塊含有A 另一個區塊含有B) : : 但是大家講好最長鏈的交易才算數 : : (而且最長鏈受到算力保護 越久遠的區塊越不會被翻盤) : : 因而全網可以一直保持著一致 也就是達成共識 : : : : 一般人看起來 : : 區塊鏈可能就只是實現了一直以來難以達成的分散式網路中的信任的一項技術而已 : : 但是他誕生的背後 : : 其實有非常非常多複雜的情況 : : 都被開發團隊考慮過了 : : 可能是之前沒想到的漏洞 任何攻擊手段 任何可能導致的問題 之類的 : : 這些情況被開發團隊反覆想到爛掉 : : 想破頭才出現了最終版本 : : 也就是比特幣 : : 所以說區塊鏈的厲害之處 : : 大概只有親自仔細咀嚼過各種課題: : : 「區塊鏈的這個部份為什麼要用這種作法?」 : : 「如果不這樣做的話會怎麼樣嗎?」 : : 才能更了解想出這東西的人到底有多天才 : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.232.231 : ※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1516155345.A.170.html : 推 darkdixen: 中本聰其實不是天才 是AI啦(?) 01/17 10:39 : 推 a23962787: 是未來人啦 01/17 10:43 : ※ 編輯: kugwa (140.112.232.231), 01/17/2018 11:38:00 : 推 sdtty: 沒錯 唯一信仰大比特!!! 01/17 12:23 : 推 DarkerDuck: 其實PoW區塊鏈這個解的確各方面都有它的優勢 01/17 12:29 : 推 ZERX: 聽大大們解說,我對 iota 的信仰愈來愈薄弱了 XD 01/17 12:29 : → DarkerDuck: 才能夠這麼久各種主要衍生的加密貨幣仍然是PoW區塊鏈 01/17 12:29 : → kuma660224: POW區塊鏈雖不完美,不過多年來 01/17 12:33 : → kuma660224: 其他驗證方式都沒證明是更理想的 01/17 12:33 凡是 blockchain 至少都要遇到出塊速度的問題。精美的 6tx/s。 : → DarkerDuck: IOTA仍然是要靠PoW去確保帳本安全,但不靠自私的礦工 01/17 12:37 提高攻擊者難度還是需要 PoW。 不過順便提一下,IOTA 沒打算讓 IoT devices 運行 PoW 就是。 : → DarkerDuck: 這是整個PoW區塊鏈最驚人的地方,自私地保護網路的安全 01/17 12:41 : → DarkerDuck: 假如拿掉了,IOTA的現況就證明很難有更完美的方案 01/17 12:42 blockchain 之外的方案,都是 experimental 狀況而已,IOTA 亦如是,距離實用嗎.....。 : → DarkerDuck: 其實我一直覺得把Tangle變成區塊鏈off-chain交易架構 01/17 12:43 : → DarkerDuck: 應該也是個快速交易又可以確保安全性的方法 01/17 12:44 : → DarkerDuck: 零確認交易直接用手續費當作tangle graph的累積權重 01/17 12:59 : → DarkerDuck: 反正零確認交易就是小額日常交易,夠安全就好 01/17 13:00 : → DarkerDuck: 被區塊鏈確認後一樣會進到不可逆的狀態 01/17 13:01 : : 其實我一直沒有想明白板大的意思 : : 怎麼做到把區塊鏈跟Tangle攪在一起的 : : (是否跟interchain或sidechain的概念類似呢?雖然我對這個也還沒有研究) : : 能不能請板大解釋得更明白呢 : : 例如區塊裡要記錄哪些Tangle的資訊 : : 以及每筆交易裡要帶哪些資訊 : : 之類的 : : 如果真的是很厲害的想法 : : 板大要不要考慮把他搞出來XDDD : ※ 編輯: kugwa (140.112.16.145), 01/17/2018 13:24:28 : → DarkerDuck: 只是初步的想法ㄝ,不過這樣做可以提供很多零確認交易 01/17 13:29 : → DarkerDuck: 的額外安全性,譬如想要大額的零確認交易安全性 01/17 13:29 : → DarkerDuck: 那就按比例多付點手續費,像這種高權重的交易後面 01/17 13:30 : → DarkerDuck: 就會很多人想要把交易加在後面,進一步提升安全性 01/17 13:30 : → DarkerDuck: 而對於支付處理商,接受權重夠高的零確認交易也夠安全 01/17 13:35 : → DarkerDuck: 不然現在的零確認支付交易已經被replace by fee 毀滅 01/17 13:36 : → DarkerDuck: 就變成兩階層的架構,區塊和區塊串成區塊鏈 01/17 13:39 : → DarkerDuck: 區塊內的交易用tangle串 01/17 13:39 : → DarkerDuck: 本來零確認交易避免雙花的方法是靠礦工的自律 01/17 13:50 : → DarkerDuck: 不接受任何試圖雙花的交易 01/17 13:50 : → DarkerDuck: 用tangle後可以一樣回到"自私的礦工"這完美的理念 01/17 13:51 : → DarkerDuck: 權重高(總手續費高)的交易graph才是共識 01/17 13:51 : → DarkerDuck: 這樣n秒後零確認交易要雙花的成本將會等於 01/17 14:00 : → DarkerDuck: n * 每秒交易數 * 每一筆交易平均手續費 01/17 14:01 : → DarkerDuck: 以比特幣來說,就是你慢一分鐘雙花就要6萬台幣手續費 01/17 14:04 : → DarkerDuck: 那就可以確保一分鐘內接受6萬台幣內的交易都是安全的 01/17 14:06 : → DarkerDuck: 這個方案其實也比什麼超快的出塊速度來加速來得好 01/17 14:14 : → DarkerDuck: 像ETH這種超短的出塊時間會導致出塊容易被捨棄或分叉 01/17 14:14 : → DarkerDuck: 這造成了系統要擴容上很大的阻力 01/17 14:15 : → DarkerDuck: 也代表交易要被"安全"地確認需要更多確認數 01/17 14:15 : → DarkerDuck: 不過區塊內tangle也有缺點就是會增加SPV錢包的負擔 01/17 14:37 : → DarkerDuck: 需要額外的頻寬和記憶體建構全網的tangle graph 01/17 14:37 這很有趣,找個時間來研究一下 ETH 智慧合約,看看能不能攪和再一起.... : 推 a23962787: 那來叉個BTCPTT吧 01/17 14:40 : 推 ketao: 版大你為什麼不用回文XDD 01/17 19:19 : 推 a23962787: 他的習慣 01/17 19:21 : → DarkerDuck: 還不是很成熟的想法,推文低調就好 01/17 19:22 : → coronach: 說不定不小心就變成IOTA Cash惹 01/17 21:08 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.12.46.231 ※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1516197983.A.A7F.html

01/18 13:28, 6年前 , 1F
目前最接近的例子大概有PRL,但我覺得那個有點黑...
01/18 13:28, 1F

01/18 13:40, 6年前 , 2F
不管誰在運行POW,那都是沒有誘因的事情,而且也是發
01/18 13:40, 2F

01/18 13:40, 6年前 , 3F
起交易的時候才會做POW
01/18 13:40, 3F

01/18 13:40, 6年前 , 4F
除非有佛心人士 一天到晚掛在線上丟零費交易
01/18 13:40, 4F

01/18 13:42, 6年前 , 5F
這樣和比特幣的差別就剩下 一邊的礦工有賺頭 一邊是
01/18 13:42, 5F

01/18 13:42, 6年前 , 6F
義工
01/18 13:42, 6F

01/18 13:42, 6年前 , 7F
你就直接設想 假如今天比特幣改成挖礦沒報酬 誰要挖
01/18 13:42, 7F

01/18 13:56, 6年前 , 8F
所以IOTA才沒有角色職位不均的問題,hashpower-bound POW
01/18 13:56, 8F

01/18 13:57, 6年前 , 9F
演變成了現在這樣經濟的軍備競賽
01/18 13:57, 9F
文章代碼(AID): #1QNrXVf_ (DigiCurrency)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 7 之 22 篇):
文章代碼(AID): #1QNrXVf_ (DigiCurrency)