有關密碼演算法(參考自《白話區塊鏈》)
1.雜湊演算法
通過某個方法將一段任意輸入 的字串計算出乙個固定長度的值,相當於計算出乙個身份證號。通過 雜湊演算法計算出的結果,是無法再通過乙個演算法還原出原始資料的,即 是單向的,因此適合用於一些身份驗證的場合,同時由於雜湊值能夠起 到乙個類似於身份證號的作用,因此也可以用於判斷資料的完整性,哪 怕資料發生微小的變化,重新計算後的雜湊值都會與之前的不一樣。
用處:1.區塊雜湊(前面講過,懶得再寫了)
2.梅克爾樹(和區塊雜湊有異曲同工之妙...)
舉乙個生活中常見的例子,當我們簽訂乙份n頁的合同時,通常都 會在每頁合同上蓋章,只不過每一頁上的章都是一樣的,這就給作弊留 下了空間。如果我們稍微改變一下做法,給每一頁合同蓋乙個數字印 章,並且每一頁上的數字印章是前一頁數字印章和本頁內容一起使用哈 希演算法生成的雜湊值。例如:
1)合同第一頁的數字印章是本頁內容的雜湊值,即第一頁數字印 章=hash(第一頁內容)。
2)合同第二頁的數字印章是第一頁的數字印章及第二頁內容加在一起後再雜湊的值,第二頁數字印章=hash(第一頁的數字印章+第二頁 內容)。
3)合同第三頁的數字印章是第二頁的數字印章及第三頁內容加在 一起後再雜湊後的值,即第三頁數字印章=hash(第二頁的數字印章+第 三頁內容)。
4)上述過程以此類推。
這樣對第一頁合同的篡改必然使其雜湊值和第一頁上的數字印章不 符,且其後的2,3,4,5,…,n頁也是如此;對第二頁合同的篡改必 然使其雜湊值和第二頁上的數字印章不符,且其後的3,4,5,…,n頁 也是如此。
結構如圖所示:
我們看到,首先這是乙個樹結構,在底部有4個雜湊值,假設某個 區塊中一共有4條交易事務,那麼每條交易事務都計算乙個雜湊值,分 別對應這裡的hash1到hash4,然後再兩兩結對,再次計算雜湊值,以此 類推,直到計算出最後乙個雜湊值,也就是根雜湊。這樣的一棵樹結構 就稱為梅克爾樹(merkle tree),而這個根雜湊就是梅克爾根(merkle root)。
2.公開金鑰演算法
1)rsa演算法(具體操作不記了,上網一找就能找著)
2)橢圓曲線密碼演算法(同上)
3.編碼、解碼演算法(沒看明白應該用在什麼地方..)
明天爭取看完共識演算法..
區塊鏈學習筆記
關於區塊鏈的概念早在2012年就聽說過了,但是當時並未引起重視,當下雖然很流行,但是仍無法看到應用在何方,粗略了解,先學習一點咯,只做一些筆記用來學習下吧 先過概念 區塊鏈是 分布式資料儲存 點對點傳輸 共識機制 加密演算法等計算機技術的新型應用模式。所謂 共識機制是區塊鏈系統中實現不同節點之間建立...
區塊鏈學習筆記 區塊鏈的模型架構
整理自 區塊鏈社會 龔鳴 自下而上分為資料層 網路層 共識層 激勵層 合約層 應用層。資料層封裝了底層資料區塊的鏈式結構,以及相關的非對稱公私鑰資料加密技術和時間戳等技術 網路層包括分布式組網機制 資料傳播機制和資料驗證機制等 共識層主要封裝網路節點的各類共識機制演算法 工作量證明機制pow 權益證...
區塊鏈技術學習筆記
為了方便理解,先插個話題。做伺服器端開發的程式設計師,都對zookeeper不陌生,我們解決分布式acp問題時,尋找一致性解決方案時都會想到它。zookeeper實際使用了paxos的簡化版演算法 本文不展開,請參考我之前寫過的兩篇文章 paxos分布式一致性演算法 講述諸葛亮的反穿越 以及paxo...