① 鍦ㄥ尯鍧楅摼涓涓鑸浣跨敤浠涔堝姞瀵嗙畻娉
鍦ㄥ尯鍧楅摼涓錛屼竴鑸浣跨敤涓ょ嶄富瑕佺殑鍔犲瘑綆楁硶錛
鎷撳睍鐭ヨ瘑錛
鍝堝笇鍑芥暟鏄涓縐嶅皢浠繪剰闀垮害鐨勬暟鎹錛堝傛枃鏈銆佹暟瀛楃瓑錛夎漿鎹涓哄滻瀹氶暱搴︼紙閫氬父涓256浣嶆垨512浣嶏級鐨勬憳瑕佺殑鏂規硶銆傚畠浠闈炲父蹇涓旈潪甯稿畨鍏錛屽洜涓烘敼鍙樻暟鎹涓鐨勪竴灝忛儴鍒嗭紙鍗充嬌鏄寰灝忕殑鏀瑰彉錛変細瀵艱嚧鍝堝笇緇撴灉鐨勫彉鍖栭潪甯稿ぇ錛岀敋鑷充笉鍙閫嗐傝繖縐嶇壒鎬т嬌寰楀搱甯屽嚱鏁板湪鍖哄潡閾句腑琚騫挎硾浣跨敤錛屽傚尯鍧楃殑merkle鏍戠粨鏋勩佷氦鏄撶殑鏁板瓧絳懼悕浠ュ強瀵嗙爜瀛﹂挶鍖呯殑瀛樺偍絳夈
姣旂壒甯佸尯鍧楅摼涓昏佷嬌鐢⊿HA-256浣滀負鍏跺搱甯屽嚱鏁幫紝榪欐槸鐢盌avid Chaum鍜孧ayra P. Chilomchik鍦1997騫村紩鍏ョ殑涓縐嶇畻娉曘係HA-256鎻愪緵浜嗕竴縐嶉潪甯稿畨鍏ㄧ殑鏂瑰紡鏉ュ壋寤哄尯鍧楅摼騫剁『淇濅氦鏄撶殑瀹夊叏鎬с傛ゅ栵紝鍖哄潡閾句腑鐨凪erkle鏍戠粨鏋勪篃鏄鍩轟簬SHA-256鐨勫搱甯屽嚱鏁版潵鍒涘緩鐨勩
浠ヤ笂涓ょ嶅姞瀵嗙畻娉曞拰鍝堝笇鍑芥暟鍦ㄥ尯鍧楅摼涓閮芥壆婕旂潃闈炲父閲嶈佺殑瑙掕壊錛屽畠浠淇濊瘉浜嗕氦鏄撶殑瀹夊叏鎬с佸畬鏁存у拰鍖垮悕鎬э紝鍚屾椂涔熺『淇濅簡鍖哄潡閾劇綉緇滅殑鍘諱腑蹇冨寲鍜屼笉鍙綃℃敼鎬с
鍚屾椂錛岀敱浜庡尯鍧楅摼涓鐨勬暟鎹鏄浠ュ尯鍧楃殑褰㈠紡涓嶆柇澧為暱鐨勶紝榪欎簺鍔犲瘑綆楁硶榪樿鐢ㄤ簬鍒涘緩鍖哄潡澶村拰鍖哄潡闂寸殑閾炬帴錛岃繘涓姝ユ彁楂樹簡鍖哄潡閾劇殑鎬ц兘鍜屽畨鍏ㄦс
② 區塊鏈的加密技術
數字加密技能是區塊鏈技能使用和開展的關鍵。一旦加密辦法被破解,區塊鏈的數據安全性將受到挑戰,區塊鏈的可篡改性將不復存在。加密演算法分為對稱加密演算法和非對稱加密演算法。區塊鏈首要使用非對稱加密演算法。非對稱加密演算法中的公鑰暗碼體制依據其所依據的問題一般分為三類:大整數分化問題、離散對數問題和橢圓曲線問題。第一,引進區塊鏈加密技能加密演算法一般分為對稱加密和非對稱加密。非對稱加密是指集成到區塊鏈中以滿意安全要求和所有權驗證要求的加密技能。非對稱加密通常在加密和解密進程中使用兩個非對稱暗碼,稱為公鑰和私鑰。非對稱密鑰對有兩個特點:一是其間一個密鑰(公鑰或私鑰)加密信息後,只能解密另一個對應的密鑰。第二,公鑰可以向別人揭露,而私鑰是保密的,別人無法通過公鑰計算出相應的私鑰。非對稱加密一般分為三種首要類型:大整數分化問題、離散對數問題和橢圓曲線問題。大整數分化的問題類是指用兩個大素數的乘積作為加密數。由於素數的出現是沒有規律的,所以只能通過不斷的試算來尋找解決辦法。離散對數問題類是指基於離散對數的困難性和強單向哈希函數的一種非對稱分布式加密演算法。橢圓曲線是指使用平面橢圓曲線來計算一組非對稱的特殊值,比特幣就採用了這種加密演算法。非對稱加密技能在區塊鏈的使用場景首要包含信息加密、數字簽名和登錄認證。(1)在信息加密場景中,發送方(記為A)用接收方(記為B)的公鑰對信息進行加密後發送給
B,B用自己的私鑰對信息進行解密。比特幣交易的加密就屬於這種場景。(2)在數字簽名場景中,發送方A用自己的私鑰對信息進行加密並發送給B,B用A的公鑰對信息進行解密,然後確保信息是由A發送的。(3)登錄認證場景下,客戶端用私鑰加密登錄信息並發送給伺服器,伺服器再用客戶端的公鑰解密認證登錄信息。請注意上述三種加密計劃之間的差異:信息加密是公鑰加密和私鑰解密,確保信息的安全性;數字簽名是私鑰加密,公鑰解密,確保了數字簽名的歸屬。認證私鑰加密,公鑰解密。以比特幣體系為例,其非對稱加密機制如圖1所示:比特幣體系一般通過調用操作體系底層的隨機數生成器生成一個256位的隨機數作為私鑰。比特幣的私鑰總量大,遍歷所有私鑰空間獲取比特幣的私鑰極其困難,所以暗碼學是安全的。為便於辨認,256位二進制比特幣私鑰將通過SHA256哈希演算法和Base58進行轉化,構成50個字元長的私鑰,便於用戶辨認和書寫。比特幣的公鑰是私鑰通過Secp256k1橢圓曲線演算法生成的65位元組隨機數。公鑰可用於生成比特幣交易中使用的地址。生成進程是公鑰先通過SHA256和RIPEMD160哈希處理,生成20位元組的摘要成果(即Hash160的成果),再通過SHA256哈希演算法和Base58轉化,構成33個字元的比特幣地址。公鑰生成進程是不可逆的,即私鑰不能從公鑰推導出來。比特幣的公鑰和私鑰通常存儲在比特幣錢包文件中,其間私鑰最為重要。丟掉私鑰意味著丟掉相應地址的所有比特幣財物。在現有的比特幣和區塊鏈體系中,現已依據實踐使用需求衍生出多私鑰加密技能,以滿意多重簽名等愈加靈敏雜亂的場景。