硕士论文网第2022-04-09期,本期硕士论文写作指导老师为大家分享一篇
软件工程学位论文文章《以太坊平台实体识别系统的开发与设计分析》,供大家在写论文时进行参考。
针对现有的数据集和模型,简要分析了目前账户模型区块链实体识别面临的问题,并针对这些问题提出了三种实现区块链实体识别的方法,设计了账户模型区块链通用的数据集构建方法,针对以太坊进行了方法实践。并针对实践生成的数据集进行了模型调优和分析,最后通过 ETC 和 USDT 对上述方法进行了推广验证。3、设计并实现了以太坊平台区块链实体识别系统,通过软件工程的基本流程展示该系统的系统架构和模块设计,本系统支持用户使用 API 调用,可以按照用户的精度需求和地址的类型进行对应的识别和溯源,并将处理后的信息返回给用户,具有一定的使用价值。
第一章 绪论
1.1 研究工作的背景与意义
区块链是一项具有去中心化,独立性,开放性,安全性,匿名性等特性的电子交易技术[1],不仅作为一项去中心化技术广泛应用于现在的各种网络设备架构中,而且由于基于这项技术的比特币具有很强的金融货币属性,吸引驻留了大量的资金,因此积累了相当可观的用户数据。而以太坊作为去中心化技术的又一次重大突破,给区块链的发展带来了更多的可能性和发展方向,同时也产生了更多的数据。区块链作为金融货币属性的不断强化,引进的大量资源促进了区块链技术不断发生着高速迭代。与此同时也吸引了很多投机取巧者的目光,比如黑客、诈骗、洗钱等违法金融活动,为正常的区块链用户带来了很高风险同时也为区块链火热的发展蒙上了一层阴影。而区块链数据向所有节点敞开,由所有节点共同维护的特点,为数据研究者分析和利用其中累积的大量数据提供了极大的便利。因此为了给公安机关和金融管理机构提供便利,向区块链金融机构提供用户信息,帮助区块链个人用户降低资产风险,在不影响区块链匿名互信特性的基础上进行区块链用户的实体识别是很有必要的。通过这项研究及其实现成果,公安机关可以对区块链上的不良资产进行监管,对区块链犯罪行为进行及时的感知和制止,以及收集已有犯罪行为的证据链;金融监管机构可以对纳管的金融机构的风险和信用程度进行把控;金融机构可以对用户的资金进行更好的保护;个人用户可以降低资产受到侵害的可能。因此,为了完成区块链的监管,首先需要去匿名化。本研究选取的去匿名化方向是实体识别。区块链实体是区块链上具有共性的,与现实某种实体或是区块链功能单位具有映射关系的区块链地址集合。区块链实体识别是通过区块链地址交易行为的特征来对地址对应的现实关系或者区块链功能进行识别。本研究主要针对类似以太坊的账户模型区块链平台的实体识别,和基于 UTXO 的比特币不同,以太坊拥有更近似于现实生活中银行账户的交易关系和数据组织格式,因此由以太坊数据推导出的数据模型并不仅仅局限于以太坊。当然,以太坊也有一些异于银行卡账户模型的特征,其中最为具有特色的是以太坊基于区块链的智能合约平台,它主要基于一种图灵完备的语言,而通过这种语言开发的应用(Dapp)可以搭载在以太坊上实现去中心化[1]。因此,以太坊上有两种略有差异的地址类型。其一,是类似于银行账户的普通地址,其二,是搭载着智能合约的合约地址,普通账户交易关系主要类似于现实中的资金交易网络,合约地址除了具有普通地址的交易外1.2 国内外研究历史与现状在目前的区块链交易模型中,比较主流的是比特币为首的 UTXO 模型和以太坊为首的账户模型。本文主要利用数据分析探究账户模型下实体的识别,因此从以太坊本身技术研究、以太坊数据分析、区块链实体识别等方向对国内外研究现状进行探究。重点关注账户模型实体识别、UTXO 模型实体识别、区块链交易分析这三个方向的论文和成果。自从 2008 年中本聪发表区块链基础架构论文[2](Bitcoin: Apeer-to-peerelectronic cash system),2009 年比特币初始版本上线,区块链经过近十年的发展,逐渐进入主流社会视野。2013-2014 年间,比特币数年的发展展示出其去中心化匿名互信优势的同时也暴露出其拓展性不强、区块迭代难度升高、区块迭代速度减慢等问题。由此,区块链 2.0-以太坊应运而生,以太坊除了具有类似比特币的区块链功能外,还具有一个去中心化应用(dapp)平台的作用,以太坊合约开发人员可以通过以太坊内置的一套图灵完备的语言(EVM)来创建自己的合约和应用,同时,以太坊官方还配套提供了高级语言编译器,比如 solidity,可以将高级语言转成 EVM 语言。在这方面,国内的研究成果主要集中在区块链或以太坊本身技术研究、智能合约分析、基于以太坊实现其他功能三个方面。相较而言,国外的研究涉及的领域稍微丰富一些,研究成果主要在以下几个领域进行体现:以太坊数据分析、以太坊本身技术研究、智能合约分析、基于以太坊实现其他网络架构功能。尤其是基于以太坊实现其他网络架构功能,有比较可观的研究成果呈现。本文主要关注第一点,也就是以太坊及其同类数据的分析。
第二章 论文理论基础
本论文主要讨论以太坊平台实体识别系统的研究与设计,所以本章节主要就区块链的相关理论基础和机器学习的相关理论基础进行阐述。
2.1 区块链相关理论基础
这一节从区块链的设计主旨和设计方法入手,对区块链的数据结构和迭代流程进行阐述,是后续进行数据采集和数据处理的理论基础。
2.1.1 区块链设计主旨
要明确以太坊的设计主旨和设计方式,首先需要对区块链的设计主旨进行叙述。区块链的本质是 2008 年由化名为中本聪[2]的学者提出的一种通过点对点技术实现的电子现金系统,它让在线支付不再通过某个发起方和接收方共同认可的权威第三方中转,而是直接从发起者进入接收者。虽然在这之前,数字签名技术可以一定程度上实现上述功能,但是这项技术在双重花费的问题上,仍然需要第三方的介入和支持,所以它不算是彻彻底底的点对点支付系统。由此,中本聪设计了这个网络系统,首先这个设计的主题是一条由交易记录的打包信息构成的链条,这些打包信息就称为区块,不过还需要使用随机散列(hash)对所有的交易打包数据加上时间特征,并根据打上的时间特征和父子迭代的流程把这些区块合并到一个链条上,修改者必须通过远超其他人的工作量才能覆写已经形成的交易记录。由此,一个理论上不可修改或者描述为修改成本过高的交易储存方式就产生了。最长的链
条既是 CPU 能力最强的算力池,同时也是可以被观察的事件序列和最终呈现的状态机的状态,只要负载大多数计算能力的节点没有共同对已经产生的链条进行分叉,那么最长的链条就会是由非攻击者的节点所产生。这样的系统在实现信息尽可能在全网传播的同时,并不需要节点太强的基础设施或者是计算能力。而且节点不管是选择接入网络或者是离开网络都不需要其他节点的同意,完全由自己控制。任何节点的离开和接入不会对网络本身产生影响,同时在节点重新接入时只要将最长的链条作为交易记录此时的状态,节点又可以毫无成本的进行新区块的演算。
2.2 以太坊相关理论基础
这一节从状态转移模式入手,分别阐述了现实账户模型、比特币 UTXO 模型、以太坊账户模型的状态转移流程和合约相关理论。对以太坊为什么要采取账户模型、以太坊如何实施账户模型、账户模型下的区块链数据结构有什么特点、以太坊合约等问题进行了阐述。是后续进行特征描述、模型调整、启发式方法、系统设计的理论基础。
2.2.1 以太坊设计主旨
比特币证明了区块链作为匿名互信,通过密码学达成共识构建的价值转移系统的可行性。于是,除了具有比特币去中心化交易功能以外,还可以搭载合约的以太坊被设计出来[22],以太坊链上搭建的 EVM 支持其他开发人员在以太坊上开发自己的合约。对于符合协议,功能较为简单的合约而言,开发非常简单,仅需数行代码即可实现一个具有去中心化特性的数字货币合约。而且创建合约几乎没有门槛,任何拥有以太坊地址的用户都可以通过将合约打包进一个交易的方式绑定到自己的以太坊地址上,然后就可以通过合约编写的规则,通过指定的响应函数调用这个合约下属的代币。比如 ERC-20 协议中最常用的 transfer 函数,就是用来传输代币的函数。用户可以通过调用 transfer 函数,体现在区块链上就是用户向合约地址发送了一个附带数据中包含 transfer 函数的格式化信息的交易,合约地址就会按照规则向用户指定的地址发送本合约的代币。此外,以太坊合约语言具有图灵完备的特
点,即可以实现任何可计算的问题,包括无限循环。当然,以太坊另外通过 gas 对无限循环和循环调用进行了限制。由此可以看出以太坊是对于比特币脚本拓展能力不足的一个具有跨越性意义的推进。
第三章 数据集构建与实体识别方法.......................................................................... 25
3.1 数据集构建..................................................................................................... 26
3.2 实体识别方法................................................................................................. 39
第四章 应用平台的设计与实现.................................................................................. 49
4.1 应用平台设计................................................................................................. 49
4.2 应用平台实现................................................................................................. 64
4.3 平台展示......................................................................................................... 66
4.4 平台测试......................................................................................................... 70
第四章 应用平台的设计与实现
4.1 应用平台设计
本文把以太坊平台类型的账户模型区块链平台数据分析作为研究背景,主要对基于此数据分析的实体识别系统的设计与实现进行了研究。
4.1.1 应用平台需求分析
本文所涉及的平台总体架构是实现一个针对以太坊的区块链平台实体识别系统,最终以数据应用中台的形式通过一个或多个 API 的接口形式提供服务,下文将按照软件工程的相关流程对平台进行设计和分析。
4.1.1.1 应用平台功能性需求分析
从模块功能的角度进行描述,这个以太坊区块链平台实体识别系统主要的功能模块包括用户交互模块、实时读取模块、任务分发模块、追踪溯源模块、学习识别模块、数据库管理模块,大致模块间关系如图 4-1:
第五章 全文总结与展望
本文将以太坊平台的实体识别作为研究背景,主要对设计实现一个以太坊平台的区块链实体识别系统进行了研究。论文首先介绍了本研究课题的背景,包括区块链的相关发展现状和国内外现有的研究成果并对区块链实体进行了定义;然后就论文设计的重要理论和技术进行了阐述,包括区块链的相关理论,以太坊的理论和应用,机器学习等相关理论;然后从面临的问题入手对模型的优化进行了讨论,主要包括,账户模型区块链平台数据集的通用构建方法,对应模型的调优;最后设计和实现了以太坊平台实体识别系统,包括本系统的需求分析,系统架构,以及各个模块的流程设计,最后对部分核心代码进行了展示说明和测试。本文主要取得了以下成果:
1、对目前区块链、以太坊、机器学习相关的研究成果进行了总结,有助于理解开发识别系统所涉及的需求,对区块链实体和区块链实体识别进行了定义,为后续设计开发针对账户模型的区块链实体识别系统提供理论基础。
2、针对现有的数据集和模型,简要分析了目前账户模型区块链实体识别面临的问题,并针对这些问题提出了三种实现区块链实体识别的方法,设计了账户模型区块链通用的数据集构建方法,针对以太坊进行了方法实践。并针对实践生成的数据集进行了模型调优和分析,最后通过 ETC 和 USDT 对上述方法进行了推广验证。3、设计并实现了以太坊平台区块链实体识别系统,通过软件工程的基本流程展示该系统的系统架构和模块设计,本系统支持用户使用 API 调用,可以按照用户的精度需求和地址的类型进行对应的识别和溯源,并将处理后的信息返回给用户,具有一定的使用价值。
以上论文内容是由
硕士论文网为您提供的关于《以太坊平台实体识别系统的开发与设计分析》的内容,如需查看更多硕士毕业论文范文,查找硕士论文、博士论文、研究生论文参考资料,欢迎访问硕士论文网软件工程学位论文栏目。