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發現的區塊變成陳腐區塊,中斷了分叉。
金色熱搜榜:LINA居于榜首:根據金色財經排行榜數據顯示,過去24小時內,LINA搜索量高居榜首。具體前五名單如下:LINA、AE、WAVES、NEO、ZT。[2021/5/4 21:22:58]
現在陳腐區塊出現頻率變高,但這完全不用擔心。但是“雙花”又是什么呢?
什么是雙花?
關于雙花,有兩種流行的定義,一種偏技術,另一種偏實用。
從技術層面而言,當某一方收到的付款第一次加入到在區塊鏈中,如果稍后刪除這個交易,就會發生雙花。只有當包含該交易的區塊變成陳腐區塊后,才會發生這種情況。
此外,新的區塊鏈不包含T1是不夠的,否則這筆交易仍然可能被包含在下一個塊中。雙花出現后,T1交易記錄中的其中一條會同時出現在T2交易記錄中。由于在T2中包含這條記錄,T1就變成無效區塊,并從網絡中刪除。
我們將這種現象稱為雙花,不是因為用戶重復花了一筆錢兩次,而是這筆交易在區塊中出現了兩次。但是,從實際角度出發,如果T1發生在T2之前,這也會產生不同影響,因為加密貨幣的所屬權會發生改變。
換言之,T1交易的收款方還要額外支付一定的貨款,以下是雙花的一個例子:
1.?雙花攻擊發起者在一個交易所存入100萬美元的ETC。
2.?他把ETC全部換成了等值的BTC,然后把全部BTC提現。
3.?攻擊者通過創建另一筆含有同樣數量ETC的T2交易,從而對交易所發起雙花攻擊。
BTC減半倒計時|金色財經挖礦收益播報:金色財經報道,據OKEx礦池數據顯示,下一次BTC減半日期預計為2020年5月10日,今天距此還有61天。BTC當前塊高620872,下一次減半塊高630000。
今日全網算力約121.13 EH/s,全網難度約15.49T,預測下次難度16.56T(+6.94%),距離調整還剩還有1天,今日BTC收益:0.00001624 BTC/T/天。[2020/3/9]
4.?攻擊者現在就有了100萬美元的ETC和100萬美元的BTC,而交易所則虧損了100萬BTC。
第三步與開空頭支票一樣,但其實很難在BTC網絡中實現。如果要對T1交易記錄進行修改,意味著要修改T1之前的所有區塊,對于攻擊者來說,他要控制很大的算力才能做到這一點。所以,只有礦工或者是在NiceHash租用算力的人才能夠發起這種攻擊。
如今,那些最大規模的加密貨幣網絡都不會受到雙花攻擊。如果有人從Nicehash租借了所有的SHA256哈希算力(約500PH/s),那只是比特幣當前哈希率(123EH/s)的0.4%。
基本上所有的雙花攻擊,包括最近發生的這次,都不能造成損失。除了兩個礦池恰巧發生挖礦競爭,即使是大型礦工故意不上傳包含T1的區塊,只要節點遵循共同的6個區塊確認規則,攻擊者并不能從中獲利。在這種情況下,我們看到含有同一筆交易的T1和T2在不同時間被確認。
所以,對于BTC用戶,他們有充分理由來廣播這種含有同一筆交易的區塊。
替換你的交易
獨家 | 金色財經2月19日挖礦收益數據播報:金色財經報道,據印比特數據顯示,按照BTC參考價格70900元、電價0.38元/kWh計算,當前在售主流BTC礦機的市場價格及回本周期為:阿瓦隆1066-50T(全新現貨6300元,215天回本)、神馬M20S-68T(全新現貨12600元,254天回本)、芯動T3+-57T(全新現貨9300元,269天回本)、螞蟻S17Pro-56T(全新現貨12500元,312天回本)。[2020/2/19]
用戶向網絡廣播一筆交易后,這些交易會按照價格高低進行排序。用戶通過增加手續費,希望礦工將其打包進區塊中。理性的礦工傾向于將手續費最高的交易打包進區塊,因為能獲得最大利潤。
這種交易處理機制有其獨特之處:添加手續費后,如果一個交易不能在預計時間內打包入塊,它不會被撤回,而是自動進入下一輪。如果手續費太低,交易無法打包進區塊,會成為一個大問題,導致這筆交易長時間得不到確認。
因此,用戶需要一種方法來提高已廣播的交易的手續費。對用戶而言,他們第一次出價可以比較低,因為可以選擇之后提高手續費,讓這一機制更高效運行。
最后,在閃電網絡中,如果要關閉支付通道,可能也要增加手續費。不增加手續費的話,關閉時間就會有嚴格限制,錯過這個時間后,用戶可能會遭受資金損失。
用戶有以下三種方式讓自己的交易更快得到確認:
1.?子交易為父交易支付方案
2.?交易加速器
費用替代
動態 | 金色財經“2018年度最具影響力企業”正式揭曉:1月21日,由金色財經主辦,數動派、TokenInsight協辦的“共識無界”金色財經2018年度風云榜——“2018年度最具影響力企業”正式揭曉,入榜企業有:阿里巴巴、中國人民銀行、嘉楠耘智、眾安科技、騰訊科技、網易、HTC、百度、京東、e簽寶。[2019/1/21]
如果交易手續費不夠高,通過子交易為父交易支付方案,交易能夠更快得到確認。在該方案下,用戶廣播一個子交易,該交易的輸出來自未確認的父交易,這筆費用會比通常情況下更高。而子交易的有效性取決于父交易是否能打包入塊,如果一個礦工想從子交易中獲得高于一般水平的手續費,就要把兩筆交易同時打包入塊。
交易加速器提供了一個鏈下市場,用于確認鏈上手續費不足的交易。通常情況下,加速器由礦池提供,有免費的,也有付費的。用戶可以將交易ID粘貼到加速器,礦池會優先打包這個交易。由于不需要簽名,發送方和接收方以及其他任何人都可以使用加速器。
通過費用替代,用戶可以創建另一筆同樣的交易,該交易的手續費比前一筆未確認的交易要高,讓交易得以確認。(如果花費不是來自相同的輸入,它將是一個完全獨立的交易。)
就替代交易而言,增加未確認交易的手續費能夠實現替代,除此之外,其對于重復批量支付等場景大有用處。在通常情況下,批量支付將多筆支付合并到同一筆交易中,然后再廣播,但同樣可以先廣播一筆交易,在一個礦工將其包含在區塊之前,向這筆交易添加更多的支付。
1月20日的那筆交易屬于什么性質?
分析 | 金色盤面:BTC期貨合約持倉變化:金色盤面綜合分析: 據OKEx數據顯示,目前做多賬戶64%,做空賬戶36%,多頭持倉比例28.37%,空頭持倉比例19.66%,從數據看,目前做多賬戶依然維持高位比例較高,持倉平均水平也大幅提升,隨著BTC價格走低,風險釋放,短線做多熱情有所提升。截至發稿,當周BTC0831合約價格為6884美元,現貨價格為6873美元,升水9美元,明天將迎來交割日,投資者請注意風險。[2018/8/31]
讓我們重回正題,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
今日,YFII發起人高金發布微博表示:“某礦池親自下場夾人了?兩個1wei的夾1個125gwei的,不講武德啊。單筆利潤為0.12個eth,而且這個賬號持續夾人中...”引起了圍觀者的激烈討論.
1900/1/1 0:00:001月21日,幾名Yearn.finance社區成員發起了一項增發提案。提案主張,增發6666枚YFI,其中1/3用于獎勵主要貢獻者,另外2/3納入財政庫用于未來的支出和發展.
1900/1/1 0:00:00算法穩定,可謂起起落落,跌宕起伏,一波高潮,一波哀嚎。既見新人笑,又見舊人哭,可能還是同一批人。算法穩定幣,出道時間不長,但演化出了4代,依次為:AMPL、ESD、Basis、Frax.
1900/1/1 0:00:00加密貨幣領域最讓人贊嘆的地方在于其不斷的創新,而新年伊始開始興起的算法穩定幣,無疑是目前最具野心、最具天馬行空想象力的貨幣創新實驗---試圖拋棄傳統的人為操控,力求以算法本身,實現貨幣的穩定性.
1900/1/1 0:00:00波卡生態中有哪些鏈計劃成為波卡/Kusama平行鏈?如何參與CrowdLoan來支持自己看好的項目呢?今天我們就盤點了一些計劃競拍波卡或Kusama平行鏈的項目.
1900/1/1 0:00:00區塊鏈將重塑音樂行業破損的墻垣眾所周知,音樂在我們的生活中扮演著重要的角色。從貝多芬到巴赫,從史奇雷克斯到波斯特馬龍,一架鋼琴的88個琴鍵可以創作出無數的歌曲,這實則令人驚嘆.
1900/1/1 0:00:00