作者 | Allen Day、Evgeny Medvedev
编译 | 王柯凝、kou
就像熟知“互联网+”一样,你肯定或多或少也了解“区块链+”这个名词,甚至有些人,每每谈到它,都会津津乐道,乐此不疲!目前,区块链与人工智能、物联网以及大数据的结合,争议颇多。
一方面区块链可以保障数据的安全性与可信度,人工智能、大数据可以提高链上效率,拓展区块链的落地场景;但另一方面,愿景终归好的,一个很大的痛点,就是区块链技术规模化落地难落地,应用场景并不多。
可喜的是,在区块链+大数据方向,继比特币数据集之后,Google再一次做了很好的尝试——在BigQuery上发布了以太坊数据集!以加密猫为例,Google在BigQuery平台上利用大数据方法对以太坊数据集做了很好的可视化!
那么,基于以太坊的大数据思维,以太坊上执行最多的智能合约是哪一个?最受欢迎的Token又是哪一个?如何去判断?接下来,跟随作者,一探究竟!
区块链技术和加密货币在吸引越来越多的技术、金融专家和经济学家们眼球的同时,也给与了他们无限的想象空间。从根本上来说,加密货币只是底层区块链技术的应用之一,而伴随着区块链技术的不断突破与发展,“区块链+”这一概念正在不断地深入人心。
Google 在区块链+大数据这一破受争议的方向就做了很好的尝试!
就在今年早些时候,Google 的大数据分析平台 BigQuery 提供了比特币数据集分析服务。近日,Google 在 BigQuery 平台上再次发布了以太坊数据集。
大多数人可能会认为以太坊区块链是一个不可变的分布式分类帐。但实际上,V神使用EVM(以太坊虚拟机)对函数进行了扩展,在这个虚拟机上,可以执行存储在区块链上的任意代码,而这些代码就是智能合约。
在系统架构方面,与比特币颇为相似,以太坊主要用于记录不可变交易。从本质上来看,二者都是联机事务处理(OLTP)数据库,都不提供联机分析处理(OLAP)功能。以太坊数据集与比特币数据集相比,主要存在以下三点不同:
-
以太坊的价值单位是以太币,比特币的价值单位是比特币。以太坊上大多数价值转移都是由 Token 组成,而 Token 则由智能合约创建和管理。
-
以太币的价值转移精确而直接,这就类似于会计学中的借方和贷方。与比特币价值转移机制不同的是:比特币可以很容易地确定给定钱包地址的余额,而以太币则很难做到这一点。
-
以太坊的地址不仅可以是包含余额的钱包,还可以是包含智能合约的字节码,该字节码能够编程创建协议,并自动触发协议执行。此外,还可以借助智能合约构建去中心化自治组织。
Google 在 BigQuery 平台上发布以太坊数据集,目的就在于深入探索以太坊数据背后“暗藏”的那些事儿。
Google 利用 GitHub 上 Ethereum ETL 项目中的源代码提取以太坊区块链中的数据,并将其加载到 BigQuery 平台上,将所有以太坊历史数据都存储在一个名为 ethereum_blockchain 的数据集中,而且每天都在持续不断地更新。
Google Cloud 接入以太坊
虽然以太坊上的应用包含可以随机访问函数的 API,如:检查交易状态、查找钱包-交易关系、检查钱包余额等。但是,在这些应用中,并不存在能够轻松访问区块链数据的 API 端点,除此之外,这些应用中也不存在查看聚合区块链数据的 API 端点。
下图是18年上半年以太币的日常记录交易量和平均交易成本:
在公司的业务决策中,如上图这样的可视化服务(或基础数据库查询)就显得尤为重要,比如:为平衡资产负债表,应优先改进以太坊架构(比如是否准备更新),这就需要去分析:资产需要多久才能重新平衡?
联机分析处理
Google Cloud 构建了这样一个软件系统:
-
将以太坊区块链同步到 Google Cloud 上可运行 Parity 语言的计算机中。
-
每天从以太坊区块链分类帐中提取数据,这其中包括 Token 转移等智能合约交易结果。
-
取消按日期分区的数据规范,并将其存储在 BigQuery 平台上,进行简单且具有成本效益的探索。
也可在 Kaggle 上获取以太坊区块链数据集,使用 BigQuery Python 客户端库查询 Kernel 中的实时数据(注:Kernel 是 Kaggle 上的一个免费浏览器编码环境)。
区块链的大数据思维
基于以太坊数据集,我们分别对以下三个热门话题做了查询和可视化处理:
-
智能合约函数调用
-
链上交易时间序列和交易网络
-
智能合约函数分析
分析1:最受欢迎的智能合约事件日志?
到目前为止,以太坊区块链的主要应用实例是Token交易。
那么,如何借助大数据思维,通过查询以太坊数据集的交易与智能合约表,来确认哪种智能合约最受欢迎?
从交易量上来看,最受欢迎的10种以太坊ERC-721合约如图:
我们可以看到,最受欢迎的 ERC-721 智能合约地址是:
0x06012c8cf97bead5deae237070f9587f8e7a266d,
为什么会是它?
因为它就是众人周知的去中心化应用“迷恋猫(CryptoKitties)”游戏的主要智能合约。
另外,我们借助 迷恋猫的出生事件记录在了区块链中。
最后,我们对至少拥有10只迷恋猫的账户进行了数据收集,其中,颜色表示所有者,将迷恋猫家族进行了可视化。其中,圆点大小就代表加密猫的级别。
分析2:交易量和交易网络
以太坊上存很多种 Token,其分布模式因类别和时间的不同而呈现出多样性。通过查看每个 Token 的交易活动,我们可以筛选出某段时期内受欢迎的Token?比如:从交易量上来看,最受欢迎的10种以太坊 Token(ERC20合约)有哪些?
在BigQuery平台查询结果中,排在第5位的Token是 OmiseGO($ OMG),其地址为:
0xd26114cd6ee289accf82350c8d8487fedb8a0c07。
按时间窗口统计 Token 交易量,特别是 $ OMG Token 转移的日常数量。
下图是截止到2018年8月2日,Data Studio 上的数据可视化结果:
从上表中我们可以看出:2017年9月13日,$ OMG接收者数量大幅增加,而发送者数量则无异常变化,为什么出现这样的情况?其实这个时间点,对应了OMG Token的第一次空投。
由于数据由以太坊钱包地址之间的转移组成,因此,我们可以使用有向图数据结构进行分析。
下图是相同数据子集的可视化结果:数据来源于至少包含两个贸易伙伴的前50,000个交易。
节点表示以太坊上的钱包地址,彩色线条表示一对地址之间的Token转移。线条的长度与Token的转移量成正比,Token转移量越大,图表中的钱包就越紧密。
Token地址之间的转移将会聚合在一个组中,从而与其他组区分开来。
我们使用Modularity算法对不同组的节点进行颜色标记,并使用Gephi进行可视化(小编:下图像不像一条可爱的小金鱼)。
像不像一条小金鱼??
分析3:智能合约函数分析
在本文开篇已经提到:很多以太坊区块链上的智能合约类型都是 ERC-20。ERC-20 合约简单地定义了智能合约可以实现的软件接口,其合约由一组与 Token 转移有关的函数组成。
智能合约还可以实现许多其他功能。目前,大部分智能合约的源代码是开源的,可供免费使用。
即使我们没有源代码,也可以从函数的名称中了解到其他合约都能做什么,这是因为相同的函数名将共享同一个签名。
回到分析3中讨论的“迷恋猫”游戏,这个游戏的主要元素是活泼可爱的猫咪,并且育种事件中基因的混合在迷恋猫 GeneScience 智能合约
0xf97e0a5b616dffc913e72455fde9ea8bbe946a2b
中实现。假设我们想找一个与“迷恋猫”游戏的 GeneScience 智能合约机制相类似的游戏,就可以在 BigQuery 平台上通过使用 Jaccard 相似性系数中的 JavaScript UDF 进行实现。
这些分析表明:GeneScience智能合约的几个早期版本,与当前地址为
0xf97e0a5b616dffc913e72455fde9ea8bbe946a2b
的智能合约版本最为相似。但如果使用数字签名来衡量,其他的区块链游戏也有高度相似的合约,比如“云撸狗”(CryptoPuppies)的智能合约地址为:
0xb64e6bef349a0d3e8571ac80b5ec522b417faeb6。
原文链接:
https://cloud.google.com/blog/products/data-analytics/ethereum-bigquery-public-dataset-smart-contract-analytics
福利福利,本期话题是“区块链+”
区块链能否与大数据、人工智能、物联网有效结合?结合场景在哪里?
你认为,可以大规模落地吗?
请在文末积极留言,点赞数(>50)前三的留言可获赠神秘大礼!
先附上一份大礼再说!回复“暗网雷达”免费获取
2018年上半年暗网研究报告
注:“暗网雷达”是知道创宇自主研发的针对暗网空间的搜索引擎,正如钟馗之眼
ZoomEye 一样强大,暗网雷达收录了暗网中的设备、网站内容及其使用的服务
或组件等信息。通过强大的暗网节点接入能力及独创的暗网爬虫引擎技术,实现
全暗网的信息采集及监测,覆盖 Tor, I2P 等常见暗网类型。
最新热文:
大力戳↑↑↑ 加入区块链大本营读者⑦号群
(群满加微信 qk15732632926 入群)
(内容转载请联系微信:qk15732632926)
(商务合作请联系微信:fengyan-1101)