區(qū)塊鏈密碼學(xué)專用術(shù)語解析
密鑰:分為加密密鑰和解密密鑰。
明文:沒有進行加密,能夠直接代表原文含義的信息。
密文:經(jīng)過加密處理之后,隱藏原文含義的信息。
加密:將明文轉(zhuǎn)換成密文的實施過程
解密:將密文轉(zhuǎn)換成明文的實施過程。
密碼算法:密碼系統(tǒng)采用的加密方法和解密方法,隨著基于數(shù)學(xué)的密碼技術(shù)的發(fā)展,加密方法一般稱為加密算法,解密方法一般稱為解密算法。
密碼通訊系統(tǒng)的模型:
對于給定的明文 m 和密鑰 k,加密變換 Ek 將明文變?yōu)槊芪?c=f(m,k)=Ek(m),在接收端,利用解密密鑰 k(有時 k=k,)完成解密操作,將密文 c恢復(fù)成原來的明文 m=Dk,(c)。一個安全的密碼體制應(yīng)該滿足:①非法截收者很難從密文 C 中推斷出明文 m;②加密和解密算法應(yīng)該相當(dāng)簡便,而且適用于所有密鑰空間;③密碼的保密強度只依賴于密鑰;④合法接收者能夠檢驗和證實消息的完整性和真實性;⑤消息的發(fā)送者無法否認(rèn)其所發(fā)出的消息,同時也不能偽造別人的合法消息;⑥必要時可由仲裁機構(gòu)進行公斷。
哈希算法:哈希算法將任意長度的二進制值映射為較短的固定長度的二進制值,這個小的二進制值稱為哈希值。哈希值是一段數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形式。如果散列一段明文而且哪怕只更改該段落的一個字母,隨后的哈希都將產(chǎn)生不同的值。要找到散列為同一個值的兩個不同的輸入,在計算上是不可能的,所以數(shù)據(jù)的哈希值可以檢驗數(shù)據(jù)的完整性。一般用于快速查找和加密算法。
哈希表是根據(jù)設(shè)定的哈希函數(shù) H(key)和處理沖突方法將一組關(guān)鍵字映射到一個有限的地址區(qū)間上,并以關(guān)鍵字在地址區(qū)間中的象作為記錄在表中的存儲位置,這種表稱為哈希表或散列,所得存儲位置稱為哈希地址或散列地址。作為線性數(shù)據(jù)結(jié)構(gòu)與表格和隊列等相比,哈希表無疑是查找速度比較快的一種。
通過將單向數(shù)學(xué)函數(shù)(有時稱為“哈希算法”)應(yīng)用到任意數(shù)量的數(shù)據(jù)所得到的固定大小的結(jié)果。如果輸入數(shù)據(jù)中有變化,則哈希也會發(fā)生變化。哈希可用于許多操作,包括身份驗證和數(shù)字簽名。也稱為“消息摘要”。
簡單解釋:哈希(Hash)算法,即散列函數(shù)。它是一種單向密碼體制,即它是一個從明文到密文的不可逆的映射,只有加密過程,沒有解密過程。同時,哈希函數(shù)可以將任意長度的輸入經(jīng)過變化以后得到固定長度的輸出。哈希函數(shù)的這種單向特征和輸出數(shù)據(jù)長度固定的特征使得它可以生成消息或者數(shù)據(jù)。
散列表(Hash table,也叫哈希表),是根據(jù)關(guān)鍵碼值(Key value)而直接進行訪問的數(shù)據(jù)結(jié)構(gòu)。也就是說,它通過把關(guān)鍵碼值映射到表中一個位置來訪問記錄,以加快查找的速度。這個映射函數(shù)叫做散列函數(shù),存放記錄的數(shù)組叫做散列表。
給定表 M,存在函數(shù) f(key),對任意給定的關(guān)鍵字值 key,代入函數(shù)后若能得到包含該關(guān)鍵字的記錄在表中的地址,則稱表 M 為哈希(Hash)表,函數(shù) f(key)為哈希(Hash) 函數(shù)。
2 數(shù)字貨幣專有名詞
比特幣:是一種加密數(shù)字貨幣,在 2009 年由化名的開發(fā)者中本聰(SatoshiNakamoto)以開源軟件形式推出。
以太坊:是一個有智能合約功能的公共區(qū)塊鏈平臺。
智能合約:是由時間驅(qū)動的、具有狀態(tài)的、運行在一個復(fù)制的、分享的賬本上的、且能夠保管賬本上資產(chǎn)的程序。
公有鏈:是任何人在任何地方都能發(fā)送交易且交易能獲得有效確認(rèn)的、任何人都能參與其中共識過程的區(qū)塊鏈。
以太坊虛擬機:設(shè)計運行在點對點網(wǎng)絡(luò)中所有參與者節(jié)點上的一個虛擬機,它可以讀寫一個區(qū)塊鏈中可執(zhí)行的代碼和數(shù)據(jù),校驗數(shù)據(jù)簽名,并且能夠以半圖靈完備的方式來運行代碼。它僅在接收到經(jīng)數(shù)據(jù)簽名校驗的消息時才執(zhí)行代碼,并且區(qū)塊鏈上存儲的信息會區(qū)分所做的適當(dāng)行為。
激勵權(quán)益證明共識:在權(quán)益證明共識中加入了激勵措施,估計節(jié)點在線,激勵網(wǎng)絡(luò)中的節(jié)點可以保持在線以維護網(wǎng)絡(luò)的穩(wěn)定性和安全性。
硬分叉:區(qū)塊鏈發(fā)生永久性分歧,在新公式規(guī)則發(fā)布后,部分沒有升級的節(jié)點無法驗證已經(jīng)升級的節(jié)點生產(chǎn)的區(qū)塊,通常硬分叉就會產(chǎn)生。
圖靈完備:一個能計算出每個圖靈可計算函數(shù)的計算系統(tǒng)被稱為圖靈完備。一個語言是圖靈完備的,意味著該語言的計算能力與一個通用圖靈機相當(dāng),這也是現(xiàn)代計算機語言所能擁有的最高能力。
Oracle:根據(jù)預(yù)先設(shè)定的判斷條件,對輸入數(shù)據(jù)進行篩選,選擇最適合的數(shù)據(jù)作為輸入數(shù)據(jù)。
Data feeds:數(shù)據(jù)饋送,為區(qū)塊鏈提供數(shù)據(jù)鏈下數(shù)據(jù)來源。
POS:權(quán)益證明共識機制。根據(jù)每個節(jié)點所占代幣的比例和時間,等比例地降低挖礦難度,從而加快找隨機數(shù)的速度。
UTXO:未花費交易輸出。比特幣網(wǎng)絡(luò)中使用的交易模型。
POW:工作量證明共識機制。一方(通常稱為證明人)提交已知難以計算但易于驗證的計算結(jié)果,而其他任何人都能夠通過驗證這個答案就確信證明者為了求得結(jié)果已經(jīng)完成了大量的計算工作。
DAO:分布式自治組織。通過一系列公正公開的規(guī)則,可以在無人干預(yù)的和管理的情況下自主運行的組織結(jié)構(gòu)。