作者:李昊軒|微眾銀行區塊鏈核心開發者
來源:微眾銀行區塊鏈微信公眾號
海量數字簽名數據如何進行高效存儲和驗證?能否對來自多個參與方的簽名實現數據聚合壓縮?如果每個參與方使用不同的簽名私鑰對不同消息進行簽名,聚合簽名技術是否依舊可以支持?聚合簽名技術使用過程中又有哪些值得警惕的風險?
伴隨著經濟數字化轉型深入,以區塊鏈技術為代表的多方協作技術逐漸普及,如何驗證承載著多樣化價值的數據有效性早已成為全行業的普遍需求。滿足這一需求的關鍵是引入各式各樣數字化契約,而支持契約中數字簽名高效驗證則是關鍵中的關鍵。
海量數據帶來了海量數字契約,海量數字契約也進一步帶來了海量數字簽名,由此難免遇到數字簽名數據飛速增長、驗證效率不斷下降的困擾。
以區塊鏈應用為例,一般情況下,在區塊鏈節點共識過程中,所有節點都需要對整個區塊進行簽名,并將相關數據,如區塊數據、節點公鑰、簽名數據存儲在區塊中。隨著應用使用量增加,簽名相關存儲數據也會不停增長。不同于傳統應用,鏈上數據在理論上只增不減,而海量簽名帶來的海量數據,對于數據存儲、網絡傳輸、簽名驗證都是巨大負擔。
在保證海量簽名數據可驗證的前提下,對數字簽名數據進行聚合壓縮,其具體技術如何實現?聚合簽名在提升系統效率的同時,有沒有帶來額外風險?且看本文對此逐一解析。
Injective Protocol燒毀班克西畫作后將其數字化為NFT:區塊鏈公司Injective Protocol以95000美元購買了英國畫家、著名街頭涂鴉藝術家班克西的畫作,然后在直播中燒毀了它。CBS電視臺報道稱,此后畫作被數字化成為獨一無二的虛擬資產(即NFT)。計劃把這個資產拿出來出售,所得收入將捐給慈善機構。(俄羅斯衛星通訊社)[2021/3/5 18:16:18]
1.聚合簽名的高效性
一個典型的數字契約一般包括消息原數據、公鑰、簽名三部分。用戶通過公鑰確認簽名者身份,通過數據確認契約內容,從而來認證數字契約的有效性。
對應地,聚合簽名的主要設計目標是將多個簽名數據壓縮合并成單個聚合簽名。驗證者通過所有簽名相關的數據和公鑰組成的列表對單個聚合簽名進行驗證,若驗證通過,其效果等同于對所有相關簽名進行獨立驗證且全部通過。
一般情況下,聚合簽名產生的簽名數據具有大小固定的特性,即無論有多少原始簽名,聚合后簽名數據的大小總是恒定的。
聚合簽名可以有效降低存儲空間和驗證過程中網絡流量成本,尤其對簽名頻次較低但驗證頻次較高的業務場景有顯著效果。
回到區塊鏈節點共識應用場景,當前大多數聯盟鏈共識采用ECDSA簽名算法。針對區塊數據,每個節點用自身私鑰生成獨立的數字簽名,并廣播給其他節點。其他節點會驗證該簽名,并將其寫入下一區塊數據中。
朱嘉明:產業新浪潮具有產業硬科技化、產業數字化和產業區塊鏈三大新特點:金色財經現場報道,7月5日,由杭州市余杭區政府指導,杭州未來科技城管委會、巴比特主辦的2020杭州區塊鏈國際周在杭州舉辦。經濟學家朱嘉明在以《迎接科技產業化和產業科技化新時代》的主題演講中表示,產業新浪潮有哪些新特點,我概括三個方面:1.產業硬科技化。2.產業數字化。3.產業區塊鏈。
也就是要建立以區塊鏈為重要組成部分新的產業基礎結構,最終整合產業鏈、價值鏈和供應鏈。擁抱新產業,實現上述“三化”的目的可以歸納四個方面:1.實現基于創新的指數化增長;2.實現集群性增長;3.實現可持續增長;4.實現基于共享機制模式的增長。[2020/7/5]
使用這種方式,當共識節點數較多時,會導致每輪共識區塊存儲的簽名數據不斷增加,占用存儲空間。每當新節點加入網絡,需要同步歷史區塊時,大量簽名數據會對網絡帶寬造成不小的挑戰。
聚合簽名方案可以在一定程度上解決以上問題。相比直接保存多個獨立簽名,使用聚合簽名技術后,每個節點會收集其他節點廣播的聚合簽名分片,然后將簽名分片聚合保存。這樣,當新節點加入時,同步歷史區塊只需下載聚合后的簽名數據,大大減少對網絡帶寬的占用。
聲音 | 范毅:鼓勵建設區塊鏈技術等基礎平臺 促進企業數字化轉型:國家發改委城市和小城鎮改革發展中心政策研究院副院長范毅撰文《城鎮化視角下,應對疫情的幾點建議》。文章建議,財政扶持,引導和扶持重點行業發展。重點行業的扶持主要針對三類。其一是疫情發生以來,表現出強勁發展勢頭,對未來發展具有引領作用的新業態和新模式。比如,鼓勵建設工業數字化、農業數字化、區塊鏈技術等基礎平臺,促進企業數字化轉型。[2020/2/23]
除了數據存儲和傳輸效率提高,當被聚合的數字簽名數量足夠大,理論上也能提高簽名驗證的計算效率。聚合簽名方案的實際性能與其具體構造方式密不可分,下面我們將以目前最常用的Schnorr與BLS聚合簽名為例,介紹其構造細節。
2.Schnorr和BLS聚合簽名構造
根據不同聚合能力,以及是否支持對不同消息產生簽名進行聚合,常見的聚合簽名方案可以分成以下兩類:
只能對同一個消息使用的不同簽名進行聚合,即甲、乙、丙三方對同一份合同A簽名,期間產生的三個簽名可以合并成一個聚合簽名。其典型的構造方案是Schnorr聚合簽名,此類構造方案也常被稱為
多重簽名方案。
可以對不同消息使用的不同簽名進行聚合,即甲對合同A簽名、乙對合同B簽名、丙對合同C簽名,三個不相干的簽名可以合并成一個聚合簽名。其典型的構造方案是BLS聚合簽名。
聲音 | 匯付天下:探索引入區塊鏈技術 助力行業數字化升級:金色財經報道,“推進數字化轉型已經成為企業的共同選擇。”匯付天下相關負責人表示, 公司當前正在積極探索引入人工智能、區塊鏈等最新技術,打破產業鏈信息孤島現象,降低產業鏈融資成本。以公司目前正在與業內某知名GPO藥品集采平臺開展的合作為例,在引入區塊鏈技術后,公司可以有效助力醫藥產業提升交易的透明度、智能化,完善“數字化+量化集中采購”的全場景平臺化建設。[2019/12/12]
Schnorr聚合簽名
Schnorr聚合簽名可以看作一類橢圓曲線上數字簽名方案的擴展,其基本構造方式如下:
使用Schnorr聚合簽名的交互過程如下:
值得注意的是,相比經典數字簽名,Schnorr聚合簽名多了交互隨機數和聚合簽名過程,同時這里所有簽名均是對同一個消息進行簽署。
BLS聚合簽名
有別于Schnorr聚合簽名,BLS聚合簽名額外引入了雙線性映射,其具備以下特性:
聲音 | 騰訊云敖萌:“貨幣數字化”和“數字貨幣”不是一回事:騰訊云區塊鏈首席架構師敖萌在接受采訪時指出:“貨幣的數字化”和“數字貨幣”并非一回事,“貨幣的數字化”會讓整個社會流通的貨幣總量增加,但是“數字貨幣”不會這樣,因為數字貨幣的控制權不發生轉移。“如果未來出現了央行發行的數字貨幣,即便商業銀行作為網絡的一個節點,你也大可放心。你的錢不會被商業銀行拿去做派生,做各種業務。”[2018/8/15]
該特性是BLS聚合簽名實現對多個不相關的數字簽名聚合的關鍵,其基本構造方式如下:
使用BLS聚合簽名的交互過程如下:
通過引入雙線性映射,BLS聚合簽名打破了簽名所對應的消息必須是同一個的限制,由此可靈活地支持各類簽名聚合需求。同時BLS在聚合過程中交互較少,無需交換隨機數的過程,可以有效減少網絡傳輸帶來的性能損耗。
但是,雙線性映射帶來神奇特性的同時,也提升了計算成本。但目前已知的雙線性映射構造復雜,計算性能在工程實現上慢了幾個數量級。
Schnorr聚合簽名和BLS聚合簽名各有所長。在聚合能力上,BLS占優,在計算性能上,Schnorr占優,兩者具體比較與使用注意事項將在下節中展開。
3.聚合簽名的使用注意事項
聚合簽名的性能
聚合簽名的首要設計目標是壓縮簽名數據,節省數據存儲和網絡傳輸成本。對現有計算機系統,I/O耗時通常是關鍵性能瓶頸,所以此項優化通常可以提升驗證海量簽名數據的整體吞吐量。
一般情況下,假定安全參數為256位,對于Schnorr聚合簽名,其典型的簽名數據為一個聚合后的點和數,大小恒定為64字節,對于BLS聚合簽名,其典型的簽名數據為橢圓曲線上壓縮后的一個點,大小恒定為33字節。
除了吞吐量之外,驗證數字簽名的延時通常也是重要性能指標,但這不是聚合簽名的強項,以下給出一些基于開源代碼實現的實測性能比較結果。
對于Schnorr聚合簽名,盡管其驗簽的理論復雜度比ECDSA簽名低,但由于在驗證時需要使用公鑰列表進行聚合,其性能并沒有明顯提升;另一方面,在簽名過程中,Schnorr聚合簽名多了一些交互流程,性能接近但也不及ECDSA簽名。
對于BLS聚合簽名,由于使用了構造復雜的雙線性映射,各項計算性能均顯著低于ECDSA簽名。同時,雙線性映射目前缺乏對應的硬件加速,軟件優化也不是很成熟,這種狀況可能在未來會得到改善。
聚合簽名的國密化
國密化支持是當前密碼技術應用的熱點方向,然而我國密碼行業標準化技術委員會目前發布的標準,尚未明確規定建議使用的聚合簽名算法。
我們需要根據現有的國密技術規范,提煉出聚合簽名所需的密碼學原語,基于標準方案進行適配構造,具體如下:
橢圓曲線公鑰密碼算法:GM/T0003.5-2012《SM2橢圓曲線公鑰密碼算法第4部分:公鑰加密算法》
消息摘要算法:GM/T0004-2012《SM3密碼雜湊算法》
雙線性映射:GM/T0044.5-2016《SM9標識密碼算法第5部分:參數定義》
聚合簽名的安全風險
無論是Schnorr還是BLS聚合簽名,在設計過程中都提供了理論證明——
即便聚合了海量簽名,最終產生單個聚合簽名的安全性,都與聚合前的經典數字簽名安全性相當。
但是,相比原來只有單方計算的經典數字簽名,聚合簽名計算過程涉及多方交互,一旦參與聚合的任一方有意作惡,恰逢不安全的工程實現,難免會引發額外的安全風險。
以Schnorr聚合簽名為例,一些工程實現為了減少交互成本,在關鍵的隨機數交互過程中,采用預計算方式初始化隨機數。然而,如果攻擊者不遵守協議約定,構造惡意的特殊數據作為隨機數,可能會造成其他用戶的密鑰泄露。
類似地,對于BLS聚合簽名,一些工程實現為了提升計算效率,使用不安全的曲線組合來構造雙線性映射,從而破壞了聚合簽名算法的整體安全性,進而泄露用戶密鑰。
預防這些安全風險的關鍵在于,聚合簽名的工程實現應嚴格按照論文或標準中的算法流程和推薦參數設置,切記不要為了優化性能而引入嚴重的安全風險。
總體而言,聚合簽名為多方協作場景提供了一種節省存儲空間和驗證過程中的網絡流量、提升批量數字簽名驗證性能的解決方案。
不同的聚合簽名針對不同規模的數據量、不同業務領域均具備獨特優勢,其基礎技術選型可以參考下圖:
正是:海量契約驗證難勝任,聚合簽名一鍵理萬機!
通過對多個用戶生成的簽名進行聚合壓縮,聚合簽名大幅提升數字簽名存儲、傳輸、驗證效率,使得海量數字契約中的海量數字簽名得以高效驗證。
除了本文介紹的Schnorr和BLS聚合簽名,基于雙線性映射、同態加密或同態性等密碼學原語,還可以構造出其他聚合簽名方案,比較知名的方案有CL聚合簽名、IBAS基于身份的聚合簽名等。根據具體的業務需求,選用合適方案,可以顯著提升數字簽名的使用效率和系統的整體擴展性。
不知不覺,《隱私保護周三見》已與大家相伴近5個月,感謝交流群內各位專家的不吝分享,給予了我們許多啟發。本論是欄目第一季的收官分享,下一季,我們將聚焦到具體場景中的隱私保護技術與解決方案,敬請持續關注!
概述 大型旅游公司CWT向一個黑客組織支付了450萬美元的比特幣。其中很多比特幣都經過了世界上最大的密碼交易所。黑客并沒有使用混幣服務來洗錢。但這是有原因的.
1900/1/1 0:00:00BTC再次突破10000美元,連續3個月出現單日突破剛剛,BTC現貨價格爆拉,瞬間突破10000美元關口,最高觸達10150美元,截至發稿,回落至9963美元.
1900/1/1 0:00:00據TheDailyHodl7月30日報道,伴隨著去中心化金融的火熱勢頭,以太坊的合約調用數量剛剛達到歷史新高.
1900/1/1 0:00:00本文轉載自PingWest品玩 作者/淺蟬編者按 深圳作為改革開放的前沿城市,依托強大的制造能力,以及眾多行業領軍企業的先鋒作用。四十年來,深圳成為了中國科技創新者的精神燈塔.
1900/1/1 0:00:00免責聲明:本專欄內容概不構成任何投資意見,內容亦并非就任何個別投資者的特定投資目標、財務狀況及個別需要而編制。投資者不應只按本專欄內容進行投資.
1900/1/1 0:00:008月6日消息,今日,計算機科學家兼Blockstream首席執行官AdamBack在Twitter上再次對以太坊發表了負面看法.
1900/1/1 0:00:00