在最近的会议演讲中我经常会被问到:区块链数据分析的最大挑战是什么?我的回答就一个词:去匿名化。我坚定地认为,识别不同类型的参与者并理解其行为是解锁区块链分析潜力的核心挑战。我们花费了相当多的时间来考虑这个问题以识别出与数字货币运动的伦理不发生冲突的正确边界。在这篇文章里,我想进一步探讨这个思路。

市场上大多数区块链的架构依赖于匿名或伪匿名机制来保护其节点的隐私并实现去中心化。数据混淆机制可以将加密资产交易数据记录在公开的账本上让每个人都能访问,但是也让分析这些数据变得异常困难。如果不能识别参与者的身份,就很难理解区块链数据集并分析出有意义的结果,而且区块链分析只能徘徊在初级阶段。然而,重要的一点是要理解,去匿名化区块链数据集并不是要知道账本中每个地址的真实身份,这个方向基本上是不具备可扩展性的可能。相反的,我们可以识别并理解区块链中已知参与者的行为,例如交易所、OTC柜台、矿工以及其他构成区块链生态系统的核心成员。

并非所有的地址都一样

网络的量度是区块链分析中无所不在的一个指标,也是一个可以清晰地展示去匿名化威力的指标。地址数量是最常见的一个具有误导性的指标,因为并非所有的地址都同等重要。交易创建的一个用于临时性转账的地址,显然不能和另一个长期持有资产的钱包地址相提并论。类似的,像币安这样的交易所的热钱包,肯定也不同和我的个人钱包采用同样的方法和指标去分析。同等对待所有地址的匿名性,注定会导致解读的有限性并且经常会得出误导性的结论。

匿名性 vs. 可解读性

匿名或伪匿名身份是可伸缩的去中心化架构的关键因素之一,但是这也让从区块链数据集中获取有价值的信息变得极端困难。理解这一观点的一个办法,就是把匿名性视为区块链分析的可解读性的一个反因子。

在区块链数据集中匿名性与可解读性之间的摩擦相对来说还比较小。一个区块链数据集的匿名性越高,从中获取有意义的信息的难度就越大。参与者的身份提供了其行为的上下文环境,而上下文环境则是可解读性的关键构建模块。

去匿名化 vs. 打标签

你是什么远比你是谁要重要。

去匿名化区块链数据集并不涉及了解每个参与者的真实身份。试图了解每个用户的真实身份不仅是一个意义重大的任务,而且也会让分析工作难以突破一定的规模。相反,我们可以试着理解一个参与者的关键特征来让我们的分析达到一定程度的可解读性。因此,不需要清楚地识别每个地址的真实身份,我们可以给地址打标签或者附加一些描述性的元数据,来让其行为具备一定的上下文环境。

在大规模数据中,打标签常常要比个体识别更有效果。理解区块链生态系统中特定个体的行为当然会让分析达到更个性化的程度,但是对于在宏观层面理解行为的趋势就显得相对受限了。

因此,相对与对区块链地址的个体真实身份的识别,去匿名性的挑战与地址的关键性属性的标注的关系更大。我们如何实现这一点?

机器学习是解药

标注或者去匿名化区块链的思路可以让区块链分析更好地生态中已知参与者的行为模式和特征。直觉上我们可以考虑创建一些规则来分析区块链生态系统中的不同成员,例如:

如果一个地址持有大量比特币地址并且一次执行100个交易,那么这是一个交易所地址...

虽然很有吸引力,但是基于规则的方法将很快失效,无法再提供有用的信息。下面列出了部分原因:

  1. 预置知识的完整性:基于规则的分类会假定我们对于如何识别区块链生态中的 不同参与者有足够的知识。这显然是不正确的假设。
  2. 持续的变化:区块链解决方案的架构一直都在演变,这对任何嵌入的规则而言都是挑战。
  3. 特征属性的数量:创建一条有两三个参数的规则很简单,但是试图创建一条有几十个甚至上百个参数的规则就没那么简单了。要识别出像交易所或OTC柜台这样的 地址需要大量的特征。

因此我们不能使用预置的规则,我们需要一种可以从区块链数据集中学习模式的机制来自动推断出有意义的规则让我们可以标注相关的参与方。从概念上来说,这是一个经典的机器学习问题。

从机器学习的观点,我们应该从两个主要途径来考虑应对去匿名化的挑战:

  • 无监督学习:无监督学习聚焦于学习指定数据集中存在的模式并识别相关分组。在区块链数据集的上下文中,可以使用无监督学习模型基于地址的特征将其匹配到不同的分组中并对这些分组进行标注。
  • 监督学习:监督学习方法可以利用已有的知识来学习指定数据集中的新的特性。在区块链上下文中,可以使用监督学习方法基于已有的交易所地址数据集训练一个模型来识别出新的交易所地址。

去匿名化或者给区块链数据集打标签很少是只用监督学习或者只用非监督学习,更多的情况下需要两种方法的结合。机器学习模型可以有效地学习区块链生态系统中特定参与者的特征,并利用这些特征来理解其行为。

在使用区块链ETL工具将区块链原始数据加载到数据库或大数据分析平台后,将标注层引入区块链数据集是进行更有价值的区块链数据分析的一个关键挑战。这些标签提供了更好的上下文环境,也让区块链分析模型具有更好的可解读性。不过尽管我们有机器学习这样强大的工具,去匿名性依然是分析理解区块链生态系统的道路上一个不可忽视的重大路障。


原文链接:区块链数据分析的挑战与解决方案 - 汇智网

区块链分析中的去匿名化问题相关推荐

  1. 解决区块链“去匿名化”的四大方法论!| 原力计划

    来源 | CSDN博客 作者 | 新缸中之脑 责编 |  Carol 出品 | 区块链大本营(blockchain_camp) 在最近的会议演讲中我经常会被问到:区块链数据分析的最大挑战是什么?我的回 ...

  2. 区块链实现的去中心化究竟是为了追求什么

    1. 前言 在讨论这个主题之前,先简单介绍一下以太坊创始人V神(Vitalik Buterin)的故事.关于V神的故事,主要参考这2篇文章: https://www.sohu.com/a/330885 ...

  3. [论文阅读] (23)恶意代码作者溯源(去匿名化)经典论文阅读:二进制和源代码对比

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  4. 区块链应用(去中心化应用)是什么样的?

    EOS 的技术白皮书给出了应用所需的六个条件(如下所示),而 EOS 的软件设计的确是对应这些条件而设计的.本节我们将重点讨论 EOS 的其中三个为应用而做的特别设计:用户免费.账户体系.存储. 区块 ...

  5. 区块链入门与去中心化应用实战 之一 第2章 区块链技术的核心概念和原理

    区块链的过去与未来 密码朋克( Cypherpunk ) 维基解密的创始人阿桑奇 BT下载的作者的布莱姆-科恩 WWW的发明者蒂姆伯纳斯-李 区块链前世今生 戴伟发明了B-money,强调点对点交易和 ...

  6. 票据撮合区块链系统开发-去中心化的新型票据交易展现形式的系统

    一.系统简介 票据撮合系统是基于区块链技术打造的一款去中心化的新型票据交易展现形式的系统.主要为供需撮合,信用评级,分布式监管,数据存证和智能交易等.同时应用区块链技术与当前纸票,电票的优势相结合,将 ...

  7. 开创性的区块链操作系统项目——去中心化的战舰游戏

    卓有成效的开发人员 Lachezar 说,他开始使用区块链的时候很容易.Cartesi 提供了很多开发文档,他能够通过实际开发他的去中心化应用程序来获得大部分区块链知识,而不用先学复杂的 Solidi ...

  8. 区块链第二阶段:去中心化计算平台(一)

    以太坊对区块链的发展具有创新性的意义,它使得区块链的应用不只局限于数字货币领域.以太坊给出了一套图灵完备的编程语言Solidity,让用户可以通过智能合约自由地开发去中心化App-DAPP,并且通过P ...

  9. 区块链知识普及:区块链特性之“去中心化”

    围绕区块链技术的几大热门话题之一是"去中心化",下面链圈社区就这个话题与大家一起探究,如果有不正之处,请大家不吝赐教: 先了解什么是中心化与去中心化 中心化:特定性 在一个体系中某 ...

最新文章

  1. 福建省2013高职单招计算机类试题,13年福建-高职单招-计算机类试题及答案.doc
  2. 微软推出智能语音评测服务,注重解决四大技术障碍
  3. lede旁路由作用_关于电容的旁路与去偶总结
  4. javaweb学习总结(四十四)——监听器(Listener)学习
  5. 您的浏览器由所属组织管理_速度收藏!全省性社会组织年检网上填报指引来了!...
  6. lombok插件_lombok插件,让代码更简洁
  7. java中static x 5_java中static作用详解
  8. linux备份日志文件脚本,Linux篇:Shell脚本实现Gitlab双备份
  9. datagrid不显示 easy_VBA程序报错,用调试三法宝,bug不存在的
  10. 在SQL中用正则表达式替换html标签
  11. AStar算法通用实现+可视化(Matlab)
  12. Qt实战开发-数字软键盘
  13. 在openEuler上搭建LFS
  14. Android 直接拨号和调用拨号盘
  15. Python 文件操作出现错误(result, consumed) = self._buffer_decode(data, self.errors, final)
  16. 设计点类 Point,能够表示平面当中的任意点
  17. Git 工作常用命令行
  18. mysql中的汉字怎么转换_Mysql中文汉字转拼音的实现(每个汉字转换全拼)
  19. SQL语句之操作表记录(CRUD)
  20. UAP_STUDIO授权失败解决办法

热门文章

  1. 数据结构实训 杂货店排队
  2. CoordinatorLayout、AppBarLayout、CollapsingToolbarLayout、Toolbar混合使用经验
  3. 魔兽怀旧服一个服务器最多人数,《魔兽世界》用数据告诉你,怀旧服到底有多少人排队...
  4. 排序算法之Bogo排序
  5. freescale飞思卡尔 HC9S12 系列单片机 Flash擦写详解(一)之时钟设置
  6. sleep()和wait()的区别
  7. linux-CPU 性能优化总结
  8. PHP5.6版本安装redis扩展
  9. 微信小程序日历加课表项目
  10. 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 (快速排序partion操作应用)