基于Go语言的区块链模型设计与实现*
2021-04-22刘敏娜尹成姚波
数字技术与应用 2021年2期
关键词:模型
刘敏娜 尹成 姚波
(1.咸阳师范学院,陕西咸阳 712000;2.微软-清华大学联合实验室,北京 100000)
0 引言
区块链是由中本聪提出的比特币的底层技术。区块链技术具有去中心化的组织方式、基于共识的数据共识机制、建立在隐私保护基础上的公开数据读取方式等特点[1]。区块链通过交易数据哈希加密,可以保证数据安全,解决数据篡改验证的问题;通过时间戳机制记录数据交易的完整过程,使得交易数据全程可追溯;借助POW工作量证明算法解决不同节点记账权的问题。总之,使用区块链技术可以解决Web应用程序中心化平台的安全隐患。
目前区块链技术研究主要包括通用协议研究(智能合约,隐私保护等协议)、数据层研究(非对称加密,分布式数据库等)、网络层研究和应用研究。应用研究包括区块链技术与金融、教育、工业等领域整合应用[2]。本文主要研究使用Go语言构建区块链模型,目的是通过模型研究为下一步将区块链技术整合在基于B/S架构的Web程序(即传统Web程序+区块链技术应用)打下基础。
1 区块链技术和Go语言
1.1 区块链技术
区块链技术本质是一个去中心的、通过分布式节点进行数据存储、验证、传递和交流的网络技术方案[3]。区块链技术最早是应用在比特币系统中,作为比特币的底层存储结构。区块链的基础技术有哈希计算、数字签名、P2P网络、共识算法和智能合约。一个成熟的区块链具有透明可信、防篡改、隐私安全保障和系统高可靠等特性。区块链从最初的金融领域的应用,到现在在供应链、政务、数字版权和医疗等领域都有广泛的应用。……
登录APP查看全文
