近幾年門限密碼學在區塊鏈系統里開始逐漸被應用,分為門限加密和門限簽名,一般見于隨機預言機、防審查、減少通信復雜度、共識網絡中防拜占庭以及作為分布式偽隨機數生成器的重要原語,其優越的資產協同防盜特性也慢慢被新興數字資產托管機制所重視,今天我們主要討論公鑰密碼學里的門限簽名機制。一種理想的門限簽名系統是可以在異步的網絡環境里做到容錯容災不可偽造,并且擁有極度可靠安全的消息傳輸通道,簽名份額的生成和驗證是完全非交互式的,在初始密鑰階段具備可以防止拜占庭行為的異步分布式密鑰生成機制。
與基礎簽名機制類似,門限簽名機制也分為兩部分:
門限密鑰生成:基于安全參數構造一種分布式密鑰生成協議DKG,協議運行輸出一個共同的公鑰pk和分屬不同參與方各自所有的私鑰份額ski,聚集起滿足閾值數量的私鑰份額可以構建出真正的私鑰sk。
門限簽名:基于分布式通信網絡,各參與方通過自己的私鑰份額ski完成對消息m的分布式協作簽署并輸出最終的可驗證簽名Sig(sk,m),這個簽名跟單獨用sk私鑰簽出的一模一樣,可以用所基于的基礎簽名機制里的驗證函數進行本地驗證,無需走通信交互驗證
動態 | 比原鏈BaaS平臺Bystack白皮書正式發布:5月15日消息,比原鏈今日發布Bystack白皮書《全球首創一主多側架構BUTXO模型BaaS平臺》。據介紹,Bystack是比原鏈團隊首創的一主鏈多側鏈BUTXO模型BaaS平臺,能夠幫助用戶快速創建,管理和維護企業級區塊鏈網絡和商業區塊鏈應用的服務平臺,為開發者或企業提供區塊鏈能力的一站式解決方案。[2019/5/15]
但是大多數情況下會通過使用一個可信的中心節點來實現私鑰份額的生成和分發。沙米爾秘密分享是最簡單的依賴中心dealer節點的門限密鑰生成方法,基本原理是拉格朗日插值,在(t,n)門限構造中,dealer會選擇一個(t-1)次方的隨機多項式f,令f(0)=s,s即為要分享的秘密值,然后向每個節點分發該多項式曲線上的點si=f(i)作為各自的秘密份額值,簡單來講,三個點確定一個二次方程曲線。為了解決中心作惡問題,人們又不斷探索了基于承諾的可驗證秘密分享,以及應用于異步網絡的VSS。有許多優秀成熟的commitmentscheme可以借鑒應用,簡單來講承諾算法=Com(pk,M,r)中pk是與承諾機制有關的公鑰,M是要承諾的原始值,r是一個隨機骰子,算法輸出的C便是commitment,D則是需要秘密保管的decommitment值,在正式公開M之前先公開M的承諾C,即先對自己要公布的消息做個上帝擔保,約束自己無法更換M,而對于M的受眾或者接收者,它們可以通過之前公布的承諾和驗證算法進行驗證唯一性。這里我們主要關注非交互式的VSS實現。
現場 | 比原鏈段新星:區塊鏈未來發展有三大趨勢:金色財經現場報道,今日中本聰團隊見面會暨第一屆區塊鏈技術與行業落地研討會在上海舉行,在圓桌論壇《下一代區塊鏈技術展望》上嘉賓圍繞“下一代區塊鏈技術機會在哪里、挑戰在哪里”展開了討論,比原鏈創始人段新星表示,其實1.0、2.0、3.0總體是趨勢的變化,并沒有一個明顯的定義,如果說3.0未來可能會發生什么,大的趨勢是什么,我覺得目前看來有三點。第一,更好地的代幣系統;第二,對等網絡;第三,我覺得還有一個就是說2.5趨勢,往回倒退趨勢。第一點,在整個區塊鏈發展當中,比特幣相當于最早落地,下來以太坊。單從代幣系統不從區塊鏈角度來看是這樣的東西,未來有Facebook,包括大的機構發行代幣技術,來發展新的技術,叫代幣也好,叫流通也好,這是未來的趨勢。第二,從技術流派講這個趨勢。既然有中心化的問題,現在實現了去中心化的點對點的現金,實際上還有很多問題沒有解決去中心化的ID,去中心化的存儲,去中心化的帶寬以及去中心化的資產,這也是比較大的趨勢,如果把這個底層的基礎結構建成也是比較好的東西。第三,也可以說3.0,但是也可以說是工程化的趨勢,單純科學研究方面的授錯以后,如果用單純的POW這種實現比較困難,這有可能是一個方向。這幾個是我看到的趨勢。[2018/6/27]
此外,在過往的研究里,簽名的生成和驗證大多是交互式的,并且依賴一個同步通信網絡和廣播通道,節點們在某種設定下接收到特定消息后便同時啟動簽名協議,并嚴格遵循超時機制。而在互聯網環境和區塊鏈網絡里,對網絡假設的限定是有限的,所以門限系統要成功運作除了需要構造真正的DKG協議和非交互式簽名機制外,還需要具備商用級的網絡系統以及被驗證過的成熟代碼實現。這里我們嘗試提出并構建一種弱同步網絡假設下的門限簽名分布式系統,主要對網絡模型、DKG構建、簽名機制進行一些創新結合和應用,探索在實際網絡環境里最小可實用的門限簽名系統原型。
比原鏈段新星:本次EOS漏洞事件不難解決:5月29日,針對EOS漏洞事件,比原鏈CEO段新星在微博中表示,該漏洞是一個利用數組越界漏洞可導致內存溢出,獲得超級權限覆蓋掉WASM,填寫新的可執行代碼進去,進行惡意操作。這種漏洞很常見。BM第一次是加了Assert判定檢查(很遺憾失效了,可能哪兒沒修干凈)其實也可以包一個安全函數來操作,我覺得這個漏洞倒不難改。[2018/5/29]
門限系統是一種型fault-tolerance系統,t代表網絡最大容錯,k代表最小門限值,n是節點數,一般設定k>=t+1,但這種對網絡分區是無能為力的,所以在一個異步拜占庭網絡里我們依然選用經典設定k=n-t&t<n/3去達成系統里的一個大多數共識。
門限網絡或者通信模型是實現可實用門限系統需要認真考量的一個關鍵點。像HoneyBadgerBFT所構建的接近異步通信網絡在現實案例中是少見的,一般會增加消息復雜度和通信輪次,異步網絡模型主要依賴所接收到的消息類型和數量進行判斷,因為時間因子并不能區分誰是慢節點誰是惡意節點。但在這里我們更傾向采用高效的弱同步網絡假設,即消息延遲和時鐘偏移有上限但未知,延遲的漸進是合理的,保障liveness;能夠對crash、networkfailure、byzantine等不同情況盡量做到分開處理,比如設置規定時間內可容忍的crash閾值,對于誠實節點發生crash后能夠從一個規定的狀態恢復等;并且假設網絡故障總能被修復、遭受的DoS攻擊總會停止;最后在構建通信通路上可以借助PKI和外部CA構建TLS鏈接,以及借助經典的RBC協議。
比原鏈牽手成都鏈安科技,共建區塊鏈安全新生態:近日,比原鏈基金會與成都鏈安科技簽署戰略合作協議。雙方將在區塊鏈安全技術領域達成初步合作意向,未來成都鏈安科技將會為比原鏈提供底層平臺的形式化安全驗證,智能合約的開發、審計、安全驗證等服務,保證比原鏈平臺和智能合約的安全性、功能正確性。[2018/5/10]
DKG是門限簽名最為核心的環節也是第一階段,負責完成門限密鑰的生成和分發。VSS是DKG的重要組成部分。上面提到VSS的基本原理是承諾機制,一般基于Pedersencommitment,構造形如C=mG+nH的承諾,其中m來自密鑰構造多項式f(x)系數,而n來自dealer另外構造的一個隨機多項式h(x)的系數,承諾集合{Ci,0<i<t}是一種公開可獲取的系數“證據”,用于證明dealer只承認一個合法的密鑰多項式。各個參與方在獲得dealer分發給自己的密鑰份額f(i)和秘密值份額h(i)后,計算f(i)G+h(i)H,如果與對應的承諾值相等,則認為合法,如果不一致,則認為dealer出現作惡行為,開始向網絡提交自己的抗議complaint,其他人可以進行驗證,如果發現事實如此,則立即停止協議,如果其他人驗證后發現該complaint不合法,則發起complaint的節點會被標記不可信。VSS過程簡單來講包括中心初始化密鑰分發、構建承諾和重建密鑰三部分內容,整個網絡交互存在兩輪全網廣播達成一致,最終將密鑰份額和承諾傳遞給每個參與節點,這里我們會定義三種消息類型用于標記多輪消息序列并攜帶足夠的信息用于計算門限密鑰。
蜘蛛礦池發布即將支持比原鏈挖礦的公告:蜘蛛礦池發布公告稱即將支持比原鏈挖礦,比原鏈主網將于北京時間4月24日14:00正式上線,蜘蛛礦池致力于保障數字資產網絡安全的同時,也大力支持人工智能芯片的發展和積極促進區塊鏈和人工智能的結合,比原鏈其核心協議及網絡的安全穩定運行將影響兩者后續的進一步發展。蜘蛛礦池宣布將同步比原鏈主網上線比原鏈挖礦。[2018/4/23]
真正的DKG是需要去掉VSS里的那個中心,在分布式協作下生成秘密,避免單點泄漏風險,其原理也很簡單,相當于n個節點同時各自選擇秘密值并運行自己的VSS,每個節點收集來自其他節點的秘密份額完成組裝,組裝后的結果便是真正私鑰的份額,而各個合法節點各自分發的秘密值聚合起來便是最終的構造私鑰,最后在進行承諾驗證。這似乎很像一個Multi-valuedValidatedByzantineAgreement(MVBA)protocol。
不過我們盡量避免這種復雜的實現,一般通過選舉出Leader節點,統一協調處理這些VSS的完成情況和最終共識,定義序列,當大多數節點完成各自的VSS階段并被其他所有誠實節點所確認后,Leader將這些已完成的VSS信息進行收集并重組提案,再經過兩輪全網廣播后,每個節點便會確定下各自最終的秘密份額,因此保障liveness對于我們的系統是十分關鍵的。如果DKG協議里任何一方出現惡意行為,協議都會立即停止,即DKG需要確保所有參與方的誠實行為。至此,一把公共的門限公鑰和分屬不同參與方的門限私鑰份額便構造完畢。
簽名階段簡單來講是基于上面得到的密鑰份額各自完成簽署自己的簽名份額,最后再完成統一組裝,得到最終門限簽名。Thresh-Sig階段的具體實現與所基于的數字簽名算法有很大關系,例如Schnorr算法在計算簽名s值時所依賴的秘密值k在常數項,s=k-z(H(K||M)),所以可以簡單的將秘密值份額相組。而ECDSA中秘密值k是非線性的,即s=(H(M)+zr)/k,存在兩個秘密值的乘運算,所以各個節點不能僅通過擁有k秘密值份額來完成最終簽名值的組裝,需要對公式進行變形,重新定義組合秘密值kz,并分布式完成kz的秘密份額計算以及分發,甚至需要借助安全多方計算、同態加密機制以及零知識證明,因此多方的ECDSA門限簽名在實現和效率上會比較復雜,現階段以可實用的2-2方案研究居多。
不論是采用ECDSA還是Schnorr算法,最核心的問題依然是基于DKG和多方計算的原理去生成和分發簽名算法中需要的秘密值,每個參與方基于各自的密鑰份額和秘密值份額完成自己的簽名過程,最后通過整體的交互組裝獲得最終的合法簽名。同樣的,如果無法達到足夠門限閾值數量的合法簽名方,簽名協議也會立即停止。根據不同的應用場景需求,我們需要認真研究用于實現門限簽名機制的底層簽名算法,比如ECDSA、EdDSA、Schnorr、BLS等,不同的簽名算法對應的門限機制實現復雜度和效率是不同的。
此外,一個完整的門限系統可能會有成員變更的需求,原有的密鑰份額隨之需要新一輪變更,最直觀的做法是引入周期的概念,通過同步網絡和共識協議發起新一輪密鑰生成,產生新的主公鑰和私鑰份額,用超時機制防止阻塞。成員變更和DKG是一種比較精細的系統,任何一個成員fail或者fault都會引發狀況外。在實現上我們用狀態機復制原理構建門限節點,基于消息輸入更換自身狀態。
門限密碼學隨著結合應用場景的需求研究增多,不斷完善自身成熟度,尤其是隨著高度可靠的代碼實現增多,隨著復雜網絡環境里的系統架構成熟,有希望在價值網絡里扮演“門神”的重大作用,同時會促進對零知識證明、同態加密技術的進一步場景化應用,是當下區塊鏈新技術領域為數不多值得深入研究和實戰的研究方向。現代密碼學與價值網絡相輔相成,前者給予后者“上帝保障”,后者給予前者“偉大戰場”。
比原鏈研究院劉秋杉
據外媒報道,蘋果公司CEO蒂姆·庫克周四表示,他希望看到歐美貿易壁壘恢復正常。對于當前備受關注的數字加密貨幣項目,庫克稱蘋果目前尚未相關計劃.
1900/1/1 0:00:00RSK的比特幣智能合約網絡的母公司IOVLabs今天宣布收購西班牙語社交網絡平臺Taringa。通過這筆交易,IOVLabs宣布,它還將把RSK的本地代幣RIF集成到Taringa中.
1900/1/1 0:00:00一、分歧 關于比特幣,人們最大的分歧在于比特幣到底是貨幣還是資產?這個問題還有其它的問法,比如說:比特幣的核心功能到底是支付還是價值存儲? 二、爭論 有些人說比特幣當然是貨幣.
1900/1/1 0:00:00前文閱讀: 解讀以太坊黃皮書解讀以太坊黃皮書又是激動人心的一刻,我們再次推出關于以太坊黃皮書的博文了!在這篇文章中,我們會學到更多關于Gas和支付的以太坊相關知識,了解以太坊背后的經濟學理論.
1900/1/1 0:00:00據Coindesk10月3日報道,Parity技術公司發布了ParitySigner的新版本,該移動應用程序可以把舊的智能手機變成加密貨幣離線錢包.
1900/1/1 0:00:00一、ICO銷聲匿跡 2017年下半年,是ICO最瘋狂的時候。據我了解,那個時候每天至少有3~5個項目搞ICO,這還僅僅是我了解到的,實際ICO的項目應該遠超過這個數量.
1900/1/1 0:00:00