- 原文地址:Bitcoin in BigQuery: blockchain analytics on public data
- 原文做者:Allen Day
- 译文出自:掘金翻译计划
- 本文永久连接:github.com/xitu/gold-m…
- 译者:LeopPro
- 校对者:ALVINYEH SergeyChang
云主导开发者 Allen Day、云服务开发者 Colin Bookman。前端
加密货币已经吸引了技术专家、金融家和经济学家的想象力。或许更有趣的是长期多样化的区块链应用。经过提升加密货币系统的透明度,其所包含的数据变得愈来愈易于访问和使用。android
如今比特币区块链数据能够经过 BigQuery 探索。全部的历史数据都在 bigquery-公共数据:比特币区块链数据集中,该数据集每 10 分钟更新一次。ios
咱们但愿经过使数据更加透明化,使数据用户能够对加密货币系统运做有一个更深入的理解,以及如何更好的利用他们造福社会。git
下面,咱们将根据比特币数据集展现一些有趣的查询和可视化数据。咱们将着眼分析如下两个热门话题:github
比特币网络参数为基本的网络分析提供了基础。例如,比特币日发送总数以及比特币日接收总数代表网络中的经济活动,而且这和比特币的均价有关,根据梅特卡夫定律推测,一个网络的价值与其用户数的平方成正比。算法
下图显示了比特币网络日交易量趋势:后端
下图显示了比特币地址日接收量趋势:浏览器
如下根据根据区块链网络的第一原则,网络价值与交易比或 NVT 比制定的评估指标。该图表显示了随时间的每日 NVT 比率:bash
例如比特币挖矿算法困难度等其余的比特币参数,也可能具备基本的经济重要性。下图显示了比特币挖矿困难度与“比特币”搜索量的关系。网络
译者注:以上 4 个实时数据图能够在 Google 数据洞察中查看。
使用电子货币进行交易的一个后果是交易记录公开且完备。据信,第一次用比特币购买物品是在 2010 年 5 月 17 日。Laszlo Hanyecz 花了 10,000 BTC 买了两个批萨,从地址 1XPT…rvH4 到地址 17Sk…xFyQ 的交易记录在交易 ID 为 a107…d48d 的区块链中。咱们对 Hanyecz 地址购买批萨以前的 4 层比特币转移数据进行了可视化分析。咱们用这段代码生成了下图。Hanyecz 的付款地址为红色圆圈,而其余地址为蓝色圆圈。箭头表示披萨购买交易以前比特币流动的方向。笔画宽度大体与地址间比特币移动量成正比。
在比特币区块链中,存在被添加到两个区块的交易。这不该该发生。这个查询能够发现这种异常交易:
# 标准 SQL
SELECT
*
FROM (
SELECT
transaction_id,
COUNT(transaction_id) AS dup_transaction_count
FROM
`bigquery-public-data.bitcoin_blockchain.transactions`
GROUP BY
transaction_id)
WHERE
dup_transaction_count > 1
复制代码
怎么会发生这种事情? 比特币最初构建于 BerkeleyDB,它能够处理非惟一键。后来中本聪离开了比特币项目组,新的开发团队使用 LevelDB 替代了 BerkeleyDB。然而 LevelDB 没法处理惟一键,这使得开发者根据比特币改善提案 BIP_0030 修改 比特币源代码。
尽管交易再也不可能存在与多个块中,但仍然有一些过往的交易存在这个问题。
区块链通常为低信任环境中的平等节点之间的沟通和协调提供解决方案。在金融服务,供应链,媒体和其余高度数字化行业中,区块链正在崭露头角。比特币区块链旨在弥补金融业的缺陷,如中本聪写的 Bitcoin genesis block。
比特币能够被描述为一个不可变的分布式帐本,虽然它提供了 OLTP 功能(原子交易,数据持久性),但它对于按期存储的具体或汇总资金流进行短周期报告的 OLAP (分析)能力很是有限。难以轻易地从区块链构建报告可能会下降透明度并增长 BTC-USD 价格分析的难度以及 NVT 比等其余基本评估指标。
相比之下,BigQuery 具备强大的 OLAP 功能。, 咱们在 Google Cloud 上构建了一个软件系统:
比特币区块链数据也能够经过 Kaggle 获取。你可使用 BigQuery Python 客户端库查询 Kernel(Kaggle 的免费浏览器内开发环境) 中的实时数据。你能够 fork 一份这个实例 kernel 并用你本身的 Python 代码副原本进行试验。
全部比特币区块链数据都批量加载到两个 BigQuery 表:blocks_raw 和 transactions。新块被广播到比特币网络时被追加到表中,所以这些表中的数据是最新的。
咱们想感谢全力以赴发表这篇博文的 Google 同事们。感谢 Minhaz Kazi(Data Studio 主导开发者),Megan Risdal(Kaggle 数据科学家),Sohier Dane(Kaggle数据科学家)和Hatem Nawar(云服务工程师)
掘金翻译计划 是一个翻译优质互联网技术文章的社区,文章来源为 掘金 上的英文分享文章。内容覆盖 Android、iOS、前端、后端、区块链、产品、设计、人工智能等领域,想要查看更多优质译文请持续关注 掘金翻译计划、官方微博、知乎专栏。