當前位置:首頁 » 區塊鏈知識 » 區塊鏈使用的密碼6

區塊鏈使用的密碼6

發布時間: 2021-05-21 13:21:58

區塊鏈使用安全如何來保證呢

區塊鏈本身解決的就是陌生人之間大規模協作問題,即陌生人在不需要彼此信任的情況下就可以相互協作。那麼如何保證陌生人之間的信任來實現彼此的共識機制呢?中心化的系統利用的是可信的第三方背書,比如銀行,銀行在老百姓看來是可靠的值得信任的機構,老百姓可以信賴銀行,由銀行解決現實中的糾紛問題。但是,去中心化的區塊鏈是如何保證信任的呢?
實際上,區塊鏈是利用現代密碼學的基礎原理來確保其安全機制的。密碼學和安全領域所涉及的知識體系十分繁雜,我這里只介紹與區塊鏈相關的密碼學基礎知識,包括Hash演算法、加密演算法、信息摘要和數字簽名、零知識證明、量子密碼學等。您可以通過這節課來了解運用密碼學技術下的區塊鏈如何保證其機密性、完整性、認證性和不可抵賴性。
基礎課程第七課 區塊鏈安全基礎知識
一、哈希演算法(Hash演算法)
哈希函數(Hash),又稱為散列函數。哈希函數:Hash(原始信息) = 摘要信息,哈希函數能將任意長度的二進制明文串映射為較短的(一般是固定長度的)二進制串(Hash值)。
一個好的哈希演算法具備以下4個特點:
1、 一一對應:同樣的明文輸入和哈希演算法,總能得到相同的摘要信息輸出。
2、 輸入敏感:明文輸入哪怕發生任何最微小的變化,新產生的摘要信息都會發生較大變化,與原來的輸出差異巨大。
3、 易於驗證:明文輸入和哈希演算法都是公開的,任何人都可以自行計算,輸出的哈希值是否正確。
4、 不可逆:如果只有輸出的哈希值,由哈希演算法是絕對無法反推出明文的。
5、 沖突避免:很難找到兩段內容不同的明文,而它們的Hash值一致(發生碰撞)。
舉例說明:
Hash(張三借給李四10萬,借期6個月) = 123456789012
賬本上記錄了123456789012這樣一條記錄。
可以看出哈希函數有4個作用:
簡化信息
很好理解,哈希後的信息變短了。
標識信息
可以使用123456789012來標識原始信息,摘要信息也稱為原始信息的id。
隱匿信息
賬本是123456789012這樣一條記錄,原始信息被隱匿。
驗證信息
假如李四在還款時欺騙說,張三隻借給李四5萬,雙方可以用哈希取值後與之前記錄的哈希值123456789012來驗證原始信息
Hash(張三借給李四5萬,借期6個月)=987654321098
987654321098與123456789012完全不同,則證明李四說謊了,則成功的保證了信息的不可篡改性。
常見的Hash演算法包括MD4、MD5、SHA系列演算法,現在主流領域使用的基本都是SHA系列演算法。SHA(Secure Hash Algorithm)並非一個演算法,而是一組hash演算法。最初是SHA-1系列,現在主流應用的是SHA-224、SHA-256、SHA-384、SHA-512演算法(通稱SHA-2),最近也提出了SHA-3相關演算法,如以太坊所使用的KECCAK-256就是屬於這種演算法。
MD5是一個非常經典的Hash演算法,不過可惜的是它和SHA-1演算法都已經被破解,被業內認為其安全性不足以應用於商業場景,一般推薦至少是SHA2-256或者更安全的演算法。
哈希演算法在區塊鏈中得到廣泛使用,例如區塊中,後一個區塊均會包含前一個區塊的哈希值,並且以後一個區塊的內容+前一個區塊的哈希值共同計算後一個區塊的哈希值,保證了鏈的連續性和不可篡改性。
二、加解密演算法
加解密演算法是密碼學的核心技術,從設計理念上可以分為兩大基礎類型:對稱加密演算法與非對稱加密演算法。根據加解密過程中所使用的密鑰是否相同來加以區分,兩種模式適用於不同的需求,恰好形成互補關系,有時也可以組合使用,形成混合加密機制。
對稱加密演算法(symmetric cryptography,又稱公共密鑰加密,common-key cryptography),加解密的密鑰都是相同的,其優勢是計算效率高,加密強度高;其缺點是需要提前共享密鑰,容易泄露丟失密鑰。常見的演算法有DES、3DES、AES等。
非對稱加密演算法(asymmetric cryptography,又稱公鑰加密,public-key cryptography),與加解密的密鑰是不同的,其優勢是無需提前共享密鑰;其缺點在於計算效率低,只能加密篇幅較短的內容。常見的演算法有RSA、SM2、ElGamal和橢圓曲線系列演算法等。 對稱加密演算法,適用於大量數據的加解密過程;不能用於簽名場景:並且往往需要提前分發好密鑰。非對稱加密演算法一般適用於簽名場景或密鑰協商,但是不適於大量數據的加解密。
三、信息摘要和數字簽名
顧名思義,信息摘要是對信息內容進行Hash運算,獲取唯一的摘要值來替代原始完整的信息內容。信息摘要是Hash演算法最重要的一個用途。利用Hash函數的抗碰撞性特點,信息摘要可以解決內容未被篡改過的問題。
數字簽名與在紙質合同上簽名確認合同內容和證明身份類似,數字簽名基於非對稱加密,既可以用於證明某數字內容的完整性,同時又可以確認來源(或不可抵賴)。
我們對數字簽名有兩個特性要求,使其與我們對手寫簽名的預期一致。第一,只有你自己可以製作本人的簽名,但是任何看到它的人都可以驗證其有效性;第二,我們希望簽名只與某一特定文件有關,而不支持其他文件。這些都可以通過我們上面的非對稱加密演算法來實現數字簽名。
在實踐中,我們一般都是對信息的哈希值進行簽名,而不是對信息本身進行簽名,這是由非對稱加密演算法的效率所決定的。相對應於區塊鏈中,則是對哈希指針進行簽名,如果用這種方式,前面的是整個結構,而非僅僅哈希指針本身。
四 、零知識證明(Zero Knowledge proof)
零知識證明是指證明者在不向驗證者提供任何額外信息的前提下,使驗證者相信某個論斷是正確的。
零知識證明一般滿足三個條件:
1、 完整性(Complteness):真實的證明可以讓驗證者成功驗證;
2、 可靠性(Soundness):虛假的證明無法讓驗證者通過驗證;
3、 零知識(Zero-Knowledge):如果得到證明,無法從證明過程中獲知證明信息之外的任何信息。
五、量子密碼學(Quantum cryptography)
隨著量子計算和量子通信的研究受到越來越多的關注,未來量子密碼學將對密碼學信息安全產生巨大沖擊。
量子計算的核心原理就是利用量子比特可以同時處於多個相干疊加態,理論上可以通過少量量子比特來表達大量信息,同時進行處理,大大提高計算速度。
這樣的話,目前的大量加密演算法,從理論上來說都是不可靠的,是可被破解的,那麼使得加密演算法不得不升級換代,否則就會被量子計算所攻破。
眾所周知,量子計算現在還僅停留在理論階段,距離大規模商用還有較遠的距離。不過新一代的加密演算法,都要考慮到這種情況存在的可能性。

⑵ 區塊鏈的六層模型是什麼

區塊鏈總共有六個層級結構,這六個層級結構自下而上是:數據層、網路層、共識層、激勵層、合約層、應用層。
一、數據層
數據層是區塊鏈六個層級結構裡面的最底層。數據層我們可以理解成資料庫,只不過對於區塊鏈來講,這個資料庫是不可篡改的、分布式的資料庫,也就是我們所謂的「分布式賬本」。
在數據層上,也就是在這個「分布式賬本」上,存放著區塊鏈上的數據信息,封裝著區塊的塊鏈式結構、非對稱加密技術、哈希演算法等技術手段,來保證數據在全網公開的情況下的安全性問題。具體的做法是:
在區塊鏈網路上,節點採用共識演算法來維持數據層(也就是這個分布式資料庫)的數據的一致性,採用密碼學中的非對稱加密和哈希演算法,來確保這個分布式資料庫的不可篡改和可追溯。
這就構成了區塊鏈技術中最底層的數據結構。但是,光有分布式資料庫還不夠,還需要讓資料庫裡面的數據信息可以共享交流,下面我們介紹數據層的上一層——網路層。
二、網路層
區塊鏈的網路系統,本質上是一個P2P(點對點)網路,點對點意味著不需要一個中間環節或者中心化伺服器來操控這個系統,網路中的所有資源和服務都是分配在各個節點手中的,信息的傳輸也是兩個節點之間直接往來就可以了。不過,需要注意的是,P2P
(點對點)並不是中本聰發明的,區塊鏈只是融合了這一技術而已。
所以,區塊鏈的網路層實際上就是一個特別強大的點對點網路系統。在這個系統上,每一個節點既可以生產信息,也可以接收信息,就好比發郵件,你既可以編寫自己的郵件,也可以收到別人給你發送的郵件。
在區塊鏈網路上,節點之間需要共同維護這條區塊鏈系統,每當一個節點創造出新的區塊後,他需要以廣播的形式通知其他節點,其他節點收到信息後對該區塊進行驗證,然後在該區塊的基礎上去創建新的區塊。這樣一來,全網便可以共同維護更新區塊鏈系統這個總賬本了。
但是,全網要依據什麼規則來維護更新區塊鏈系統這個總賬本呢,這就涉及到了所謂的「法律法規」(規則),也就是我們接下來要介紹的:共識層。
三、共識層
在區塊鏈的世界裡,共識,簡單來講就是全網要依據一個統一的、大家一致同意的規則來維護更新區塊鏈系統這個總賬本,類似於更新數據的規則。讓高度分散的節點在去中心化的區塊鏈網路中高效達成共識,是區塊鏈的核心技術之一,也是區塊鏈社區的治理機制。
目前主流的共識機制演算法有:比特幣的工作量證明(POW)、以太坊的權益證明
(POS)、EOS的委託權益證明(DPOS)等等。
我們現在介紹了數據層、網路層、共識層,這三層保證了區塊鏈上有數據、有網路,有在網路上更新數據的規則,但是天下沒有免費的午餐,如何讓節點們能夠積極踴躍地參與區塊鏈系統維護呢,這里就涉及到了激勵,也就是我們下面要介紹的:激勵層。
四、激勵層
激勵層就是所謂的挖礦機制,挖礦機制其實可以理解成激勵機制:你為區塊鏈系統做了多少貢獻,你就可以得到多少獎勵。用這種激勵機制,能夠鼓勵全網節點參與區塊鏈上的數據記錄與維護工作。
挖礦機制和共識機制其實是一個道理,共識機制我們可以理解為公司的總規章制度,而挖礦機制可以理解成,在這個總的規章制度之中,你做好了什麼能夠得到什麼獎勵,這種獎勵規則。
就好比比特幣的共識機制PoW,它的規定是多勞多得,誰能夠第一個找到正確哈希值誰就可以得到一定數量的比特幣獎勵;
而以太坊的PoS則規定了誰持幣年齡越久,誰能得到獎勵的概率就越大。
需要注意的是,激勵層一般只有公有鏈才具備,因為公有鏈必須依賴全網節點共同維護數據,所以必須有一套這樣的激勵機制,才能激勵全網節點參與區塊鏈系統的建設維護,進而保證區塊鏈系統的安全性和可靠性。
區塊鏈安全可靠了,還不夠智能對不對,下面我們將要介紹的合約層,可以讓區塊鏈系統變得更加智能。
五.合約層
合約層主要包括各種腳本、代碼、演算法機制及智能合約,是區塊鏈可編程的基礎。我們說的「智能合約」便屬於合約層這個層級上。
如果說比特幣系統不夠智能,那麼以太坊提出的「智能合約」則能夠滿足許多應用場景。合約層的原理主要是將代碼嵌入到區塊鏈系統上,用這種方式來實現能夠自定義的智能合約。這樣一來,在區塊鏈系統上,一旦觸發了智能合約的條款,系統就能夠自動執行命令。
六、應用層
最後就是應用層。應用層很簡單,顧名思義,就是區塊鏈的各種應用場景和案例,我們現在說的「區塊鏈+」就是所謂的應用層。目前已經落地的區塊鏈應用主要是搭建在
ETH、EOS等公鏈上的各類區塊鏈應用,博彩、游戲類的應用比較多,真正實用的應用還沒有出現。

⑶ 區塊鏈技術的機密性是如何實現的

因為區塊鏈技術對實現智能合約存在天然的優勢。
比特幣、瑞泰幣、萊特幣、以太坊等數字加密貨幣都使用了區塊鏈技術。
區塊鏈(Blockchain)是比特幣的一個重要概念,本質上是一個去中心化的資料庫,同時作為比特幣的底層技術。區塊鏈是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一次比特幣網路交易的信息,用於驗證其信息的有效性(防偽)和生成下一個區塊。

⑷ 區塊鏈 hash函數用的什麼 目前的hash都被破解

hash(哈希)演算法、MD5都屬於單向散列函數。不同的是,不同源數據的hash演算法結果可能相同,而MD5不會相同。即:hash是多對一函數,md5屬於一對一函數。MD5一般用於數據的可信性校驗,有時也用於密碼的單向加密(但是現在這種加密結果可以被破解)。

⑸ 區塊鏈密碼演算法是怎樣的

區塊鏈作為新興技術受到越來越廣泛的關注,是一種傳統技術在互聯網時代下的新的應用,這其中包括分布式數據存儲技術、共識機制和密碼學等。隨著各種區塊鏈研究聯盟的創建,相關研究得到了越來越多的資金和人員支持。區塊鏈使用的Hash演算法、零知識證明、環簽名等密碼演算法:

Hash演算法

哈希演算法作為區塊鏈基礎技術,Hash函數的本質是將任意長度(有限)的一組數據映射到一組已定義長度的數據流中。若此函數同時滿足:

(1)對任意輸入的一組數據Hash值的計算都特別簡單;

(2)想要找到2個不同的擁有相同Hash值的數據是計算困難的。

滿足上述兩條性質的Hash函數也被稱為加密Hash函數,不引起矛盾的情況下,Hash函數通常指的是加密Hash函數。對於Hash函數,找到使得被稱為一次碰撞。當前流行的Hash函數有MD5,SHA1,SHA2,SHA3。

比特幣使用的是SHA256,大多區塊鏈系統使用的都是SHA256演算法。所以這里先介紹一下SHA256。

1、 SHA256演算法步驟

STEP1:附加填充比特。對報文進行填充使報文長度與448模512同餘(長度=448mod512),填充的比特數范圍是1到512,填充比特串的最高位為1,其餘位為0。

STEP2:附加長度值。將用64-bit表示的初始報文(填充前)的位長度附加在步驟1的結果後(低位位元組優先)。

STEP3:初始化緩存。使用一個256-bit的緩存來存放該散列函數的中間及最終結果。

STEP4:處理512-bit(16個字)報文分組序列。該演算法使用了六種基本邏輯函數,由64 步迭代運算組成。每步都以256-bit緩存值為輸入,然後更新緩存內容。每步使用一個32-bit 常數值Kt和一個32-bit Wt。其中Wt是分組之後的報文,t=1,2,...,16 。

STEP5:所有的512-bit分組處理完畢後,對於SHA256演算法最後一個分組產生的輸出便是256-bit的報文。

2、環簽名

2001年,Rivest, shamir和Tauman三位密碼學家首次提出了環簽名。是一種簡化的群簽名,只有環成員沒有管理者,不需要環成員間的合作。環簽名方案中簽名者首先選定一個臨時的簽名者集合,集合中包括簽名者。然後簽名者利用自己的私鑰和簽名集合中其他人的公鑰就可以獨立的產生簽名,而無需他人的幫助。簽名者集合中的成員可能並不知道自己被包含在其中。

環簽名方案由以下幾部分構成:

(1)密鑰生成。為環中每個成員產生一個密鑰對(公鑰PKi,私鑰SKi)。

(2)簽名。簽名者用自己的私鑰和任意n個環成員(包括自己)的公鑰為消息m生成簽名a。

(3)簽名驗證。驗證者根據環簽名和消息m,驗證簽名是否為環中成員所簽,如果有效就接收,否則丟棄。

環簽名滿足的性質:

(1)無條件匿名性:攻擊者無法確定簽名是由環中哪個成員生成,即使在獲得環成員私鑰的情況下,概率也不超過1/n。

(2)正確性:簽名必需能被所有其他人驗證。

(3)不可偽造性:環中其他成員不能偽造真實簽名者簽名,外部攻擊者即使在獲得某個有效環簽名的基礎上,也不能為消息m偽造一個簽名。

3、環簽名和群簽名的比較

(1)匿名性。都是一種個體代表群體簽名的體制,驗證者能驗證簽名為群體中某個成員所簽,但並不能知道為哪個成員,以達到簽名者匿名的作用。

(2)可追蹤性。群簽名中,群管理員的存在保證了簽名的可追蹤性。群管理員可以撤銷簽名,揭露真正的簽名者。環簽名本身無法揭示簽名者,除非簽名者本身想暴露或者在簽名中添加額外的信息。提出了一個可驗證的環簽名方案,方案中真實簽名者希望驗證者知道自己的身份,此時真實簽名者可以通過透露自己掌握的秘密信息來證實自己的身份。

(3)管理系統。群簽名由群管理員管理,環簽名不需要管理,簽名者只有選擇一個可能的簽名者集合,獲得其公鑰,然後公布這個集合即可,所有成員平等。

鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。

⑹ 區塊如何連接成區塊鏈

區塊鏈如何保證依次順序相連?
區塊鏈由一串使用密碼學演算法產生的區塊連接而成。每一個區塊上寫滿了交易記錄,區塊按順序相連形成鏈狀結構,也就是區塊鏈大賬本。
以比特幣為例,礦工在生成新區塊時,需要根據前一個區塊的哈希值、新交易區塊和隨機數,來計算新的哈希值和隨機數。也就是說每一個區塊都是在前一個區塊數據的基礎上生成的,該機制保證了區塊鏈數據的唯一性。
因為交易記錄細微的變化也會徹底改變哈希值的結果,所以礦工在進行算力競爭的時候無法作弊,每個礦工都必須等前一個區塊生成之後才能根據前一個區塊的數據開始計算符合條件的隨機數,保證了挖礦的公平性。

⑺ 什麼是區塊鏈運用在哪些方面

您的問題我已看到,那麼,區塊鏈能應用在哪些方面?下面由小編來為您解答。

答:比特幣是區塊鏈的第一個具體應用。它是在 2008 年由一個人或一群人提出的一篇論文中提出的。比特幣使用區塊鏈來對比特幣進行數字發送,而 BitCoin 的名稱是比特幣,而不需要第三方中間人的干涉。

但比特幣並不是區塊鏈的唯一應用,如下:

1.金融領域:將區塊鏈技術應用在金融行業中,能夠省去第三方中介環節,實現點對點的直接對接,從而在大大降低成本的同時,快速完成交易支付。

2.物聯網和物流領域:區塊鏈在物聯網和物流領域也可以天然結合。通過區塊鏈可以降低物流成本,追溯物品的生產和運送過程,並且提高供應鏈管理的效率。

3.公共服務領域:區塊鏈在公共管理、能源、交通等領域都與民眾的生產生活息息相關,但是這些領域的中心化特質也帶來了一些問題,可以用區塊鏈來改造。

4.數字版權領域:通過區塊鏈技術,可以對作品進行鑒權,證明文字、視頻、音頻等作品的存在,保證權屬的真實、唯一性

5.保險領域:在保險理賠方面,保險機構負責資金歸集、投資、理賠,往往管理和運營成本較高。通過智能合約的應用,既無需投保人申請,也無需保險公司批准,只要觸發理賠條件,實現保單自動理賠。

6.公益領域:區塊鏈上存儲的數據,高可靠且不可篡改,天然適合用在社會公益場景。公益流程中的相關信息,如捐贈項目、募集明細、資金流向、受助人反饋等,均可以存放於區塊鏈上,並且有條件地進行透明公開公示,方便社會監督。

以上僅供您參考,還望您能採納,謝謝!

熱點內容
章魚挖礦app 發布:2024-11-18 12:08:41 瀏覽:656
加密數字貨幣與虛擬貨幣有區別嗎 發布:2024-11-18 12:07:46 瀏覽:680
騰訊進軍元宇宙中文在線 發布:2024-11-18 12:06:52 瀏覽:169
eth06 發布:2024-11-18 12:01:40 瀏覽:359
python區塊鏈和go區塊鏈 發布:2024-11-18 12:01:00 瀏覽:950
老梁數字貨幣弊端 發布:2024-11-18 11:32:28 瀏覽:750
高科技明星元宇宙 發布:2024-11-18 11:19:15 瀏覽:208
海島大亨5沒人挖礦 發布:2024-11-18 11:14:02 瀏覽:982
eth代幣對接 發布:2024-11-18 11:12:36 瀏覽:444
區塊鏈30源碼 發布:2024-11-18 11:11:02 瀏覽:741