金色財經近期推出金色硬核(Hardcore)欄目,為讀者提供熱門項目介紹或者深度解讀。
盡管3月12日比特幣大跌,讓幣圈人士很是受傷。但作為一名投資人還是應該多關注技術進展,畢竟技術進步是比特幣的價值根源。正如2017年的“隔離見證”見證了2017年的比特幣大牛市,希望比特幣新的技術突破能帶領比特幣走出泥沼。
正如我們在“BTC第三次減半全解讀”中所說,比特幣在2020年值得關注的一個進展就是Schnorr/Taproot/Tapscript軟分叉,計劃的這次分叉將包含三個比特幣改進協議BIP 340、341和342。我們將對這三個BIP進行系列解讀,上兩期金色硬核(Hardcore)解讀了Schnorr簽名的BIP340和Taproot的BIP341。
本期聚焦Tapscript。看什么是Tapscript協議以及如何激活比特幣改進協議(或BIP),enjoy it
Tapscript(BIP 342)
本次升級提案的第三部分BIP 342描述的是Schnorr和Taproot的補充升級,稱為Tapscript。如我們在Schnorr/Taproot/Tapscript的第一篇文章中所述,比特幣腳本用于決定比特幣的花費策略。
BIP 342改進了簽名的哈希算法,因此我們可以驗證taproot腳本,從而引入靈活性,添加了新的操作碼以增強比特幣的智能合約功能,并且還更改了對資源要求的一些限制。
金色熱搜榜:ETP居于榜首:根據金色財經排行榜數據顯示,過去24小時內,ETP搜索量高居榜首。具體前五名單如下:ETP、AE、XRP、BTM、BSV。[2020/10/19]
什么是操作碼(Opcodes)?
操作碼(Opcodes)是操作碼(operation codes)的縮寫,基本上是腳本語句或命令。這些命令可以返回“ TRUE”或“ FALSE”,用于發送/接收交易。
例如,腳本指令指定了解鎖腳本所需的簽名數量。它們還指示了交易的比特幣數量以及收款人地址。
操作碼可用于刪除堆棧中的項目并執行計算,然后將結果添加回堆棧中。請記住,作為基于堆棧的編程語言,腳本指令是按照從堆棧頂部到底部的順序執行的。
什么是Tapscript?
作為比特幣編程語言(腳本)的升級版,Tapscript更容易添加新功能,且提供基于Schnorr簽名的批量驗證(batch verifiability)。
什么是批量驗證?Schnorr/Taproot/Tapscript系列第一篇講過。
Tapscript還補充了BIP 341(Taproot)中提出的對比特幣腳本結構的改進,該結構需要更改某些操作碼,而BIP 342則涉及需要進行的更改。
理解Tapscript的另一種方法是考慮Taproot的Merkle樹,其中每個葉子(leaf)都是一個腳本,可稱之為葉子版本,類似于SegWit的腳本版本控制。
但是不同之處在于,腳本不會在付款時顯示,而只會在花費時顯示。不同的葉子可以具有不同的版本,其中僅顯示實際使用的葉子。Tapscript是Taproot下版本0的葉版本。
金色財經行情播報丨BTC持續震蕩 上升楔形待選擇方向:據火幣行情顯示,昨日BTC行情劇烈波動,最低9471USDT,最高探至9898USDT,今日波動縮小,持續震蕩。日線圖上升楔形保持完好,待選擇方向。1小時圖局部構筑菱形,有一定回調需求。截至10:00,主流幣的具體表現如下:[2020/5/20]
Tapscript與傳統和SegWit的比特幣腳本共享大多數操作,但有一些區別:
簽名操作碼驗證Schnorr簽名(而不是ECDSA簽名)。
多簽操作碼OP_CHECKMULTISIG和OP_CHECKMULTISIGVERIFY被操作碼OP_CHECKSIGADD代替,允許使用Schnorr進行簽名批量驗證。
由于簽名驗證是比特幣腳本中最耗費CPU的操作,因此這些操作碼對實現與基于Schnorr的多重簽名方案相關的效率提升至關重要。
當前,用于2-of-3的多重簽名交易的腳本如下所示:
2 <公鑰A> <公鑰B> <公鑰C> 3 CHECKMULTISIG
使用Taproot/Tapscript,可以以批量驗證的方式創建相同的多重簽名策略,其腳本是:
<A pubkey> OP_CHECKSIG <B pubkey> OP_CSADD <C pubkey> OP_CHECKSIGADD OP_2 OP_EQUAL
許多操作碼被重新定義為OP_SUCCESS操作碼,它無條件使整個腳本有效,以簡化軟分叉升級。
金色晚報 | 5月15日晚間重要動態一覽:12:00-21:00關鍵詞:中國銀聯、挪威政府、緬甸央行、BCH、HT銷毀、灰度投資
1. 中國銀聯:防范以投資“區塊鏈”、“虛擬貨幣”為噱頭的欺詐行為。
2. 《知識產權強國推進計劃》:促進區塊鏈等在版權保護領域的應用。
3. 挪威政府將推出加密礦業激勵機制,電費降幅超97%。
4. 緬甸央行禁止包括比特幣在內的數字貨幣。
5. 火幣4月銷毀328.1481萬個HT,銷毀均價為3.79 USDT。
6. BCH基礎設施融資計劃宣告失敗晚間22:00BCH將正式升級。
7. 灰度投資近一個月買入38392枚比特幣。
8. 數據:5月CME比特幣期權未平倉量較年內均值上漲10倍。
9. 黑客以曝光特朗普丑聞為威脅索取4200萬美元加密貨幣。[2020/5/15]
與現在正使用的機制OP_NOP相比,新操作碼OP_SUCCESS的引入更容易驗證。
以前無法使用的操作碼通常返回“FALSE”狀態,Tapscript會將它們返回“TRUE”狀態。只要腳本中存在這些操作碼,你就可以無條件地使用它,而實際的好處是可以將操作碼重新定義為任意值,并且不需要向后兼容。
這種用新的操作碼擴展腳本的新機制,比現有的見證版本控制機制更易于協調和使用。后果是,它有望為將來比特幣腳本添加更多有用的操作碼開辟道路。
現有的NOP操作碼可能是專門為了具有升級機制而添加的,以便我們可以輕松地向比特幣腳本語言添加新的操作碼。
但到目前為止,它們僅用于CHECKLOCKTIMEVERIFY和CHECKSEQUENCEVERIFY。為了與軟叉兼容,這些NOP只能執行以下兩項操作之一:1)中止或2)根本不執行任何操作。
金色財經行情播報丨BTC小幅下跌 市場整體跌后窄幅震蕩:據火幣行情顯示,BTC于今晨小幅下跌,目前在6300USDT附近窄幅震蕩,多空博弈再次考驗支撐,短線方向尚不十分明朗。市場整體下行后窄幅震蕩,主流幣全部小幅下跌。[2020/4/1]
由于它們重新定義了NOP,目前CHECKLOCKTIMEVERIFY和CHECKSEQUENCEVERIFY兩操作碼無法以任何方式修改堆棧。結果是,它們不會從堆棧中彈出參數,而你總是需要在后面跟一個OP_DROPafter。
操作碼不執行任何操作(即NOP),Tapscript是一種解決方案,它引入了一個新的操作碼OP_SUCCESS,它“返回TRUE”。這些操作碼只有在被使用時才被用到,并且直到它們在網絡上定義了鎖定的語義后才被使用。
結果是,禁用和從未定義的操作碼編號將變為“return TRUE”。隨后,可以將這些操作碼重新定義為任何內容,因為所有內容是軟分叉的,與“return TRUE”兼容。
簽名哈希(SIGHASH)的計算方式不同于舊腳本或BIP143 v0隔離見證中的計算方式。
什么是簽名哈希?簡而言之,簽名哈希是比特幣簽名的標志,用于指示對交易的哪些部分進行簽名。
使用scriptsigs,簽名可以證明你有權花費某些比特幣。這些簽名以某種方式構造,簽名后附加了一個字節,用于指定以哪種方式對交易進行簽名。因此已經有一些SIGHASH被部署和實施。
最常用的是SIGHASH_ALL,其中除scriptsigs之外的所有內容均被簽名。而當僅對當前輸入進行簽名并且交易中的所有其他內容均不視為簽名的一部分時,將使用諸如SIGHASH_ANYONECANPAY,承諾(commitment)不包括在內。
金色晨訊 | 2月1日隔夜重要動態一覽:21:00-7:00關鍵詞:盧森堡、Kraken、Trezor 、“比特幣減半”
1.盧森堡監管機構警告Crypto Bull未獲得授權開展加密業務。
2.Kraken僅用15分鐘時間就破解了Trezor的加密硬件錢包。
3.Trezor回應:建議用戶將比特幣硬件錢包放在遠離陌生人的地方。
4. “比特幣減半”搜索量相較2016年提高12倍。
5.每個USDT代幣每年交易約46次。
6.JST Capital聯合創始人:期權、期貨及借貸市場將進一步決定BTC價格。
7.Google Play商店恢復比特幣獎勵游戲Bitcoin Blast。
8.BTC 24小時資金凈流入1.22億人民幣。
9.比特幣夜間小幅反彈上漲,現已重回9400美元上方。[2020/2/1]
對于這些SIGHASH類型,已經提出了許多改進建議,比如你只想在交易的某些方面簽名,以及可以指定在花費比特幣時對什么條件感興趣(不感興趣)的條件。SIGHASH已經提出了許多有關如何執行此操作的標志,包括SIGHASH_NOINPUT。
它的工作方式是屏蔽交易的不同部分。SIGHASH_NOINPUT背后的想法是,你不在乎提供的是什么特定輸入,你不在乎為交易提供輸入的交易ID是什么,但你在乎的是金額。在SegWit之前,這是在2015年提出的可延展性修復程序,它本身就是可延展性修復的。因為圍繞SIGHASH_NOINPUT的擔憂和風險,社區沒有將其合并到比特幣協議中(但是SegWit的引入重新打開了此升級的大門)。
SIGHASH_NOINPUT的主要好處是,它極大地簡化了諸如閃電網絡等支付渠道。一個關于改變閃電工作方式的提議是eltoo,當有人試圖作弊時,對其進行處罰時,它通過傳輸已失效的先前狀態從而不必再關閉通道,簡化通道使用。
這需要更改比特幣腳本。尤其是,更改涉及將簽名應用于交易(即Sighash系統)的方式,這使用戶可以重新平衡到其他輸入。
盡管對現有的某些Sighash類型進行了一些調整,但是Schnorr/Taproot/Tapscript提案所提供的功能與BIP 118即SIGHASH_NOINPUT完全不相似(已經有很多關于使其安全的各種方法的討論)。
Tapscript并未包括SIGHASH_NOINPUT,而是提供了幾種靈活性機制(比如帶標簽的公共密鑰),這些機制將允許在不增加成本的情況下開放此功能。這種機制將使以后的軟分叉很容易使用新的Sighash類型,或其他更改來擴展簽名檢查操作碼。
使用Tapscript,以你不知道的字節開頭的公鑰會自動生效。因此,可以引入新型的簽名方案和新的Sighash方案,而無需為每種方案添加新的Checkig操作碼。像SIGHASH_NOINPUT這樣的功能,可以作為新的公共密鑰版本不增加成本地包含在內。
Tapscript還更改了資源限制。
例如,今天的比特幣腳本有10000字節的腳本大小限制,該限制將被刪除。它還消除了操作碼數量的限制。
由于簽名哈希中沒有直接包含scriptCode(僅通過可預先計算的tapleaf哈希間接包含),因此簽名檢查所花費的CPU時間不再與所執行腳本的大小成比例。
在Tapscript中,簽名操作碼的數量不會計入BIP141或舊的sigop限制。舊的sigop限制使在創建區塊中選擇交易很繁瑣,因為它是一個隨著權重附加的約束。相反,Tapscript簽名操作碼的數量受見證人權重的限制。
Tapscript與BIP 340/341一起擴大了比特幣可能的有趣應用的數量,例如特殊的Taproot合約。特殊的Taproot合約允許執行更復雜的多方合約,并為基于比特幣的分散式自治組織(DAO)開辟了可能性。
在比特幣上激活BIP 340–342
如何將升級添加進比特幣協議?
提交BIP后,將編寫代碼以匹配規范,然后將其作為拉取請求(pull request)提交。此階段之后,用戶和開發人員對拉取請求進行投票。即使將其合并,用戶也可以通過運行新代碼(或不運行并堅持使用舊代碼)進行實際投票。
Schnorr/Taproot/Tapscript升級目前處于社區反饋階段(如下圖所示)。下一步是處理代碼,獲取對比特幣的拉取請求,并準備好測試網絡。
盡管下圖表明進展是線性發生的,但是在社區反饋和協議實施階段之間可能會有一些反饋循環(例如,當規范轉換為工作代碼時,提案可能會進行進一步的更改)。
BIP如何進入比特幣協議中概覽
從2017年的SegWit升級可以看出,BIP 9的使用(需要95%的礦工表示已做好激活準備)可能導致社區不同參與者、開發人員/用戶與礦工之間進行拔河比賽。
一些人認為,比特幣礦工可能將BIP 9用作強大的工具,并根據自己的利益打造協議。例如,SegWit無法通過BIP 9激活,而是轉向了由shaolinfry創建的變體,即用戶激活的軟叉或BIP 148。
為了激活BIP 340–342,比特幣開發人員Matt Carallo借鑒了SegWit升級的經驗教訓,提出了“大共識清理”作為一種可能的方法。該提議結合了BIP 8和BIP 9的理想特性,看起來像這樣:
1、激活方法最初以類似于標準的BIP 9的方式部署(通常在一年的時間范圍內需要95%的礦工準備就緒),
2、如果此途徑激活失敗,則需要六個月的時間來讓社區討論未激活升級的原因,
3、用戶可以選擇兩年激活期的BIP 8部署。
這種激活方法試圖在遵循社區意愿的基礎上進行平衡,但同時又要使激活期足夠長,以確保比特幣協議的更改不會成為負面先例。
時間是不確定的,因為不知道將這些建議轉換為工作代碼時是否會發生意外的問題。到2020年末或許更晚,我們才能看到BIP 340-342的激活。
Schnorr/Taproot/Tapscript可以說是比特幣迄今為止最重大的變化,它可以改善擴展性,提高隱私性和智能合約功能。以SegWit采用作為標準,盡管至少要花兩年甚至兩年以上的時間才能看到它們的廣泛采用,但比特幣的收益將是深遠的。
延伸閱讀:
金色硬核 | Schnorr簽名哪里好 2020年比特幣可能為它軟分叉(1)
金色硬核 | 什么是Taproot?它將為比特幣帶來什么好處(2)
金色財經 區塊鏈3月30日訊 比特幣仍是無可爭議的“區塊鏈之王”,自2017年創下價格新高之后,比特幣在加密貨幣領域里的主導地位也顯著提高.
1900/1/1 0:00:00據報道,印度政府正在與中央銀行,印度儲備銀行(RBI)和印度證券交易委員會(SEBI)討論加密貨幣的監管框架。此外,印度政府正在等待最高法院另一起加密貨幣案的結果,以就加密貨幣監管做出最終決定.
1900/1/1 0:00:00近日,比特大陸已發布新版本的螞蟻礦機E3軟件,并已通過以太坊經典(ETC)社區成功測試,可用于Ethash挖礦。此V520固件版本擴展了基于螞蟻礦機E3的挖礦操作,因此本月不會停止挖礦以太坊.
1900/1/1 0:00:00今天繼續評論 Maker 基金會的完全去中心化方案。Maker 基金會昨日發布了 13 項 MIP 草案,作為未來 Maker 徹底去中心化的方案,并將于 4 月底投票,如果通過,Maker 基.
1900/1/1 0:00:00根據愛立信最近的一份報告預測,到2025年,將會有65%的全球人口能夠用上5G技術,而智能手機數據的使用量,也將從目前的平均每月7.2GB增長到每月24GB.
1900/1/1 0:00:003月24日中國質量新聞網消息,截至目前,廣州通過食品農產品溯源平臺覆蓋90家市場8018個經營主體,實現對全市90家農貿市場(含食品專業批發市場)的線上巡檢,農產品流通追溯憑證達465.7萬單.
1900/1/1 0:00:00