距離BCH11月15日的硬分叉升級(jí)已經(jīng)不足一月,開發(fā)者們和全節(jié)點(diǎn)運(yùn)行人員都在做著最后的準(zhǔn)備。開發(fā)者方面,BCH的主要開發(fā)團(tuán)隊(duì)們已全部推出了兼
距離BCH11月15日的硬分叉升級(jí)已經(jīng)不足一月,開發(fā)者們和全節(jié)點(diǎn)運(yùn)行人員都在做著最后的準(zhǔn)備。開發(fā)者方面,BCH的主要開發(fā)團(tuán)隊(duì)們已全部推出了兼容升級(jí)內(nèi)容的新版本,開發(fā)組主要包括:Bitcoin ABC、Bitcoin Unlimited和BCHD。與此同時(shí),BCH網(wǎng)絡(luò)上的節(jié)點(diǎn)運(yùn)行人員也在逐漸部署新版本客戶端。
11月升級(jí)內(nèi)容簡(jiǎn)介
據(jù)Bitcoin ABC公布的網(wǎng)絡(luò)升級(jí)規(guī)范可知,此次升級(jí)主要包括兩方面的內(nèi)容:
1. 對(duì)OP_CHECKMULTISIG(VERIFY)啟用Schnorr簽名支持
Schnorr簽名于今年5月份被編寫到BCH網(wǎng)絡(luò)中,它有助提高BCH交易的隱私性和交易效率,但簽名涉及到共識(shí)層面的修改,需要繁瑣的開發(fā)準(zhǔn)備,所以5月份的升級(jí)并沒有讓網(wǎng)絡(luò)內(nèi)的所有簽名操作都支持Schnorr。此次升級(jí)的這項(xiàng)改動(dòng)就是擴(kuò)大Schnorr簽名在網(wǎng)絡(luò)內(nèi)的適配范圍,讓簽名更好的發(fā)揮作用。
2. 在腳本中強(qiáng)制執(zhí)行最少的推送和最少的編碼規(guī)則(在腳本中強(qiáng)制執(zhí)行MINIMALDATA)
這項(xiàng)改動(dòng)意味著在2019年11月的升級(jí)中,比特幣現(xiàn)金將引入了兩條新的共識(shí)規(guī)則:在腳本執(zhí)行期間,執(zhí)行的push opcodes被限制為結(jié)果堆棧元素的最小形式;在腳本執(zhí)行期間,大多數(shù)情況下,堆棧元素解碼為數(shù)字僅限于允許最小形式。升級(jí)之后,BCH網(wǎng)絡(luò)上的大多數(shù)交易在未來將是不可延展的,此改動(dòng)有助于提升BCH零確認(rèn)交易的安全性。
網(wǎng)絡(luò)升級(jí)規(guī)范:
https://github.com/bitcoincashorg/bitcoincash.org/blob/master/spec/2019-11-15-upgrade.md
各開發(fā)組新版本客戶端
升級(jí)將至,BCH的各個(gè)主要開發(fā)組都已推出了兼容11月升級(jí)的新版客戶端,下面是各自的版本介紹和代碼庫(kù)鏈接。
Bitcoin ABC
ABC開發(fā)組作為BCH最核心的開發(fā)組,主導(dǎo)了BCH開發(fā)的進(jìn)程,此次升級(jí)內(nèi)容也是由該開發(fā)組制定推出的,所以新版客戶端做出的改動(dòng)即上述升級(jí)內(nèi)容。新版代碼提交的時(shí)間是在2019年8月29日。
Bitcoin Unlimited
BU客戶端的節(jié)點(diǎn)運(yùn)行數(shù)量?jī)H次于ABC,也是BCH的主要開發(fā)團(tuán)隊(duì)之一。此次升級(jí),BU客戶端也是較早的兼容升級(jí)內(nèi)容,推出時(shí)間是在2019年10月10日。除了兼容升級(jí)內(nèi)容外,BU推出的客戶端添加了新的CPFP代碼,其主要作用是提升Mempool未確認(rèn)交易限制。
未確認(rèn)交易限制是指對(duì)一筆未確認(rèn)交易的轉(zhuǎn)賬次數(shù)進(jìn)行限制,以往的交易限制次數(shù)是25,意思是一筆未確認(rèn)交易最多只能在10分鐘的時(shí)間內(nèi)連續(xù)轉(zhuǎn)賬25次,多出的交易次數(shù)不會(huì)被打包進(jìn)區(qū)塊。中本聰骰子團(tuán)隊(duì)在今年8月份曾承諾向BCH開發(fā)者捐贈(zèng)1000BCH,但前提是BCH的開發(fā)組取消或者擴(kuò)大交易限制次數(shù)。
BCHD
BCHD開發(fā)組在10月22日也發(fā)布了兼容11月份升級(jí)內(nèi)容新版本0.15.0,并建議節(jié)點(diǎn)運(yùn)行人員盡快升級(jí)以保持兼容性。此版本的唯一其它更改
是“getAddressUnspentOutputsg”RPC調(diào)用的錯(cuò)誤修復(fù)。
BCH網(wǎng)絡(luò)中的新版客戶端運(yùn)行占比
從統(tǒng)計(jì)圖表來看,目前的節(jié)點(diǎn)升級(jí)數(shù)據(jù)并不理想,網(wǎng)絡(luò)內(nèi)的多數(shù)節(jié)點(diǎn)還未對(duì)客戶端進(jìn)行版本更新,預(yù)計(jì)這種情況會(huì)隨著升級(jí)時(shí)間的臨近而逐漸改變。另外,即使存在部分節(jié)點(diǎn)因?yàn)槟撤N原因而沒有更新,11月份的升級(jí)也會(huì)順利進(jìn)行,這一點(diǎn)從去年的11月份升級(jí)和今年5月份升級(jí)就能看出,所以不存在升級(jí)出現(xiàn)問題的情況。
要說明的一點(diǎn)是,此次升級(jí)并未出現(xiàn)較大的技術(shù)改動(dòng),但這并不意味開發(fā)組沒有做事。以ABC開發(fā)組為例,從https://reviews.bitcoinabc.org/differential/可以看到該開發(fā)組日常遞交的代碼數(shù)量,平均每天都有數(shù)十條的更新記錄。至于此次升級(jí)的內(nèi)容,開發(fā)組一方面是按照既定的開發(fā)路線穩(wěn)步進(jìn)行;另一方面也是為了留有時(shí)間和精力去償還BCH快速開發(fā)所帶來的技術(shù)債務(wù)。(BitcoinCash)
關(guān)鍵詞: BCH 升級(jí)內(nèi)容 OP_CHECKMULTISIG