文章摘要: 批處理大小(輸出) 、交易量、輸出量、輸出值、每筆交易的輸出值、每筆交易的輸出量) 所有批量組在此期間的總輸出值幾乎相同批處理輸出量) 在所有交易中
2017年5月6日,比特幣網路的交易量在一天內就創下了歷史新高:375,000筆交易,多達25億美元。而就在這前幾天,比特幣網路的平均交易手續費首次超過了1美元。這些數字一直在上升:到6月初,其平均交易手續費就達到了5.66美元。這是前所未有的。在2014年1月1日至2017年1月1日的三年時間裏,比特幣周平均每筆交易手續費用從未超過31美分。不止於此。在2017年結束之前,比特幣周平均手續費曾高達48美元。而當加密貨幣市場冷靜下來時,比特幣交易量開始驟減,手續費也降至1美元以下。
在比特幣飆升最狂熱的日子裏,當普通使用者發現自己傳送交易所需的手續費比交易金額更高時,他們對比特幣交易批處理技術(batching,將多筆交易輸出合併成單筆交易)的呼聲比以往任何時候都要大。David Harding在8月底寫了一篇關於用批處理來節省成本的部落格文章,並每天將其轉貼到reddit的比特幣子版塊下。
這個想法很簡單:對於一次傳送多筆交易的實體而言,將多筆輸出合併成單筆交易會更省空間和成本,因為每筆交易都有固定的資料開銷。David發現,如果你將10筆交易合併成一筆交易,而不是單獨傳送每一筆,就可以節省75%的區塊空間。從本質上講,批處理是一種將盡可能多的交易打包到比特幣有限的區塊空間中的方法。
當2017年年中比特幣的交易手續費開始攀升時,使用者們開始仔細檢查比特幣區塊鏈中重度使用者的行為,以確定他們是否有效地利用了區塊空間。總的來說,他們並沒有————一場非正式的遊說活動開始了,這些主要使用者(主要是交易所 )被要求使用交易批處理技術,以利用好有限的區塊空間。有些交易所多年來一直在使用交易批處理技術,而另一些交易所才妥協使用該技術。2018年第一季度,比特幣價格從大約19,000美元暴跌至6000美元之後,這個問題消失了,交易積壓量開始驟減,平均手續費也下降了。
但我們仍然會對此感到好奇。常見的說法是,在鏈上交易量驟減期間,交易量可以用來衡量其區塊鏈的實際使用率。而交易批處理技術可以編納任意量的(合理範圍內的)交易,因此,如果批處理技術變得越來越流行,就可以在保持這些交易仍在進行的同時,讓交易量變得相對較少一些。
比特幣交易量的減少是因為批處理技術,而非由於需求不足
一些網站突然出現,報告比特幣網路每天的輸出和支付情況,而不是交易量,似乎對比特幣交易量下降的報道感到不滿。然而,仍沒有人對比特幣的交易量與輸出或支付情況之間存在的變化關係進行過分析。於是我們自己把答案找出來了。
目錄:
1.介紹批處理技術
2.時間線
3.分析
4.結論
5.附加內容:UTXO合併
1.介紹批處理技術
比特幣使用了 UTXO模型 (Unspent Transaction Output),即 未花費的交易輸出 。相比之下,Ripple和以太坊使用的是賬戶/餘額模型。在比特幣中,使用者沒有餘額,只有可以控制的UTXO。如果他們想將錢轉給其他人,他們的錢包會選擇一個或多個UTXO作為 輸入 (input),而這些UXTO需要加起來等於他們想要轉出的金額。然後這些資金就會被轉給接收者(稱為 輸出 ,output),差額則返回給傳送者(稱為 找零輸出 ,change output)。每一筆輸出都可以以「聰」(satoshi)的形式承載幾乎無限的價值。聰是代表比特幣億分之一的單位。這與裝滿不同面額鈔票的實體錢包非常相似。如果你想以2.5美元購買一份零食,但你只有一張5美元,你決不會給收銀員半張5美元,而是直接給收銀員那張5美元,接著收到一些零錢。
有些人不知道,一個區塊可以容納的交易數量是沒有硬編碼限制的。相反,每筆交易都有一定的資料大小,這是一種經濟激勵,促使礦工們將其納入他們的區塊。由於比特幣區塊容量大小隻有2 MB,資料較大的交易將需要支付更高的手續費。此外,每筆交易可以擁有幾乎無限量的輸入或輸出,交易記錄中曾出現過有20,000個輸入和13,107個輸出的交易。(補充:原文未指出具體交易,據譯者考據如下)
所以每筆交易至少有一個輸入和一個輸出,但通常還更多的其它東西,如一些額外的模板檔案。大部分空間被輸入佔用(通常是60%或更多,因為簽名證明它們確實屬於傳送者),而輸出佔15%~30%。爲了儘可能減少交易資訊且節省手續費,比特幣使用者有兩大選擇:
1.儘可能減少輸入量。爲了最小化輸入,在手續費非常低的時候,你可以定期將較小的UTXO傳送給自己,從而獲得一個較大的UTXO。這就是所謂的 UTXO合併 (合併你的輸入)。
2.經常進行轉賬的使用者(特別是在同一區塊中)可以在同一筆交易中包含幾乎無限量的輸出(給不同的人)。這就是所謂的 交易批處理 。一筆典型的單輸出交易佔用230個位元組,而兩個輸出的交易只佔用260個位元組,如果你單獨傳送它們則需要佔用460位元組。
這是許多隨便的評論者在比較比特幣與其他支付系統時所忽略的:一筆比特幣交易可以集合數千筆單獨轉賬!認識到這一點很重要,因為這是許多誤解和錯誤分析的根源。
我們從未見過對比特幣交易批處理的通用定義,因此爲了本研究的目的,我們用最寬鬆的方式來定義它:一筆具有三個或更多輸出的交易。通常,批處理被理解為一項主要由礦池或交易所以即時性換效率的活動。普通的比特幣使用者很少有批處理交易的理由,而且實際上大多數錢包都難以構建批處理交易。對於日常用途而言,普通的比特幣使用者很可能不會費力去批處理交易。
爲了簡單起見,我們將這一界限設定為3(正常的非批處理交易有著一個交易性輸出和一個找零輸出),但是來自交易所的典型批處理交易擁有幾十個甚至幾百個輸出。出於這個原因,我們非常謹慎地提供各種批處理的資料,因此我們可以確定三輸出交易和100輸出的巨大交易的流行性。
我們發現將比特幣交易視為一個裝滿箱子的郵車是很有幫助的。每輛郵車(交易)都載有箱子(輸出),每個箱子裡裝有一些信件(聰)。因此,當你將交易量視為衡量比特幣網路的效能和經濟吞吐量的指標時,有點像通過計算郵車來知道某一天傳送的信件數量,儘管信件數量可能會有很大差異。郵車的比喻也清楚地表明瞭為什麼很多人將比特幣視為未來的結算層————就像郵車在滿載後纔出發一樣,有人預想最終比特幣也會如此。
批處理
2.時間線
那麼過去六個月到底發生了什麼?我們來看看一些資料。比特幣網路的每日交易量穩步上升,直到2017年5月,平均手續費達到了4美元左右。這促成了交易量的第一次崩潰。然後,在接下來的六個月裡,開始了一系列的反饋迴圈:交易積壓量增加,所需手續費也相應增加,接著交易量就開始下降。在2017年下半年,這一迴圈重複出現了五次。
平均手續費與交易量變化關係圖
上圖中的紅色實線表示以比特幣計算的平均手續費(非美元),陰影紅色區域表示每日交易總量。你可以看到交易積壓的迴圈會導致手續費更高,而高手續費又導致交易量減少。直到2018年春季緩和之前這樣的迴圈重複了五六次。最值得注意的時期是2017年12月~2018年1月的手續費危機,這樣的手續費以比特幣計算實際上是相當典型的,但比特幣價格的上漲意味著以美元計算時手續費也達到了巔峰。
在11月中旬,比特幣交易手續費按美元計算達到兩位數時,使用者們開始聯合一致說服交易所更好地利用區塊空間。隔離見證(Segwit)和交易批處理(batching)都被視為是有用的方法,可以最大限度地將比特幣交易資訊壓縮到有限的區塊空間中。關於交易所何時開始批處理交易的資料很少,我們收集了各交易所開始批處理交易時的資訊,並將其彙總到了圖表中。
各交易所開始採用交易批處理技術的時間表
我們在這個分析中忽視了交易所採用的隔離見證; 就批處理而言,呼籲交易所採用交易批處理技術的運動似乎已經說服了Bitfinex,Binance和Shapeshift幾大交易所。Coinbase和GDAX也表示他們打算開始批處理交易。據我們所知,Gemini並沒有提及交易批處理技術,儘管我們有各種各樣的證據表明它們最近可能已經開始採用該技術。
因此有些交易所一直在使用交易批處理技術,而有些卻從未使用過。這是否會影響交易批處理的流行?讓我們來找出答案。
3.分析
3.1交易批處理有多常見?
我們以三種不同方式衡量批處理的流行程度:按交易量,按輸出值和按輸出量。
衡量批處理的流行程度(批處理交易佔全部交易中的百分比):按交易量,按輸出值和按輸出量
(淺藍線:批處理交易量;灰線:批處理輸出的比特幣價值;深藍線:批處理輸出量)
在所有交易中,批處理量約佔12%,在所有輸出中佔40%,在所有原始比特幣輸出值中佔30%~60%。不錯。
3.2隨著時間推移,批處理交易變得越來越普遍了嗎?
從3.1的圖表中,我們可以看出三個指標都有小幅但穩定的上升趨勢,但我們想再深入研究一下。所以我們首先研究了支付量(實際支付給某人的輸出量,即總輸出減去找零輸出量)和交易量之間的關係。
比特幣支付量和交易量之間的關係
首先顯而易見,流行的說法是:交易量下降是由於批處理量增加引起的。並非如此,支付量也下降大致相同的比例。
從交易量劃分出支付量使我們對這兩者之間的關係有了一些瞭解。
每筆交易的支付量
在我們的分析中,如果我們放大2017年11月至今的時間範圍,我們可以看到每筆交易的支付量實際上已經上漲,從2017年初的每筆交易1.5筆支付到如今差不多2筆。
3.3流行的批處理資料大小?
在下一部分中,我們將找看看最流行的批處理資料大小。爲了確定哪些交易是批處理的,我們從Blockchair下載了2017年11月至2018年5月比特幣網路上所有交易的資料集。
我們選擇這段時期是因為手續費危機真正開始於去年11月中旬,與此同時,對交易所批處理交易的需求也隨之而來。所以我們想要捕捉交易所開始批處理交易的影響。當然,更大的樣本會更有意義,但我們的資源有限,所以我們只能從六個月的樣本開始。
我們將交易分組為「批處理」和「非批處理」組,批處理組的交易具有 三個或更多 的輸出。
(縱軸依次:批處理、非批處理、總量
橫軸依次:交易量、輸入量、輸出量、輸出值)
然後,我們基於它們六個月期間的比特幣總輸出量,將批處理交易分成大致相同的組。我們沒有手動選擇批處理的大小,我們在基於交易價值的基礎上根據批處理的大小將這些樣本分成相等的部分。以下是我們最終的結果:
(縱軸依次:非批處理、小型、中型、大型、特大型
橫軸依次:批處理大小(輸出) 、交易量、輸出量、輸出值、每筆交易的輸出值、每筆交易的輸出量)
所有批量組在此期間的總輸出值幾乎相同,但它們在此期間的交易量和輸出量卻截然不同。請注意,這六個月期間僅有183,108個「特大型」批處理(含41個或更多的輸出),但是這些批處理卻有2300萬個輸出和30萬個比特幣的輸出值。
請注意,在這種情況下的輸出值是指原始或未經調整的資料。對於我們來說,校準找零和混淆的輸出是非常困難的,所以我們是「大概」估計。
我們來看看樣本期間各種批處理大小的交易量:
按批處理大小劃分的每日交易量
(底部標識依次:特大型、大型、中型、小型、非批處理交易量)
按批處理大小劃分,批處理交易的交易量佔比
(底部標識依次:特大型、大型、中型、小型、非批處理交易量)
與非批處理交易量相比,批處理交易量在相對穩定地增加,儘管最大的部分是小型批處理(3到5個輸出)。輸出量的資料更具啓發性。儘管批處理交易量只佔整體交易量相當小的一部分,但它們包含了大量有意義的輸出。讓我們看看如何分解它們:
按批處理大小劃分的輸出量
(底部標識依次:特大型、大型、中型、小型、非批處理交易量)
各種批處理大小輸出量佔比
(底部標識依次:特大型、大型、中型、小型、非批處理交易量)
最後,我們來看看輸出值。我們看到批處理交易是比特幣價值傳輸的一個重要部分。
按批處理大小劃分的比特幣總輸出值
(底部標識依次:特大型、大型、中型、小型、非批處理交易量)
各種批處理大小的輸出值佔比
(底部標識依次:特大型、大型、中型、小型、非批處理交易量)
正如我們所看到的, 儘管批處理交易平均只佔總交易量的12%,但它們卻佔所有比特幣輸出值的30%-60%,甚至達到了70% 。 我們認為這非常了不起。請記住,「總輸出」的資料並沒有因考慮到找零和混淆輸出而修改; 也就是說,這是未經調整的原始資料。因此, 總輸出值並不是比特幣網路經濟總量的理想近似值 。
3.4交易量是否因批處理而成為衡量比特幣使用量的不可靠指標?
是的。我們強烈鼓勵任何分析師、投資者、記者和開發者從現在開始忽略純粹的交易量。 衡量比特幣表現的預設指標應該是「每日支付量」 而不是交易量。 這也使得比特幣與其他UTXO區塊鏈更具可比性。它們通常有著顯著變化的支付交易比,因此只需關注支付量即可。(敬請期待:Coinmetrics將很快推出相關工具,以便儘快實現這一目標。)
通常,我們認為網路上傳播的經濟價值是體現其經濟總量最基本的特徵。未調整和調整後的資料都值得考慮。校準原始輸出值仍是一門藝術而不是科學,其相關的最佳實踐仍在發展之中。同樣,Coinmetrics正在積極開發開源工具來實現校準。
結論
我們重新回顧了比特幣過去的一年,並展示了當交易池擁堵不堪時,社羣開始尋找能更有效利用區塊空間的方法。對於重度使用者來說,注意力很快就落在了交易批處理上,即將多個輸出合併爲一筆交易的做法。我們展示了批處理在技術層面上是如何工作的,以及各大交易所是何時開始採用該技術的。
如今,比特幣網路所有交易中大約有12%是批處理交易,約佔所有輸出的40%,佔所有交易值的30~60%。比特幣如此小型的交易具有如此大的經濟影響力,這一事實讓我們充滿希望,比特幣仍有很大的發展空間,尤其是如果使用量繼續趨勢上升的話。
最後,值得注意的是,比特幣網路批處理交易的增加可能不完全是由於交易所,而是其在過去幾個月內熱度下降的表現。由於批處理交易通常是由大型「礦業」公司如交易所、混淆商、支付處理商和礦池傳送的,而且非批處理交易通常由普通使用者傳送的,因此批處理/非批處理比率也是衡量平均有多少普通使用者使用比特幣的一個重要指標。自比特幣價格暴跌以來,比特幣的個人使用量有可能下降,而「礦業」使用量仍然保持強勁。這只是個猜測,但也是對這種情況的一種解釋。
另一方面,礦業公司似乎更認真地在扮演稀缺區塊空間管理者。這對比特幣網路是一個重大福音,並且是其歷史上一次非凡的發展。如果這種節約文化能得到支援,就能夠將更多數據壓縮容納到比特幣區塊空間中,並且在可預見的未來,每位使用者都將能夠執行比特幣全節點。我們認為這是一個非常積極的發展。遊說交易所支援隔離見證和交易批處理的比特幣社羣成員應該為自己感到自豪。
附加內容:UTXO合併
還記得我們說過,在比特幣網路有條不紊地節省交易手續費的第二種方法是在所需手續費較低的時候合併你的UTXO嗎? 觀察輸入量和輸出量之間的關係可以讓我們很好地發現這種合併時機。
輸入量輸出量關係變化圖
(藍線:交易量;紅線:輸出量;綠線:輸入量)
通常,輸入和輸出變化的運動路線一致。而當比特幣網路擁堵時,它們就會分離。如果仔細檢視上面的圖表,你會注意到當交易量上升(手續費溢價)時,輸出量超過了輸入量,看看2017年5月和12月的差距。但是,這樣持久的活動總是會導致UTXO碎片化和錢包充滿粉塵零錢,需要進行合併。為此,使用者通常要等到網路壓力降低,手續費降低才進行操作。因此,在交易量下降後,輸入會比輸出更常見。你可以在2017年的2月、3月清楚地看到這一點。
輸入量超過輸出量
這裏我們已經計算出了輸入與輸出的比率(以7天為基準進行了平滑處理)。當比率較高時,那一天的輸入量超過輸出量,反之亦然。你可以清楚地看到,在2015年夏季的粉塵攻擊中,數以千計(可能是數百萬)的輸出被建立,然後被合併。一旦這個比率上升,就開始合併。2017年12月高手續費的六週過後,2018年2月的峰值是比特幣歷史上最明顯的放鬆期; 這是有史以來輸入/輸出的最大一次偏離。有大量的UTXO被合併。
注意輸入和輸出聚集的位置也很有意思。以下是大量輸入及輸出的交易直方圖。不出所料,整數輸出輸入出現的頻次很高,這表明交易所不會每兩分鐘傳送一次交易,而是等待排完100或200個輸出才傳送它們的交易。奇怪的是,在此期間,200個輸入的交易比100個輸入的交易更流行。
輸入量(左)和輸出量(右)的頻次對比
發文時比特幣價格 ¥48838.87
原文:https://medium.com/hasufl/an-analysis-of-batching-in-bitcoin-9bdf81a394e0
作者: Nic Carter & hasufly
編譯:linkea
稿源(譯):巴位元資訊(http://www.8btc.com/analysis-of-batching)
版權宣告: 作者保留權利。文章為作者獨立觀點,不代表巴位元立場。