對(duì)于很多想用區(qū)塊鏈解決業(yè)務(wù)發(fā)展瓶頸的企業(yè)來(lái)說,不是具備了All in區(qū)塊鏈的態(tài)度,就可以萬(wàn)事俱備,只等品嘗科技創(chuàng)新帶來(lái)的美好果實(shí)。以電商平臺(tái)舉例,區(qū)塊鏈可以通過激勵(lì)政策打破用戶增量的瓶頸,但是如何在區(qū)塊鏈上安全、可信地完成網(wǎng)銀和電子商務(wù)等交易,成為一個(gè)眼前難題。
當(dāng)然,對(duì)于企業(yè)來(lái)說,從區(qū)塊鏈的底層源頭一步一步解決問題并不現(xiàn)實(shí),不僅需要大量精通區(qū)塊鏈底層技術(shù)的工程師,也不可能讓每個(gè)企業(yè)自己搭建一條主鏈,怎樣擁抱區(qū)塊鏈技術(shù)的科技創(chuàng)新為企業(yè)解決業(yè)務(wù)上的難題,選擇一個(gè)實(shí)用、高效的開放平臺(tái)就變得尤為重要。
迅雷鏈因?yàn)榘偃f(wàn)級(jí)TPS的高性能成為行業(yè)中的“明星產(chǎn)品”,近日,在中國(guó)國(guó)際區(qū)塊鏈技術(shù)與應(yīng)用大會(huì)上,因?yàn)閷?duì)國(guó)密算法的支持和改進(jìn),贏多了更多業(yè)內(nèi)人士的好評(píng),結(jié)合對(duì)數(shù)據(jù)隱私保護(hù)的探索,合作方可以根據(jù)自身業(yè)務(wù)的需要,選擇合適的密碼學(xué)算法為實(shí)際應(yīng)用提供安全保障,滿足了更多類型企業(yè)的上鏈需求。
內(nèi)家功:迅雷鏈底層對(duì)國(guó)密算法的支持與改進(jìn)
國(guó)密算法支持
多年以來(lái),密碼學(xué)算法標(biāo)準(zhǔn)被以歐美國(guó)家設(shè)計(jì)的算法壟斷。幾年前的“棱鏡門”曝光出一些國(guó)際通用的密碼算法背后潛在后門漏洞,以及隨著我國(guó)科學(xué)技術(shù)的發(fā)展,密碼算法的安全性已經(jīng)上升到了國(guó)家安全戰(zhàn)略地位,國(guó)密標(biāo)準(zhǔn)算法在近年來(lái)得到了推廣和普及。
國(guó)密是國(guó)家密碼局認(rèn)定的國(guó)產(chǎn)密碼算法,也是商用密碼,它的應(yīng)用領(lǐng)域十分廣泛。比如企業(yè)門禁管理、企業(yè)內(nèi)部各類敏感信息的傳輸加密、存儲(chǔ)加密,防止非法第三方獲取信息內(nèi)容,同樣的,也可以用于各種安全認(rèn)證、網(wǎng)上銀行、數(shù)字簽名等。
所以為了支持更多合作伙伴在業(yè)務(wù)上的需求,落到區(qū)塊鏈這一層級(jí)則顯示為密碼學(xué)算法的安全性和可靠性,迅雷鏈對(duì)密碼算法模塊進(jìn)行了升級(jí),畢竟安全是核心,而算法是安全的基礎(chǔ)。
迅雷鏈除了支持國(guó)際通用的密碼學(xué)算法外,還滿足了對(duì)于國(guó)密算法的支持,包括非對(duì)稱算法SM2、安全散列算法SM3和對(duì)稱算法SM4。也就是說,這些算法“全家桶”的支持,意味著迅雷鏈可應(yīng)用于政府、金融、社會(huì)公共服務(wù)和大型公共智能建筑等高安全領(lǐng)域。
簽名逆推回公鑰
在國(guó)際通用算法ECDSA的算法標(biāo)準(zhǔn)中,包含了一項(xiàng)通過簽名逆推簽名對(duì)應(yīng)公鑰的功能。這樣的功能可以幫助用戶可以通過計(jì)算推導(dǎo)出驗(yàn)證簽名所需的公鑰,從而使簽名信息不再需要傳遞簽名者的公鑰,以此換取了存儲(chǔ)空間的降低。我們知道在區(qū)塊鏈系統(tǒng)中,存儲(chǔ)空間是一項(xiàng)非常緊缺的資源,因此這一個(gè)功能對(duì)區(qū)塊鏈的實(shí)際應(yīng)用有很強(qiáng)的優(yōu)化意義。
然而目前在國(guó)密算法對(duì)應(yīng)的橢圓曲線簽名算法標(biāo)準(zhǔn)SM2中,沒有定義類似的功能實(shí)現(xiàn)。因此迅雷鏈憑借在橢圓曲線算法方面深厚的技術(shù)積累,結(jié)合SM2的自身設(shè)計(jì)方面的特性,通過推導(dǎo)數(shù)學(xué)公式,設(shè)計(jì)出了適用于國(guó)密算法的通過簽名逆推回公鑰的功能,實(shí)現(xiàn)了國(guó)密算法場(chǎng)景下對(duì)存儲(chǔ)空間的優(yōu)化,如下圖所示,優(yōu)化比例達(dá)到了33%,進(jìn)而提升了區(qū)塊鏈整體的運(yùn)行效率。
這項(xiàng)設(shè)計(jì)除了區(qū)塊鏈系統(tǒng)以外,還可以適用于應(yīng)用了國(guó)密算法的其他場(chǎng)景中,具有很強(qiáng)的創(chuàng)新性和實(shí)際意義。目前,此設(shè)計(jì)已經(jīng)提交了國(guó)家專利申請(qǐng)。
外家功:通過迅雷鏈保護(hù)數(shù)據(jù)隱私
從一個(gè)理想的“分歧終端機(jī)”說起
在葛優(yōu)和舒淇主演的電影《非誠(chéng)勿擾》中有這樣一個(gè)經(jīng)典的片段——葛優(yōu)飾演的秦奮推銷自己設(shè)計(jì)的一個(gè)產(chǎn)品,名為“分歧終端機(jī)”,如下圖所示
這個(gè)產(chǎn)品用來(lái)解決“剪刀石頭布”游戲中游戲雙方出手先后所導(dǎo)致的不公平問題。使用時(shí)游戲雙方一只手握住手柄,另一只手伸進(jìn)一方的圓筒內(nèi),做出“剪刀石頭布”的決定。雙方約定倒數(shù)“321”之后同時(shí)打開圓筒,從筒中的手勢(shì)判斷勝負(fù),以此降低先后出手帶來(lái)的作弊行為。
上述產(chǎn)品當(dāng)然只是電影為了喜劇效果設(shè)計(jì)出來(lái)的,但在歡笑之余,我們也可以思考一下這個(gè)產(chǎn)品能夠解決什么樣的問題。
它存在的前提是由于雙方出手時(shí)間不一致游戲的過程中可能存在一方作弊的機(jī)會(huì),迅雷鏈要做的就是消除這個(gè)時(shí)間的不一致,或者改變時(shí)間不一致所造成的后果。從這個(gè)角度出發(fā),找一個(gè)自動(dòng)化的第三方,比如微信表情中的“石頭剪刀布”來(lái)游戲。這樣做看似可以解決問題,但仔細(xì)思考依然不夠完美。
首先,微信中的決策是隨機(jī)產(chǎn)生的,而不是游戲參與者主動(dòng)選擇的,這樣也就會(huì)一定程度上降低游戲的參與性;其次,引入第三方依然存在第三方可信性的問題,很難確認(rèn)第三方選擇的結(jié)果是否存在漏洞導(dǎo)致游戲的不公平。
因此,迅雷鏈考慮采用區(qū)塊鏈智能合約來(lái)去掉這個(gè)不確定的第三方,同時(shí)結(jié)合密碼學(xué)中的承諾系統(tǒng)(Commitment Scheme),保護(hù)參與者出手決策內(nèi)容的隱私,來(lái)實(shí)現(xiàn)參與者可以在可自主選擇的前提下保證游戲的公平性。
具體的方案如下:
發(fā)送承諾:雙方各選取一個(gè)隨機(jī)數(shù)r,結(jié)合自己的猜拳選項(xiàng)x,將二者合并后的哈希值作為承諾發(fā)送給合約。
交換承諾:合約將收集到的雙方承諾互換給對(duì)方。
揭露承諾:雙方收到對(duì)方的承諾后,將自己在第一步選擇的x和r的原值發(fā)送給合約。
下發(fā)結(jié)果:合約驗(yàn)證雙方在第三步揭露的原值與第一步承諾的哈希是否匹配。若匹配成功,則通過雙方猜拳選項(xiàng)原值x做出勝利結(jié)果判斷并下發(fā)至雙方。若匹配失敗,則將作惡方判負(fù)。
通過這樣的方式,將智能合約和密碼學(xué)承諾系統(tǒng)結(jié)合使用,既保護(hù)了參與者的決策隱私,又保證了參與雙方的公平性和可參與性,以此實(shí)現(xiàn)了一個(gè)現(xiàn)實(shí)版的“分歧終端機(jī)”。
對(duì)隱私保護(hù)更深入的研究與探索
現(xiàn)階段,數(shù)據(jù)隱私保護(hù)的需求對(duì)于眾多區(qū)塊鏈業(yè)務(wù)場(chǎng)景而言起到了決定性的作用,而當(dāng)前眾多主流區(qū)塊鏈平臺(tái)對(duì)于隱私保護(hù)方面支持甚少,因此,隱私保護(hù)方面的實(shí)際案例對(duì)于區(qū)塊鏈業(yè)務(wù)場(chǎng)景的落地顯得尤為重要。
上述的案例看似簡(jiǎn)單,但由此可以衍生出更復(fù)雜的隱私保護(hù)場(chǎng)景的設(shè)計(jì)與實(shí)現(xiàn)。上述的承諾系統(tǒng)(Commitment Scheme)通過交互的形式,在保護(hù)數(shù)據(jù)隱私的同時(shí)替代了“公正的”第三方介入。而在一些更復(fù)雜的場(chǎng)景下,針對(duì)隱私數(shù)據(jù)的計(jì)算需要結(jié)合同態(tài)加密(Homomorphic Encryption)技術(shù),對(duì)數(shù)據(jù)進(jìn)行加密,使數(shù)據(jù)在可被計(jì)算的同時(shí)保證隱私不被泄露。當(dāng)相關(guān)數(shù)據(jù)涉及到范圍證明等需求時(shí),結(jié)合零知識(shí)證明(Zero-Knowledge Proof)技術(shù)可以保證在不泄露數(shù)據(jù)隱私的前提下證明數(shù)據(jù)的有效性,使數(shù)據(jù)隱私安全得到更好的保護(hù)。
例如,大多數(shù)區(qū)塊鏈上的交易數(shù)據(jù)是以明文的形式展示的,雖然區(qū)塊鏈本身是匿名的,但隨著交易量的擴(kuò)大,其關(guān)聯(lián)性將或多或少的泄露個(gè)人隱私。雙方或多方的交易可以通過數(shù)據(jù)統(tǒng)計(jì)構(gòu)建出一整套交易記錄組成的網(wǎng)絡(luò),通過掌握其中的某一個(gè)或某一部分信息即可逐漸推斷出更多的本不希望被泄露的隱私內(nèi)容。
通過同態(tài)加密,可以將原始的交易數(shù)據(jù)隱私保護(hù)起來(lái),使交易以密文的形式上鏈。但是,對(duì)于鏈上驗(yàn)證交易的節(jié)點(diǎn)來(lái)說,密文的驗(yàn)證就需要應(yīng)用到零知識(shí)證明來(lái)保證交易輸入的賬戶余額大于等于轉(zhuǎn)賬的金額,通過一系列步驟驗(yàn)證合法后,可以保證交易能夠被成功的執(zhí)行,且交易相關(guān)的隱私?jīng)]有被泄露。
綜上,迅雷鏈在提供百萬(wàn)TPS的高性能服務(wù)的同時(shí),在密碼學(xué)與安全隱私保護(hù)方面也進(jìn)行了不斷的研究與探索。無(wú)論是從底層改進(jìn)密碼學(xué)算法,還是在應(yīng)用層結(jié)合隱私保護(hù)技術(shù)落地應(yīng)用,都以提升鏈上數(shù)據(jù)的安全性,豐富區(qū)塊鏈應(yīng)用場(chǎng)景落地為目的,致力于為開發(fā)者和企業(yè)提供高性能和高安全性的可靠服務(wù)。