301
比特幣
比特幣又要潛在分裂了,得知道重放攻擊原理和防範措施了
第0章 引言
比特幣又可能將麵臨分裂了,持幣用戶最需要注意的就是如何保護自己的財產。
第1章 區塊鏈分裂後的重放攻擊
11月份將有Segwit2x的第二部分部署升級,開發者還沒對這個升級達成統一意見,而且礦工目前明麵上好像是統一了意見說要升級,但實際上還是有較大的分歧。因此這一次升級也有可能會造成潛在的分裂。
Segwit2x這個協議升級目前主要是在btc1這個比特幣節點軟件版本上部署,而目前比特幣網站上主要運行的是bitcoin core版本的節點。但Core版本的節點拒絕部署Segwit2x這個協議。這就是導致潛在分裂的最大原因,一個網絡上運行著不相兼容的兩套協議。如果到了11月要升級的時候,礦工無法統一版本,或者開發者拒絕發布相互兼容的版本,那分裂就會出現。
對於用戶來說,比特幣等區塊鏈分裂了,最需要注意的就是你將會等同拿到兩種幣。隻要你在分裂點前持有幣,那分裂後你就會變成兩種幣。
如何保護自己這兩種幣呢?最重要的是,你得知道你有兩種幣,然後是你要注意別被一種叫“重放攻擊”的操作讓你的其中一幣莫名其妙發給別人了。
首先講明白,重放攻擊其實根本就不是攻擊。目前幣圈流傳的各種關於重放攻擊的言論有點過於危言聳聽了。
重放攻擊,這裏的“攻擊”根本就不是別人對你發起的某種侵略或偷盜行為。而是因為比特幣區塊鏈分裂後的兩個分支鏈,都有相同的地址、私鑰和交易格式。你在分裂點前的幣,自動會被分裂後的兩條鏈都承認。
如果你使用分裂點前的幣發起一筆交易,在兩條鏈上這筆交易都會有效。這就是顯得你發了兩筆交易,這裏的另外一筆,就是“重放”。
我打個比方來解釋這個,在國軍退守台灣後,蔣公將大陸的很多機構都照樣在台灣複製了一遍。比如在台灣也建了清華大學。而在大陸的北京,也是有一個清華大學。
如果你在美國給清華大學寫一封信,就是用紙,讓郵遞員送的那種信。但收件地址上隻寫了“中國清華大學XXX收”
這個收件地址即可以解讀為是北京的清華大學,也可以解讀為台灣的清華大學。這下郵遞員麻煩了,他幹脆將你的信複印一遍,送到兩個大學去。
這就是重放攻擊。因為本來你隻想寄給台灣的清華大學,但現在卻被重放到了北京的清華大學。
所謂的防範重放攻擊,就是想辦法讓你發的交易,隻在一條鏈上有效,在另一條鏈上無效。從而可以避免“重放”。
第2章 重放攻擊的主要危害
重放攻擊本質上不是一種“攻擊”,它主要的危害在於用戶不小心把本該屬於自己的一種分裂幣,意外發給了別人。
比如比特幣在11月份分裂到了bt1和bt2兩種幣。如果用戶A不知道自己已經同時擁有了這兩種幣,還是當成是自己隻有一種幣。現在A將自己的幣發給了另外一個人B,其實本質上他發的隻是bt1,但因為重放攻擊的存在,導致B即可以收到bt1,又可以收到bt2,但B隻付給Abt1的錢。這樣用戶A就白白丟掉了一份分裂幣。
B是如何能收到A發的bt2幣呢?其實隻要用戶B將bt2幣的錢包打開,就自動能收到。用戶B其他的都不用做,就是自動能收到。如果收不到,就將bt1的交易txid拿bt2錢包去廣播一下,就可以收到了。因為bt1的交易就是bt2的交易。
第3章 為什麼開發者不願意在代碼層麵上修改交易格式來避免重放攻擊
在8月份比特現金BCC的分裂當中,就沒有重放攻擊這回事。因為BCC的交易格式是作了修改的,讓BCC的交易在BTC網絡上是非法的,而且讓BTC的交易在BCC網絡上也是非法的。這叫雙向防重放攻擊原理。
所以用戶A持有8月1日分裂點前的比特幣時,A給B發送BTC,是無法將自己的BCC也意外發給B的,哪怕是A不知道自己多了一種幣叫BCC。
但11月份這次潛在的分裂的兩個版本的比特幣節點軟件都是不包含防重放攻擊的代碼的。原本btc1還是包含了一個防重防攻擊的代碼,但現在刪了。
為什麼開發者不願意加這種防重防攻擊代碼呢?其實道理很簡單,因為“比特幣/BTC/bitcoin”的冠名權問題。
如果一個比特幣節點軟件主動加了防重防攻擊的代碼,就是將自己的交易格式改的和以前不一樣了,這在所有人看來就是一種主動放棄繼承比特幣/BTC/bitcoin的冠名權的行為。
冠名權非常重要。加多寶和王老吉的故事都知道吧,要多少廣告費也要搶到這個冠名權,沒搶到就混淆視聽,讓消費者不知道誰是原版。
第4章 普通用戶如何防範重放攻擊
潛在分裂前要做的事。
1首先在潛在的分裂時間點前,最好是將幣保存在自己控製私鑰的錢包裏。如果是在任何offchain錢包裏,能否提到分裂幣,得看這個錢包供應商的政策,他們會幫你拿到分裂幣,你才能分到。另外有BCC的經驗,大部分交易所和Offchain錢包雖然原則上同意分給用戶分裂幣,但卻一直不給用戶提現。到現在為止,BCC過去兩個多月了,還有交易所不給用戶提取BCC。所以在下次潛在分裂之前,最好是將幣存在自己錢包裏。
存在交易所的幣,提出來;存在理財公司的幣,提出來。無論你是提到輕錢包,還是完整節點錢包,都可以。但不建議使用HD錢包,因為HD錢包的私鑰通用性沒那麼強。
為了更加通用性,如果你的幣多的話,還是建議使用完整節點,現在就同時運行並下載潛在要分裂的兩個完整節點錢包,下載好區塊。
Btc1下載地址:https://github.com/btc1/bitcoin/releases
Bitcoin core 下載地址:https://bitcoin.org/en/download
分裂前你可以將幣存在上麵任意一個錢包裏,將wallet.dat備份出來。注意,這需要兩台電腦,或者一台電腦再裝一個虛擬機。
如果是輕錢包,使用“私鑰管理”功能,找出私鑰明文,抄下來。
2其次是要跟蹤比特幣是否分裂了。Segwit2x到了11月份升級的時候,是否會真的分裂,現在誰也不知道,隻有等到升級完成後才知道。
Segwit2x將在494784區塊高度上開始升級,大約是在11月18日。在這個高度之後,大家才知道比特幣是否再次分裂。
下麵這個網站會實時給出比特幣是否分裂的信息:
https://www.btcforkmonitor.info/
如果到了494784區塊高度,比特幣真分裂了,那各位之前持幣的人就有兩種幣了。這個時候請注意你要防範重放攻擊了。
如果分裂了,那分裂後要做的事是:
3分裂後,不要著急發送你的幣,而要先去買分裂後的幣來汙染你的幣。如果真的出現兩條鏈,並且在交易所已經上市,那就去交易所或找場外交易分別買一點這兩種幣。記住,兩種幣都要買(其實買一種也行的,不過為了安全最好是兩種都有)。不用太多,買最小額度的就行,但要買兩個不一樣的額度,比如bt1買0.011,bt2買0.012。然後分別將買到的幣提現發送你分裂前持有幣的地址。
4.然後你就可以執行分離幣的操作了。你先操作一個錢包,比如你之前存幣的是bitcoin core,同步到最新區塊後,你會發現收到0.011(或0.012,肯定隻能收到一種),先生成一個新地址。然後將全部的幣,轉入到這個新地址,這裏的全部幣就是包含了剛才新買的點一點幣0.011(或0.012)。
這種包括了分裂後的幣的UTXO交易,肯定是無法被重放的,所以你的另外一種分裂幣還在這個錢包文件裏。
然後你再將wallet.dat文件拷貝到btc1錢包下,同步到最新區塊,你會發現收到0.012(或0.011)。然後在新建一個地址,將所有幣發到這個新建的地址。
輕錢包的操作辦法也是一樣,隻是導致私鑰過程不能使用複製wallet.dat文件的方式,而是要使用”導入私鑰”功能。但新出來的分裂鏈的時候,輕錢包是否能及時出來,就不知道了。
5.這樣你就完成了你的幣的分離,你就有兩種幣了。就不會被重放攻擊。
第5章 結束語
今年是比特幣分裂年嗎?
(如果你想學習比特幣和區塊鏈知識,歡迎加入我的小密圈)
最後更新:2017-10-13 23:50:09
上一篇:
比特幣價格今日再創新高,市值超高盛和大摩
下一篇:
創新還是泡沫?比特幣市值已超過大摩、高盛
矽穀大佬:比特幣既像黃金又安全 被低估巨大潛力
比特幣價格衝擊6000美元後轉跌 5700美元或成價格支撐
巴菲特:比特幣是真正的泡沫,它無法創造價值
比特幣場外交易監測報告:場外交易份額從5%上升至20%
國家互金專委會發布《比特幣場外交易監測報告:三家場外平台兩周交易額達6.8億元》
共享晚報:巴菲特狠批比特幣,稱其為真正泡沫;PayPal聯合創始人:比特幣像一種儲備貨幣;穆迪報告:區塊鏈和加密貨幣威脅遙遠可期
比特幣買房成為現實,紐約、迪拜等5大城市開創先河
比特幣逆勢上揚後,騙子偽裝成銀行想空手套白狼!
比特幣價格不像鬱金香狂熱的5個原因
眾多“專家”看空比特幣,比特幣真的是“泡沫”嗎?