看板 DigiCurrency 關於我們 聯絡資訊
你講得這個情形就是51%攻擊 我先大概講一下發出一筆交易是怎麼進到區塊裡的。 首先每個節點都會有一個暫存transaction的mempool,在未進到區塊裡的時候, 交易都會先被暫存到mempool裡,等發現區塊後,已經被寫到區塊裡的交易就會從mempool 裡移掉。 ※ 引述《transt (transt)》之銘言: : 假設有一個confirmed transaction T (T所在的block後面已經有6個block) : T 的內容是 Alice 給了 Bob 一個 BTC : 假設現在Alice神通廣大,在T所在的block之前fork了一個更長,沒有包含T的chain : 請問 : (1) 那一個 BTC 會從 Bob 回到 Alice 手中嗎? 假如transaction T還留在任何一個節點的mempool中,那T就會被重新廣播到網路中。 此時這個BTC就會從已確認狀態,變回未確認狀態。 假如Alice只是一個單獨節點,並且mempool沒有T。 那可能其他所有節點裡的mempool都已沒有T。這個時候這筆交易自然就不存在了。 : (2) T會被丟掉,就此消失在整個network中嗎? 假如是Alice單獨作51%攻擊,T是有可能在mempol中消失。 但Bob要重新廣播也很容易。 : (3) 承(2),如果T沒有消失,那T在等待被validate的這段時間,Alice可以修改T嗎? : (例如,Alice 把 T 的 output 從 Bob 的 address 改成自己的) : 懇請各路專家幫忙解惑,感謝 可以,不過通常完整節點只會承認已進到mempool的T,後面意圖修改的T' 是無法進入到 mempool裡的。 通常要做51%攻擊就是直接把修改T'加入到自己產生的區塊中了。 這樣後來Bob要重新廣播T將會沒有作用 -- Bitcoin: 1GjHNjS3yAmyCsRp8i8yj956NZBSAcLvYe https://blockchain.info/address/1GjHNjS3yAmyCsRp8i8yj956NZBSAcLvYe Litecoin: LNpJUtNFcmhHAoohdH3aEenURFjXAzfKXc http://ltc.blockr.io/address/info/LNpJUtNFcmhHAoohdH3aEenURFjXAzfKXc Dogecoin: DBQAZU4x7hCYEjzsQyXLpnjyrTmnPBGWd9 https://dogechain.info/address/DBQAZU4x7hCYEjzsQyXLpnjyrTmnPBGWd9 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.171.107.23 ※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1465528554.A.57D.html
transt: 請問為什麼廣播T將會沒有作用?T原本不是有Alice的 06/10 11:38
transt: signature嗎?這樣T不是有可能進到其他的block之中? 06/10 11:39
transt: 另外上篇推文說到通常錢包會把unconfirmed的交易也計算 06/10 11:41
transt: 到餘額中,那請問是只要transaction產生,錢包的餘額就 06/10 11:43
transt: 會產生變化嗎?如果Alice想要看到那一個BTC回到他的錢包 06/10 11:45
transt: ,是要等到T從整個network中消失嗎? 06/10 11:47
因為T有T'的input,input一旦被用走就無法被其他的transaction用。 所以本來的T就會變成無效交易,不會被任何節點接受,從網路中消失。 Alice想要看到BTC回到她的錢包,必須等沒有T的blockchain產生。 T完全從網路中消失,自己的錢包重新同步。 餘額才會復原 ※ 編輯: DarkerDuck (118.171.107.23), 06/10/2016 12:25:40 ※ 編輯: DarkerDuck (118.171.107.23), 06/10/2016 12:26:18
transt: 非常感謝你的回覆! 06/10 13:13
transt: 不好意思我又有一個小問題: 06/10 13:34
transt: 當初Alice在送出/廣播 T 的同時,Alice的wallet中BTC數目 06/10 13:35
transt: 是否就會-1? 06/10 13:36
DarkerDuck: 看錢包的設計,通常送出當下balance就會直接-1 06/10 14:58
transt: 真的非常感謝你幫我解惑! 06/11 12:06