论文部分内容阅读
区块链这一概念来源于比特币发明者中本聪在2009年发表的《Bitcoin:A peer-to-peer electronic cash system》一文,是比特币的底层技术。在比特币和区块链技术出现前,互联网上的贸易大部分都需要依赖可信的第三方金融机构处理电子交易,这类系统从本质上说还是受制于“基于信用的模式”[1]。区块链本质上是记录交易或事件的分布式账本,账本中的交易都经过了全网大多数节点的一致认证,一旦被记录在区块上,就不能否认和篡改,并且可追溯,基于以上特点,区块链技术迅速在金融等领域受到广泛关注。在区块链2.0时代,以太坊为区块链应用的开发提供了平台,它拥有多种语言的客户端,开发人员可在以太坊平台上开发和发布下一代分布式应用。根据上述背景,本文将基于以太坊平台,设计并实现基于区块链的身份认证系统,包括用户注册、用户登录、身份信息修改、账号注销、区块信息查询、已注册用户查询、余额查询、转账和账单查询的功能,最终完成基于区块链技术的去中心化应用开发。搭建Truffle框架和Testrpc测试环境,通过编写智能合约实现上述功能的业务逻辑,并用JavaScript实现前端与智能合约的交互,使系统可以在测试网络中正常运行。再搭建基于以太坊的私有链网络,成功将已有系统部署至私有链,实现身份认证系统在私有链上的部署和运行。本文最后对上述各功能模块分别进行了可用性测试,并对整个系统的备份做了安全测试。通过JavaScript编写测试用例实现非查询类功能的自动化测试,同时对所有功能做了多种情况下的手动测试,保证了身份认证系统的可用性和稳定性。