基于区块链技术的去中心化应用
来源:用户上传
作者:
摘 要:文章旨在利用区块链技术解决中心化存储模式的弊端,基于中心化数据存储模式下的学者网平台,运用区块链技术实现用户行为数据信息的链上存储,消除中心化数据存储弊端的同时安全公开的存储用户行为信息,降低多方交互成本,提高多方交互效率。运用区块链技术实现用户积分交易,根据学生用户行为分发相应积分,积分可查且永久存储在该用户账号,保证了用户积分记录的透明存储,保障了用户的权益。此外,设计开发了区块链浏览器,提供区塊信息查询功能。
关键词:学者网;区块链;去中心化;数据存储;积分管理
1 引言
随着互联网的不断发展,人们进入了互联网时代,各类平台网站层出不穷,数据安全问题成为人们关注的重点。其中传统的中心化数据库存储模式[1]是造成数据不安全的重要原因之一。在该模式下,数据由单一的机构或系统进行维护,多方交互需要各自构建一份自己的数据库,受到服务攻击时,中心化的数据存储模式更是面临全网遭受破坏的风险,数据安全无法得以保证。学者网[2]作为典型的中心化数据库存储模式下的综合性学者社交网站,随着学者网应用人数的增加,多方交互的成本增加,传统的中心化存储已经满足不了市场需求。现在汇总学者网的三个问题。
(1)数据不安全。学者网是基于中心化数据存储模式的社交网站,数据信息存储在学者网本地中心服务器中,学者网一旦遭受恶意攻击,将会导致学者网数据遗失,且数据库恢复困难。
(2)交互过程中效率低下,成本较高。学者网目前应用的对象是各大高校学者,多方参与下的学者网效率低下,多方交互成本较高。
(3)缺乏信任。学者网用户行为数据信息不够透明、易被人为修改,造成各用户主体间缺乏信任。区块链技术因为其去中心化的数据存储模式、共识机制及智能合约成为了近些年的热点[3],去中心化存储模型如图1所示。因此,针对学者网这种多方参与、应用频率高、依赖于中心化且具有低效高成本特征的应用场景,使用区块链技术可有效解决其弊端。
本文针对学者网此类应用场景的弊端,运用区块链技术实现用户行为数据存储及积分管理。贡献点主要有三点。
(1)创新性的将区块链技术应用在学者网上,对学者网未来的扩展应用提供了实际素材。
(2)实现学者网用户行为数据的链上存储,有效解决多方交互带来的低效高成本的同时克服中心化数据存储的安全性低下等问题。
(3)运用区块链技术实现链上积分交易,有效保障用户利益的同时为区块链技术在积分管理方面的应用提供参考。
2 基于区块链技术的去中心化应用
中心化存储模式下的学者网存在着数据不安全、多方交互成本高且效率低下以及若干信任问题。本文专注于学生在学者网课程学习中的用户行为,实现用户行为数据上链及链上积分交易。用户可通过学者网区块浏览器进行区块交易信息查询。
2.1 整体架构设计
整体设计由用户、学者网、布比区块链、学者网区块链浏览器四部分组成。用户使用学者网产生用户行为数据,智能合约调用学者网数据接口定时提取用户行为数据,将用户行为数据存储到区块链上并实现对应区块链账户的积分分发,区块链将用户行为数据及用户积分永久的、不可篡改的存储在区块中,形成公开安全的分布式数据库账本,供全网可见。用户借助学者网区块链浏览器查询详细的账户及交易信息,区块链接收到区块浏览器的查询需求返回对应交易记录。整体架构如图2所示。
2.2 积分方案设计
积分方案依照学者网活跃度的计算方法设计,如表1所示。学者网课程管理中的学生活跃度等于特定时间段内用户登录数、用户提问数和用户回复数之和。故本文将区块链积分分为固定积分和活跃积分,每日记录用户登录次数最高的一次,对应固定积分1分。用户提问和回复次数对应活跃积分,每次行为计活跃积分1分。根据用户行为兑换积分,积分交易记录公开、安全、不可篡改的存储在区块链上,从而有效提高课程管理用户活跃度统计的透明度,保障用户权益。课程管理者拥有定额的固定积分和活跃积分,课程内用户产生行为,课程管理者就向课程内用户发放相应积分。
2.3 智能合约设计
根据整体架构对功能的业务逻辑进行编码形成智能合约,并将其部署到区块链上,可由所有节点达成共识和运行。智能合约实现了用户行为数据的提取及上链处理等一系列操作,保证用户行为数据安全的同时,定时将用户信息存储到区块链中。业务规则包括获取用户个人信息、获取用户行为信息、获取序列化交易操作码、获取签名、提交交易等,接口如表2所示。
用户信息合约实现学者网和区块链的数据桥梁作用。通过获取用户个人信息来明确对应的区块链账号。为获取用户的行为,信息合约定时定期从学者网获取用户行为信息。序列化操作码合约中的四种序列化交易的操作码根据布比区块链官网的数据结构组装。签名合约的数字签名是区块链交易过程中的重点,数字签名的流程如图3所示。
2.4 系统流程设计
2.4.1 用户账号
用户账户分为学者网账户和区块链账户两种。首次注册学者网账号时,可以同时注册得到区块链账号,已有学者网账号而没有区块链账号的用户可以在区块链读入用户信息时判断并创建区块链账号。用户学者网账户和区块链账户均已存在后,区块链读入用户行为,并进行区块链上的数据存储及积分交易操作。
2.4.2 用户行为
根据积分方案设计,课堂活跃度统计为用户登录数、用户提问数、用户回复数之和。用户登录指用户登录学者网某课程主页,用户登录次数每日最多记一次,用户登录记录信息包括用户ID、登录时间、课程名等。学者网为每个课程提供了互动交流页面,用户可以自行发问和作答。用户提问和用户回复以发生一次记一次的规则,其中用户提问信息包括用户ID、提问时间等,用户回复信息包括用户ID、回复时间、回复内容等。 2.4.3 数据存储及积分交易
数据存储及积分交易作用在区块链上就是提交序列化交易。故本文根据智能合约获取到的用户行为信息,组织序列化交易操作码,实现用户行为数据写入到区块链。数据存储采用设置元数据的序列化交易方式。故以用户登录时间与用户行为类型login结合的键值对组装用户登录信息,组成元数据存储的序列化交易操作码,如表3所示。用户提问信息和用户回复信息则以行为时间与行为内容组成键值对的形式,组装成元数据存储的序列化交易操作码,如表4所示。积分交易采用转移资产的序列化交易方式,运用智能合约获取用户区块链账号及积分兑换规则,实现创世账号向目标用户的区块链账号分发积分。其中课程管理者账号(资产发行方)作为活动分数资产的拥有者向发生行为的学者(资产接收方)进行转移资产的操作,用户积分交易的序列化交易操作码,如表5所示。这样就实现了链上信息存储和积分交易,用户行为数据被存储于目标区块账号的元数据组中,用户所获活动积分被存储于目标区块账号的资产列表中,用户可以通过访问区块链账号访问到该用户的历史用户行为数据及详细的资产情况,也可以通过交易Hash值访问到单笔交易的详细情况。
3 实验分析
3.1 实验环境
结合学者网和区块链技术,实现了用户行为数据存储和积分交易。底层区块链采用布比区块链,本地部署四个节点,配置节点文件使节点达成共识形成一个底层区块链环境。另外采用js+html5+css3+vue+webpark简单搭建了学者网区块浏览器,实现前端页面与区块链智能合约的交互,方便了用户提供区块信息。实验环境为:笔记本计算机、Windows操作系统、Intel Core i5处理器、内存8GB、硬盘460GB。
3.2 实验结果
以选取学者网平台的《数学建模方法》课程为例,该课程综合访问量高,选课学生数据量大,互动交流频繁,易于收集学生的行为。学者网课程管理的页面如图6所示,其中统计管理包括该课程的学生登录统计、学生活跃度统计,其中活跃度等于用户登录数、用戶提问数、用户回复数之和。
结合学者网和区块链技术设计并实现的用户行为数据存储及积分管理,具体实验步骤有五步。
(1)提取该课程所有选课学生信息,保存为json数据格式。运用智能合约根据用户个人信息,创建区块链账号,获得密钥信息,并更新学者网本地数据库用户表。
(2)运用智能合约按特定时间间隔批量提取用户行为数据,调用获取用户行为信息的接口实现有效的用户行为信息抽取。根据提取出的用户行为类型,完成积分数目及积分类型的计算。
(3)用户区块链账号调用设置metadata接口,按照特定行为的组织形式,提交序列化交易,完成个人用户行为数据的存储。
(4)创世账号作为资产转移的发送方,根据步骤(2)中计算得到的积分数目及积分类型,向发生特定行为的区块链账号发送积分。
(5)开发区块链浏览器,首页面实时显示最新区块信息,如图7所示。页面还提供交易信息、区块链账户信息查询。
本文开发的区块链浏览器实现了区块信息查询功能。基于Hash的查询,可以细分为创建账号、发行资产、转移资产、设置metadata四个交易查询。基于账号的查询,可返回该账户地址、交易总数、元数据组及资产列表等信息。基于区块头的查询,就可以返回区块号、当前区块高度、上一个区块Hash地址及生成时间等信息。学者网学者提问行为切图如8所示。
通过区块链浏览器根据林茂森学者的区块链账号查询到的结果如图9所示。由图9可知,该名学者发生的行为数据以“用户发生行为时间,用户发生行为数据信息”为键值对存储于该用户对应区块链账号的元数据组中,学者所获积分信息存储于对应区块链账号的资产列表中,其中每条资产信息包含了资产发起区块地址、资产类型及资产数量。由于实验使用单个课程为例,所以,该课程管理者(资产发行方)为创世账号。故用户通过查询区块链账户可以查询到该账户所存储的所有交易总数、元数据组及资产列表。
实验表明,这种运用区块链技术进行数据管理和积分管理的应用方案可以有效保障学者网数据的安全性。与此同时,通过区块链技术实现了用户行为的时刻监听和追溯,有效地约束用户行为,提高了课程内的交互质量和效率。将学者网活动积分转成链上存储,可以保证积分的公平发放,有效地保障了用户的权益,提高用户参与学者网的积极性。在多方交互过程中,各方通过区块链访问学者行为及积分数据,节省了第三方介入造成的成本开销,提高了多方交互的效率。
4 结束语
在当下高速发展且错综复杂的社会环境中,降低多方交互成本,提高交互效率与数据存储安全是学者网这类中心化存储模式下应用场景未来面临的重要挑战。本文结合学者网运用区块链技术进行了去中心化的简单应用。实验表明,通过链上存储数据信息,有效地保障了数据信息的安全性及透明度,减少了多方交互过程产生的中间成本,提升了交互效率的同时解决了信任问题保障用户权益。另一方面,运用区块链技术辅助学者网课程管理,有利于课程管理者监管和追溯用户行为的同时提高用户参与度,有利于学者网应用的进一步推广,达到互利共赢的效果。但是,目前该应用仅运用学者网的课程管理进行了简单的去中心化应用,未来可尝试推广到更多应用场景。
基金项目:
1. 国家自然科学基金广东大数据中心项目重点项目(项目编号:U1811263);
2. 国家自然科学基金面上项目(项目编号:61772211)。
参考文献
[1] 邵奇峰,金澈清,张召,钱卫宁,周傲英.区块链技术:架构及进展[J].计算机学报,2018,41(05):969-988.
[2] 李丁丁,刘海,汤庸,陈启买,陈凌潇.基于协同理念的教学科研服务平台—学者网的实践探索[J].计算机教育,2018(07):114-117. [3] 何蒲,于戈,張岩峰,鲍玉斌.区块链技术与应用前瞻综述[J].计算机科学,2017,44(04):1-7+15.
[4] Nakamoto S. Bitcoin: A peer-to-peer electronic cash system. White Paper, 2008.
[5] Zheng Z , Xie S , Dai H , et al. An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends[C]// 2017 IEEE International Congress on Big Data (BigData Congress). IEEE, 2017.
[6] Yang D , Zhao X , Xu Z , et al. Developing Status and Prospect Analysis of Blockchain in Energy Internet[J]. Zhongguo Dianji Gongcheng Xuebao/Proceedings of the Chinese Society of Electrical Engineering, 2017, 37(13):3664-3671.
[7] 周邺飞.区块链核心技术演进之路—共识机制演进(1)[J].计算机教育,2017(04):155-158.
[8] Gervais A, Karame G O, Glykantzis V, et al. On the Security and Performance of Proof of Work Blockchains[C]// Acm Sigsac Conference on Computer & Communications Security. 2016.
[9] Vukoli? M. The Quest for Scalable Blockchain Fabric: Proof-of-Work vs. BFT Replication[M]// Open Problems in Network Security. 2015.
[10] Singh S, Singh N. Blockchain: Future of financial and cyber security[C]// International Conference on Contemporary Computing & Informatics. 2017.
[11] Shoker, Ali. [IEEE 2017 IEEE 16th International Symposium on Network Computing and Applications (NCA) - Cambridge, MA, USA (2017.10.30-2017.11.1)] 2017 IEEE 16th International Symposium on Network Computing and Applications (NCA) - Sustainable blockchain through proof of exercise[C]// IEEE International Symposium on Network Computing & Applications. IEEE Computer Society, 2017:1-9.
[12] Li W, Andreina S, Bohli J M, et al. Securing Proof-of-Stake Blockchain Protocols[J]. 2017.
[13] 刘敖迪,杜学绘,王娜,李少卓.区块链技术及其在信息安全领域的研究进展[J].软件学报,2018,29(07):2092-2115.
[14] Luo Y, Chen Y, Chen Q, et al. A New Election Algorithm for DPos Consensus Mechanism in Blockchain[C]// 2018 7th International Conference on Digital Home (ICDH). 2019.
[15] Yin M, Malkhi D, Reiter M K, et al. HotStuff: BFT Consensus in the Lens of Blockchain[J]. 2018.
[16] 朱岩,甘国华,邓迪,姬菲菲,陈爱平.区块链关键技术中的安全性研究[J].信息安全研究,2016,2(12):1090-1097.
[17] Yuan Y, Wang F Y. Blockchain: The State of the Art and Future Trends[J]. Acta Automatica Sinica, 2016.
[18] Watanabe H, Fujimura S, Nakadaira A, et al. Blockchain contract: Securing a blockchain applied to smart contracts[C]// IEEE International Conference on Consumer Electronics. 2016.
[19] Lauslahti K, Mattila J, Seppala T. Smart Contracts – How Will Blockchain Technology Affect Contractual Practices?[J]. Social Science Electronic Publishing, 2018(57).
[20] Lian Y, Tsai W T, Li G, et al. Smart-Contract Execution with Concurrent Block Building[C]// Service-oriented System Engineering. 2017.
[21] Luu L, Chu D H, Olickel H, et al. Making Smart Contracts Smarter[C]// Acm Sigsac Conference on Computer & Communications Security. 2016.
转载注明来源:https://www.xzbu.com/1/view-15129779.htm