BCH是否應該縮短出塊時間?
在比特幣擴容之爭時,就已經有人提出可以通過縮短出塊時間來進行擴容。不過,當時主流的擴容方案是Core開發組提出的隔離驗證 閃電網路和大區塊黨支持的鏈上擴容。BCH誕生後,縮短出塊時間在社區內掀起了一場廣泛的討論,但意見並不統一。根據Votes.cash的投票結果來看,支持縮短出塊時間的投票已經達到了總投票的97.3%。這麼多人支持縮短出塊時間,到底是為了什麼?
技術原理
10分鐘區塊確認時間是中本聰最初的設定,但為什麼這麼做並沒有明確說明,網路上有很多有關於此的研究,但也一直沒有定論。目前來看外界的評價都認定設定在10分鐘為了降低孤塊率,提升安全性。
而用來控制控制十分鐘出一個塊的機制叫挖礦難度調節機制,這個機制是自動的,根據全網的算力來調節要計算的難度,BTC是每隔2016個區塊來調整難度,而BCH則是每隔144個區塊調整難度,反應更為迅速,保證全網算力在平均十分鐘出一個塊。這個時間是指平均十分鐘,可能會有少許的上下波動,完全是概率事件。這也是為什麼有時會出現1小時都不出塊的情況。
事實上關於比特幣10分鐘區塊間隔並非必須的,甚至很多人認為這個設定是比特幣誕生以來最大的缺陷。一般來說,比特幣的區塊間隔時間裡,比特幣系統主要在干這麼幾件事:1廣播區塊;2驗證區塊;3完成新區塊的pow計算。考慮到網路傳輸時間等問題,1 2一起是不會超過1分鐘的,其它90%的時間都用來進行POW計算了。1和2的步驟不可以省略,時間也無法壓縮。但3中進行POW運算的時間是可以壓縮的,所以嚴格來說,區塊間隔能夠保證在1分多鐘以上就OK了。這個時間將隨著交易擴散技術的提升而進一步縮短。
比如後來的萊特幣、狗狗幣等,出塊時間都在1~2分鐘之間,且都沒有什麼明顯的副作用,相反而縮短出塊時間卻極大提升了交易效率和用戶體驗。誠然,對於日常消費的用戶來說,10分鐘的等待確認時間實在太久,造成極差的用戶體驗。
現狀
受制於10分鐘出塊時間,使得日常支付體驗變得極其不順暢。因為網路延遲和帶寬的原因,看似是10分鐘,小概率情況下BCH甚至曾經有過1小時沒有出塊,當然BTC同樣存在這個問題。雖然這種情況並不常見,但這種糟糕的用戶體驗還是使得很多用戶心煩意亂,對於用戶來說,使用10次如果有2次出現這種糟糕體驗,他們就會認為這種交易極低效。
理論上在Avalanche雪崩共識協議開發完成之後,BCH的零確認支付可以達到完美狀態,已經可以在不縮短出塊時間的情況下滿足日常支付。不過交易所的情況並不在範圍內,因為交易所都不接受零確認交易。當前幣圈,交易所充提是最大的應用之一,這就對縮短出塊時間提出了硬需求。而如蟲洞協議這樣的二層智能合約同樣也不適用零確認。
我們再看看萊特幣,事實上萊特幣誕生之初根本沒有什麼大的創新,它只是復用了比特幣的代碼,然後將出塊時間設定為2.5分鐘,就這麼一個簡單的改動使之獲得了比特幣4倍的交易確認速度,這也讓萊特幣難以擁堵,交易費用更便宜。2017年牛市的時候,比特幣 / ETH 雙雙 堵塞, 很多搬磚客轉而使用LTC 進行搬磚,導致 LTC 從之前沒啥人用的情況下 TX (鏈上交易量)暴增。人們使用 LTC 的邏輯很簡單,平均2.5分鐘出塊,大多數交易所一個確認就入賬。速度快體驗好。
BCH如何降低孤塊率?
這麼看來縮短出塊時間的確是一項硬需求,那應該怎麼解決縮短出塊時間帶來的孤塊率上升問題呢?
1. 孤塊率和網路硬體基礎設計相關,越快的網路,就越能更快地發現同行是否挖到塊,從而降低孤塊率。自比特幣誕生以來10年間,全球網路和存儲技術大大提升,按照目前的網路水平同樣是10分鐘出塊,孤塊率已經大幅降低。
2.近幾年礦業水平極速上升,專業礦機和礦池最大化提升效率,硬體條件以及軟體技術比以前有大幅提升,能夠在孤塊率不變的前提下,縮短出塊時間。
3.BCH誕生後社區開發者不斷創新,不斷優化的技術如預共識、石墨烯極大改善了BCH節點效率,使之孤塊率進一步降低。這些都給予縮短出塊時間的土壤。
4.參考以太坊的例子,15秒極速出塊,造成了孤塊率上升的問題,且孤塊合法有獎勵,但不打包交易信息。但孤塊率上升似乎並沒有影響ETH的日常使用,ETH交易量一度取代BTC成為第一。
總結
縮短出塊時間的確讓BCH更具備優勢,但實施的具體細則還需開發者繼續努力。
※新的應用場景——基於BCH的眾包平台Taskopus即將推出
※關於「比特幣增發」江卓爾再發言,比特幣未來或將增發?
TAG:區塊鏈 |