1月20日真出現了BTC雙花嗎?一文讀懂雙花問題
1月20日,BitMEXResearch發推稱,他們的ForkMonitor在BTC區塊鏈上監測到了一次雙花。“雙花”這個詞在社交媒體出現,引發了許多人的擔心,這都是可以理解的,所以我很快就想解釋一下到底發生了什么,以及“雙花”對BTC意味著什么。
陳腐區塊
根據中本聰共識,所有節點會自動更新到最長的有效鏈。這讓它們將本地賬本與其他節點同步。
有時兩個礦池會幾乎同時發現一個新區塊,這些區塊有相同的累積難度。然后一些節點接受第一個塊,其他節點則會接受第二個塊。在很短的一段時間內,BTC網絡會一分為二。但通常情況下,一旦找到下一個塊,分叉就會消失。
例如,假設一些礦工在666833-1區塊挖礦,其他一些礦工在666833-2區塊挖礦。一旦其中一個發現了第666834個塊,這個區塊鏈的累積挖礦難度會增加,所有接受了666833-1區塊的節點將會自動放棄自己的區塊鏈,并接受新的最長鏈。
這正是1月20日BTC網絡中發生的事情,SlushPool和F2Pool同時發現了區塊666833。在Binance礦池發現666834區塊后,F2Pool發現的區塊變成陳腐區塊,中斷了分叉。
現在陳腐區塊出現頻率變高,但這完全不用擔心。但是“雙花”又是什么呢?
什么是雙花?
金色熱搜榜:HC居于榜首:根據金色財經排行榜數據顯示,過去24小時內,HC搜索量高居榜首。具體前五名單如下:HC、DASH、MXC、KCASH、MANA。[2020/9/5]
關于雙花,有兩種流行的定義,一種偏技術,另一種偏實用。
從技術層面而言,當某一方收到的付款第一次加入到在區塊鏈中,如果稍后刪除這個交易,就會發生雙花。只有當包含該交易的區塊變成陳腐區塊后,才會發生這種情況。
此外,新的區塊鏈不包含T1是不夠的,否則這筆交易仍然可能被包含在下一個塊中。雙花出現后,T1交易記錄中的其中一條會同時出現在T2交易記錄中。由于在T2中包含這條記錄,T1就變成無效區塊,并從網絡中刪除。
我們將這種現象稱為雙花,不是因為用戶重復花了一筆錢兩次,而是這筆交易在區塊中出現了兩次。但是,從實際角度出發,如果T1發生在T2之前,這也會產生不同影響,因為加密貨幣的所屬權會發生改變。
換言之,T1交易的收款方還要額外支付一定的貨款,以下是雙花的一個例子:
1.?雙花攻擊發起者在一個交易所存入100萬美元的ETC。
2.?他把ETC全部換成了等值的BTC,然后把全部BTC提現。
3.?攻擊者通過創建另一筆含有同樣數量ETC的T2交易,從而對交易所發起雙花攻擊。
4.?攻擊者現在就有了100萬美元的ETC和100萬美元的BTC,而交易所則虧損了100萬BTC。
分析 | 金色盤面:市場尚未擺脫弱勢:金色盤面綜合分析:BTC昨天一波跳水行情,帶動市場整體進入調整狀態,BTC跌1.38%,ETH跌2.25%,XRP跌3.56%,近幾日的明星幣種MIOTA跌4.84%,從市值靠前的標的看,雖然全線收跌,但尚在合理范圍,大概率是技術調整,請投資者保持理智。[2018/8/31]
第三步與開空頭支票一樣,但其實很難在BTC網絡中實現。如果要對T1交易記錄進行修改,意味著要修改T1之前的所有區塊,對于攻擊者來說,他要控制很大的算力才能做到這一點。所以,只有礦工或者是在NiceHash租用算力的人才能夠發起這種攻擊。
如今,那些最大規模的加密貨幣網絡都不會受到雙花攻擊。如果有人從Nicehash租借了所有的SHA256哈希算力(約500PH/s),那只是比特幣當前哈希率(123EH/s)的0.4%。
基本上所有的雙花攻擊,包括最近發生的這次,都不能造成損失。除了兩個礦池恰巧發生挖礦競爭,即使是大型礦工故意不上傳包含T1的區塊,只要節點遵循共同的6個區塊確認規則,攻擊者并不能從中獲利。在這種情況下,我們看到含有同一筆交易的T1和T2在不同時間被確認。
所以,對于BTC用戶,他們有充分理由來廣播這種含有同一筆交易的區塊。
替換你的交易
用戶向網絡廣播一筆交易后,這些交易會按照價格高低進行排序。用戶通過增加手續費,希望礦工將其打包進區塊中。理性的礦工傾向于將手續費最高的交易打包進區塊,因為能獲得最大利潤。
分析 | 金色盤面:BMI指數提示買入BTC最佳時機:金色盤面綜合分析: 據華爾街著名分析師Tom lee創建的btc misery index顯示,目前BTC已進入最佳買入時機。該指數為監測交易所波動性工具,當低于27時,為買入信號,而當前指數為18.8,創下過去7年中絕對最低值。[2018/8/27]
這種交易處理機制有其獨特之處:添加手續費后,如果一個交易不能在預計時間內打包入塊,它不會被撤回,而是自動進入下一輪。如果手續費太低,交易無法打包進區塊,會成為一個大問題,導致這筆交易長時間得不到確認。
因此,用戶需要一種方法來提高已廣播的交易的手續費。對用戶而言,他們第一次出價可以比較低,因為可以選擇之后提高手續費,讓這一機制更高效運行。
最后,在閃電網絡中,如果要關閉支付通道,可能也要增加手續費。不增加手續費的話,關閉時間就會有嚴格限制,錯過這個時間后,用戶可能會遭受資金損失。
用戶有以下三種方式讓自己的交易更快得到確認:
1.?子交易為父交易支付方案
2.?交易加速器
費用替代
如果交易手續費不夠高,通過子交易為父交易支付方案,交易能夠更快得到確認。在該方案下,用戶廣播一個子交易,該交易的輸出來自未確認的父交易,這筆費用會比通常情況下更高。而子交易的有效性取決于父交易是否能打包入塊,如果一個礦工想從子交易中獲得高于一般水平的手續費,就要把兩筆交易同時打包入塊。
金色財經獨家分析 指望比特幣挖礦帶動半導體產業缺乏現實基礎:多家證券機構發布報告稱,半導體產業景氣將由第1季淡季逐漸步出谷底,當中又以高效能運算(HPC)發展最強勁,高速運算特別是比特幣挖礦可望成為帶動半導體產業成長關鍵。金色財經獨家分析,根據Coinmarketcap數據顯示,2018年第一季度虛擬貨幣市場遭受重創,自1月初以來,市值總額下降了59%。而2018年第一季度也是比特幣市場表現最差的季度之一 。自2018年初以來,比特幣價值損失約50%。在這樣的行情表現下,礦工收益降低,甚至出現了收益不足以抵消電費成本的狀況,之前幣網就發出公告稱,幣網運行的B11、B12、B16云算力合約由于收益不足以抵消電費支出,暫時停止執行。在這樣的狀況下券商指望比特幣挖礦帶動半導體產業似乎缺乏現實基礎,需等待加密貨幣走出熊市。[2018/4/8]
交易加速器提供了一個鏈下市場,用于確認鏈上手續費不足的交易。通常情況下,加速器由礦池提供,有免費的,也有付費的。用戶可以將交易ID粘貼到加速器,礦池會優先打包這個交易。由于不需要簽名,發送方和接收方以及其他任何人都可以使用加速器。
通過費用替代,用戶可以創建另一筆同樣的交易,該交易的手續費比前一筆未確認的交易要高,讓交易得以確認。(如果花費不是來自相同的輸入,它將是一個完全獨立的交易。)
就替代交易而言,增加未確認交易的手續費能夠實現替代,除此之外,其對于重復批量支付等場景大有用處。在通常情況下,批量支付將多筆支付合并到同一筆交易中,然后再廣播,但同樣可以先廣播一筆交易,在一個礦工將其包含在區塊之前,向這筆交易添加更多的支付。
金色財經現場報道 工信部電子五所高級工程師相里朋:區塊鏈并不成熟:金色財經現場報道,在2018區塊鏈技術及應用峰會上,工信部電子五所高級工程師相里朋表示,區塊鏈不是萬金油,區塊鏈是一種底層基礎架構,并不適用所有場景。僅強調區塊鏈并沒有用,只有與云計算、大數據、人工智能等技術融合,在實際業務場景中應用創新,才具備解決問題的能力。相里朋還稱,區塊鏈并不成熟,目前區塊鏈處于發展初期,雖然在各領域應用有較大的發展空間,單頁存在諸多問題與風險。當前參與多為技術極客、行業先鋒(炒幣除外),多數仍在跟蹤觀望和探索。[2018/4/1]
1月20日的那筆交易屬于什么性質?
讓我們重回正題,666833-1,666833-2,?和666834區塊究竟發生了什么?
下圖是BTC工程師兼研究員0xB10C對這個問題的解釋。一位名為Alice的用戶先后廣播了三筆交易,逐漸增加這些交易的手續費。
第一筆交易的手續費是1sat/b,但是因為太低不能打包入塊。所以,大約23小時后,Alice決定使用RBF替代該交易,設置了9.4sat/b的手續費。值得注意的是,Alice此時已經等待了幾乎一整天,在廣播替代交易之前,交易仍未確認。但是,新的手續費仍然太低,所以她在三個小時后又提高了手續費。
以上分析后來也得到了BitMEXResearch的證實。
這筆交易是雙花嗎?
上文提到用戶在交易被確認之前,可以使用費用替代,以替換交易。由于用戶試圖取消先前未確認的交易,并將其發回給自己,因此,增加手續費之后,隨后交易的輸出通常與第一筆不同。能夠肯定的是,這就是Alice替換第二筆和第三筆交易發生的情況。
因此,擁有不同輸出的交易可以同時在網絡中存在。礦工打包兩個輸出不同的交易時,先打包的交易可能會無效。這第一眼看起來像是雙花。
雖然理論上講,BTC網絡可能出現雙花,但這通常不是一個嚴重的問題。以下會提及一些情況,當這些情況出現時,你就應該感到恐慌了:
無效交易的價值在數千萬到數億美元之間。雙花可能會嚴重損害BTC的聲譽和市場價值,并且礦工使用的硬件價值數百億美元,考慮到這點,這些無效交易的存在,礦工能以最低成本獲利。作為對比,1月20日這筆交易的價值約為25美元。
交易所或其他大型機構如果不經過一定數量的區塊,就不會確認大額交易。因此,雙花攻擊者無法通過替換單個區塊,拿回已經支付的款項,因為如果要這么做的話,他可能要替換10個以上的區塊。這就要求與現有的大多數礦工相互勾結,但是這樣做可能會破壞挖礦硬件的投資。
關于雙花有許多討論,但最終都回歸到對“雙花”一詞的定義。今天我提供了其中兩個定義,其中一個是技術性的,指的是存在兩個相同的輸入,并沒有涉及到用戶層面。這種雙花顯然已經發生,但對其他用戶沒有任何影響。
從實際意義上說,雙花就像是在向另一位用戶付款后退還支票。非常肯定的是,這種雙花并沒有發生,原因如下。
1.?最有可能的情況就是,是用戶讓自己的交易變為無效。
發生這種雙花的因素并沒有出現,比如說更大額無效交易以及更多的陳腐區塊。
媒體對“雙花”之類的術語非常敏感,所以,“雙花”這個詞應盡量避免使用,除非真的發生了以上這種對BTC網絡有害的雙花。相反,1月20日的情況應該歸類為“無效交易”,這個詞含義更廣泛,用戶可能出于多種原因取消交易。
Alice究竟想干嘛?
能夠確認的是,在1月20日的情況中,礦工沒有故意用更高難度的區塊鏈替換另一個區塊,以撤回一筆金額非常大的支付。它沒有涉及礦工,只是一個陳舊的區塊。
然而,許多人仍好奇,為什么Alice要廣播不同交易,為什么要替換原先的交易?這是否是嘗試對某個接受零配置網絡服務規范商家的雙花攻擊?
這種情況可以立馬排除,因為在初始交易和第一個交易替換之間,幾乎經過了整整一天。但Alice究竟給誰轉了代幣仍然是一個十分值得研究的點。我們雖然不知道輸出受到哪一方的控制,但可以通過推測來解決這個問題。
1.?因為輸入肯定受用戶控制,所以該數據可以忽略
2.?在很多情況下,只有一個輸出的交易屬于內部轉賬,即一個用戶給自己不同的錢包轉賬。當收款方是其他用戶的時候,錢包中剛好有這筆交易的輸入,這種情況很少出現。
對于有兩個輸出的交易,收款方通常都是第三方,而且余額會回到用戶,這也就是所謂的輸出變更。
基于以上分析,下圖顯示,交易2和3只有一個輸出,意味著Alice很可能是數據的控制方。交易1和交易3有相同的輸出,所以也很可能是同一種情況。
現在只剩下交易1的第二個輸出仍然是個謎,要解開這個謎團,需要換個角度去考慮這個問題,為什么交易費低的那個交易反而能夠打包入塊呢?Slushpool不愛錢了嗎?
答案顯然是否定的,Slushpool的操作非常正常。其實這背后的原因是這個交易的其中一方使用了上文提到過的父子支付方案,讓交易得以確認,這要么是Alice,要么是收款方。
換句話說,Alice還有第四筆交易,但是外界并不知道,包含了未得到打包的a13c2bd交易的輸出,收款方的地址是3JaLvP,是同一區塊內唯一輸入。
如上圖所示,新交易手續費更高,足以支付這兩筆交易。因為打包1290376交易的同時也要把a13c2bd交易打包,所以Slushpool必須同時打包這兩筆交易。
因為3JaLvP地址中支出了手續費,可以確定的是,這些資金確實轉到了目標賬戶里,實際上并沒有產生雙花。這一點是因為只有控制3JaLvP的私鑰,才能簽署父子支付方案,讓交易得以確認。
Alice試圖將這筆交易發送給第三方Bob的可能性很小,因為后者等的時間太久了。所以,Bob通過父子支付方案把未經確認的輸出轉回給自己。但這可能是Alice用自己的錢包匯款或嘗試不同的方式來提高交易費用。
所以,結論就是所有輸出數據都是由Alice控制。
本文內容來自于Deribit
1月27日,火幣生態鏈Heco公布首期“造物主計劃”獲獎名單,BasisGold、FilDA、Channels、EarnDefi和Beeswap榮獲“金牌造物主”稱號.
1900/1/1 0:00:00尊敬的用戶:根據《Hotbit關于交易中心分區轉區細則》,Hotbit定于2021年01月26日起將XEQ(Equilibria)、BONE(DogData)及EFIN(EFIN)從“主力區”轉.
1900/1/1 0:00:00原標題:Tellor的Chorus預言機協議Tellor最近發布了其Chorus的計劃。簡單來說,Chorus是社區貨幣協議.
1900/1/1 0:00:00Props是一個協助移動App部署及規劃積分系統并將其代幣化的平臺,從而提高App用戶忠誠度,將用戶的參與度轉化為經濟利益.
1900/1/1 0:00:00據新華社報道,美國國會參議院25日投票批準美國聯邦儲備委員會前主席珍妮特·耶倫出任財政部長。耶倫成為美國歷史上首位女性財長.
1900/1/1 0:00:00尊敬的庫幣用戶: 庫幣合約將于2021年1月28日16:00(UTC8)上線Aave(AAVE)和KSM(Kusama)永續合約,支持自主調節1-50倍杠桿,以USDT穩定幣結算,敬請體驗.
1900/1/1 0:00:00