Re: [求助] 關於double spend的問題

看板DigiCurrency (數位貨幣)作者 (達克鴨)時間8年前 (2016/06/10 11:15), 8年前編輯推噓4(408)
留言12則, 2人參與, 最新討論串2/2 (看更多)
你講得這個情形就是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

06/10 11:38, , 1F
請問為什麼廣播T將會沒有作用?T原本不是有Alice的
06/10 11:38, 1F

06/10 11:39, , 2F
signature嗎?這樣T不是有可能進到其他的block之中?
06/10 11:39, 2F

06/10 11:41, , 3F
另外上篇推文說到通常錢包會把unconfirmed的交易也計算
06/10 11:41, 3F

06/10 11:43, , 4F
到餘額中,那請問是只要transaction產生,錢包的餘額就
06/10 11:43, 4F

06/10 11:45, , 5F
會產生變化嗎?如果Alice想要看到那一個BTC回到他的錢包
06/10 11:45, 5F

06/10 11:47, , 6F
,是要等到T從整個network中消失嗎?
06/10 11:47, 6F
因為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

06/10 13:13, , 7F
非常感謝你的回覆!
06/10 13:13, 7F

06/10 13:34, , 8F
不好意思我又有一個小問題:
06/10 13:34, 8F

06/10 13:35, , 9F
當初Alice在送出/廣播 T 的同時,Alice的wallet中BTC數目
06/10 13:35, 9F

06/10 13:36, , 10F
是否就會-1?
06/10 13:36, 10F

06/10 14:58, , 11F
看錢包的設計,通常送出當下balance就會直接-1
06/10 14:58, 11F

06/11 12:06, , 12F
真的非常感謝你幫我解惑!
06/11 12:06, 12F
文章代碼(AID): #1NMZ3gLz (DigiCurrency)
討論串 (同標題文章)
文章代碼(AID): #1NMZ3gLz (DigiCurrency)