金色財經近期推出金色硬核(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今日全網算力上漲1.72%:金色財經報道,據蜘蛛礦池數據顯示:
BTC全網算力131.257EH/s,挖礦難度19.16T,目前區塊高度659296,理論收益0.00000682/T/天。
ETH全網算力283.165TH/s,挖礦難度3450.84T,目前區塊高度11357367,理論收益0.00553585/100MH/天。
BSV全網算力1.147EH/s,挖礦難度0.17T,目前區塊高度663489,理論收益0.00078437/T/天。[2020/11/30 22:33:50]
什么是操作碼(Opcodes)?
操作碼(Opcodes)是操作碼(operation codes)的縮寫,基本上是腳本語句或命令。這些命令可以返回“ TRUE”或“ FALSE”,用于發送/接收交易。
例如,腳本指令指定了解鎖腳本所需的簽名數量。它們還指示了交易的比特幣數量以及收款人地址。
操作碼可用于刪除堆棧中的項目并執行計算,然后將結果添加回堆棧中。請記住,作為基于堆棧的編程語言,腳本指令是按照從堆棧頂部到底部的順序執行的。
什么是Tapscript?
作為比特幣編程語言(腳本)的升級版,Tapscript更容易添加新功能,且提供基于Schnorr簽名的批量驗證(batch verifiability)。
什么是批量驗證?Schnorr/Taproot/Tapscript系列第一篇講過。
Tapscript還補充了BIP 341(Taproot)中提出的對比特幣腳本結構的改進,該結構需要更改某些操作碼,而BIP 342則涉及需要進行的更改。
金色午報 | 12月13日午間重要動態一覽:7:00-12:00關鍵詞:央行、閃電網絡、ETC硬分叉、孫宇晨、Tezos
1.央行海北州支行:投資人需防范虛擬貨幣詐騙套路。
2.山東省副省長:要運用區塊鏈等技術對傳統制造業進行升級。
3.巴塞爾銀監會就審慎規管加密資產問題征求意見。
4.閃電網絡已完成多路徑支付互操作測試,支持更大額比特幣交易。
5.ETC Core舉行開發者會議確定Agharta硬分叉高度。
6.深圳前海稅務局:將持續推廣區塊鏈電子發票。
7.孫宇晨微博新號“孫宇晨老師”被封禁。
8.知情人士:平安壹賬通IPO定價位于指導區間高端,籌集3.12億美元。
9.Tezos市值11.25億美元,重回第十,現報1.7美元。[2019/12/13]
理解Tapscript的另一種方法是考慮Taproot的Merkle樹,其中每個葉子(leaf)都是一個腳本,可稱之為葉子版本,類似于SegWit的腳本版本控制。
但是不同之處在于,腳本不會在付款時顯示,而只會在花費時顯示。不同的葉子可以具有不同的版本,其中僅顯示實際使用的葉子。Tapscript是Taproot下版本0的葉版本。
Tapscript與傳統和SegWit的比特幣腳本共享大多數操作,但有一些區別:
簽名操作碼驗證Schnorr簽名(而不是ECDSA簽名)。
多簽操作碼OP_CHECKMULTISIG和OP_CHECKMULTISIGVERIFY被操作碼OP_CHECKSIGADD代替,允許使用Schnorr進行簽名批量驗證。
由于簽名驗證是比特幣腳本中最耗費CPU的操作,因此這些操作碼對實現與基于Schnorr的多重簽名方案相關的效率提升至關重要。
金色財經現場報道 中國電子商務協會反欺詐中心主席張穎東:攜手共建信用平臺:金色財經現場報道,在2018全球首屆萬國區塊鏈技術博覽會上,中國電子商務協會反欺詐中心主席張穎東進行現場致辭。他指出:在金融科技領域,目前最缺乏的就是對于文化的構建,我們知道如何在金融的屬性構建起體系,但我們忽視了如何將其融合進文化層面。希望各位同仁們攜手共建信用平臺。[2018/4/22]
當前,用于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操作碼,它無條件使整個腳本有效,以簡化軟分叉升級。
與現在正使用的機制OP_NOP相比,新操作碼OP_SUCCESS的引入更容易驗證。
以前無法使用的操作碼通常返回“FALSE”狀態,Tapscript會將它們返回“TRUE”狀態。只要腳本中存在這些操作碼,你就可以無條件地使用它,而實際的好處是可以將操作碼重新定義為任意值,并且不需要向后兼容。
這種用新的操作碼擴展腳本的新機制,比現有的見證版本控制機制更易于協調和使用。后果是,它有望為將來比特幣腳本添加更多有用的操作碼開辟道路。
金色財經現場報道 KuickDeal 崔超:區塊鏈讓社區活躍用戶主導商業生態搭建:金色財經現場報道KuickDeal創始人、CEO崔超在今天的區塊鏈教育創新論壇暨“區塊鏈+”學程發布會上說,區塊鏈驅動商業業務的增長,在品牌積分、用戶補貼、企業股票、品牌token四個方面區塊鏈將重塑品牌互動方式。區塊鏈技術可以使持續活躍、持續裂變、持續消費的用戶得到token獎勵,以此獲得優質用戶;競拍、投票是token最重要的出口,優質用戶將深度參與品牌互動,區塊鏈正在讓社區活躍用戶主導生態搭建。[2018/4/21]
現有的NOP操作碼可能是專門為了具有升級機制而添加的,以便我們可以輕松地向比特幣腳本語言添加新的操作碼。
但到目前為止,它們僅用于CHECKLOCKTIMEVERIFY和CHECKSEQUENCEVERIFY。為了與軟叉兼容,這些NOP只能執行以下兩項操作之一:1)中止或2)根本不執行任何操作。
由于它們重新定義了NOP,目前CHECKLOCKTIMEVERIFY和CHECKSEQUENCEVERIFY兩操作碼無法以任何方式修改堆棧。結果是,它們不會從堆棧中彈出參數,而你總是需要在后面跟一個OP_DROPafter。
操作碼不執行任何操作(即NOP),Tapscript是一種解決方案,它引入了一個新的操作碼OP_SUCCESS,它“返回TRUE”。這些操作碼只有在被使用時才被用到,并且直到它們在網絡上定義了鎖定的語義后才被使用。
結果是,禁用和從未定義的操作碼編號將變為“return TRUE”。隨后,可以將這些操作碼重新定義為任何內容,因為所有內容是軟分叉的,與“return TRUE”兼容。
金色財經訊:一位接近印度監管層的人士透露,印度有可能全面禁止加密貨幣交易,與中國實行相似的監管措施。[2017/11/3]
簽名哈希(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)
比特幣網絡的挖礦難度已經從 16.6 T 減少到 13.9 T,下降了 15.95%,并創下有史以來第二大跌幅。在此,我們將根據 Coin Metrics 數據探究一下比特幣挖礦難度調整的歷史.
1900/1/1 0:00:00加密對沖基金Adaptive Capital告知其有限責任合伙人,正在關閉其基金,并將剩余資金返還給投資者.
1900/1/1 0:00:00金色財經 區塊鏈4月9日訊 作為全球最大的線上論壇之一,Reddit可能即將在其移動應用程序上推出基于區塊鏈技術的積分系統了.
1900/1/1 0:00:003月24日訊,瑞康醫藥旗下吉祥天區塊鏈醫藥健康服務平臺(簡稱“吉祥天平臺”)正式上線,開始對外提供服務.
1900/1/1 0:00:00上期回顧 BTC:如今市場已經沒有避險資產,現金為王的思想逐漸占上風,所有資產都慘遭大幅拋售。BTC 作為風險資產的一種,被拋售也在市場預計內,短期而言 BTC 的波動將進一步加劇,甚至再次下跌.
1900/1/1 0:00:00頭條 ▌央行:加強頂層設計,堅定不移推進法定數字貨幣研發工作今日,人民銀行2020年全國貨幣金銀和安全保衛工作電視電話會議在北京召開.
1900/1/1 0:00:00