谁在以太坊区块链上循环交易?GeaFlow+Kafka 的 0 元流图解决方案
GeaFlow(品牌名 TuGraph-Analytics) 已正式开源,欢迎大家关注!!! 欢迎给我们 Star 哦! GitHub👉https://github.com/TuGraph-family/tugraph-analytics
更多精彩内容,关注我们的博客 https://geaflow.github.io/
co-author: ChatGPT 3.5
引言
都在说数据已经成为新时代的生产资料。
但随着大数据和人工智能等技术的发展,即便人们都知道数据的价值日益凸显,却无法凭借一己之力获取和分析如此大规模的数据。
要想富,先修路。要想利用新时代的数据致富,也必须要有趁手的工具。 只有合适的工具才能完成大规模数据的采集、清洗、存储、处理和可视化等各个环节。 只有具备这样的工具,才能更好地利用数据来推动经济社会发展,并为人类创造更多的价值。
现如今,免费的,蚂蚁集团图计算团队开源的超大规模流图处理系统——GeaFlow 正成为一款专注于图计算领域的开源数据处理工具。我们从一个简单的问题开始,让你体会 GeaFlow 的强大之处。
“谁在进行循环交易?”
“谁在以太坊的区块链上进行循环交易?”
如何回答这个问题?
大数据领域的同学可能会立即举手,Kafka 给我上,Flink 给我上,实在不行 Spark... 这些系统在处理大规模数据时,工作流程通常非常长,开发效率较低,无法迅速地响应用户的需求。各有各的长处,各有各的毛病。 因此,我们需要寻找全新的数据分析工具,以提高大数据领域的工作效率,并更好地应对日益复杂和多变的数据处理挑战。
新的工具?那么试试 GPT?
Q:谁在以太坊的区块链上进行循环交易?
GPT:这个问题需要进行数据分析,涉及到大量的以太坊交易数据。 如果要确定谁在以太坊的区块链上进行循环交易,可以通过以下步骤:
获取以太坊的交易数据,包括交易哈希、发送方地址、接收方地址、交易类型和交易金额等信息。 对交易数据进行清洗和处理,去掉无效数据和重复数据等。 利用图计算等技术,构建以太坊交易网络,并对交易网络进行分析,识别出交易中的循环交易。进一步分析循环交易的发送方地址和接收方地址,识别出谁在以太坊的区块链上进行循环交易。
需要注意的是,由于以太坊区块链的去中心化特性,交易数据的获取和分析可能存在一定的难度和挑战。
姿势不对,再来一次。
Q:谁在以太坊的区块链上进行循环交易?一句话回答
GPT:无法通过一句话回答,需要进行数据分析。
可见,虽然 GPT 等人工智能在自然语言处理和图像识别等方面已经取得了显著进展,但在数据洞察方面仍然存在挑战。 因为数据洞察往往需要结合具体的业务背景和领域知识,而这些人类经验和智慧难以完全被机器模拟和替代。此外,在数据清洗、数据预处理、特征提取和建模等关键步骤上,仍需要人类专家进行干预和优化。
今天,我们使用开源的 GeaFlow 与流式消息系统 Kafka,不仅能够很好回答谁在以太坊的区块链上进行循环交易,而且能够搭建秒级实时的金融级解决方案,客官且看----
何为循环交易?
来看这个例子
图中有 7 个不同颜色的点代表交易账户,每个账户对应以太坊上的一个钱包地址。一个账户转出到另一个账户的过程,表示为图中有方向的边,这个图中共有 8 笔交易构成一个交易网络。
将交易头尾相连,能够找到返回起点的循环,就可以视为循环交易。
循环交易通常是指通过多个交易步骤,从而实现利用价格差异来获取利润的一种交易方式。 其过程包括在不同的市场或不同的时间段内进行买卖行为,从而获得利润。 在交易网络图中,可以使用环路检测算法来发现潜在的循环交易路径,并检索这条路径上的账户就能够知道哪些账户可能参与了循环交易。
可是,当一笔新的交易发生时——
可见,环路检测并不是一劳永逸的静态图算法。随着消息实时不断到来,交易网络图中的最新环路不断发生变化。 如果关心每一笔交易产生的交易环路,这将成为一个极其复杂的问题。
以太坊是基于区块链技术的智能合约平台,其交易速度取决于众多的参与者。 交易成交速度通常在 15 秒到 1 分钟之间,交易吞吐量可以达到每秒数十到数百笔交易。但别忘了,以太坊还有海量的历史交易数据,相当于存在一个相当复杂的”底图“,循环交易问题不仅需要考虑新的交易,还必须综合分析历史上所有的交易!
这就是为什么强如 GPT 也无法一句话回答这个问题的原因。
GeaFlow
那么真的能够在每笔交易发生时实时地检测循环交易的产生吗?
实际上,使用专业的图计算系统 GeaFlow,这个问题只需要几十行代码即可解决,还能够迅速结合 Kafka 搭建起交易听单->交易网络生成->实时循环交易检出->给下游发送消息完整的金融级实时解决方案。更关键的是,这一切都是免费的~ 感谢开源!
我们在 GeaFlow 新建一个图计算作业,只需大约 40 行代码,即可完成整个端到端流程。
代码描述如下,需要自取。
在这短短 40 行中,我们创建了以太坊交易的整个底图,命名为 ethereum_transaction_network。 把来自 Kafka 的实时交易流 table_new_trade 不断添加到命名为 ethereum_transaction_network 的图中。
接下来,每当有新的交易到达的时刻,都将触发一次 3 跳循环交易模式的检查, 把更新的结果存入位于 Kafka 的外部表 tbl_circular_trade,可以很方便地分发给下游组件。
实时交易数据我们采用了 XBlock-ETH: Extracting and exploring blockchain data from Ethereum 这篇论文整理的真实的以太坊区块数据,在这个 Demo 中把以太坊地址隐去,以一个数字替代,即每个数字代表以太坊的一个钱包地址,相同的数字表示相同的地址。生成的循环路径结果我们拼接成一个字符串,方便观察。
实机演示!
打开一个 Kafka Producer,产生消息流,将交易不断发送给 Kafka,如左侧终端窗口所示。 平均 1 秒左右,最新的图中循环交易检出结果就打印在右侧的 Kafka Consumer 窗口中。
当添加一些新的交易日志时,右侧的 Kafka Consumer 窗口中也实时更新了新的循环交易检出结果,响应十分迅速。
以上便是开源图计算平台 GeaFlow 结合 Kafka,快速搭建的以太坊循环交易检出解决方案。 虽然这只是一个小小的 demo,但实机演示中强大的图计算语法和系统性能可见一斑,大大较低了我们普通人搭建图计算应用的难度和成本。
说多不如现在开始行动,GeaFlow 是你不容错过的利器。现在就赶快访问https://github.com/TuGraph-family/tugraph-analytics,亲自体验 GeaFlow 的魅力吧!此外,我们欢迎各位参与到开源贡献中来,为社区贡献自己的智慧和代码,共同促进国产图计算系统的发展。
参考文献
P. Zheng, Z. Zheng, J. Wu, and H.-N. Dai, “XBlock-ETH: Extracting and exploring blockchain data from Ethereum,” IEEE Open J. Comput. Soc., vol. 1, pp. 95–106, May 2020, doi: 10.1109/OJCS.2020.2990458.
GeaFlow(品牌名 TuGraph-Analytics) 已正式开源,欢迎大家关注!!!
欢迎给我们 Star 哦!
Welcome to give us a Star!
GitHub👉https://github.com/TuGraph-family/tugraph-analytics
更多精彩内容,关注我们的博客 https://geaflow.github.io/
评论