分布的
Git確保每個代碼存儲庫在本地保存壹個完整的項目庫,而不僅僅是它工作的分支及其提交歷史。
同時,它還保留最近壹次拉取後的所有快照和索引信息。
在區塊鏈中,每個節點都在本地維護壹個完整的數據庫,而不僅僅是自己的事務信息。
可追蹤性
在Git mit鏈上,每個mit對象都包含父對象(最後壹個mit的對象,除了第壹個mit),所有之前的記錄都可以追溯。
在區塊鏈中,每個塊都包含前壹個塊的索引(創世塊除外),可以回溯到所有之前的有效交易。
不可篡改。
在Git的mit鏈中,每個對象本身在存儲之前都會計算壹個校驗和,然後用壹個校驗和引用它。
壹旦修改,校驗和就會出錯,這意味著在Git不知情的情況下,不可能更改任何文件內容或目錄內容。
Git用來計算校驗和的機制稱為SHA-1哈希。
這是壹個由40個十六進制字符(0-9和a-f)組成的字符串,它是根據Git中文件的內容或目錄結構計算的。
SHA-1哈希如下所示:
24 B9 da 6552252987 aa 493 b 52f 8696 CD 6 d3b 00373
在區塊鏈中,每個塊都包含前壹個塊ID和當前塊ID的兩個SHA-256哈希,這兩個哈希都是基於塊內容計算的。
壹旦內容被修改,hash會發生變化,與其他節點的鏈不壹致,最後無法加入最長的鏈,所以無法真正篡改內容。
第二,差異
集體知識和中心節點會:1-區塊鏈是基於集體知識(POW/POS)合並形成最長的鏈,這是主鏈。
2-在Git系統中,通過倉庫托管平臺進行多節點合作時,掌握歸並權力的是平臺項目經理,體現了中心節點的意誌。
密碼學
在1-比特幣區塊鏈中,密碼學主要使用以下方法。
在比特幣區塊鏈的整個系統中,使用了大量的公開加密算法,如Merkle樹哈希數算法、橢圓曲線算法、哈希算法、對稱加密算法以及壹些編碼算法。
比特幣區塊鏈中各種算法的功能如下:
a)哈希算法
比特幣系統使用的兩個哈希函數是:1。SHA-256,主要用於完成PoW(工作量證明)計算;2.RIPEMD160,主要用於生成比特幣地址。
B)Merkle散列樹
基於哈希值的二叉樹或多叉樹,在計算機領域,Merkle樹多用於完整性驗證。在分布式環境中,其完整性驗證可以大大降低數據傳輸和計算的復雜度。
c)橢圓曲線算法
在比特幣中,使用基於secp256k1橢圓曲線數學的公鑰密碼算法進行簽名和驗證簽名。壹方面可以保證用戶的賬戶不被冒名頂替,另壹方面可以保證用戶無法否認自己簽署的交易。
私鑰用於對交易信息進行簽名,挖掘者用用戶的公鑰驗證簽名。如果驗證通過,交易信息被記賬,交易完成。
d)對稱加密算法
比特幣官方客戶端使用AES(對稱分組密碼算法)加密錢包文件。用戶設置密碼後,通過AES設置餓了麽密碼對錢包私鑰進行加密,保證客戶端私鑰的安全。
E)Base58編碼
Base58是比特幣使用的獨特編碼方式,主要用於生成比特幣的錢包地址。類似於經典密碼學中的置換算法機制,其目的是將二進制哈希值增加到我們看到的地址“177 rnltxyaaxqtrrjprsqnxvr 9 a 1 gf5 p3k”中的可讀性。
2-Git: SSH key主要用於遠程登錄驗證,SHA-1用於代碼內容校驗和。
SSH是Secure Shell的縮寫,由IETF的網絡工作組制定。SSH是壹種協議,旨在為遠程登錄會話和其他網絡服務提供安全性。
使用SSH協議可以有效防止遠程管理過程中的信息泄露。
SSH傳輸的過程如下:(1)遠程主機接收用戶的登錄請求,並將其公鑰發送給用戶。
(2)用戶用這個公鑰加密登錄密碼並發回。
(3)遠程主機用自己的私鑰解密登錄密碼,如果密碼正確,允許用戶登錄。