Re: [閒聊] BCH遭受51%攻擊?

看板DigiCurrency (數位貨幣)作者 (達克鴨)時間5年前 (2019/05/26 22:01), 5年前編輯推噓18(18023)
留言41則, 15人參與, 5年前最新討論串2/2 (看更多)
因為有人說我不會回文啦,所以還是回一下好了。雖然這些人都是嗆一句就落跑了。 首先,orphaned block本來就不是什麼天崩地裂的事情,BTC自己也時常發生。 https://www.blockchain.com/btc/orphaned-blocks 最近一次也不過就今年的2月11日,而且BTC已經是所有區塊鏈貨幣裡面最穩的了。 Ethereum uncle block更是恐怖,每幾分鐘就有一次。 https://etherscan.io/uncles 因此要跟Bitcoin一樣在Ethereum接受零確認交易不可行的主要原因就在這邊。 而這也是各個交易所也都會要求不只一個確認的主要原因。 就算是BTC這麼穩定的加密貨幣,通常至少也要三個確認,甚至要六個確認。 不然交易一個確認被reorg後丟棄了怎麼辦?? 但是這次BCH orphan block高度高達2個blocksㄝ,超嚴重ㄝ~~~ 那其實BTC歷史上有發生過因為新釋出的節點軟體有bug, 因而發生深度高達24 block的reorg,這才是真的超嚴重。 https://bitcoin.org/en/alert/2013-03-11-chain-fork 因為交易所的六個確認都還不夠安全了,有可能造成交易所資金損失。 而一般交易所對於BCH都要求三個確認以上,所以高度為2的reorg大家根本無感。 而且這次reorg其實也符合中本聰白皮書發生的行為。 https://bitcoin.org/bitcoin.pdf The system is secure as long as honest nodes collectively control more CPU power than any cooperating group of attacker nodes. Nodes always consider the longest chain to be the correct one and will keep working on extending it. If two nodes broadcast different versions of the next block simultaneously, some nodes may receive one or the other first. In that case, they work on the first one they received, but save the other branch in case it becomes longer. The tie will be broken when the next proof-of-work is found and one branch becomes longer; the nodes that were working on the other branch will then switch to the longer one. (reorg) 也就是說在攻擊行為發生的當下,blockchain reorg反而是一種保護機制。 這些攻擊礦工或許可以長出深度個位數的攻擊鏈,但是確認數一拉長, 那這些攻擊鏈終究會被誠實的礦工所丟棄,保護整個網路的安全。 白皮書最後面甚至算機率給你看了。 而這次的事件,無論Bitcoin abc還是Bitcoin Unlimited都沒有做出任何的"指令" 根本和"中心化"無任何關係,反而體現了中本聰當初白皮書所實現的去中心化安全機制。 我只能說這種白皮書連看都不看,惡意亂定義的行為真的很Blockstream Core。 那為什麼會發生這種攻擊,問Blockstream Core的偉大發明,軟分叉segwit啊。 軟分叉為什麼是軟分叉?? 因為segwit交易的驗證機制並沒有強迫所有節點遵循為consensus rule 當然是"軟"的啊,我礦工想驗證就驗證,不驗證也沒差,大家憑"良心"啊 XDDD DDD DDD 把segwit交易的簽章搬離主鏈共識,丟到segwit data,大家想驗再來驗, 甚至該給的礦工手續費還少給一點,真的很有創意呢~~~ 這就造成了對於一些懶得驗的礦工,segwit地址的比特幣是anyone can spend it。 但是因為BTC的算力巨大,在礦工普遍都有驗證segwit簽章的狀況下。 惡意礦工想要搬走所有segwit coin的攻擊鏈要長出來,是非常困難的。 很不幸的是,BCH的開發者決定出來攪這坨屎,雖然BCH的cash address已經實施很久了。 還是有很多人把BCH丟到了BTC的segwit地址,而且數量高達好幾千BCH了。 BCH的dev覺得總該要有一些救援機制,可以讓所有者把BCH救回去。 所以就新增了BCH segwit的救援交易,可以讓本來的所有者將BCH救援回原本的BCH。 並開放六個月讓大家來救援。 https://tinyurl.com/y3omab7k 這就是問題的來源了,我BCH的礦工幹嘛要去驗這個沒在共識機制內的segwit交易。 有些礦工就偷懶不驗了,而且攻擊的利益高達數千BCH,這次的攻擊行為就這樣產生了。 首先有個未知的礦工要將本來segwit地址的BCH都占為己有。並且產生了區塊。 然後ProHashing這個礦池沒有驗segwit data,也在繼續上面挖礦,長到了高度2。 但是後來佔算力多數的BTC.com和BTC.POP不承認這些具有竊取交易的攻擊鏈。 當然就是從前兩個未包含竊取交易的鏈繼續挖,因為誠實礦工佔有的算力較多。 因此攻擊鏈就被整個網路orphan掉,整個網路被誠實礦工所保護。 這本來就是白皮書裡寫的安全機制正常發揮,完全是跟所謂的51%"攻擊"顛倒過來的事件。 -- simpleledger:qryeahexpqszdt9ffech6jhxu6wsfp0fnyhgd44ahf Bitcoin: 1GxtyprMfcxE366BDUsg1skQyuAnxktZjc https://www.blockchain.com/zh/btc/address/1GxtyprMfcxE366BDUsg1skQyuAnxktZjc Bitcoin Cash: bitcoincash:qp928h4q4xasa5wh2x88xhsxgc4vwj6g95uzq0ak97 https://goo.gl/2qNr43 Ethereum: 0x4A2B1e35eb64141bbad4C58cB7D79692bC5Dbbc2 https://etherscan.io/address/0x4A2B1e35eb64141bbad4C58cB7D79692bC5Dbbc2 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.227.201.139 ※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1558879266.A.022.html ※ 編輯: DarkerDuck (61.227.201.139), 05/26/2019 22:12:19 ※ 編輯: DarkerDuck (61.227.201.139), 05/26/2019 22:17:34

05/26 22:19, 5年前 , 1F
就一般人不用擔心的問題
05/26 22:19, 1F

05/26 22:21, 5年前 , 2F
推版主真的懂超多,長知識了!看完後深深覺得BCH才是
05/26 22:21, 2F

05/26 22:21, 5年前 , 3F
持續貫徹中本聰的理念啊!只是太佛心想要救回那些送錯
05/26 22:21, 3F

05/26 22:21, 5年前 , 4F
地址人們的幣卻衍生出這樣的事件!
05/26 22:21, 4F

05/26 22:46, 5年前 , 5F
推~版主真佛心
05/26 22:46, 5F

05/26 23:00, 5年前 , 6F
05/26 23:00, 6F

05/26 23:27, 5年前 , 7F
借串詢問 請問版主認為bch還應該改進那些地方呢?
05/26 23:27, 7F

05/26 23:30, 5年前 , 8F
BCH有自己的roadmap
05/26 23:30, 8F

05/26 23:30, 5年前 , 9F

05/26 23:32, 5年前 , 10F
BCH幾乎每次硬分叉升級就會受到各個方面的攻擊
05/26 23:32, 10F

05/26 23:33, 5年前 , 11F
最重要的還是在算力這麼少的狀態下撐到flip
05/26 23:33, 11F

05/26 23:34, 5年前 , 12F
不然算力這麼少,一直都是非常大的隱憂
05/26 23:34, 12F

05/26 23:34, 5年前 , 13F
樓下斯德哥爾摩症候群演出
05/26 23:34, 13F

05/27 00:14, 5年前 , 14F
推個 解說真完整
05/27 00:14, 14F

05/27 01:13, 5年前 , 15F
板主解說有深度又易懂,推!
05/27 01:13, 15F

05/27 07:24, 5年前 , 16F
請問為什麼以前可以零確認交易?現在有什麼幣可以嗎?
05/27 07:24, 16F
以前BTC的零確認支付的確是產業標準 Bitpay和coinbase都普遍支援BTC的零確認支付 https://youtu.be/ZWcezOH06Ds?t=105
因為BTC支付實在是太穩定可靠了, 大部份交易只要一發出幾乎可以肯定在下一個區塊被確認。 但是零確認支付當然有些先決條件: 首先支付交易必須不能被Replaced by fee,且礦工也要普遍遵循First seen的規則。 區塊鏈必須非常穩定,orphaned block和blockchain reorg的情況必須非常少見。 另外很重要的就是區塊鏈不能夠塞車,沒有那種交易塞在mempool一個月的鳥事。 那這樣就可以肯定符合標準的交易可以99.99%安全地進到區塊鏈內。 但是現在BTC的交易很多都有RBF,然後更嚴重的是常態性的塞車。 那根本不可能安全地的接受大部分的交易。那支付處理商自然就乾脆不支援了。 目前的確也有其他加密貨幣是可零確認支付的,不過那些幾乎都是中心化貨幣。 譬如Ripple, Stellar, EOS 因為驗證節點幾乎都是官方認可的,當然沒有所謂的雙花攻擊問題。 而去中心化的貨幣,最容易實現零確認支付的是BCH。 因為BCH直接把RBF這個anti-feature移掉了, 而且BCH只要1 sat/byte就幾乎確保這個交易可以在下個區塊被確認。 只是因為常常受到攻擊,使得BCH的區塊鏈不若BTC那樣的穩定。 目前Bitpay有些商家的確允許BCH的零確認支付。 但交易所為了安全性普遍不接受去中心化貨幣的零確認存款。 唯一的例外是CoinEx可接受BCH的零確認存款。 不過目前BCH正在研發avalanche pre-consensus 到時候BCH的零確認支付將會達到比以前的BTC零確認支付更安全的地步。 因為連礦工自己想要雙花交易都難以實現。 到時候大概就可以實現第一個被交易所普遍接受的零確認存款的去中心化加密貨幣。 只要數秒,交易所可以存款入帳。 https://tinyurl.com/y2kdgxsq

05/27 09:06, 5年前 , 17F
05/27 09:06, 17F
※ 編輯: DarkerDuck (36.237.86.196), 05/27/2019 12:39:31

05/27 13:46, 5年前 , 18F
推 BCH凸了木
05/27 13:46, 18F

05/27 17:14, 5年前 , 19F
05/27 17:14, 19F

05/27 19:50, 5年前 , 20F
太強大了
05/27 19:50, 20F

05/27 20:45, 5年前 , 21F
超~強!再請問一下,這個阿瓦龍奇(雪崩)預共識要怎
05/27 20:45, 21F

05/27 20:45, 5年前 , 22F
麼處理粉塵攻擊?
05/27 20:45, 22F

05/27 20:53, 5年前 , 23F
或是說,bch拿掉RBF要怎麼處理粉塵攻擊?
05/27 20:53, 23F

05/27 20:56, 5年前 , 24F
Replaced by Fee和粉塵攻擊沒有關係吧
05/27 20:56, 24F

05/27 20:56, 5年前 , 25F
通常要解決粉塵攻擊就是把output的最小值提高一點就好
05/27 20:56, 25F
其實要解決SPAM問題,有非常多種的解決方案,偏偏Core那些天才選擇一個最爛的方法。 而且那些方案甚至中本聰還在的時候就都想出了,Core卻完全不提變成黑歷史。 要知道早期比特幣可以是免手續費的,再重複一次,免~~手~~續~~費~~ 那要怎麼避免這些免手續費的交易塞爆區塊鏈? 當時就是用Coin Days Destroyed來排序這些免手續費交易的權重。 簡單的講假如你有一筆數量夠大,放得夠久的比特幣,那你發出的交易優先權就會比較高。 因為SPAM交易都是頻繁、小金額的交易。 就~~是~~這~~麼~~簡~~單~~ ※ 編輯: DarkerDuck (36.237.86.196), 05/27/2019 21:03:07

05/27 20:59, 5年前 , 26F
是指設定最低手續費嗎?
05/27 20:59, 26F
粉塵攻擊是指發出一些金額非常小的交易,塞爆UTXO set, 所以BTC和BCH理論上的最小單位是1 sat,但實際上你不能發出低於546 sat的交易 低於546 sat就當你是粉塵。 假如真的有人閒著沒事做出嚴重的粉塵攻擊,那就提高就可以解決了。 ※ 編輯: DarkerDuck (36.237.86.196), 05/27/2019 21:06:58

05/27 21:37, 5年前 , 27F
想搭題問個弱弱的問題,BCH會在明年跟BTC一起減產嗎?
05/27 21:37, 27F

05/27 21:37, 5年前 , 28F
因為知道他是貫徹中本聰的理念,所以猜想他應該也有產
05/27 21:37, 28F

05/27 21:37, 5年前 , 29F
量上限,當初跟BTC硬分叉出來時的量是否等同於當時BTC
05/27 21:37, 29F

05/27 21:37, 5年前 , 30F
既有的數量呢?
05/27 21:37, 30F
https://coinsalad.com/bitcoincash/halving 一樣會減產 上限和Bitcoin一模一樣,都是兩千一百萬。 維持未來安全性的想法也是和Bitcoin一模一樣,靠全球擴容的手續費來支撐礦工安全。 ※ 編輯: DarkerDuck (36.237.86.196), 05/27/2019 21:41:42

05/27 21:40, 5年前 , 31F
不RBF比較困擾的應該是碰上塞車沒辦法提高手續費進不
05/27 21:40, 31F

05/27 21:40, 5年前 , 32F
了鏈只能等從mempool裡被移掉後才能重發交易?
05/27 21:40, 32F
其實以本來Bitcoin的想法,本來就沒有卡在mempool裡,需要fee market往上競標的鳥事。 本來的fee market是指往下競標。是完全的消費者市場。 因為中本聰早就說過Bitcoin的擴容 "沒有極限" 假如你的交易沒有很急,你大可以設定一個非常低的手續費,等某個缺錢礦工撿走。 在早期的想法裡甚至是零手續費,讓礦工做功德 XDDD 反正在早期的年代,參與比特幣的礦工很多都是非常有理想的。 總會有些公益型礦工出現。 像是現在的bitcoin.com,你可以直接發出低於1sat/byte的交易給他。 他有機會接受你這個低於最低標準手續費的交易,甚至是零手續費。 https://tinyurl.com/y5k5vq99 就算真的block滿了,也大可不必使用RBF這個爛方法, 比較好的方法是縮短mempool的expire time為48小時,那這筆交易就會timeout被踢出。 使用者就可以用更高手續費重發。 或甚至使用者可以直接自訂expire time為多少block,超過就直接被踢出。 這實作上根本也沒什麼難度,就Core那些天才想不出來而已。 ※ 編輯: DarkerDuck (36.237.86.196), 05/27/2019 22:30:04 ※ 編輯: DarkerDuck (36.237.86.196), 05/27/2019 23:14:23

05/28 00:12, 5年前 , 33F
還是不太懂,再提問一下。前面說的是以交易幣齡權重
05/28 00:12, 33F

05/28 00:12, 5年前 , 34F
做為成塊依據,那應該就是買方市場,礦工沒決定要挖
05/28 00:12, 34F

05/28 00:12, 5年前 , 35F
哪些交易區塊的權力?而後面提到可以設定低手續費,
05/28 00:12, 35F

05/28 00:13, 5年前 , 36F
等缺錢礦工挖,感覺礦工還是有可以依區塊內交易的手
05/28 00:13, 36F

05/28 00:13, 5年前 , 37F
續費做選擇?
05/28 00:13, 37F

05/28 00:14, 5年前 , 38F
最後面說如果交易一直無法成塊,可以提高手續費重發,
05/28 00:14, 38F

05/28 00:14, 5年前 , 39F
是因為手續費也包在權重內嗎?或有包含手續費比率嗎?
05/28 00:14, 39F
在我剛認識比特幣的時候,BTC是可以發出免手續費的交易的。 連當時的bitcoin.org都這樣寫。 Zero or low processing fees https://web.archive.org/web/20140122225824/http://bitcoin.org/en/ 有付手續費當然就依照sat/byte手續費的高低來決定優先權。 假如是比較不想要處理交易的礦工,甚至可以設定一定手續費以下的交易都不爽收。 但是因為區塊空間還很大,所以很多礦工都還會留一定比例的區塊空間給零手續費的交易。 那要決定那些交易可以進來,就是依照幣齡,幣齡夠高的交易才能享受到免手續費的優惠。 當然現在這些優惠全都毀了,因為1MB連塞高手續費的交易都不夠用了。 還給你塞免費交易喔,礦工腦袋又不是壞了。 現在BTC基本上不會收任何的免費交易,都是直接依照sat/byte手續費高低來決定優先權。

05/28 00:15, 5年前 , 40F
礦工可以挑塊挑交易挖.但變孤兒塊就不划算啊
05/28 00:15, 40F
※ 編輯: DarkerDuck (36.237.120.237), 05/28/2019 00:57:58

05/28 01:06, 5年前 , 41F
大概了解。感謝黑鴨熱心解說。
05/28 01:06, 41F
※ 編輯: DarkerDuck (36.237.83.39), 05/29/2019 01:31:04 ※ 編輯: DarkerDuck (36.237.92.96), 06/01/2019 16:39:35 ※ 編輯: DarkerDuck (111.255.218.160 臺灣), 08/13/2019 09:03:29
文章代碼(AID): #1SwfmY0Y (DigiCurrency)
文章代碼(AID): #1SwfmY0Y (DigiCurrency)