论文部分内容阅读
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,可应用于金融领域、物联网物流领域、公共服务领域、数字版权领域等。区块链数字钱包管理用户私钥,充当与区块链主网进行数据通信的媒介。随着区块链技术以及移动互联网的飞速发展,区块链数字钱包的市场需求将持续增长,对移动数字钱包的安全、性能要求也会随之升高。现有区块链数字钱包的交易需要依靠区块链网络全部节点的信息,存在着数据加载缓慢,交易确认时间较长的问题,而且很多钱包占用存储空间较大也不适合在移动手机上运行。与此同时,安全是区块链数字钱包的核心内容,如何权衡安全性和效率是当今钱包面临的主要问题。虽然热钱包的私钥存储在应用层面上较为便捷,但存在着诸多网络漏洞,以及被钓鱼网站诈骗等安全隐患。冷(硬件)钱包与之相比具有很高的安全性,但使用起来很不方便。因此,有必要对区块链数字钱包进行深入研究与改进。通过深入研究了现有数字钱包相关技术,为了解决已有钱包存在的问题,本文主要完成了以下工作:1)基于简单支付验证SPV思想,本文设计了一套更加高效的交易验证算法流程,实现了轻量级数字钱包,并且通过与其他轻量级钱包进行对照实验,证明了本钱包的算法实现可以进一步提高交易确认速度;2)引入钥匙串(Keychain)安全存储机制对私钥的存储机制进行改进,使得私钥存取离线、操作方便且独立于应用,并且实现了硬件数字钱包。同时采用Realm持久化存储方案,提高了交易信息存储的安全性;3)实现私钥多种形态表示,根据确定性钱包生成提案生成助记词,可以方便用户记忆、管理私钥;4)设计并实现了一款确定性、轻量级的、链上(On-chain)的冷区块链数字钱包,主要功能包括用户注册、用户登录、密钥生成、私钥保存、钱包私钥导入导出、钱包助记词导入导出、钱包签名文件导入导出、钱包删除、余额查询、交易记录查询、转账等;5)完成了应用功能和性能的测试分析,验证了该应用的实用性和有效性。