高 偉 陳利群 唐春明 張國艷 李 飛
1(魯東大學(xué)數(shù)學(xué)與統(tǒng)計科學(xué)學(xué)院 山東煙臺 264025) 2(薩里大學(xué)計算機系 英國薩里 GU27XH) 3(廣州大學(xué)數(shù)學(xué)與信息科學(xué)學(xué)院 廣州 510006) 4(山東大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 山東青島 266237)
區(qū)塊鏈本質(zhì)上是一種去中心化、不可更改、可追溯的分布式數(shù)據(jù)庫.近十幾年來,區(qū)塊鏈技術(shù)迅速發(fā)展,從區(qū)塊鏈1.0(從以比特幣為代表)開始,經(jīng)歷區(qū)塊鏈2.0(到以太坊為代表的智能合約),進入?yún)^(qū)塊鏈3.0(以去中心化應(yīng)用Dapp為代表),應(yīng)用領(lǐng)域不斷擴大,被認為是引發(fā)下一代產(chǎn)業(yè)革命的核心要素,是助推未來數(shù)字化經(jīng)濟發(fā)展、支撐社會各界數(shù)字化轉(zhuǎn)型的國家戰(zhàn)略技術(shù)[1].
在區(qū)塊鏈發(fā)展過程中,去中心化和不可算改性往往被認為是區(qū)塊鏈構(gòu)建信任的關(guān)鍵性質(zhì).區(qū)塊鏈借此實現(xiàn)數(shù)據(jù)共享、共治,進而共建安全可信的生態(tài)系統(tǒng).然而,隨著區(qū)塊鏈的發(fā)展,人們逐漸對其不可更改性有了更全面、更深刻的辯證性認識.事實上,區(qū)塊鏈的不可更改性也帶來諸多不利的方面[2-5].例如,在以太坊2016年的The DAO事件中,已經(jīng)上鏈的合約中存在漏洞,導(dǎo)致了大規(guī)模的以太幣非法轉(zhuǎn)移,由于缺乏相應(yīng)的區(qū)塊鏈修正機制,官方只得通過硬分叉來勉強解決問題,而之后爆發(fā)的ATN事件也面臨區(qū)塊鏈修改機制的需求.現(xiàn)有公開運行的諸多區(qū)塊鏈上,如比特幣系統(tǒng),存在一些負面的、惡意的違法信息,而且受制于不可更改性、同時借助區(qū)塊鏈的公開性而廣泛傳播,既危害了廣大用戶,也危害了區(qū)塊鏈本身,甚至可能危害社會、國家安全.特別是在區(qū)塊鏈日益廣泛、深刻地融入到金融、保險、司法、社會治理等諸多領(lǐng)域的背景下,區(qū)塊鏈技術(shù)迫切需要安全、便捷、可控的技術(shù)手段來更新鏈上關(guān)鍵數(shù)據(jù)并清除有害數(shù)據(jù),進而實現(xiàn)區(qū)塊鏈的有效合法監(jiān)管,保障區(qū)塊鏈的健康發(fā)展.
2017年,著名密碼學(xué)家Atenise等人[2]首次提出了可修正區(qū)塊鏈的概念,并給出了較為系統(tǒng)的解決方案,所依賴的關(guān)鍵密碼學(xué)工具是變色龍哈希函數(shù).可修正(redactable,editable)區(qū)塊鏈的研究逐漸在區(qū)塊鏈研究領(lǐng)域引起關(guān)注.2020年5月,袁勇等人發(fā)表了關(guān)于可修正區(qū)塊鏈的綜述文章[3],較為系統(tǒng)性地梳理和研究其現(xiàn)實需求及工作框架,從數(shù)據(jù)修改、刪除、插入、過濾和隱藏等環(huán)節(jié)詳細闡述了可修正區(qū)塊鏈的技術(shù)與方法,并討論了該領(lǐng)域亟需解決的若干關(guān)鍵問題.
本文以變色龍哈希函數(shù)為主要工具研究了可修正區(qū)塊鏈的構(gòu)造問題,主要貢獻包括3個方面:
1) 提出了稱作一次變色龍哈希函數(shù)的新型密碼原語:當每個標簽下的碰撞都不超過一個時,敵手計算任何新碰撞都是不可行的,相當于碰撞陷門未暴露任何信息;而存在某個標簽下的碰撞超過一個時,則所有標簽下的二對一碰撞都可以擴展為任意的三對一碰撞,相當于碰撞陷門部分暴露.
2) 基于RSA假設(shè)構(gòu)造了在隨機預(yù)言模型下可證明安全的一次變色龍哈希函數(shù),其效率與基于RSA的最經(jīng)典高效的普通變色龍哈希函數(shù)相當[6].
3) 基于一次變色龍哈希函數(shù)概念實現(xiàn)了區(qū)塊鏈的(至多)一次修正機制,并基于RSA問題給出該機制的高效構(gòu)造.對于新提出的可修正區(qū)塊鏈,每個區(qū)塊所允許的修改次數(shù)不得超過一次,否則任何修改過的區(qū)塊內(nèi)容都可以被任何人修改成任何內(nèi)容.之前的可修訂區(qū)塊鏈對修訂次數(shù)不做限定,既賦予了合法修改者過高修改權(quán)限,也導(dǎo)致了現(xiàn)有可修改區(qū)塊鏈難以高效實現(xiàn)的后果.
本節(jié)主要介紹以變色龍哈希函數(shù)為構(gòu)件的可修正區(qū)塊鏈相關(guān)工作,可修正區(qū)塊鏈的其他構(gòu)造方法可參見文獻[3].
變色龍哈希函數(shù)是一種帶陷門的特殊抗碰撞哈希函數(shù)[7].陷門持有者可輕易地計算任意輸入數(shù)據(jù)的哈希碰撞,從而可以在不改變哈希函數(shù)輸出的情況下,任意地改變哈希函數(shù)的輸入.對于未知陷門者,變色龍哈希函數(shù)與傳統(tǒng)的哈希函數(shù)一樣具有抗碰撞性.作為一種基礎(chǔ)的密碼學(xué)原語,變色龍哈希函數(shù)是構(gòu)造變色龍哈希簽名、緊致安全簽名、同態(tài)簽名、可凈化簽名、身份認證、可驗證計算、可證明安全公鑰加密等各類密碼學(xué)方案的重要工具.關(guān)于變色龍哈希函數(shù)較為系統(tǒng)的研究,可參閱文獻[6].
可修正區(qū)塊鏈的概念是由Atenise等人在2017年正式提出[2].其核心思想是用變色龍哈希函數(shù)代替普通抗碰撞哈希函數(shù)(內(nèi)層哈希)來計算區(qū)塊所有交易的摘要,而此哈希值又被普通哈希函數(shù)鏈(外層哈希)固定在區(qū)塊鏈上.這一方法是目前最成熟的可修正區(qū)塊鏈技術(shù),已作為專利授權(quán)給了埃森哲公司.其優(yōu)點在于,在擁有密鑰的用戶利用變色龍哈希特性修改歷史數(shù)據(jù)時,操作簡單,且對前后區(qū)塊沒有影響,可以避免硬分叉.文獻[2]指出,為了適應(yīng)可修正區(qū)塊鏈的應(yīng)用需求,變色龍哈希函數(shù)需要滿足加強的抗碰撞性質(zhì),即在修改塊引起了多個變色龍哈希碰撞暴露的情況下,計算新的哈希碰撞(意味著非法的區(qū)塊修改操作)仍然是不可行的.然而具有增強抗碰撞性的變色龍哈希的構(gòu)造面臨較高技術(shù)難題.文獻[2]所給出的構(gòu)造方法不得不依賴公鑰加密、零知識證明等復(fù)雜密碼原語.可修正機制自然對不可更改性和去中心化兩大特性帶來不利影響,對修正特權(quán)進行最大程度的限制是必要的設(shè)計準則.為此,文獻[2]將門限密碼方法引入了變色龍哈希函數(shù),用以實現(xiàn)修正陷門及操作在多個主體間的分享.本文則注意到限制修改權(quán)限的其他維度,即陷門持有者對一個區(qū)塊的修改次數(shù).特別是從區(qū)塊鏈用戶角度看,區(qū)塊鏈理應(yīng)最大限度地保證不可更改性.因此,為了增加很少動用的可更改性質(zhì)而引入“無限次”修改權(quán)限是不合理的.
為了實現(xiàn)細粒度更高的修改機制,Derler等人于2019年將變色龍哈希函數(shù)改進為基于策略變色龍哈希函數(shù)[8].對于基于策略變色龍哈希函數(shù),只要某主體所擁有的角色屬性滿足指定策略,該主體私鑰就可以用來計算碰撞.通過引入基于策略變色龍哈希函數(shù),文獻[8]實現(xiàn)了從區(qū)塊層面到交易層面的細粒度的可控修正機制.Derler等人也給出基于策略變色龍哈希函數(shù)的構(gòu)造框架,其可看做是基于屬性加密和附帶臨時陷門變色龍哈希函數(shù)的組合,而這2個組件構(gòu)造的復(fù)雜性也造成了此方案實現(xiàn)的復(fù)雜程度.作為進一步的功能擴展,Tian等人[9]于2020年提出了帶黑盒審計的基于策略變色龍哈希函數(shù),并將其應(yīng)用于可修正區(qū)塊鏈,為所有的區(qū)塊修改操作提供了事后審計監(jiān)督機制,在一定程度上達到預(yù)防修改特權(quán)濫用的效果.
變色龍哈希函數(shù)主要是為了豐富區(qū)塊鏈修正機制的功能,其運行效率卻受制于底層復(fù)雜構(gòu)件的限制.文獻[10]則構(gòu)造了更高效率的具有加強抗碰撞性的變色龍哈希函數(shù),但仍然需要依賴雙線性對、零知識證明、公鑰加密等密碼構(gòu)件.Wu等人[11]基于格上困難問題構(gòu)造了具有加強抗碰撞性的變色龍哈希函數(shù),并借助格工具避免了公鑰加密和零知識證明等復(fù)雜構(gòu)件,同時也因格工具而帶有格密碼本身的局限性.由此可見,高效率的加強抗碰撞性變色龍哈希函數(shù)仍然是實現(xiàn)高效可修正區(qū)塊鏈的關(guān)鍵技術(shù)環(huán)節(jié).李佩麗等人[4]針對聯(lián)盟鏈改進了可修改區(qū)塊鏈技術(shù),結(jié)合秘密共享方案設(shè)計了新的變色龍哈希函數(shù),使得在共同決策結(jié)果滿足修改觸發(fā)條件情況下,聯(lián)盟鏈中的每個用戶都有修改歷史記錄的權(quán)利.
定義1.設(shè)KRSA(1λ)是一個概率多項式時間算法,輸入安全參數(shù)1λ,輸出一個RSA模N和2個大素數(shù)p,q,使得N=pq,還輸出e,d使得ed=1 mod (p-1)(q-1),稱敵手A(t,ε)解決RSA問題,如果其運行時間不超過t,其成功概率:
定義2.一次變色龍哈希函數(shù)由4個多項式時間算法組成:
CH=(ChGen,ChHash,ChVer,ChCld).
1)ChGen(1λ)→(hk,tk)
此密鑰生成算法輸入為安全參數(shù)1λ,輸出是哈希公鑰hk和碰撞私鑰tk.
2)ChHash(hk,τ,m)→(h,r)
ChHash(hk,τ,m,r)→h或h=Hash(hk,τ,m,r).
3)ChVer(hk,τ,h,m,r)→b
此哈希驗證算法輸出b,表示h是否為合法的哈希函數(shù)值.本文考慮公開擲幣型變色龍哈希函數(shù),此算法也就是判定等式ChHash(hk,τ,m,r)=h是否成立.
4)ChCld(hk,tk,τ,m,r,m′)→r′
此碰撞算法輸出r′使得:
ChHash(hk,τ,m,r)=ChHash(hk,τ,m′,r′),m≠m′
5) 抗一次碰撞性
稱CH=(ChGen,ChHash,ChVer,ChCld)為安全的一次變色龍哈希哈數(shù),若:
Fig. 1 Redactable blockchain structure diagram圖1 可修訂區(qū)塊鏈結(jié)構(gòu)圖
(τ1,h1,m1,1,r1,1,m1,2,r1,2,m1,3,r1,3)
滿足m1,1,m1,2,m1,3兩兩不同且:
ChVer(hk,τ1,h1,m1,j,r1,j)=1,j=1,2,3,
一個二重碰撞,即(τ2,h2,m2,1,r2,1,m2,2,r2,2)滿足m2,1≠m2,2且:
ChVer(hk,τ2,h2,m2,j,r2,j)=1,j=1,2,
Pr(ChVer(hk,τ2,h2,m2,3,r2,3)=1),
即(τ2,h2,m2,1,r2,1,m2,2,r2,2,m2,3,r2,3)是三重碰撞的概率不可忽略.
注1.抗一次碰撞性的形式化定義所給出的安全概念涵蓋了2種情形:
1) 性質(zhì)1保證.對于碰撞達到一次的任何標簽,算出新碰撞是不可行的;
2) 性質(zhì)2保證.一旦某個標簽下的3個消息碰撞到一個哈希值(該標簽下的碰撞超過了一次),則對于碰撞達到一次的任何標簽,算出新碰撞變得可行.后面將結(jié)合可修正區(qū)塊鏈環(huán)境,進一步討論抗一次碰撞性的應(yīng)用意義.
沿用文獻[2],先給出普通區(qū)塊鏈的形式化描述.首先,一個區(qū)塊就是一個三元組
B=s,x,ctr,s∈{0,1}κ,x∈{0,1}*,ctr∈.
稱上述區(qū)塊B有效,如果:
(1)
此處,
H:{0,1}*→{0,1}κ,G:{0,1}*→{0,1}κ
是抗碰撞哈希函數(shù),分別稱作外層哈希和內(nèi)層哈希,而參數(shù)D∈和q∈分別是一個用戶在指定時間內(nèi)被限定的區(qū)塊困難層次和最大哈希次數(shù).區(qū)塊鏈就是區(qū)塊鏈接而成的序列.最右邊的區(qū)塊稱作鏈頭當鏈頭時,可通過添加新區(qū)塊B′=s′,x′,ctr′擴展為更長新鏈而B′滿足s′=H(ctr,G(s,x)).
沿用文獻[2],再給出可修正(Redactable)區(qū)塊鏈的形式化描述,其區(qū)塊為四元組B=s,x,ctr,r,其中s,x,ctr如前所述,而新增r則是對應(yīng)的變色龍哈希函數(shù)中的隨機值.稱(可修正)區(qū)塊B有效,如果
(2)
即相比于普通區(qū)塊鏈,內(nèi)層哈希函數(shù)G不再是普通哈希函數(shù),而是變色龍哈希函數(shù).對于鏈頭Head(C)=s,x,ctr,r的可修正區(qū)塊鏈可通過添加新區(qū)塊B′=s′,x′,ctr′,r′擴展為更長的新鏈C′=C‖B′,B′滿足
s′=H(ctr,ChHash(hk,(s,x),r))
為了便于理解,圖1給出可修正區(qū)塊鏈模型的圖示(內(nèi)層的變色龍哈希函數(shù)表示為G(hk,(s,x),r)):
對于可修正區(qū)塊鏈及其對內(nèi)層變色龍哈希函數(shù)性質(zhì)要求的詳細闡述,請參閱文獻[2].
本節(jié)先給出基于RSA的一次變色龍哈希函數(shù)的構(gòu)造,然后在隨機預(yù)言模型下證明其安全性.鑒于本方案可看做基于RSA的經(jīng)典變色龍哈希函數(shù)的擴展[6],且關(guān)鍵運算僅由模指數(shù)構(gòu)成,此節(jié)對效率分析不做贅述.
本節(jié)構(gòu)造一個基于RSA難題的一次變色龍哈希函數(shù)
CH=(ChGen,ChHash,ChVer,ChCld).
1)ChGen(1λ)→(hk,tk)
根據(jù)輸入的安全參數(shù)1λ,選擇同樣長度的2個不同的大素數(shù)p,q,并計算N=pq.然后,選擇足夠大的素數(shù)e>2l,此處l是保證e足夠大的一個參數(shù).接著,計算d使得ed=1 mod (p-1)(q-1).然后,隨機選擇x0←RN,并計算最后,選定2個密碼學(xué)意義下安全的哈希函數(shù):
He:{0,1}→
相應(yīng)的哈希公鑰和碰撞私鑰為
hk=(N,e,X0,He,HN),tk=d.
2)ChHash(hk,τ,m)→(h,r),
給定哈希公鑰hk,標簽τ和消息m∈e,計算
此處
然后,輸出h,r.方便起見,將本過程表示
h=Hash(hk,τ,m,r).
3)ChVer(hk,τ,h,m,r)→b
4)ChCld(hk,tk,τ,m,r,m′)→r′
對以上計算結(jié)果,易知:
首先,證明引理1,其對應(yīng)定義2中抗一次碰撞性的性質(zhì)1;然后,證明引理2,其對應(yīng)定義2中抗一次碰撞性的性質(zhì)2;最后,綜合2個引理,證明上述構(gòu)造方案在RSA假設(shè)下是安全的一次變色龍哈希函數(shù).
(3)
(4)
通過計算模擬:
(5)
再由擴展的歐幾里得算法可得:
此處的s,t滿足:
證畢.
(6)
一組二重碰撞(τ2,h2,m2,1,r2,1,m2,2,r2,2)滿足:
(7)
和目標消息m2,3,總能輸出r2,3滿足:
此處,當i分別1,2時,mi,1,mi,2,mi,3各不相同.
(8)
(9)
由哈希函數(shù)(理想化為隨機預(yù)言機)的隨機性知,式(8)(9)中指數(shù)部分為零的概率可忽略,從而利用擴展的歐幾里得算法知,存在s′,t′,s″,t″使得:
(10)
同理,由式(9)可得:
(11)
對于式(10)(11),兩邊分別相除得:
再由擴展歐幾里得算法,可得s?,t?使得:
es?+h21t′-h31t″t?=1.
從而可得:
結(jié)合式(11),進一步得到:
由式(7)得:
再由擴展歐幾里得算法,可得:
此處
由(x0,x2,1),根據(jù)所構(gòu)造的一次變色龍哈希函數(shù)的求碰撞算法ChCld,可得:
證畢.
綜合引理1,2得:
定理1.變色龍哈希函數(shù)
CH=(ChGen,ChHash,ChVer,ChCld)
是安全的一次變色龍哈希函數(shù).
如第2.3節(jié)所述,在文獻[2]中,由普通區(qū)塊鏈到可修正區(qū)塊鏈的本質(zhì)改動是把內(nèi)層的普通抗碰撞哈希函數(shù)替換為具有增強抗碰撞性的變色龍哈希函數(shù),參見第2.3節(jié)中式(1)(2),與此類似,本節(jié)所考慮的可修正區(qū)塊鏈則是進一步將內(nèi)層哈希替換為一次變色龍哈希函數(shù).
首先,給出本文所構(gòu)造可修正區(qū)塊鏈的結(jié)構(gòu)描述.具體來講,沿用文獻[2]相關(guān)符號,給出可修正(Redactable)區(qū)塊鏈的形式化描述,其區(qū)塊為四元組s,x,ctr,r,其中B=s,x,ctr,r參見第2.3節(jié),而區(qū)塊標識符τ可根據(jù)具體應(yīng)用而約定選取,不顯式地體現(xiàn)為區(qū)塊元素.稱(可修正)區(qū)塊B有效,如果
s′=H(ctr,Hash(hk,τ,(s,x),r)).
首先,分析合法(對任何區(qū)塊至多修改一次)修改區(qū)塊信息的操作過程.由一次變色龍哈希函數(shù)性質(zhì),可對該區(qū)塊鏈進行修正操作:設(shè)區(qū)塊B=s,x,ctr,r和區(qū)塊B′=s′,x′,ctr′,r′前后相連,區(qū)塊標識符分別為τ和τ′,故滿足關(guān)系:
s′=H(ctr,Hash(hk,τ,(s,x),r)),
根據(jù)定義2中抗一次碰撞性中性質(zhì)1,在修改者未曾二次修改任何區(qū)塊時(即對于變色龍哈希函數(shù),每個標簽所對應(yīng)的碰撞不超過一次),任何人沒有能力可將做過修改過一次的區(qū)塊進行第二次修改,當然也就更沒有能力去修改未曾修改過的區(qū)塊.
則得到針對一次變色龍哈希函數(shù)的三重碰撞.而根據(jù)定義2中的性質(zhì)2,基于一個三重碰撞,任何二重碰撞可以擴展成為三重碰撞.對應(yīng)到可修正區(qū)塊鏈環(huán)境下,出現(xiàn)二次修改區(qū)塊后,任何人都有能力將修改過一次的區(qū)塊中內(nèi)容變?yōu)槿魏蝺?nèi)容.簡言之,修改權(quán)限的違規(guī)(指某個區(qū)塊的修改過2次),則“可修改”功能崩潰,當然也就意味著整個區(qū)塊鏈的崩潰.
據(jù)第1節(jié)所述,文獻[2]中的可修正區(qū)塊鏈方案(稱作方案B)最為典型.本節(jié)選擇該方案與本文所提可修正區(qū)塊鏈方案(稱作方案A)進行比較.
從功能角度比較,普通區(qū)塊鏈是0次可修正區(qū)塊鏈,體現(xiàn)了區(qū)塊鏈不可更改性;方案B是∞-次可修正型區(qū)塊鏈,即修改特權(quán)者可對任何區(qū)塊進行任意多次修改;而方案A是一次可修正型區(qū)塊鏈,即修改特權(quán)者可修改每個區(qū)塊的次數(shù)至多一次.1)由于區(qū)塊鏈是由誠實者占多數(shù)的礦工群體維護、存在較多待修正內(nèi)容的區(qū)塊鏈會被廣泛抵制等客觀原因,實際運行的區(qū)塊鏈中需要修正內(nèi)容的區(qū)塊占比非常少,即需要動用修正特權(quán)的場合并不多,而需要對一個區(qū)塊反復(fù)修正的場景更是極少;2)不可更改性是區(qū)塊鏈的關(guān)鍵特性,可修正性從某種程度上傷害了這一特性.因此,在引入可修正性時,最大程度地限制修正特權(quán)是設(shè)計可修正區(qū)塊鏈的重要準則.事實上,文獻[2]非常重視可修正權(quán)的限制,主要是通過在多個用戶間分享修正權(quán)來避免特權(quán)濫用.相比之下,方案A則從修改次數(shù)的維度上,對修改特權(quán)進行了最大程度限制,從而更好地提升可修正區(qū)塊鏈的用戶信任度.另外,方案A也可以引入方案B的特權(quán)分享機制,從而可在2個維度上限制修正特權(quán).
從構(gòu)造模塊的密碼學(xué)性質(zhì)看,方案B要求底層的變色龍哈希函數(shù)具有所謂的增強的抗碰撞性,可簡單表述為敵手在獲得同一哈希值的n個原像后,也不能得到算出第n+1個原像;而方案A要求底層的變色龍哈希函數(shù)具有相對弱一些的抗碰撞性,可簡單表述為敵手獲得同一哈希值的2個原像后,也不能得到算出第3個原像.
從算法復(fù)雜度來看,為了實現(xiàn)增強的抗碰撞性,文獻[2]提出的構(gòu)造方案需要借助公鑰加密、零知識證明等復(fù)雜的密碼原型;而本文所構(gòu)造的一次變色龍哈希函數(shù)方案,則是對基于RSA的經(jīng)典變色龍哈希方案的簡單推廣[6],就哈希計算而言只是將原本的2個模冪的模乘變成了3個模冪的模乘.
因此,相比于文獻[2]的可修正區(qū)塊鏈方案,本文所提可修正區(qū)塊鏈方案在功能上可實現(xiàn)更嚴格、更合理、更全面地修正特權(quán)的管控機制,同時在實現(xiàn)途徑上可提供更簡單高效的構(gòu)造方法.
區(qū)塊鏈以其不可更改、去中心化、可追溯等特點迅速發(fā)展為學(xué)術(shù)界、工業(yè)界乃至全社會的熱點技術(shù),應(yīng)用場景快速擴展和滲透,成為支撐社會數(shù)字化轉(zhuǎn)型和數(shù)字化經(jīng)濟發(fā)展的基礎(chǔ).然而,區(qū)塊鏈的不可更性也面臨越來越多的現(xiàn)實挑戰(zhàn),區(qū)塊鏈上不可避免地會存在各類有害信息,給區(qū)塊鏈的健康發(fā)展帶來巨大障礙.在司法、經(jīng)濟、金融、社會治理等關(guān)鍵領(lǐng)域引入?yún)^(qū)塊鏈的前提是監(jiān)管已經(jīng)成為業(yè)界共識,但作為監(jiān)管機制基礎(chǔ)的可修正區(qū)塊鏈研究才剛剛起步.本文從可修正區(qū)塊鏈實際需求分析的入手,發(fā)現(xiàn)現(xiàn)有可修正區(qū)塊鏈對于可修正次數(shù)沒有任何限制.這既給底層變色龍哈希函數(shù)的高效構(gòu)造設(shè)置了更高的技術(shù)難度,也因過高的修改權(quán)限降低了普通用戶對可修正區(qū)塊鏈的接受度,而無限多的修改次數(shù)對于區(qū)塊鏈的修正者并不必要.為此,本文以區(qū)塊鏈的一次修正機制為目標,將上層區(qū)塊鏈修正需求轉(zhuǎn)化為底層的變色龍哈希函數(shù)的安全性質(zhì)需求,繼而抽象出與之契合的一次變色龍哈希函數(shù)的新型密碼學(xué)原語,并基于經(jīng)典的RSA問題給出了高效的實現(xiàn)方案,借此進一步實現(xiàn)了高效的可修正區(qū)塊鏈方案.