992tv成人免费视频_亚洲综合激情小说_亚洲成人资源网_亚洲欧美另类自拍_亚洲成人动漫在线观看_久久久久久久97_韩国女主播一区_亚洲欧美制服综合另类_亚洲欧洲偷拍精品_亚洲视频axxx

幣圈網

他山之石丨硬核講解比特幣簽名如何一步步縮短


技術的突破是推動區塊鏈行業前進的引擎,BIAN中國區塊鏈研究院與鏈聞 ChainNews 同為密切關注區塊鏈與密碼學等領域技術發展前沿的組織,故而聯合推出「他山之石」專欄,向中文世界讀者介紹全球范圍最值得關注的區塊鏈技術進展,以及在金融等產業最新的應用分析與動態,以期為中國的區塊鏈行業「攻玉」提供借鑒和思考。

本文介紹了 BIP-340 提議使用的 Schnorr 簽名與 ECDSA 簽名相比,縮短了 6 到 9 個字節,可節省更多區塊鏈空間。

撰文:0xB10C,比特幣開發者
翻譯:Chen Bo Yu、Hsu Tzu Hsiu

數字簽名是比特幣協議中的重要構件,占區塊鏈上存儲數據的很大一部分。這篇文章詳細介紹了已編碼的橢圓曲線數字簽名算法(ECDSA)簽名大小在過去幾年中是講解持續的降低,以及對新提出的 Schnorr 簽名與目前使用的 ECDSA 簽名的長度進行了比較。

在比特幣協議中,沒有使用隔離見證 (Segwit)的交易,數字簽名存放于 UTXO 中 input 的 SigScript 欄位,而使用隔離見證的交易則會存放于 Witness 欄位。一個數字簽名由編碼過的 r 和 s 值以及說明了對交易的哪一個部分進行了簽名的 SigHash 標志組成,其中 r 和 s 值都是 256 比特(32 字節)的整數。

比特幣客戶端自第一個版本以來,都是依靠 OpenSSL 進行簽名驗證和編碼。ECDSA 簽名采用 ANS.1 編碼規則中定義的唯一編碼規則(DER)進行編碼。雖然 DER 編碼只允許字節序列以唯一的一種方式表示簽名,但 OpenSSL 庫會將由 DER 標準所衍生的其他編碼同樣視為有效的。而當 OpenSSL 庫中這一特性發生變化時,會導致一些使用較新 OpenSSL 版本的節點拒絕來自使用舊版本庫的節點的鏈。為此,BIP-66 提出了一個軟分叉(Soft fork)的提案,只有嚴格遵循 DER 編碼的簽名才會被接受。

一個 DER 編碼的 ECDSA 簽名以一個 0x30 標識符開始,標識一個復合結構。下面的是一個長度字節,表示結構的長度,然后是復合結構本身。復合結構包含 r 和 s 的整數值,這些值用會將用來表示整數的 0x02 標識符放在開頭,后面是一個長度字節,定義各自的值的長度。

比特幣中 DER 編碼的數字簽名格式

然而 ANS.1 編碼規則中使用的是有符號整數(Signed),而 ECDSA 中的 r 值和 s 值是無符號整數(Unsigned),因此當 r 值或 s 值的第一個比特被設置為 1 時數值會被錯誤的判斷。為了解決這個問題,在數值前加上了一個 0x00 字節,讓無符號整數被編碼為一個正整數。在原始的 r 值與 s 值中,若第一個比特為 1 則我們稱它為高的,否則被稱為低的。

由高的 r 與高的 s 所組成的 73 字節比特幣 ECDSA 簽名

r 值和 s 值的產生是隨機的,當兩個值都為高時(兩個值的第一個比特都為 1),它們都需要在開頭加上一個 0x00 字節。加上了兩個額外的字節以及 SigHash 標志,簽名的總長度為 73 字節。可以發現到在同一個簽名中,r 與 s 兩個值都為高的概率是 25%。直到 2014 年初,在比特幣區塊鏈上的簽名可以觀察到大約 25% 為 73 字節、50% 為 72 字節和大約 25% 為 71 字節的分布。在 72 字節的簽名中,兩個值中一個是高的,另一個是低的,而在 71 字節的簽名中,兩個值都是低的。

2014 年 3 月 Bitcoin Core v0.9.0 發布后,具有高 s 值的簽名比例開始減少。這個版本包含了對 Bitcoin Core 錢包的修改,讓錢包只創建低 s 值的簽名。隨著 2015 年 10 月 Bitcoin Core v0.10.3 和 v0.11.1 的發布,高 s 值的簽名被認定為非標準簽名,以徹底消除可變動性向量。這就禁止了高 s 值的交易被轉發或用于挖礦。從 2015 年 12 月開始,在比特幣區塊鏈上幾乎所有交易的簽名中的 s 值都為低的。

由高的 r 與低的 s 所組成的 72 字節比特幣 ECDSA 簽名

2015 年 12 月至 2018 年初,區塊鏈上的簽名幾乎平均長度在 72 和 71 字節之間。 72 字節的簽名中有一個高的 r 值和一個低的 s 值,并且需要一個預置的 0x00 字節。而 71 字節的簽名是由低的 r 值和低的 s 值組成。

2017 年 8 月底,隔離見證(Segwit)軟分叉激活。隔離見證將包含簽名等內容的 SigScript 移入 Witness 欄位中。雖然在計算交易的大小時,隔離見證交易的簽名將不列入計算,但區塊鏈上的簽名大小實際上是不變的。

由低的 r 與低的 s 所組成的 71 字節比特幣 ECDSA 簽名

2018 年 10 月發布的 Bitcoin Core v0.17.0 版本包含了對 Bitcoin Core 錢包的改進,只產生 71 字節的簽名。通過用不同的 nonce 重新簽署交易,可以產生新的 r 值,直到找到一個低的 r 值。該技術已被其他項目采用,如 NBitcoin 庫和 Electrum 比特幣錢包。

BIP-340 為比特幣引入了 Schnorr 簽名,而 BIP-341 提出了基于 Schnorr 簽名、Taproot 和 Merkle 分支的第一個版本的 SegWit 輸出類型及其支出規則。與 ECDSA 簽名不同的地方是,Schnorr 簽名不是 DER 編碼的。

Schnorr 簽名的格式

Schnorr 簽名包含 32 字節的 r 值和 32 字節的 s 值。最常用的 SigHash 標志 SIGHASH_ALL 是默認的,不需要明確設置,而其他的 SigHash 標志被放在 s 值之后。使用默認 SIGHASH_ALL 標志的 Schnorr 簽名的長度正好是 64 個字節,使用不同的 SigHash 標志的簽名長度則為 65 字節。

一個 64 字節的 SIGHASH_ALL 比特幣 Schnorr 簽名

與 ECDSA 簽名相比,Schnorr 簽名縮短了 6 到 9 個字節。這些節省來自于被移除的編碼開銷和默認的 SigHash 標志。在 Schnorr 簽名采用率為 20% 的情況下,假設每天花費的 800,000 個 UTXO input 中都只包含一個簽名,那么每天可以節省 1MB 上面這些的區塊鏈空間。

相關閱讀

A Layman’s Guide to a Subset of ASN.1, BER, and DER – An RSA Laboratories Technical Note – 1993Create the shortest transaction – Eternity Wall Blog – 2017Exact probabilities of obtaining a DER encoded signature of a certain length – Eternity Wall Blog

來源鏈接:b10c.me

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

992tv成人免费视频_亚洲综合激情小说_亚洲成人资源网_亚洲欧美另类自拍_亚洲成人动漫在线观看_久久久久久久97_韩国女主播一区_亚洲欧美制服综合另类_亚洲欧洲偷拍精品_亚洲视频axxx
久久机这里只有精品| 日韩欧美亚洲国产另类| 激情综合色播激情啊| 欧美色爱综合网| 亚洲精品va在线观看| 91在线丨porny丨国产| 国产精品视频一二三区| 成人性色生活片免费看爆迷你毛片| 欧美精品一区二| 成人高清视频免费观看| 亚洲色欲色欲www| 色综合天天综合网国产成人综合天 | 91精品国产全国免费观看| 亚洲午夜一二三区视频| 91香蕉视频在线| 丝瓜av网站精品一区二区| 欧美一级搡bbbb搡bbbb| 经典三级一区二区| 日韩理论片网站| 欧美剧情电影在线观看完整版免费励志电影| 亚洲国产成人av好男人在线观看| 日韩欧美久久一区| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲一区二区在线免费观看视频| 日韩欧美一二区| 欧美亚洲综合网| 亚洲午夜在线电影| 国产精品白丝在线| 日韩美一区二区三区| 色综合天天综合在线视频| 秋霞午夜鲁丝一区二区老狼| 国产精品毛片久久久久久久| 欧美一区永久视频免费观看| 99久久精品久久久久久清纯| 国产在线观看免费一区| 日韩和欧美一区二区| 亚洲欧洲av另类| 国产人伦精品一区二区| 欧美日韩国产一级片| 91丨九色porny丨蝌蚪| 国产91精品入口| 久久成人久久爱| 日韩电影免费一区| 天堂一区二区在线| 亚洲国产综合视频在线观看| 亚洲欧洲国产日韩| 国产精品国产三级国产| 国产精品久久久久久久久免费樱桃 | 性欧美疯狂xxxxbbbb| 中文字幕日韩精品一区| 国产无遮挡一区二区三区毛片日本| 欧美年轻男男videosbes| 色噜噜夜夜夜综合网| 91视频国产资源| 不卡大黄网站免费看| 成人免费毛片嘿嘿连载视频| 成人国产亚洲欧美成人综合网| 国产白丝网站精品污在线入口| 极品少妇一区二区| 国产成人超碰人人澡人人澡| 国内精品写真在线观看| 国产精品18久久久久久vr| 狠狠狠色丁香婷婷综合激情 | 国产suv精品一区二区883| 国产一区二区精品久久99| 国产福利不卡视频| 一本大道久久精品懂色aⅴ| 欧美在线免费观看视频| 欧美高清视频www夜色资源网| 欧美mv和日韩mv的网站| 国产精品美女视频| 天涯成人国产亚洲精品一区av| 狠狠色2019综合网| 在线精品视频免费观看| 精品免费一区二区三区| 亚洲欧美色一区| 男女性色大片免费观看一区二区 | 日韩—二三区免费观看av| 狠狠色丁香久久婷婷综合丁香| 成人黄色电影在线| 日韩女优av电影在线观看| 国产日韩成人精品| 免费欧美在线视频| 在线免费观看日韩欧美| 久久综合九色欧美综合狠狠| 亚洲免费资源在线播放| 日韩精品91亚洲二区在线观看| 国产91对白在线观看九色| 欧美日韩视频在线一区二区| 国产精品欧美精品| 国内精品伊人久久久久影院对白| 欧美亚洲丝袜传媒另类| 中文字幕免费观看一区| 香蕉影视欧美成人| 97久久精品人人做人人爽50路| 91麻豆精品国产综合久久久久久 | 蜜桃av一区二区| 欧美日韩你懂得| 一区二区三区在线播| 成人影视亚洲图片在线| 精品久久国产老人久久综合| 亚洲国产乱码最新视频| 欧美这里有精品| 亚洲美女在线国产| av电影在线不卡| **欧美大码日韩| 91免费国产在线| 亚洲女与黑人做爰| 一本大道av伊人久久综合| 国产精品电影一区二区三区| 国产资源在线一区| 26uuu色噜噜精品一区二区| 亚洲午夜久久久久久久久久久| 99国产一区二区三精品乱码| 亚洲人成影院在线观看| 一本高清dvd不卡在线观看| 亚洲视频1区2区| 欧美日韩一卡二卡| 天堂成人国产精品一区| 日韩欧美在线综合网| 国产精品一线二线三线| 国产情人综合久久777777| 不卡一二三区首页| 一区二区三区在线免费视频| 欧美日韩在线电影| 久久国产夜色精品鲁鲁99| 久久综合网色—综合色88| 顶级嫩模精品视频在线看| 亚洲欧美在线另类| 欧美精品日韩综合在线| 国产精品综合二区| 99久久国产综合色|国产精品| 伊人一区二区三区| 日韩精品中午字幕| 91原创在线视频| 日韩av在线播放中文字幕| 欧美国产一区在线| 678五月天丁香亚洲综合网| 国产一区二区在线看| 亚洲精品免费在线| 欧美成人高清电影在线| 成人av在线播放网站| 婷婷激情综合网| 中文字幕人成不卡一区| 精品日韩一区二区| 91丨porny丨首页| 国产麻豆视频一区| 强制捆绑调教一区二区| 日本一区二区三区四区在线视频| 欧美性受xxxx黑人xyx性爽| 国产成人av电影在线观看| 亚洲国产精品一区二区www| 国产视频一区在线播放| 91麻豆精品国产91久久久| 欧美综合天天夜夜久久| 国产a级毛片一区| 捆绑变态av一区二区三区| 亚洲成人中文在线| 一区二区三区自拍| 亚洲日本成人在线观看| 欧美国产日产图区| 国产区在线观看成人精品| 久久久九九九九| 国产亚洲精久久久久久| 久久免费午夜影院| 精品国产亚洲在线| 亚洲精品在线观| 久久女同精品一区二区| 久久久久久99久久久精品网站| 久久亚洲精精品中文字幕早川悠里| 欧美一级搡bbbb搡bbbb| 欧美成人高清电影在线| 精品福利视频一区二区三区| 欧美一级xxx| 精品久久久久久久久久久久久久久| 欧美一级xxx| 久久亚区不卡日本| 亚洲国产精品成人综合| 18成人在线观看| 亚洲香肠在线观看| 青青草精品视频| 日韩有码一区二区三区| 蜜臀av国产精品久久久久| 久久不见久久见中文字幕免费| 久久69国产一区二区蜜臀| 国产福利91精品一区| 91亚洲精品久久久蜜桃| 欧美私模裸体表演在线观看| 69堂成人精品免费视频| 久久久久久夜精品精品免费| 国产精品污网站| 日韩av电影免费观看高清完整版在线观看| 日韩av一二三| 91麻豆蜜桃一区二区三区| 欧美精品免费视频| 国产精品久久午夜夜伦鲁鲁| 婷婷国产在线综合| 波多野结衣视频一区| 欧美成人女星排名| 一区二区三区国产|