作者:李昊軒|微眾銀行區塊鏈核心開發者
來源:微眾銀行區塊鏈微信公眾號
海量數字簽名數據如何進行高效存儲和驗證?能否對來自多個參與方的簽名實現數據聚合壓縮?如果每個參與方使用不同的簽名私鑰對不同消息進行簽名,聚合簽名技術是否依舊可以支持?聚合簽名技術使用過程中又有哪些值得警惕的風險?
伴隨著經濟數字化轉型深入,以區塊鏈技術為代表的多方協作技術逐漸普及,如何驗證承載著多樣化價值的數據有效性早已成為全行業的普遍需求。滿足這一需求的關鍵是引入各式各樣數字化契約,而支持契約中數字簽名高效驗證則是關鍵中的關鍵。
海量數據帶來了海量數字契約,海量數字契約也進一步帶來了海量數字簽名,由此難免遇到數字簽名數據飛速增長、驗證效率不斷下降的困擾。
以區塊鏈應用為例,一般情況下,在區塊鏈節點共識過程中,所有節點都需要對整個區塊進行簽名,并將相關數據,如區塊數據、節點公鑰、簽名數據存儲在區塊中。隨著應用使用量增加,簽名相關存儲數據也會不停增長。不同于傳統應用,鏈上數據在理論上只增不減,而海量簽名帶來的海量數據,對于數據存儲、網絡傳輸、簽名驗證都是巨大負擔。
在保證海量簽名數據可驗證的前提下,對數字簽名數據進行聚合壓縮,其具體技術如何實現?聚合簽名在提升系統效率的同時,有沒有帶來額外風險?且看本文對此逐一解析。
法國初創公司Debond Protocol OU與法國本土券商Equisafe達成債券數字化合作方案:10月24日消息,據知情人士稱,Debond Protocol OU開發的D/Bond方案已被法國本土券商Equisafe采用。該方案包括基于首個金融產品通用端口ERC-3475搭建的白標鏈上債券平臺和歐洲銀行管理局 (EBA) 提供的DID KYC身份驗證系統。據悉,歐盟最新通過的MiCA數字資產法案是合作促成的主要推手。[2022/10/24 16:37:21]
1.聚合簽名的高效性
一個典型的數字契約一般包括消息原數據、公鑰、簽名三部分。用戶通過公鑰確認簽名者身份,通過數據確認契約內容,從而來認證數字契約的有效性。
對應地,聚合簽名的主要設計目標是將多個簽名數據壓縮合并成單個聚合簽名。驗證者通過所有簽名相關的數據和公鑰組成的列表對單個聚合簽名進行驗證,若驗證通過,其效果等同于對所有相關簽名進行獨立驗證且全部通過。
一般情況下,聚合簽名產生的簽名數據具有大小固定的特性,即無論有多少原始簽名,聚合后簽名數據的大小總是恒定的。
聚合簽名可以有效降低存儲空間和驗證過程中網絡流量成本,尤其對簽名頻次較低但驗證頻次較高的業務場景有顯著效果。
回到區塊鏈節點共識應用場景,當前大多數聯盟鏈共識采用ECDSA簽名算法。針對區塊數據,每個節點用自身私鑰生成獨立的數字簽名,并廣播給其他節點。其他節點會驗證該簽名,并將其寫入下一區塊數據中。
Ontology創始人預測2021年:實物資產進一步數字化:Ontology創始人李俊發表關于2021年的預測:
1.關于為何中國支付服務需要時間來采用數字貨幣:“中國的第三方支付服務仍然不會接受數字貨幣或數字資產,因為中國的金融監管相當強大……而且傳統的金融服務也很方便。我們已經有了數字化服務——我們有第三方支付、銀行卡……它仍然是一個專注于DeFi的小投資者群體。因此,這與美國的情況不同。”
2.實物資產的進一步數字化。“我們將看到更多實物資產進入區塊鏈世界。因此,根據我的預測,傳統的商業世界將走向區塊鏈世界。但所有這些服務都將是去中心化的第三方服務。”
3.希望更多基于信用的DeFi到來。(Forkast)[2020/12/29 15:58:53]
使用這種方式,當共識節點數較多時,會導致每輪共識區塊存儲的簽名數據不斷增加,占用存儲空間。每當新節點加入網絡,需要同步歷史區塊時,大量簽名數據會對網絡帶寬造成不小的挑戰。
聚合簽名方案可以在一定程度上解決以上問題。相比直接保存多個獨立簽名,使用聚合簽名技術后,每個節點會收集其他節點廣播的聚合簽名分片,然后將簽名分片聚合保存。這樣,當新節點加入時,同步歷史區塊只需下載聚合后的簽名數據,大大減少對網絡帶寬的占用。
聲音 | 度小滿區塊鏈負責人:未來區塊鏈更大的市場是在數字化:金色財經報道,度小滿區塊鏈負責人李豐表示,未來區塊鏈更大的市場是在數字化。我們知道區塊鏈脫胎于比特幣,它天然的適合于虛擬場景。使用技術來保證資產的所有權也好、流通也好、價值放大也好,區塊鏈都能做的很好。但是現有的數字化水平并沒有那么高,我們看到很多領域在嘗試數字化演進。比如說現在通過手機和互聯網形式還不能支持區塊鏈在各個領域的應用。未來,甚至是你的房產不是依據你手里的房產本作為依據,而是通過區塊鏈上的登記為依據。區塊鏈發展需要時間,這個時間正好是物聯網的發展,5G技術的發展,所有這兩者契合之后,真正區塊鏈的廣闊應用才會來到。這塊數字化在未來有很大的發展空間。而現階段把傳統的一些線下的業務進行數字化、鏈上化,可能是過度的一個方式,這是我個人的一些體會。[2019/12/25]
除了數據存儲和傳輸效率提高,當被聚合的數字簽名數量足夠大,理論上也能提高簽名驗證的計算效率。聚合簽名方案的實際性能與其具體構造方式密不可分,下面我們將以目前最常用的Schnorr與BLS聚合簽名為例,介紹其構造細節。
2.Schnorr和BLS聚合簽名構造
根據不同聚合能力,以及是否支持對不同消息產生簽名進行聚合,常見的聚合簽名方案可以分成以下兩類:
只能對同一個消息使用的不同簽名進行聚合,即甲、乙、丙三方對同一份合同A簽名,期間產生的三個簽名可以合并成一個聚合簽名。其典型的構造方案是Schnorr聚合簽名,此類構造方案也常被稱為
動態 | 民生電商子公司發布“民農云倉”,應用區塊鏈等技術實現糧食資產數字化:金色財經報道,近日,民生電商旗下的民熙科技發布“民農云倉”,通過應用物聯網與區塊鏈技術,實現糧食行業的智能金融監管與資產數字化,將產業供應鏈上下游企業的糧食資產與銀行等金融機構的資金對接,構建了糧食供應鏈融資的科技通道。[2019/12/20]
多重簽名方案。
可以對不同消息使用的不同簽名進行聚合,即甲對合同A簽名、乙對合同B簽名、丙對合同C簽名,三個不相干的簽名可以合并成一個聚合簽名。其典型的構造方案是BLS聚合簽名。
Schnorr聚合簽名
Schnorr聚合簽名可以看作一類橢圓曲線上數字簽名方案的擴展,其基本構造方式如下:
使用Schnorr聚合簽名的交互過程如下:
值得注意的是,相比經典數字簽名,Schnorr聚合簽名多了交互隨機數和聚合簽名過程,同時這里所有簽名均是對同一個消息進行簽署。
聲音 | 分析師:比特幣推動了數字化和非中介化這兩種轉變:分析師Meltem Demirors表示,通過將所謂的剔除“中間人”(leeches),無疑使許多事情變得更容易、更明顯,并討論了比特幣如何將兩個重要的范式轉變為現實。Demirors提到的兩種模式是數字化和非中介化。比特幣和其他加密貨幣給一個古老的概念賦予了新的含義——數字化。石油、基金、債券和股票等資產正在數字化。在比特幣到來之前很久就出現了數字化的趨勢,但由于缺乏信任,這種數字化趨勢涉及中介。根據Demirors的說法,比特幣打破了這一趨勢,因為比特幣不需要對中介機構的信任。第二種轉變是非中介化。雖然如果有人愿意,仍然可以選擇中介機構,但人們仍然選擇使用中介來獲取比特幣,而在不久的將來情況并非如此。(ambcrypto)[2019/7/24]
BLS聚合簽名
有別于Schnorr聚合簽名,BLS聚合簽名額外引入了雙線性映射,其具備以下特性:
該特性是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個月,感謝交流群內各位專家的不吝分享,給予了我們許多啟發。本論是欄目第一季的收官分享,下一季,我們將聚焦到具體場景中的隱私保護技術與解決方案,敬請持續關注!
7月31日,Coinbase公布了一輪新的上幣評估名單,共19個項目,加上6月11日公布的評估名單,今年已有37個項目被Coinbase納入考量.
1900/1/1 0:00:00比原鏈基金會牽頭成立的IEEE區塊鏈身份密鑰管理規范工作組,正在火熱招募工作組成員,感興趣的組織機構請立即點擊表單登記.
1900/1/1 0:00:00本文將以Medalla多客戶端測試網為例介紹在ETH2.0上質押的詳細步驟。主要基于以下幾個技術:Ubuntu?v20.04(LTS)x64服務器GoEthereum?節點(代碼分支)Prysm.
1900/1/1 0:00:00“Microsoft宣布推出一種高效且通用的零知識證明技術方案Spartan,該方案能在更短時間內以更高效的方式實現簡潔非交互的零知識證明,是首個無需做可信設置的zkSNARK方案.
1900/1/1 0:00:00轉自:區塊律動 「連在三大所的朋友都找我問Uniswap的事了。」李鳴說。去年,李鳴與交易平臺的朋友吃飯,如果聊到DEX,對方一般都是聽了兩句就岔開,或者說已經有布局了,「他們明顯不太關心這部分.
1900/1/1 0:00:00作為首支主動接受SEC監管的加密數字貨幣基金,灰度的舉動備受關注。尤其今年年初以來,灰度旗下的比特幣信托(GBTC)表格10生效,開始按照SEC標準進行信息披露,管理規模不斷創新高,灰度這頭“巨.
1900/1/1 0:00:00