freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

当我们在看Etherscan的时候,到底在看什么?
2022-07-29 11:52:27
所属地 重庆

没错!这篇就是给新手看的,区块链数据应用的自助指南!(建议PC阅读)

伴随上周爱死机的NFT事件,WEB3的世界里基建(与用户认知)严重薄弱的缺点,俨然成了众多爱好者想要深入的阻碍(实在被mint后NFT在哪里问烦了)。

所以如果你有以下这些疑惑,那么本文就是适合你的路引!

  • 从交易所导出到我自己的钱包,到账了吗?

  • mintNFT的交易完成了,那我的资产在哪里?

  • 都说链上数据公开,如何提取无聊猿的全量持有用户?

  • 听说链上有各种奇特的套利机器人,他们在哪?

链上数据依据其所在的公链不同,几乎都会有各自的区块链浏览器。而Etherscan.io 就是以太坊的入口

本文从背景数据出发,解读块/交易/地址的详细信息含义,结合Etherscan的拓展统计信息案例,希望能帮助大家进一步打开web3的大门!

trHFiMGcj1jRjpXLTGOseCGhZenXDnpneOfS9m8I.jpeg

1. Etherscan能做什么?

以太坊中一切交互均公开,使用交易哈希(交易ID)即可查看一切相关活动,包含代币、智能合约以及钱包地址。

虽然Etherscan无需注册,但也可以创建个人账号,以便使用其附加功能。例如,为队列交易、访问开发者工具和创建数据源设置提醒通知。

这就好比,你如果发现了马斯克的地址,那么可以监听到他的每一笔交易走向。

2. Etherscan不能做什么?

Etherscan他并未开通以太坊钱包功能或存储私钥服务。所以,你也无法只用它来开展交易。如果你想要交易或存储加密货币,就需要加密货币钱包,如Trust Wallet、MetaMask、Math Wallet或是币安链钱包。

结合钱包管理私钥之下,才可使用Etherscan的便捷合约操作功能,执行一些基础的合约函数调用交易的发起。例如上周的爱死机NFT的mint交易详情可见:当奈飞的NFT忘记了web2的业务安全

3. Etherscan都有什么?

主要分3大类

  • 基础性的规范数据查询入口

  • 进阶性的常用数据统计分析

  • 开发者用的定制化接口服务

3.1 公共基础信息

我们知道,所谓区块链是将若干笔交易执行后打包成块,发布并记录账本的技术,所谓合约是交易中利用备注区域携带了定制的代码,从而可以在虚拟机中执行代码逻辑。记录下每笔交易的原始信息,就可以逐个回放从而还原全部过程。

这涉及到公共信息的三个部分:交易,区块,地址。也就是下图中3个区域

而中间夹着的就是最常用的基本信息:

  • ETHER PRICE:当前eth兑换美元的价格

  • TRANSACTIONS:总交易数

  • MED GAS PRICE:每笔交易的手续费单价

  • MARKET CAP:总资产市值

  • TRANSACTION HISTORY:近14天每天交易总数

  • DIFFICULTY和HASH RATE:不做探讨

f5DnYmsIUPc37kH4b0ISedmxgKFjqwMiMTxg1132.jpeg

3.2 交易详情里有什么?

咱们任意选择一个最新的交易点进去,大多数数据都是一目了然的。

就像一个快递的整个生命周期:

  1. 快递单号是多少(Transaction Hash)

  2. 投递是否成功(Status)

  3. 对方什么时候收到(Timestamp)

  4. 从哪儿来from,到哪儿去to

  5. 被哪个快递员打包(block)

  6. 信封内有什么(value+input data)

  7. 邮费是多少(Transaction Fee)

值得注意的是,to地址可以是合约,可以是用户的地址(EOA),也可以是0x0 这代表创建新的合约(虽然在Etherscan上他会用返回的合约地址作为to的位置)

9Es5aI3sWa8eSTpCpF38PqK1QW40exQT4os9y7xU.jpeg

上方还有一些其他信息的入口

log:代表这笔交易执行过程中,所执行的若干函数调用顺序以及主要参数

state:代表交易涉及方的一些状态,很少用

comments:评论,这是中心化的功能不是链上数据。

3.3 块详情里有什么?

块的信息,相对复杂其实对状态分析意义不大。

有技术性的参数,比如区块奖励/叔块奖励/Burnt fees,不做展开讨论了

eqFhgFHyGfHOLW3gl94NK7etSInRRWA4Uo23wPk0.jpeg

3.4 地址详情里有什么?

注意,这里的信息源自链上,但实际是由Etherscan二次整理而得。

如果你在好奇自己地址累计的各种ERC20代币如何找到,就可以从Token列表内查阅,

如果买过ENS域名的也可以通过域名快速找到自己地址,这里我的地址是通过自己程序做碰撞出的靓号(最后4位是b14c,有个14)

下方则是若干种交易类型的归档入口,

其中internal Tx是内部交易,属于我调用了某个合约,而此合约功能复杂,他再发起交易去调度其他

合约获取某些返回信息的时候,由合约作为from方的交易就是内部交易了

JGq2scz4GJlBkbrjscnyKaY1S5djaXmkS7MxZmSY.jpeg

YCX91Q7kfyS260LkOqTuMSDMNq0gXmacDEX2ZgnG.jpeg

某些地址经过较多的用户投诉+官方验证,则右侧打上风险标签,一个红色盾牌,说明他可能是某个钓鱼合约,或者他是某个黑客盗取资金后转入的地址。

lm3G4A4qhxAsZo46IVnRbYH1aILxtYoqvRPrNH7I.jpeg

还有个Analytics是基础的分析报表,他能解答的问题就更多了,比如

  • 某大户地址其余额的变动,关注某行业KOl新买了什么NFT。

  • 某合约近期交易量,体现其背后产品热度的最基础指标

PCFo5Mw20rKxvv5HijxqBB3HfVYuoxOoolZXVOek.jpeg

如果此地址是合约的话,还能看到有个contract栏目

比如爱死机NFT的事件中

  • 分析其采用1271动态验签名技术,就是走1,看源代码

  • 查询各个类型的1155协议nft被mint了多少次,状态查询则是走2,无需gas

  • 执行mint得到自己的nft属于发起交易,有状态改变走3,需要消耗gas。

警告⚠️:此功能需要确保智能合约本身沒有问题,否則還是有可能會危及你的资产安全,不建议新手使用

M4CsBErY6wWxueaeCvKra0aGdnfkesNTUkEeyhhw.jpeg

4. 进阶统计信息

当然链上数据公开,这点打破了很多web2行业的壁垒,也由此催生出Etherscan上一些基础的统计入口,我整体梳理如下(开局的图展开)

i9zKvpQbhdSkPeci4oXD5DmqUi9OBEcfAuiRGHoQ.jpeg

这里信息就太繁杂了不做列举,而是从举例解读如何组合这些信息

关注某些大户的动向:Top Accounts

关注排队的交易队列:Pending Txns

排队说明还未打包,关注此队列犹如上帝视角判断将会发送什么,而黑客可以通过提高gas price从而让自己的交易提前打包插队。尤其是NFTmint的时候,都卡在许可mint的一个块内打包出去。

ERC20头部信息列表:防钓鱼,也可以一览式看到当前符合ERC20的合约有53W种,其中按流通市值排序最大的是BNB以及USDT,其持有地址数量等信息。

hFw0NtnRgb5z0wHe8KeFp7xc9Ko4jeW5oJjvvLjD.jpeg

从Charts & Stats 中他数据众多,不同角色的关注点不同。

dNKSWKwACLhzwQWMqi96qzO7460fzV10ea8w6nq0.jpeg

比如作为合约技术研究者,就会关注gas相关,因为部署上链消耗gas多,需要找一个gas 费用较低的时间点。

如果关注不同公链状态,则可关注跨链可以得到其他公链生态的TVL(总锁仓额)。

如果你还在琢磨于这个生态是否值得研究,可以关注 Ethereum Daily Verified Contracts Chart

每一份合约,可能就是一个产品都意味着整体生态的繁荣。

O2OATsggbF5I0A4WZnjr92cvm1YRgxpvpwMsMmVU.jpeg

5. 定制化信息提取

当然,都看到这里了,想必你是颇具动手能力的同学,除了看报表,如何破除直接网页导出excel的数量限制,比如批量提取交易量top1W的项目?比如研究某个黑客程序如何牟利与收益多少?就需要结合api文档做定制化信息提取。

详细开发文档:https://docs.etherscan.io/

D38BddAnsNNIxNWkR9aZVgiBEzqk3PoIPwVuACfj.jpeg

最后通过简单的url请求即可获取到信息,比如查询指定地址余额:

使用:

/apimodule=account&action=balance&address=0x&tag=latest&apikey=YourApiKeyToken

得到:

{status: "1",message: "OK",result: "1111"}

前文回顾

《当奈飞的NFT忘记了web2的业务安全》

欢迎各位同学从后台提交觉得有趣的合约地址或交易哈希。

关注十四,用技术的眼光发现价值。

看到这里,帅气的你不点个赞吗?

# web安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录