区块链数据服务(Blockchain Data Service,BDS)是京东云区块链产品部发推出的,其将区块链的链式、非结构化数据通过技术手段进行结构化存储,实时同步到高性能数据仓库中。
用户可以通过区块链数据查询工具,实现简单的条件查询和复杂的 SQL 查询,从而助力基于区块链数据的创新企业快速起步。
区块链数据服务具有以下特性:
● 丰富性:涵盖了 BTC、ETH、EOS、LTC、XRP、BCH 等几十个知名区块链项目,自定义了涉及用户、交易、区块等 100+ 独家数据指标,联网即可查询链上实时数据,即开即用,方便快捷。
● 便捷性:提供了一个交互式的数据可视化 BI 工具,支持通过点击和拖拽的交互方式进行条件查询,可实时生成各类数据报表、图形化界面。
● 专业性:支持标准 SQL 查询语句,可轻松实现复杂的查询逻辑。
京东云的 BDS 是国内首家提供区块链数据在线分析服务的产品。
近两年随着区块链技术的兴起,整个行业可谓是百家争鸣,有诸如 BTC,ETH,XRP 等耳熟能详的公有链项目,也有 Fabric,Enterprise Ethereum Alliance,Corda R3 等众所周知的联盟链项目。
不管是公有链也好,联盟链也罢,其实一个个都是独立的信息孤岛,数据和信息无法在彼此之间流通。在当今数据为王的互联网时代,如何将这些区块链的数据和信息整合到一起,并能方便的利用当前业界已经相对成熟的数据分析工具来针对区块链数据进行分析和建模,成为了京东云产品部一直在思考的一个问题。
最终,京东云产品部秉承产品设计初衷,推出了区块链数据服务这款产品。
在?区块链数据?方面,由于大部分的公有链全节点都部署在海外,所以在国内的环境下部署全节点同步数据经常会出现同步失败的情况。京东云区块链产品部依托京东云的强大基础能力,针对每条独立的公链,在海外部署了多个区块链全节点来确保实时同步公链数据。
我们观察发现,目前市值排名前三的虚拟货币分别为 BTC,ETH,XRP,这三者中 BTC 全节点所占的存储空间是最少的,目前其全节点存储空间为 200 GB,而 ETH 全节点的存储空间已经接近 3 TB,全节点存储空间最大的当属 XRP,目前已经接近 10 TB,一般的物理服务器已经无法存储这边大的数据量。
在进行公有链的非结构化数据分析的时候,最初我们采用了公有链全节点自身暴露的接口,通过 RPC 调用查询链上原始数据,这种方式虽然便捷,但是如下问题:
数据时效性:全节点同步到的 block 数据,需要持久化到磁盘上之后,才能通过 RPC 接口获取;
性能损耗:全节点响应 RPC 请求,需要读取磁盘的数据,会有 IO 损耗,同时处理所有的外部请求需要消耗 CPU;
综合考虑之后,我们直接通过修改了公有链全节点源码,在全节点同步到 block 数据的时候,就直接将数据推送给大数据分析平台,从而确保了数据的时效性。
在?自定义数据?方面,京东云区块链产品部结合了 AI,网络爬虫等技术手段进行了创新,产生了我们独有的基础数据。
由于区块链自身的匿名性特性,其实无法知道区块链上每个地址的真实归属。京东云区块链产品部通过网络爬虫获取互联网上的区块链相关的所有信息,结合链上的交易行为,通过 AI 技术进行数据分析,针对地址进行标注,定位地址的归属情况。
在?大数据分析?方面,基于区块链数据和自定义数据,京东云区块链产品部经过长期的研究、分析、计算,原创了很多有意义的独家数据指标。这些数据指标除了交易金额,交易次数,活跃地址,新增地址等一些基础的指标外,还有地址分类,市值价值比,用户留存等高级的指标。
数据分析不仅有实时的数据分析,也有离线定时执行的数据分析。比如目前进行地址分类的时候,针对每天新增的地址,是需要结合全量历史地址数据的聚类判断,这项数据指标我们目前是采用离线分析方式,每天定时跑数据聚合任务,目前光进行每天新增地址的分类,大概需要耗时 2 ~ 3 个小时;同时可以预见未来随着数据量的增加,数据聚合的耗时也会相应增加。
因此,京东云区块链产品部依托京东云的基础计算能力,通过数据分析集群服务,预先计算了 100+ 个基础和高级数据指标。
举个例子,我们来看看 btc_statistics_day_transaction 的表结构信息
按天分析交易相关数
字段 | 类型 | 定义 |
---|---|---|
id | INT | 自增ID |
timestamp | INT | 时间戳 |
value_day_consume | DOUBLE | 币天销毁 |
tx_rate | DOUBLE | 交易速率 |
tx_count | INT | 交易次数 |
tx_vin_avg | DOUBLE | 交易输入平均值 |
tx_vout_avg | DOUBLE | 交易输出平均值 |
tx_size_avg | DOUBLE | 交易空间大小平均值 |
tx_value_sum | DOUBLE | 交易金额总和 |
tx_value_avg | DOUBLE | 交易金额平均值 |
tx_fee_avg | DOUBLE | 交易手续费 |
tx_size_fee_avg | DOUBLE | 每KB交易手续费 |
tx_value_without_hot_address | DOUBLE | 排除热门地址的交易金额 |
tx_value_without_long_chain | DOUBLE | 排除长链交易的交易金额 |
block_trade_count | INT | 大额交易数量 |
block_trade_sum | INT | 大额交易总金额 |
address_count_sum | INT | 地址总数 |
address_count_new | INT | 新增地址数 |
active_address_count | INT | 活跃地址数 |
address_vin_vout_avg | DOUBLE | 交易地址交易次数平均值 |
address_tx_value_avg | DOUBLE | 交易地址交易金额平均值 |
active_percent | DOUBLE | 地址活跃率 |
store_rate | DOUBLE | 存储率 |
ratio_of_market_value | DOUBLE | 市值价值比 |
freshness | DOUBLE | 新鲜度 |
dormant_address | INT | 休眠地址数 |
dead_address | INT | 死亡地址数 |
wake_up_address | INT | 苏醒地址数 |
reborn_address | INT | 复活地址数 |
其中其实有不少有意思的数据指标,比如:
● 复活地址:表示此地址长期未产生交易,然后今天突然产生交易了;如果当天出现了大量复活地址,其实可以间接说明用户开始活跃了。
● 地址活跃率:表示产生交易的地址占总地址数的比例,通过这个指标可以看整体市场的活跃度,此值越高,市场越活跃。
● 存储率:表示未交易的虚拟货币占总虚拟货币供应量比例,这个指标体现了虚拟货币在市场上的流通情况,此值越低,虚拟货币的流通率越高。
在?区块链数据 BI 工具?方面,提供了一个交互式数据可视化 BI 工具,通过简单的点击,拖拽就可以生成你想要的数据报表,同时也支持通过修改数据可视化展现方式,将数据报表转成柱状图、折线图、饼图等各种图形化界面。
数据报表示例:BTC 地址表
如果你有一定的 SQL 基础,也可以自己编写一些复杂的 SQL 命名,实现表与表之间的关联查询,从而更直观的进行数据分析对比。
表关联查询示例:BTC 交易数据表和 BTC 交易输入数据表
针对每个使用者,此工具支持自定义数据面板,可以将查询出来的数据报表、数据图形化界面记录到数据面板中,同时针对数据面板中的数据支持自定义刷新时间,实时更新,这样就可以避免每次想看数据的时候都需要重新进行一次查询。
数据面板示例:JDCloud Example
在?应用场景??方面,因为有了区块链数据,可以基于此数据做各种各样的应用服务,举几个简单的场景:
可以做基于区块链的运营解剖,分析某个公有链的运行情况,基于这些数据,可以进行公有链评级;
可以做交易图谱分析,通过分析链上数据,生成交易图谱,可以分析是否存在通过虚拟货币进行洗钱,非法集资等违法行为;
可以做商业洞察,通过各项数据指标,进行分析对比,进行机器学习,可以预测虚拟货币未来的发展趋势,判断其未来走向。
就像京东云提供公有云服务,给所有用户提供最基础的计算、存储、网络服务,京东云区块链产品部一直致力于区块链底层技术的相关研究,针对公有链进行最基础数据提取、分析服务,致力于服务所有基于区块链数据进行创新的企业或个人,大大降低准入门槛。
在未来,我们计划将开源区块链数据服务,从而让更多的开发者可以参数于进来,大家一起来进行公有链的基础数据提取、分析,从而可以接入越来越多的公有链数据,甚至可以接入联盟链的数据、私有链的数据。将区块链数据服务打造成一个区块链的 Google 搜索引擎,所有区块链相关的内容都可以在这里很便捷地查询到。
京东云区块链产品部始终沿袭了京东云 GOOD 文化:
● Growth mindset - 成长心态
● Obsessed with customer - 拥抱客户
● Open source & Open minded - 开源包容
● Data driven - 数据驱动
原文:https://www.cnblogs.com/jdclouddeveloper/p/11154207.html