金色財經近期推出金色硬核(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腳本,從而引入靈活性,添加了新的操作碼以增強比特幣的智能合約功能,并且還更改了對資源要求的一些限制。
金色財經挖礦數據播報:ETH今日全網算力下降2.95%:金色財經報道,據蜘蛛礦池數據顯示:
BTC全網算力154.567EH/s,挖礦難度21.72T,目前區塊高度673063,理論收益0.00000660/T/天。
ETH全網算力409.826TH/s,挖礦難度5182.67T,目前區塊高度11969115,理論收益0.00575170/100MH/天。
BSV全網算力0.562EH/s,挖礦難度0.08T,目前區塊高度676902,理論收益0.00160051/T/天。
BCH全網算力1.235EH/s,挖礦難度0.19,目前區塊高度677206,理論收益0.00072859/T/天。[2021/3/4 18:14:00]
什么是操作碼(Opcodes)?
操作碼(Opcodes)是操作碼(operation codes)的縮寫,基本上是腳本語句或命令。這些命令可以返回“ TRUE”或“ FALSE”,用于發送/接收交易。
例如,腳本指令指定了解鎖腳本所需的簽名數量。它們還指示了交易的比特幣數量以及收款人地址。
操作碼可用于刪除堆棧中的項目并執行計算,然后將結果添加回堆棧中。請記住,作為基于堆棧的編程語言,腳本指令是按照從堆棧頂部到底部的順序執行的。
什么是Tapscript?
作為比特幣編程語言(腳本)的升級版,Tapscript更容易添加新功能,且提供基于Schnorr簽名的批量驗證(batch verifiability)。
什么是批量驗證?Schnorr/Taproot/Tapscript系列第一篇講過。
金色午報 | 5月15日午間重要動態一覽:7:00-12:00關鍵詞:Libra協會、區塊鏈應用、Filecoin、谷歌
1.包括淡馬錫在內的三個風投公司加入Libra協會。
2.《能源石化交易行業區塊鏈應用白皮書》正式發布。
3.中國移動等企業將探索航運區塊鏈等相關場景應用。
4.全國人大代表:人民法院要更好地運用區塊鏈等前沿技術。
5.民生銀行貴陽分行:注意防范打著區塊鏈旗號的非法集資。
6.Filecoin測試網第二階段啟動 主網預計最早7月上線。
7.主力成交復盤:幣安1024枚BTC主力賣出引發瀑布。
8.谷歌Chrome瀏覽器宣布將屏蔽內置挖礦程序的高耗能廣告。
9.威脅曝光明星法律隱私的黑客將贖金支付方式改為門羅幣。
10.比特幣出現調整,日內最低跌至9250美元,最高報9877美元。[2020/5/15]
Tapscript還補充了BIP 341(Taproot)中提出的對比特幣腳本結構的改進,該結構需要更改某些操作碼,而BIP 342則涉及需要進行的更改。
理解Tapscript的另一種方法是考慮Taproot的Merkle樹,其中每個葉子(leaf)都是一個腳本,可稱之為葉子版本,類似于SegWit的腳本版本控制。
但是不同之處在于,腳本不會在付款時顯示,而只會在花費時顯示。不同的葉子可以具有不同的版本,其中僅顯示實際使用的葉子。Tapscript是Taproot下版本0的葉版本。
Tapscript與傳統和SegWit的比特幣腳本共享大多數操作,但有一些區別:
簽名操作碼驗證Schnorr簽名(而不是ECDSA簽名)。
金色午報 | 2月8日午間重要動態一覽:7:00-12:00關鍵詞:CFTC、速匯金、David Pike、BB、Athena
1. CFTC技術咨詢委員會2月會議議程包含穩定幣和加密貨幣自律組織演講。
2. 美國當局指控與OneCoin騙局有關的David Pike參與合謀實施銀行欺詐。
3. 速匯金在全球五個支付通道使用Ripple跨境支付解決方案ODL。
4. 玳鴿區塊鏈獲上市公司中裝建設千萬元級融資。
5. 2014年7月至今,已有5700個項目通過ICO籌集逾270億美元。
6. BB:所有公共區塊鏈均由多數投票控制,DPoS更加去中心化。
7. 比特幣ATM提供商Athena:哥倫比亞的委內瑞拉人是ATM的最大用戶。
8. BTC現報9738美元,近24小時下跌0.51%,市值為1772.03億美元。[2020/2/8]
多簽操作碼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
分析 | 金色盤面:PAI/USDT高位橫盤:金色盤面綜合分析:PAI/USDT在早間上漲之后一直在高位橫盤震蕩,目前散戶資金大量流出,注意關注阻力0.40美元的壓制情況,不破將要下行。[2018/8/17]
許多操作碼被重新定義為OP_SUCCESS操作碼,它無條件使整個腳本有效,以簡化軟分叉升級。
與現在正使用的機制OP_NOP相比,新操作碼OP_SUCCESS的引入更容易驗證。
以前無法使用的操作碼通常返回“FALSE”狀態,Tapscript會將它們返回“TRUE”狀態。只要腳本中存在這些操作碼,你就可以無條件地使用它,而實際的好處是可以將操作碼重新定義為任意值,并且不需要向后兼容。
這種用新的操作碼擴展腳本的新機制,比現有的見證版本控制機制更易于協調和使用。后果是,它有望為將來比特幣腳本添加更多有用的操作碼開辟道路。
現有的NOP操作碼可能是專門為了具有升級機制而添加的,以便我們可以輕松地向比特幣腳本語言添加新的操作碼。
但到目前為止,它們僅用于CHECKLOCKTIMEVERIFY和CHECKSEQUENCEVERIFY。為了與軟叉兼容,這些NOP只能執行以下兩項操作之一:1)中止或2)根本不執行任何操作。
由于它們重新定義了NOP,目前CHECKLOCKTIMEVERIFY和CHECKSEQUENCEVERIFY兩操作碼無法以任何方式修改堆棧。結果是,它們不會從堆棧中彈出參數,而你總是需要在后面跟一個OP_DROPafter。
操作碼不執行任何操作(即NOP),Tapscript是一種解決方案,它引入了一個新的操作碼OP_SUCCESS,它“返回TRUE”。這些操作碼只有在被使用時才被用到,并且直到它們在網絡上定義了鎖定的語義后才被使用。
金色財經訊:倫敦證券交易所高管認為,法定貨幣正在阻礙區塊鏈的創新。他期望央行有朝一日可以發行自己的數字貨幣。[2017/11/1]
結果是,禁用和從未定義的操作碼編號將變為“return TRUE”。隨后,可以將這些操作碼重新定義為任何內容,因為所有內容是軟分叉的,與“return TRUE”兼容。
簽名哈希(SIGHASH)的計算方式不同于舊腳本或BIP143 v0隔離見證中的計算方式。
什么是簽名哈希?簡而言之,簽名哈希是比特幣簽名的標志,用于指示對交易的哪些部分進行簽名。
使用scriptsigs,簽名可以證明你有權花費某些比特幣。這些簽名以某種方式構造,簽名后附加了一個字節,用于指定以哪種方式對交易進行簽名。因此已經有一些SIGHASH被部署和實施。
最常用的是SIGHASH_ALL,其中除scriptsigs之外的所有內容均被簽名。而當僅對當前輸入進行簽名并且交易中的所有其他內容均不視為簽名的一部分時,將使用諸如SIGHASH_ANYONECANPAY,承諾(commitment)不包括在內。
對于這些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)
主流幣種過去24小時內取得了相當不錯的上漲表現,階段領漲的BSV取得了近30%的驚人漲幅,BTC也取得了近15%的上漲,這種單日漲幅在過去相當長的時間里都未曾出現.
1900/1/1 0:00:00金色財經 區塊鏈3月24日訊 據《環球時報》海外版消息,中國人民銀行(PBC)距離發行央行數字貨幣又近了一步.
1900/1/1 0:00:00針對Telegram發行代幣GRAM一事,美國聯邦法官P. Kevin Castel在美東時間3月24日發布了一項初步禁令,裁定GRAM的發行違反了美國證券法.
1900/1/1 0:00:00關于數字美元,這是一篇可以耐心看完的文章,值得我們引起關注。數字貨幣本周早些時候成為了主流新聞.
1900/1/1 0:00:00金色財經鏈上活躍度播報 | BTC 24h鏈上活躍地址數總計808250:據歐科云鏈OKLink數據顯示,BTC 24h 鏈上活躍地址數總計808250.
1900/1/1 0:00:00芝商所集團是比特幣期貨合約的最大機構提供商。但是最近,根據即將舉行的董事會候選人透露,該公司還應專注于其他業務,包括比特幣挖礦和其他業務,以為其利益相關者創造更多價值.
1900/1/1 0:00:00