Paradigm:如何使用链上数据进行策略研究?_ETH:THE

原文标题:《UsingOn-ChainDataforPolicyResearch:Part1》

原文作者:BrendanMalone,Paradigm

原文编译:Kxp,BlockBeats

政策在制定时很少会用到真实且细化的数据,原因主要有以下三点:

1.新兴技术领域的相关政策大多还停留在理论及定性分析层面,早期阶段很少会使用到数据。

2.尽管链上数据全部开放透明,但要想访问这些数据人们需要在短期内完成大量工作,即便对于Crypto原生从业者来说也是如此。

3.区块链「取证」公司和数据供应商有少量的数据产品,但它们都不具备灵活性/可定制性,也不能满足经济/金融研究人员的需求。

许多现代经济学和金融学研究人员错过了将工具应用于Crypto数据分析的机会。从设计上讲,Crypto可以向任何人提供细化数据,但大部分政策在制定时仍依赖于CoinMarketCap等外部预聚合时间序列数据源,而不是直接从数据源获取数据,这又是什么原因导致的呢?

MakerDAO社区参与者提议创建以DAI为重点的新流动性市场Spark Protocol:2月9日消息,最新成立的一家研发公司Phoenix Labs在MakerDAO社区发起了一项新治理提案,提议创建一个名为Spark Protocol的新流动性市场,用于借贷以DAI为重点的加密资产。第一个产品将是Spark Lend,它将允许用户以设定的DAI储蓄率借入DAI,目前该利率为1%。根据提案,Spark Lend将支持高流动性的去中心化资产作为抵押品,例如ETH、DAI以及质押的ETH (wstETH)和 BTC (wBTC)的封装衍生品。未来的功能将包括固定期限收益产品和包含Maker 自己的合成液体质押衍生品(LSD),称为EtherDAI。

根据提案,Spark的目标是在今年4月推出,在Maker上开设一个债务上限为2亿美元的DAI借贷金库。Spark将使用Aave v3的智能合约系统。作为交换,开发团队Phoenix Labs打算在未来两年内将该协议在Spark Protocol的DAI市场上赚取的利润的10%发送给Aave DAO。实施Spark Protocol取决于Maker社区的投票。(CoinDesk)[2023/2/9 11:56:06]

正如政策制定者可以查询美国每家主要银行的资产负债表,并逐秒观察消费者存款的变化一样,他们也可以毫不费力地查看整个Ethereum生态系统的Stablecoin发行情况,但大多数分析Stablecoin的政策文件却采取了一种探讨假设事件的分析方法。

DeFi 社交交易平台 Nested Finance 已集成 Paraswap:11月24日消息,DeFi 社交交易平台 Nested Finance 已集成 Paraswap,使得用户在进行投资时,可以从已集成的 0x 和 Paraswap 中选择最佳交易路径。[2022/11/24 8:02:09]

我将在本篇中具体阐释以下几点内容,希望可以对想要使用链上数据的政策研究人员有所帮助:

链上数据的获取方法

链上数据所采用的结构

提取和使用链上数据的几个基本工具

在随后的文章中,我将探讨如何使用这里收集的数据来判断Crypto市场的走势。同时,我将在结尾发布可供免费使用的数据和代码。通过阐明如何在区块链中查询数据,我希望向大家展示Crypto的开放性可以为数据决策开辟的新方法。

如果您就职于一家监管机构或研究机构,并在获取Crypto数据时遇到了困难,欢迎与我们取得联系分享你的想法,了解Paradigm可以为您提供哪些帮助。

波卡母公司Parity推出Square One计划,为Substrate生态提供定制化服务:金色财经报道,波卡母公司Parity宣布推出Square One计划,为新的和早期的创建者在 Substrate 生态中提供生态方向和定制化的支持服务,引导开发团队选择最合适的工具和支持服务,用最小的成本实现目标并推出新产品。据悉,Square One 提供的资源涵盖整个 Substrate 生态系统,并覆盖 Parity 以外的组织,主要包括资金、教育、技术指导、产品开发和开发支持。[2022/5/12 3:11:49]

USDC、Tether、BinanceUSD、PaxDollar和GeminiDollar。该方法广泛适用于链上数据,即便你想创建一个不同的数据集。

Etherscan这类区块浏览器非常适用于查看交易快照以及收集特定智能合约的信息,但根据我的经验,它们却不太能用于生成大型数据集。在收集和处理原始数据时,你基本上有两个选择:在本地运行一个完整的节点,或查询已经从链上直接写入原始数据的数据库。第一种方法对于专业技能和计算资源的要求比较高,而第二种方法则只需要基本的SQL和Python技能就可以实现,所以这里我们将采用第二种方法。

人工智能科技公司rct AI完成超千万美元A3轮融资,Zonff Partners联合投资:近日,旨在运用AIGC(AI-generated content)创造真正Metaverse的人工智能科技公司rct AI完成超千万美元的A-3轮融资,本轮融资由Zonff Partners联合投资,其他投资机构包括原股东Galaxy Interactive,以及Yuanyuzhou Ventures、Springwind Ventures、Bonfire Union、Everest Ventures Group、FBG Capital、Folius Ventures、HashKey Capital、Hash Global、Mr. Liang Xinjun (复星集团联合创始人)、Lucid Blue Ventures、Mask Network、PKSHA SPARX Algorithm Fund、SNZ。本轮融资将持续用于AIGC在游戏行业的落地与应用,优化核心技术Chaos Box算法并将标准化产品Meta Being升级为去中心化的新平台Deterrence以更好地支持智能NFT和GameFi应用。

rct AI 成立于2018年,是一家运用人工智能技术为游戏行业提供完整解决方案的服务商,覆盖了游戏的全生命周期,包含智能内容生成、智能测试、智能数据运营与智能投放等。[2021/11/2 21:18:39]

Dune和谷歌云平台的BigQuery有最新的链上数据,这些数据都以表格的形式存储在数据库中,研究人员可使用SQL命令对其进行查询。Dune还提供免费的数据库,不过其速度较慢,而且还有些局限性,但它非常适合于A/B测试的数据查询,也有助于你熟悉数据库的运行模式,尤其是对于那些不善于使用SQL查询关联数据库的人。BigQuery虽然更加灵活快捷,但谷歌会对计算资源收费,所以其价格也相对昂贵。我在第一次处理数据时,为了节省费用,我会先在Dune中测试查询语句,然后再将其输入GCP中运行。在大多数情况下,这种方法都能起到很好的效果

Parity开发者:OpenEthereum和MultiGeth是支持ETC时间最长的客户端:7月23日,Parity开发者Wei Tang发推文称,一个很小但有趣的事实是,OpenEthereum和MultiGeth是两个支持ETC时间最长的客户端。其中,OpenEthereum是4年,MultiGeth为2年。其他客户端支持ETC的时间都没有超过一年。其中,Hyperledger Besu从去年9月开始支持ETC,CoreGeth在今年春天开始从MultiGeth分离出来支持ETC,OpenETC则是刚刚开始支持ETC。(注:7月22日,ETC官方宣布OpenEthereum已被分离并命名为OpenETC。)此前7月17日消息,Wei Tang发推称,OpenEthereum、MultiGeth宣布停止支持ETC。原因是在Phoenix硬分叉后,ETC网络放弃了遵循最大共识和用户选择的不变性原则。而随后这一说法遭到ETC亚太社区经理反驳,并称停止支持的原因是OpenEthereum维护者Gnosis希望将其有限的精力投入到以太坊主网开发中。随后,CoreGeth作为ETC Core官方维护客户端继续服务于ETC网络。[2020/7/23]

III.链上数据结构

要回答这个问题,你首先需要搞清楚自己处理数据的目的。对于这个测试案例,我决定为主要的法定支持Stablecoin建立一个大型的时间序列数据集,并观察一些特定的行为:铸币,烧毁(即停止流通Stablecoin)和转移。我之所以选择以这种方式进行研究,是因为政策制定者和学者目前最为关注法定支持的Stablecoin,所以这些数据在短期内可能相当有用。

以美元计价的几大Stablecoin都采用了ERC-20Token标准。顾名思义,ERC-20是一种在Ethereum上使用智能合约创建Token的标准化方式。如果你把区块链理解为一个巨大的去中心化Excel表格,那么智能合约就类似于Excel函数。在函数中输入参数之后,它将使用其内置逻辑产生一个特定的输出结果。

我们可以使用智能合约的Ethereum地址来对它们进行定位,这些地址是区块链数据结构中的唯一标识符:

USDC

TetherUSD

BinanceUSD

PaxDollar

GeminiDollar

与API类似,智能合约也是可以重复使用的程序。每次智能合约获得互动指令时,都会产生该互动的记录,并由Ethereum协议以日志的形式记录在区块链上,而这些日志则构成了智能合约活动的可靠信息来源。

当智能合同执行一个特定函数时,例如烧毁ERC-20Stablecoin以将其从流通中移除,该函数及其参数将作为交易日志记录在区块链上。

在下面的交易中,USDCStablecoin的发行商Circle烧毁了价值1056.92美元的USDC。

如果你切换到「日志」标签,你就可以查看交易事件日志,相应的字段为

地址:智能合约的合约地址。USDCStablecoin的合约地址是0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48。

名称:智能合约执行的函数,以及该函数中的参数。在这里,智能合约正在调用烧毁函数,该函数接收的参数指定了所烧毁币的发送地点和烧毁币的数量。

Etherscan的输出结果还会显示主题和数据字段,这些字段包含了我们在分析交易时需要解析的大部分相关信息。

Topic0是函数签名的哈希值。从本质上讲,它会将函数及其参数经由单向算法得到一个唯一的函数哈希值。Ethereum使用的是Keccak-256哈希函数,当你通过Keccak-256算法输入函数签名时,它总是会产生相同的哈希值,所以任何时候该哈希值出现在日志中,你都能确信是调用了同一个函数。

Topic1是烧毁函数的一个索引参数。在这里,Topic1是烧毁的Token被发往的地址。(注意:如果烧毁函数有更多的参数,这些参数将作为额外的主题出现)

这里的数据字段表示所烧毁Token的数量。

既然我们已经了解了链上数据的基本结构,就可以开始从Dune和GCP中提取数据了。

IV.提取并处理链上数据的基本工具

如前所述,在这个例子中,我选择从现有数据库中提取链上数据,而不是访问Ethereum网络上的活动节点。为了便于理解,我使用SQL从GCP提取了大量原始数据表格,然后在Python中使用pandas库对其进行清理。

当我们从GCP提取表格时,我们将使用BigQuery,它储存有很多Ethereum的数据表,如下图左边一栏所示。当你点击一个表格时,相应的数据库模式就会出现,就如下图中的ethereum.logs表。与此同时,其中涉及的地址、数据和主题都会记录到日志数据中去。

下图中的查询语句将用于提取日志表中涉及与USDC、TetherUSD、BinanceUSD、PaxDollar或GeminiDollar合约互动的所有记录。除了ethereum.logs中的信息外,一些额外的信息也很有用,所以我还合并了ethereum.block表中的数据,其中涵盖了Gas费等信息。

得到的表格可以直接由Python读取,并借助pandas数据框架细分为以下字段:

log_index

transaction_hash

transaction_index

address

data

topics

block_timestamp

block_number

block_hash

number

miner

size

gas_limit

gas_used

base_fee_per_gas

这些字段中的大多数都可以直接使用,不过第三节中讨论的主题字段需要用Python进行一些额外的清理,以便将其分成多列。

原文链接

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-0:536ms