区块链作业
一.基础知识1图数据库是一种专门用于存储和管理图结构数据的数据库其核心思想是利用节点和边来表示实体及其关系从而更加直观地描述现实世界中的复杂网络。2TuGraph是一个支持大数据容量、低延迟查找和快读图分析功能的高效图数据库包含图存储、图计算、图学习、图研发平台的完善的图技术体系拥有业界领先规模的图集群解决了图数据分析面临的大数据量、高吞吐率和低延迟等重大挑战。3本实验采用Elliptic Bitcoin Dataset数据集。该数据集由Elliptic公司发布是区块链反洗钱AML和欺诈检测研究领域广泛使用的公开数据集。数据集记录了大量比特币交易以及交易之间的关联关系可用于分析非法资金流动和风险传播路径。二.启动TuGraph在浏览器搜索阿里云平台通过支付宝或其他方式登陆搜索Tugraph,有七天免费试用期选择免费试用进入后选择北京地域设置服务实例ID节点密码后等待部署部署完成后可通过blot、密码、用户名admin进行登录。三.导入数据3.Transaction新建图项目打开数据文件elliptic_txs_classes.csv作为点elliptic_txs_edgelist.csv作为边。先建立点模型添加点的属性对于elliptic_txs_classes.csv有两个属性第一个属性是txld为整数型int第二个属性是class为字符串型string其含义为图数据库中的交易节点。将其命名为transaction。然后建立边模型elliptic_txs_edgelist.csv表示交易txId1产生的输出被交易txId2所使用。起点终点均为transaction,将其命名为transfer最后分别导入文件中的数据点击数据导入选择对应的数据文件将属性与文件中每列内容对应并且从第一行开始之后完成数据的导入。四.Cypher语句设计1简单查询在elliptic_txs_classes.csv文件中class属性有三类分别为12unkonwn分别代表非法合法未登记。设计一下代码用以查询所有非法交易并显示其中10条MATCH (a:Transation)WHERE a.class 1RETURN aLIMIT 10;2复杂查询由于非法交易通常会设置一个中间交易用以洗钱而非直接将钱转移至最终目的地。因此设计以下代码用以查询所有非法交易中经过中间交易的那些交易其中illicit_tx为最初的非法交易middle_tx为中转交易,target_tx为最终交易目标并显示其中50条。MATCH (a:Transation)-[:Transfer]-(m:Transation)-[:Transfer]-(b:Transation)WHERE a.class 1RETURN a.TXID AS illicit_tx,m.TXID AS middle_tx,b.TXID AS target_txLIMIT 50;