區塊鏈安全錢包設計實現

1.方案概述

設計並實現一款基於國密算法的區塊鏈安全錢包,首先使用國密算法完成基於國密算法的區塊鏈的設計和實現,而後完成工做在此區塊鏈上的區塊鏈安全錢包。基於國密算法SM二、SM3和SM4實現區塊鏈安全錢包最主要的功能,即密鑰生成、密鑰存儲、交易查詢和記帳分發。另外,咱們提出使用門限祕密共享方案來保護錢包私鑰,實現了Shamir門限方案並集成到安全錢包中,爲用戶私鑰多加一層保護措施。算法

2.功能介紹

使用國密算法實現錢包的基本功能,使用本地帳戶來管理用戶的私鑰。用戶須要註冊本地帳戶來使用本區塊鏈錢包,錢包構造Shamir的(2,3)祕密門限方案[20]經過用戶的私鑰爲用戶生成3個祕密共享密鑰,其中一個密鑰將存儲在密鑰文件中,另外兩個密鑰交由用戶保管,在須要使用用戶私鑰的場合,錢包將要求用戶輸入他所持有的密鑰,經過Lagrange差值公式由兩個密鑰重構出用戶的私鑰。
錢包使用SM2算法[21]實現用戶密鑰對的生成,而後使用Shamir門限方案生成祕密共享密鑰,使用SM3密碼雜湊算法[22]經過用戶公鑰生成錢包地址,實現地址生成功能。SM4分組密碼算法[23]用於將用戶信息加密存儲在本地,實現密鑰存儲功能。得到用戶的錢包地址後,便可與區塊鏈節點通訊得到區塊信息實現餘額查詢以及帳單查詢的功能。發起交易時,使用SM2數字簽名算法對生成的交易進行簽名後提交給區塊鏈節點等待確認。安全

2.1 區塊鏈安全錢包整體設計方案

2.2 模塊功能和算法的調用過程

2.3 區塊鏈結構設計

2.4第三方工具庫bouncycastle實現SM2數字簽名算法

2.5從用戶公鑰生成用戶地址過程

2.6密鑰存儲於密鑰文件

2.7登陸存儲文件過程

3 區塊鏈錢包

3.1登陸檢測用戶是否存在

下面登陸檢測用戶是否存在:

網絡

3.2生成私鑰註冊帳戶


3.3輸入密鑰註冊用戶



3.4兩個帳戶擁有相同的私鑰


3.5餘額查詢功能

3.6帳單查詢功能

3.7用戶發起交易

3.8交易上鍊後查詢餘額以及帳單


4總結

使用國家密碼算法實現的區塊鏈安全錢包,其運行在基於國密算法實現的區塊鏈上,實現了錢包的主要功能。用戶能夠使用錢包在該區塊鏈網絡中互相進行交易、生成和管理本身的密鑰,以及查看區塊鏈帳本。加密貨幣及區塊鏈技術很是全面地挖掘了密碼學技術的優勢,大量使用了密碼學的相關算法保證了一個去中心化網絡的安全性,該錢包的實現使得國家商用密碼算法應用於加密貨幣和區塊鏈技術上成爲可能。工具

相關文章
相關標籤/搜索